• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1{
2  "type": "Program",
3  "statements": [
4    {
5      "type": "TSInterfaceDeclaration",
6      "body": {
7        "type": "TSInterfaceBody",
8        "body": [
9          {
10            "type": "MethodDefinition",
11            "key": {
12              "type": "Identifier",
13              "name": "pushFront",
14              "decorators": [],
15              "loc": {
16                "start": {
17                  "line": 20,
18                  "column": 5
19                },
20                "end": {
21                  "line": 20,
22                  "column": 14
23                }
24              }
25            },
26            "kind": "method",
27            "accessibility": "public",
28            "static": false,
29            "optional": false,
30            "computed": false,
31            "value": {
32              "type": "FunctionExpression",
33              "function": {
34                "type": "ScriptFunction",
35                "id": {
36                  "type": "Identifier",
37                  "name": "pushFront",
38                  "decorators": [],
39                  "loc": {
40                    "start": {
41                      "line": 20,
42                      "column": 5
43                    },
44                    "end": {
45                      "line": 20,
46                      "column": 14
47                    }
48                  }
49                },
50                "generator": false,
51                "async": false,
52                "expression": false,
53                "params": [
54                  {
55                    "type": "ETSParameterExpression",
56                    "name": {
57                      "type": "Identifier",
58                      "name": "e",
59                      "typeAnnotation": {
60                        "type": "ETSTypeReference",
61                        "part": {
62                          "type": "ETSTypeReferencePart",
63                          "name": {
64                            "type": "Identifier",
65                            "name": "T",
66                            "decorators": [],
67                            "loc": {
68                              "start": {
69                                "line": 20,
70                                "column": 18
71                              },
72                              "end": {
73                                "line": 20,
74                                "column": 19
75                              }
76                            }
77                          },
78                          "loc": {
79                            "start": {
80                              "line": 20,
81                              "column": 18
82                            },
83                            "end": {
84                              "line": 20,
85                              "column": 20
86                            }
87                          }
88                        },
89                        "loc": {
90                          "start": {
91                            "line": 20,
92                            "column": 18
93                          },
94                          "end": {
95                            "line": 20,
96                            "column": 20
97                          }
98                        }
99                      },
100                      "decorators": [],
101                      "loc": {
102                        "start": {
103                          "line": 20,
104                          "column": 15
105                        },
106                        "end": {
107                          "line": 20,
108                          "column": 20
109                        }
110                      }
111                    },
112                    "loc": {
113                      "start": {
114                        "line": 20,
115                        "column": 15
116                      },
117                      "end": {
118                        "line": 20,
119                        "column": 20
120                      }
121                    }
122                  }
123                ],
124                "returnType": {
125                  "type": "ETSPrimitiveType",
126                  "loc": {
127                    "start": {
128                      "line": 20,
129                      "column": 22
130                    },
131                    "end": {
132                      "line": 20,
133                      "column": 26
134                    }
135                  }
136                },
137                "loc": {
138                  "start": {
139                    "line": 20,
140                    "column": 14
141                  },
142                  "end": {
143                    "line": 20,
144                    "column": 26
145                  }
146                }
147              },
148              "loc": {
149                "start": {
150                  "line": 20,
151                  "column": 14
152                },
153                "end": {
154                  "line": 20,
155                  "column": 26
156                }
157              }
158            },
159            "overloads": [],
160            "decorators": [],
161            "loc": {
162              "start": {
163                "line": 20,
164                "column": 5
165              },
166              "end": {
167                "line": 20,
168                "column": 27
169              }
170            }
171          },
172          {
173            "type": "MethodDefinition",
174            "key": {
175              "type": "Identifier",
176              "name": "popFront",
177              "decorators": [],
178              "loc": {
179                "start": {
180                  "line": 21,
181                  "column": 5
182                },
183                "end": {
184                  "line": 21,
185                  "column": 13
186                }
187              }
188            },
189            "kind": "method",
190            "accessibility": "public",
191            "static": false,
192            "optional": false,
193            "computed": false,
194            "value": {
195              "type": "FunctionExpression",
196              "function": {
197                "type": "ScriptFunction",
198                "id": {
199                  "type": "Identifier",
200                  "name": "popFront",
201                  "decorators": [],
202                  "loc": {
203                    "start": {
204                      "line": 21,
205                      "column": 5
206                    },
207                    "end": {
208                      "line": 21,
209                      "column": 13
210                    }
211                  }
212                },
213                "generator": false,
214                "async": false,
215                "expression": false,
216                "params": [],
217                "returnType": {
218                  "type": "ETSTypeReference",
219                  "part": {
220                    "type": "ETSTypeReferencePart",
221                    "name": {
222                      "type": "Identifier",
223                      "name": "T",
224                      "decorators": [],
225                      "loc": {
226                        "start": {
227                          "line": 21,
228                          "column": 17
229                        },
230                        "end": {
231                          "line": 21,
232                          "column": 18
233                        }
234                      }
235                    },
236                    "loc": {
237                      "start": {
238                        "line": 21,
239                        "column": 17
240                      },
241                      "end": {
242                        "line": 21,
243                        "column": 19
244                      }
245                    }
246                  },
247                  "loc": {
248                    "start": {
249                      "line": 21,
250                      "column": 17
251                    },
252                    "end": {
253                      "line": 21,
254                      "column": 19
255                    }
256                  }
257                },
258                "loc": {
259                  "start": {
260                    "line": 21,
261                    "column": 13
262                  },
263                  "end": {
264                    "line": 21,
265                    "column": 19
266                  }
267                }
268              },
269              "loc": {
270                "start": {
271                  "line": 21,
272                  "column": 13
273                },
274                "end": {
275                  "line": 21,
276                  "column": 19
277                }
278              }
279            },
280            "overloads": [],
281            "decorators": [],
282            "loc": {
283              "start": {
284                "line": 21,
285                "column": 5
286              },
287              "end": {
288                "line": 21,
289                "column": 19
290              }
291            }
292          },
293          {
294            "type": "MethodDefinition",
295            "key": {
296              "type": "Identifier",
297              "name": "pushBack",
298              "decorators": [],
299              "loc": {
300                "start": {
301                  "line": 22,
302                  "column": 5
303                },
304                "end": {
305                  "line": 22,
306                  "column": 13
307                }
308              }
309            },
310            "kind": "method",
311            "accessibility": "public",
312            "static": false,
313            "optional": false,
314            "computed": false,
315            "value": {
316              "type": "FunctionExpression",
317              "function": {
318                "type": "ScriptFunction",
319                "id": {
320                  "type": "Identifier",
321                  "name": "pushBack",
322                  "decorators": [],
323                  "loc": {
324                    "start": {
325                      "line": 22,
326                      "column": 5
327                    },
328                    "end": {
329                      "line": 22,
330                      "column": 13
331                    }
332                  }
333                },
334                "generator": false,
335                "async": false,
336                "expression": false,
337                "params": [
338                  {
339                    "type": "ETSParameterExpression",
340                    "name": {
341                      "type": "Identifier",
342                      "name": "e",
343                      "typeAnnotation": {
344                        "type": "ETSTypeReference",
345                        "part": {
346                          "type": "ETSTypeReferencePart",
347                          "name": {
348                            "type": "Identifier",
349                            "name": "T",
350                            "decorators": [],
351                            "loc": {
352                              "start": {
353                                "line": 22,
354                                "column": 17
355                              },
356                              "end": {
357                                "line": 22,
358                                "column": 18
359                              }
360                            }
361                          },
362                          "loc": {
363                            "start": {
364                              "line": 22,
365                              "column": 17
366                            },
367                            "end": {
368                              "line": 22,
369                              "column": 19
370                            }
371                          }
372                        },
373                        "loc": {
374                          "start": {
375                            "line": 22,
376                            "column": 17
377                          },
378                          "end": {
379                            "line": 22,
380                            "column": 19
381                          }
382                        }
383                      },
384                      "decorators": [],
385                      "loc": {
386                        "start": {
387                          "line": 22,
388                          "column": 14
389                        },
390                        "end": {
391                          "line": 22,
392                          "column": 19
393                        }
394                      }
395                    },
396                    "loc": {
397                      "start": {
398                        "line": 22,
399                        "column": 14
400                      },
401                      "end": {
402                        "line": 22,
403                        "column": 19
404                      }
405                    }
406                  }
407                ],
408                "returnType": {
409                  "type": "ETSPrimitiveType",
410                  "loc": {
411                    "start": {
412                      "line": 22,
413                      "column": 21
414                    },
415                    "end": {
416                      "line": 22,
417                      "column": 25
418                    }
419                  }
420                },
421                "loc": {
422                  "start": {
423                    "line": 22,
424                    "column": 13
425                  },
426                  "end": {
427                    "line": 22,
428                    "column": 25
429                  }
430                }
431              },
432              "loc": {
433                "start": {
434                  "line": 22,
435                  "column": 13
436                },
437                "end": {
438                  "line": 22,
439                  "column": 25
440                }
441              }
442            },
443            "overloads": [],
444            "decorators": [],
445            "loc": {
446              "start": {
447                "line": 22,
448                "column": 5
449              },
450              "end": {
451                "line": 22,
452                "column": 26
453              }
454            }
455          },
456          {
457            "type": "MethodDefinition",
458            "key": {
459              "type": "Identifier",
460              "name": "popBack",
461              "decorators": [],
462              "loc": {
463                "start": {
464                  "line": 23,
465                  "column": 5
466                },
467                "end": {
468                  "line": 23,
469                  "column": 12
470                }
471              }
472            },
473            "kind": "method",
474            "accessibility": "public",
475            "static": false,
476            "optional": false,
477            "computed": false,
478            "value": {
479              "type": "FunctionExpression",
480              "function": {
481                "type": "ScriptFunction",
482                "id": {
483                  "type": "Identifier",
484                  "name": "popBack",
485                  "decorators": [],
486                  "loc": {
487                    "start": {
488                      "line": 23,
489                      "column": 5
490                    },
491                    "end": {
492                      "line": 23,
493                      "column": 12
494                    }
495                  }
496                },
497                "generator": false,
498                "async": false,
499                "expression": false,
500                "params": [],
501                "returnType": {
502                  "type": "ETSTypeReference",
503                  "part": {
504                    "type": "ETSTypeReferencePart",
505                    "name": {
506                      "type": "Identifier",
507                      "name": "T",
508                      "decorators": [],
509                      "loc": {
510                        "start": {
511                          "line": 23,
512                          "column": 16
513                        },
514                        "end": {
515                          "line": 23,
516                          "column": 17
517                        }
518                      }
519                    },
520                    "loc": {
521                      "start": {
522                        "line": 23,
523                        "column": 16
524                      },
525                      "end": {
526                        "line": 23,
527                        "column": 18
528                      }
529                    }
530                  },
531                  "loc": {
532                    "start": {
533                      "line": 23,
534                      "column": 16
535                    },
536                    "end": {
537                      "line": 23,
538                      "column": 18
539                    }
540                  }
541                },
542                "loc": {
543                  "start": {
544                    "line": 23,
545                    "column": 12
546                  },
547                  "end": {
548                    "line": 23,
549                    "column": 18
550                  }
551                }
552              },
553              "loc": {
554                "start": {
555                  "line": 23,
556                  "column": 12
557                },
558                "end": {
559                  "line": 23,
560                  "column": 18
561                }
562              }
563            },
564            "overloads": [],
565            "decorators": [],
566            "loc": {
567              "start": {
568                "line": 23,
569                "column": 5
570              },
571              "end": {
572                "line": 23,
573                "column": 18
574              }
575            }
576          },
577          {
578            "type": "MethodDefinition",
579            "key": {
580              "type": "Identifier",
581              "name": "size",
582              "decorators": [],
583              "loc": {
584                "start": {
585                  "line": 25,
586                  "column": 5
587                },
588                "end": {
589                  "line": 25,
590                  "column": 9
591                }
592              }
593            },
594            "kind": "method",
595            "accessibility": "public",
596            "static": false,
597            "optional": false,
598            "computed": false,
599            "value": {
600              "type": "FunctionExpression",
601              "function": {
602                "type": "ScriptFunction",
603                "id": {
604                  "type": "Identifier",
605                  "name": "size",
606                  "decorators": [],
607                  "loc": {
608                    "start": {
609                      "line": 25,
610                      "column": 5
611                    },
612                    "end": {
613                      "line": 25,
614                      "column": 9
615                    }
616                  }
617                },
618                "generator": false,
619                "async": false,
620                "expression": false,
621                "params": [],
622                "returnType": {
623                  "type": "ETSPrimitiveType",
624                  "loc": {
625                    "start": {
626                      "line": 25,
627                      "column": 13
628                    },
629                    "end": {
630                      "line": 25,
631                      "column": 16
632                    }
633                  }
634                },
635                "loc": {
636                  "start": {
637                    "line": 25,
638                    "column": 9
639                  },
640                  "end": {
641                    "line": 25,
642                    "column": 16
643                  }
644                }
645              },
646              "loc": {
647                "start": {
648                  "line": 25,
649                  "column": 9
650                },
651                "end": {
652                  "line": 25,
653                  "column": 16
654                }
655              }
656            },
657            "overloads": [],
658            "decorators": [],
659            "loc": {
660              "start": {
661                "line": 25,
662                "column": 5
663              },
664              "end": {
665                "line": 25,
666                "column": 17
667              }
668            }
669          },
670          {
671            "type": "MethodDefinition",
672            "key": {
673              "type": "Identifier",
674              "name": "at",
675              "decorators": [],
676              "loc": {
677                "start": {
678                  "line": 26,
679                  "column": 5
680                },
681                "end": {
682                  "line": 26,
683                  "column": 7
684                }
685              }
686            },
687            "kind": "method",
688            "accessibility": "public",
689            "static": false,
690            "optional": false,
691            "computed": false,
692            "value": {
693              "type": "FunctionExpression",
694              "function": {
695                "type": "ScriptFunction",
696                "id": {
697                  "type": "Identifier",
698                  "name": "at",
699                  "decorators": [],
700                  "loc": {
701                    "start": {
702                      "line": 26,
703                      "column": 5
704                    },
705                    "end": {
706                      "line": 26,
707                      "column": 7
708                    }
709                  }
710                },
711                "generator": false,
712                "async": false,
713                "expression": false,
714                "params": [
715                  {
716                    "type": "ETSParameterExpression",
717                    "name": {
718                      "type": "Identifier",
719                      "name": "index",
720                      "typeAnnotation": {
721                        "type": "ETSPrimitiveType",
722                        "loc": {
723                          "start": {
724                            "line": 26,
725                            "column": 15
726                          },
727                          "end": {
728                            "line": 26,
729                            "column": 18
730                          }
731                        }
732                      },
733                      "decorators": [],
734                      "loc": {
735                        "start": {
736                          "line": 26,
737                          "column": 8
738                        },
739                        "end": {
740                          "line": 26,
741                          "column": 18
742                        }
743                      }
744                    },
745                    "loc": {
746                      "start": {
747                        "line": 26,
748                        "column": 8
749                      },
750                      "end": {
751                        "line": 26,
752                        "column": 18
753                      }
754                    }
755                  }
756                ],
757                "returnType": {
758                  "type": "ETSTypeReference",
759                  "part": {
760                    "type": "ETSTypeReferencePart",
761                    "name": {
762                      "type": "Identifier",
763                      "name": "T",
764                      "decorators": [],
765                      "loc": {
766                        "start": {
767                          "line": 26,
768                          "column": 21
769                        },
770                        "end": {
771                          "line": 26,
772                          "column": 22
773                        }
774                      }
775                    },
776                    "loc": {
777                      "start": {
778                        "line": 26,
779                        "column": 21
780                      },
781                      "end": {
782                        "line": 26,
783                        "column": 23
784                      }
785                    }
786                  },
787                  "loc": {
788                    "start": {
789                      "line": 26,
790                      "column": 21
791                    },
792                    "end": {
793                      "line": 26,
794                      "column": 23
795                    }
796                  }
797                },
798                "loc": {
799                  "start": {
800                    "line": 26,
801                    "column": 7
802                  },
803                  "end": {
804                    "line": 26,
805                    "column": 23
806                  }
807                }
808              },
809              "loc": {
810                "start": {
811                  "line": 26,
812                  "column": 7
813                },
814                "end": {
815                  "line": 26,
816                  "column": 23
817                }
818              }
819            },
820            "overloads": [],
821            "decorators": [],
822            "loc": {
823              "start": {
824                "line": 26,
825                "column": 5
826              },
827              "end": {
828                "line": 26,
829                "column": 23
830              }
831            }
832          },
833          {
834            "type": "MethodDefinition",
835            "key": {
836              "type": "Identifier",
837              "name": "has",
838              "decorators": [],
839              "loc": {
840                "start": {
841                  "line": 27,
842                  "column": 5
843                },
844                "end": {
845                  "line": 27,
846                  "column": 8
847                }
848              }
849            },
850            "kind": "method",
851            "accessibility": "public",
852            "static": false,
853            "optional": false,
854            "computed": false,
855            "value": {
856              "type": "FunctionExpression",
857              "function": {
858                "type": "ScriptFunction",
859                "id": {
860                  "type": "Identifier",
861                  "name": "has",
862                  "decorators": [],
863                  "loc": {
864                    "start": {
865                      "line": 27,
866                      "column": 5
867                    },
868                    "end": {
869                      "line": 27,
870                      "column": 8
871                    }
872                  }
873                },
874                "generator": false,
875                "async": false,
876                "expression": false,
877                "params": [
878                  {
879                    "type": "ETSParameterExpression",
880                    "name": {
881                      "type": "Identifier",
882                      "name": "e",
883                      "typeAnnotation": {
884                        "type": "ETSTypeReference",
885                        "part": {
886                          "type": "ETSTypeReferencePart",
887                          "name": {
888                            "type": "Identifier",
889                            "name": "T",
890                            "decorators": [],
891                            "loc": {
892                              "start": {
893                                "line": 27,
894                                "column": 12
895                              },
896                              "end": {
897                                "line": 27,
898                                "column": 13
899                              }
900                            }
901                          },
902                          "loc": {
903                            "start": {
904                              "line": 27,
905                              "column": 12
906                            },
907                            "end": {
908                              "line": 27,
909                              "column": 14
910                            }
911                          }
912                        },
913                        "loc": {
914                          "start": {
915                            "line": 27,
916                            "column": 12
917                          },
918                          "end": {
919                            "line": 27,
920                            "column": 14
921                          }
922                        }
923                      },
924                      "decorators": [],
925                      "loc": {
926                        "start": {
927                          "line": 27,
928                          "column": 9
929                        },
930                        "end": {
931                          "line": 27,
932                          "column": 14
933                        }
934                      }
935                    },
936                    "loc": {
937                      "start": {
938                        "line": 27,
939                        "column": 9
940                      },
941                      "end": {
942                        "line": 27,
943                        "column": 14
944                      }
945                    }
946                  }
947                ],
948                "returnType": {
949                  "type": "ETSPrimitiveType",
950                  "loc": {
951                    "start": {
952                      "line": 27,
953                      "column": 16
954                    },
955                    "end": {
956                      "line": 27,
957                      "column": 23
958                    }
959                  }
960                },
961                "loc": {
962                  "start": {
963                    "line": 27,
964                    "column": 8
965                  },
966                  "end": {
967                    "line": 27,
968                    "column": 23
969                  }
970                }
971              },
972              "loc": {
973                "start": {
974                  "line": 27,
975                  "column": 8
976                },
977                "end": {
978                  "line": 27,
979                  "column": 23
980                }
981              }
982            },
983            "overloads": [],
984            "decorators": [],
985            "loc": {
986              "start": {
987                "line": 27,
988                "column": 5
989              },
990              "end": {
991                "line": 27,
992                "column": 24
993              }
994            }
995          },
996          {
997            "type": "MethodDefinition",
998            "key": {
999              "type": "Identifier",
1000              "name": "forEach",
1001              "decorators": [],
1002              "loc": {
1003                "start": {
1004                  "line": 29,
1005                  "column": 5
1006                },
1007                "end": {
1008                  "line": 29,
1009                  "column": 12
1010                }
1011              }
1012            },
1013            "kind": "method",
1014            "accessibility": "public",
1015            "static": false,
1016            "optional": false,
1017            "computed": false,
1018            "value": {
1019              "type": "FunctionExpression",
1020              "function": {
1021                "type": "ScriptFunction",
1022                "id": {
1023                  "type": "Identifier",
1024                  "name": "forEach",
1025                  "decorators": [],
1026                  "loc": {
1027                    "start": {
1028                      "line": 29,
1029                      "column": 5
1030                    },
1031                    "end": {
1032                      "line": 29,
1033                      "column": 12
1034                    }
1035                  }
1036                },
1037                "generator": false,
1038                "async": false,
1039                "expression": false,
1040                "params": [
1041                  {
1042                    "type": "ETSParameterExpression",
1043                    "name": {
1044                      "type": "Identifier",
1045                      "name": "fn",
1046                      "typeAnnotation": {
1047                        "type": "ETSFunctionType",
1048                        "params": [
1049                          {
1050                            "type": "ETSParameterExpression",
1051                            "name": {
1052                              "type": "Identifier",
1053                              "name": "e",
1054                              "typeAnnotation": {
1055                                "type": "ETSTypeReference",
1056                                "part": {
1057                                  "type": "ETSTypeReferencePart",
1058                                  "name": {
1059                                    "type": "Identifier",
1060                                    "name": "T",
1061                                    "decorators": [],
1062                                    "loc": {
1063                                      "start": {
1064                                        "line": 29,
1065                                        "column": 21
1066                                      },
1067                                      "end": {
1068                                        "line": 29,
1069                                        "column": 22
1070                                      }
1071                                    }
1072                                  },
1073                                  "loc": {
1074                                    "start": {
1075                                      "line": 29,
1076                                      "column": 21
1077                                    },
1078                                    "end": {
1079                                      "line": 29,
1080                                      "column": 23
1081                                    }
1082                                  }
1083                                },
1084                                "loc": {
1085                                  "start": {
1086                                    "line": 29,
1087                                    "column": 21
1088                                  },
1089                                  "end": {
1090                                    "line": 29,
1091                                    "column": 23
1092                                  }
1093                                }
1094                              },
1095                              "decorators": [],
1096                              "loc": {
1097                                "start": {
1098                                  "line": 29,
1099                                  "column": 18
1100                                },
1101                                "end": {
1102                                  "line": 29,
1103                                  "column": 23
1104                                }
1105                              }
1106                            },
1107                            "loc": {
1108                              "start": {
1109                                "line": 29,
1110                                "column": 18
1111                              },
1112                              "end": {
1113                                "line": 29,
1114                                "column": 23
1115                              }
1116                            }
1117                          }
1118                        ],
1119                        "returnType": {
1120                          "type": "ETSTypeReference",
1121                          "part": {
1122                            "type": "ETSTypeReferencePart",
1123                            "name": {
1124                              "type": "Identifier",
1125                              "name": "T",
1126                              "decorators": [],
1127                              "loc": {
1128                                "start": {
1129                                  "line": 29,
1130                                  "column": 27
1131                                },
1132                                "end": {
1133                                  "line": 29,
1134                                  "column": 28
1135                                }
1136                              }
1137                            },
1138                            "loc": {
1139                              "start": {
1140                                "line": 29,
1141                                "column": 27
1142                              },
1143                              "end": {
1144                                "line": 29,
1145                                "column": 29
1146                              }
1147                            }
1148                          },
1149                          "loc": {
1150                            "start": {
1151                              "line": 29,
1152                              "column": 27
1153                            },
1154                            "end": {
1155                              "line": 29,
1156                              "column": 29
1157                            }
1158                          }
1159                        },
1160                        "loc": {
1161                          "start": {
1162                            "line": 29,
1163                            "column": 17
1164                          },
1165                          "end": {
1166                            "line": 29,
1167                            "column": 29
1168                          }
1169                        }
1170                      },
1171                      "decorators": [],
1172                      "loc": {
1173                        "start": {
1174                          "line": 29,
1175                          "column": 13
1176                        },
1177                        "end": {
1178                          "line": 29,
1179                          "column": 29
1180                        }
1181                      }
1182                    },
1183                    "loc": {
1184                      "start": {
1185                        "line": 29,
1186                        "column": 13
1187                      },
1188                      "end": {
1189                        "line": 29,
1190                        "column": 29
1191                      }
1192                    }
1193                  }
1194                ],
1195                "returnType": {
1196                  "type": "ETSUnionType",
1197                  "types": [
1198                    {
1199                      "type": "ETSTypeReference",
1200                      "part": {
1201                        "type": "ETSTypeReferencePart",
1202                        "name": {
1203                          "type": "Identifier",
1204                          "name": "Listt",
1205                          "decorators": [],
1206                          "loc": {
1207                            "start": {
1208                              "line": 29,
1209                              "column": 31
1210                            },
1211                            "end": {
1212                              "line": 29,
1213                              "column": 36
1214                            }
1215                          }
1216                        },
1217                        "typeParams": {
1218                          "type": "TSTypeParameterInstantiation",
1219                          "params": [
1220                            {
1221                              "type": "ETSTypeReference",
1222                              "part": {
1223                                "type": "ETSTypeReferencePart",
1224                                "name": {
1225                                  "type": "Identifier",
1226                                  "name": "T",
1227                                  "decorators": [],
1228                                  "loc": {
1229                                    "start": {
1230                                      "line": 29,
1231                                      "column": 37
1232                                    },
1233                                    "end": {
1234                                      "line": 29,
1235                                      "column": 38
1236                                    }
1237                                  }
1238                                },
1239                                "loc": {
1240                                  "start": {
1241                                    "line": 29,
1242                                    "column": 37
1243                                  },
1244                                  "end": {
1245                                    "line": 29,
1246                                    "column": 39
1247                                  }
1248                                }
1249                              },
1250                              "loc": {
1251                                "start": {
1252                                  "line": 29,
1253                                  "column": 37
1254                                },
1255                                "end": {
1256                                  "line": 29,
1257                                  "column": 39
1258                                }
1259                              }
1260                            }
1261                          ],
1262                          "loc": {
1263                            "start": {
1264                              "line": 29,
1265                              "column": 36
1266                            },
1267                            "end": {
1268                              "line": 29,
1269                              "column": 39
1270                            }
1271                          }
1272                        },
1273                        "loc": {
1274                          "start": {
1275                            "line": 29,
1276                            "column": 31
1277                          },
1278                          "end": {
1279                            "line": 29,
1280                            "column": 41
1281                          }
1282                        }
1283                      },
1284                      "loc": {
1285                        "start": {
1286                          "line": 29,
1287                          "column": 31
1288                        },
1289                        "end": {
1290                          "line": 29,
1291                          "column": 41
1292                        }
1293                      }
1294                    },
1295                    {
1296                      "type": "ETSNullType",
1297                      "loc": {
1298                        "start": {
1299                          "line": 29,
1300                          "column": 42
1301                        },
1302                        "end": {
1303                          "line": 29,
1304                          "column": 46
1305                        }
1306                      }
1307                    }
1308                  ],
1309                  "loc": {
1310                    "start": {
1311                      "line": 29,
1312                      "column": 31
1313                    },
1314                    "end": {
1315                      "line": 29,
1316                      "column": 46
1317                    }
1318                  }
1319                },
1320                "loc": {
1321                  "start": {
1322                    "line": 29,
1323                    "column": 12
1324                  },
1325                  "end": {
1326                    "line": 29,
1327                    "column": 46
1328                  }
1329                }
1330              },
1331              "loc": {
1332                "start": {
1333                  "line": 29,
1334                  "column": 12
1335                },
1336                "end": {
1337                  "line": 29,
1338                  "column": 46
1339                }
1340              }
1341            },
1342            "overloads": [],
1343            "decorators": [],
1344            "loc": {
1345              "start": {
1346                "line": 29,
1347                "column": 5
1348              },
1349              "end": {
1350                "line": 29,
1351                "column": 47
1352              }
1353            }
1354          },
1355          {
1356            "type": "MethodDefinition",
1357            "key": {
1358              "type": "Identifier",
1359              "name": "map",
1360              "decorators": [],
1361              "loc": {
1362                "start": {
1363                  "line": 30,
1364                  "column": 5
1365                },
1366                "end": {
1367                  "line": 30,
1368                  "column": 8
1369                }
1370              }
1371            },
1372            "kind": "method",
1373            "accessibility": "public",
1374            "static": false,
1375            "optional": false,
1376            "computed": false,
1377            "value": {
1378              "type": "FunctionExpression",
1379              "function": {
1380                "type": "ScriptFunction",
1381                "id": {
1382                  "type": "Identifier",
1383                  "name": "map",
1384                  "decorators": [],
1385                  "loc": {
1386                    "start": {
1387                      "line": 30,
1388                      "column": 5
1389                    },
1390                    "end": {
1391                      "line": 30,
1392                      "column": 8
1393                    }
1394                  }
1395                },
1396                "generator": false,
1397                "async": false,
1398                "expression": false,
1399                "params": [
1400                  {
1401                    "type": "ETSParameterExpression",
1402                    "name": {
1403                      "type": "Identifier",
1404                      "name": "fn",
1405                      "typeAnnotation": {
1406                        "type": "ETSFunctionType",
1407                        "params": [
1408                          {
1409                            "type": "ETSParameterExpression",
1410                            "name": {
1411                              "type": "Identifier",
1412                              "name": "e",
1413                              "typeAnnotation": {
1414                                "type": "ETSTypeReference",
1415                                "part": {
1416                                  "type": "ETSTypeReferencePart",
1417                                  "name": {
1418                                    "type": "Identifier",
1419                                    "name": "T",
1420                                    "decorators": [],
1421                                    "loc": {
1422                                      "start": {
1423                                        "line": 30,
1424                                        "column": 20
1425                                      },
1426                                      "end": {
1427                                        "line": 30,
1428                                        "column": 21
1429                                      }
1430                                    }
1431                                  },
1432                                  "loc": {
1433                                    "start": {
1434                                      "line": 30,
1435                                      "column": 20
1436                                    },
1437                                    "end": {
1438                                      "line": 30,
1439                                      "column": 22
1440                                    }
1441                                  }
1442                                },
1443                                "loc": {
1444                                  "start": {
1445                                    "line": 30,
1446                                    "column": 20
1447                                  },
1448                                  "end": {
1449                                    "line": 30,
1450                                    "column": 22
1451                                  }
1452                                }
1453                              },
1454                              "decorators": [],
1455                              "loc": {
1456                                "start": {
1457                                  "line": 30,
1458                                  "column": 17
1459                                },
1460                                "end": {
1461                                  "line": 30,
1462                                  "column": 22
1463                                }
1464                              }
1465                            },
1466                            "loc": {
1467                              "start": {
1468                                "line": 30,
1469                                "column": 17
1470                              },
1471                              "end": {
1472                                "line": 30,
1473                                "column": 22
1474                              }
1475                            }
1476                          }
1477                        ],
1478                        "returnType": {
1479                          "type": "ETSTypeReference",
1480                          "part": {
1481                            "type": "ETSTypeReferencePart",
1482                            "name": {
1483                              "type": "Identifier",
1484                              "name": "U",
1485                              "decorators": [],
1486                              "loc": {
1487                                "start": {
1488                                  "line": 30,
1489                                  "column": 26
1490                                },
1491                                "end": {
1492                                  "line": 30,
1493                                  "column": 27
1494                                }
1495                              }
1496                            },
1497                            "loc": {
1498                              "start": {
1499                                "line": 30,
1500                                "column": 26
1501                              },
1502                              "end": {
1503                                "line": 30,
1504                                "column": 28
1505                              }
1506                            }
1507                          },
1508                          "loc": {
1509                            "start": {
1510                              "line": 30,
1511                              "column": 26
1512                            },
1513                            "end": {
1514                              "line": 30,
1515                              "column": 28
1516                            }
1517                          }
1518                        },
1519                        "loc": {
1520                          "start": {
1521                            "line": 30,
1522                            "column": 16
1523                          },
1524                          "end": {
1525                            "line": 30,
1526                            "column": 28
1527                          }
1528                        }
1529                      },
1530                      "decorators": [],
1531                      "loc": {
1532                        "start": {
1533                          "line": 30,
1534                          "column": 12
1535                        },
1536                        "end": {
1537                          "line": 30,
1538                          "column": 28
1539                        }
1540                      }
1541                    },
1542                    "loc": {
1543                      "start": {
1544                        "line": 30,
1545                        "column": 12
1546                      },
1547                      "end": {
1548                        "line": 30,
1549                        "column": 28
1550                      }
1551                    }
1552                  }
1553                ],
1554                "returnType": {
1555                  "type": "ETSTypeReference",
1556                  "part": {
1557                    "type": "ETSTypeReferencePart",
1558                    "name": {
1559                      "type": "Identifier",
1560                      "name": "Listt",
1561                      "decorators": [],
1562                      "loc": {
1563                        "start": {
1564                          "line": 30,
1565                          "column": 30
1566                        },
1567                        "end": {
1568                          "line": 30,
1569                          "column": 35
1570                        }
1571                      }
1572                    },
1573                    "typeParams": {
1574                      "type": "TSTypeParameterInstantiation",
1575                      "params": [
1576                        {
1577                          "type": "ETSTypeReference",
1578                          "part": {
1579                            "type": "ETSTypeReferencePart",
1580                            "name": {
1581                              "type": "Identifier",
1582                              "name": "U",
1583                              "decorators": [],
1584                              "loc": {
1585                                "start": {
1586                                  "line": 30,
1587                                  "column": 36
1588                                },
1589                                "end": {
1590                                  "line": 30,
1591                                  "column": 37
1592                                }
1593                              }
1594                            },
1595                            "loc": {
1596                              "start": {
1597                                "line": 30,
1598                                "column": 36
1599                              },
1600                              "end": {
1601                                "line": 30,
1602                                "column": 38
1603                              }
1604                            }
1605                          },
1606                          "loc": {
1607                            "start": {
1608                              "line": 30,
1609                              "column": 36
1610                            },
1611                            "end": {
1612                              "line": 30,
1613                              "column": 38
1614                            }
1615                          }
1616                        }
1617                      ],
1618                      "loc": {
1619                        "start": {
1620                          "line": 30,
1621                          "column": 35
1622                        },
1623                        "end": {
1624                          "line": 30,
1625                          "column": 38
1626                        }
1627                      }
1628                    },
1629                    "loc": {
1630                      "start": {
1631                        "line": 30,
1632                        "column": 30
1633                      },
1634                      "end": {
1635                        "line": 30,
1636                        "column": 39
1637                      }
1638                    }
1639                  },
1640                  "loc": {
1641                    "start": {
1642                      "line": 30,
1643                      "column": 30
1644                    },
1645                    "end": {
1646                      "line": 30,
1647                      "column": 39
1648                    }
1649                  }
1650                },
1651                "typeParameters": {
1652                  "type": "TSTypeParameterDeclaration",
1653                  "params": [
1654                    {
1655                      "type": "TSTypeParameter",
1656                      "name": {
1657                        "type": "Identifier",
1658                        "name": "U",
1659                        "decorators": [],
1660                        "loc": {
1661                          "start": {
1662                            "line": 30,
1663                            "column": 9
1664                          },
1665                          "end": {
1666                            "line": 30,
1667                            "column": 10
1668                          }
1669                        }
1670                      },
1671                      "loc": {
1672                        "start": {
1673                          "line": 30,
1674                          "column": 9
1675                        },
1676                        "end": {
1677                          "line": 30,
1678                          "column": 11
1679                        }
1680                      }
1681                    }
1682                  ],
1683                  "loc": {
1684                    "start": {
1685                      "line": 30,
1686                      "column": 8
1687                    },
1688                    "end": {
1689                      "line": 30,
1690                      "column": 11
1691                    }
1692                  }
1693                },
1694                "loc": {
1695                  "start": {
1696                    "line": 30,
1697                    "column": 8
1698                  },
1699                  "end": {
1700                    "line": 30,
1701                    "column": 39
1702                  }
1703                }
1704              },
1705              "loc": {
1706                "start": {
1707                  "line": 30,
1708                  "column": 8
1709                },
1710                "end": {
1711                  "line": 30,
1712                  "column": 39
1713                }
1714              }
1715            },
1716            "overloads": [],
1717            "decorators": [],
1718            "loc": {
1719              "start": {
1720                "line": 30,
1721                "column": 5
1722              },
1723              "end": {
1724                "line": 30,
1725                "column": 39
1726              }
1727            }
1728          },
1729          {
1730            "type": "MethodDefinition",
1731            "key": {
1732              "type": "Identifier",
1733              "name": "fold",
1734              "decorators": [],
1735              "loc": {
1736                "start": {
1737                  "line": 31,
1738                  "column": 5
1739                },
1740                "end": {
1741                  "line": 31,
1742                  "column": 9
1743                }
1744              }
1745            },
1746            "kind": "method",
1747            "accessibility": "public",
1748            "static": false,
1749            "optional": false,
1750            "computed": false,
1751            "value": {
1752              "type": "FunctionExpression",
1753              "function": {
1754                "type": "ScriptFunction",
1755                "id": {
1756                  "type": "Identifier",
1757                  "name": "fold",
1758                  "decorators": [],
1759                  "loc": {
1760                    "start": {
1761                      "line": 31,
1762                      "column": 5
1763                    },
1764                    "end": {
1765                      "line": 31,
1766                      "column": 9
1767                    }
1768                  }
1769                },
1770                "generator": false,
1771                "async": false,
1772                "expression": false,
1773                "params": [
1774                  {
1775                    "type": "ETSParameterExpression",
1776                    "name": {
1777                      "type": "Identifier",
1778                      "name": "combine",
1779                      "typeAnnotation": {
1780                        "type": "ETSFunctionType",
1781                        "params": [
1782                          {
1783                            "type": "ETSParameterExpression",
1784                            "name": {
1785                              "type": "Identifier",
1786                              "name": "lhs",
1787                              "typeAnnotation": {
1788                                "type": "ETSTypeReference",
1789                                "part": {
1790                                  "type": "ETSTypeReferencePart",
1791                                  "name": {
1792                                    "type": "Identifier",
1793                                    "name": "T",
1794                                    "decorators": [],
1795                                    "loc": {
1796                                      "start": {
1797                                        "line": 31,
1798                                        "column": 25
1799                                      },
1800                                      "end": {
1801                                        "line": 31,
1802                                        "column": 26
1803                                      }
1804                                    }
1805                                  },
1806                                  "loc": {
1807                                    "start": {
1808                                      "line": 31,
1809                                      "column": 25
1810                                    },
1811                                    "end": {
1812                                      "line": 31,
1813                                      "column": 27
1814                                    }
1815                                  }
1816                                },
1817                                "loc": {
1818                                  "start": {
1819                                    "line": 31,
1820                                    "column": 25
1821                                  },
1822                                  "end": {
1823                                    "line": 31,
1824                                    "column": 27
1825                                  }
1826                                }
1827                              },
1828                              "decorators": [],
1829                              "loc": {
1830                                "start": {
1831                                  "line": 31,
1832                                  "column": 20
1833                                },
1834                                "end": {
1835                                  "line": 31,
1836                                  "column": 27
1837                                }
1838                              }
1839                            },
1840                            "loc": {
1841                              "start": {
1842                                "line": 31,
1843                                "column": 20
1844                              },
1845                              "end": {
1846                                "line": 31,
1847                                "column": 27
1848                              }
1849                            }
1850                          },
1851                          {
1852                            "type": "ETSParameterExpression",
1853                            "name": {
1854                              "type": "Identifier",
1855                              "name": "rhs",
1856                              "typeAnnotation": {
1857                                "type": "ETSTypeReference",
1858                                "part": {
1859                                  "type": "ETSTypeReferencePart",
1860                                  "name": {
1861                                    "type": "Identifier",
1862                                    "name": "T",
1863                                    "decorators": [],
1864                                    "loc": {
1865                                      "start": {
1866                                        "line": 31,
1867                                        "column": 33
1868                                      },
1869                                      "end": {
1870                                        "line": 31,
1871                                        "column": 34
1872                                      }
1873                                    }
1874                                  },
1875                                  "loc": {
1876                                    "start": {
1877                                      "line": 31,
1878                                      "column": 33
1879                                    },
1880                                    "end": {
1881                                      "line": 31,
1882                                      "column": 35
1883                                    }
1884                                  }
1885                                },
1886                                "loc": {
1887                                  "start": {
1888                                    "line": 31,
1889                                    "column": 33
1890                                  },
1891                                  "end": {
1892                                    "line": 31,
1893                                    "column": 35
1894                                  }
1895                                }
1896                              },
1897                              "decorators": [],
1898                              "loc": {
1899                                "start": {
1900                                  "line": 31,
1901                                  "column": 28
1902                                },
1903                                "end": {
1904                                  "line": 31,
1905                                  "column": 35
1906                                }
1907                              }
1908                            },
1909                            "loc": {
1910                              "start": {
1911                                "line": 31,
1912                                "column": 28
1913                              },
1914                              "end": {
1915                                "line": 31,
1916                                "column": 35
1917                              }
1918                            }
1919                          }
1920                        ],
1921                        "returnType": {
1922                          "type": "ETSTypeReference",
1923                          "part": {
1924                            "type": "ETSTypeReferencePart",
1925                            "name": {
1926                              "type": "Identifier",
1927                              "name": "T",
1928                              "decorators": [],
1929                              "loc": {
1930                                "start": {
1931                                  "line": 31,
1932                                  "column": 39
1933                                },
1934                                "end": {
1935                                  "line": 31,
1936                                  "column": 40
1937                                }
1938                              }
1939                            },
1940                            "loc": {
1941                              "start": {
1942                                "line": 31,
1943                                "column": 39
1944                              },
1945                              "end": {
1946                                "line": 31,
1947                                "column": 41
1948                              }
1949                            }
1950                          },
1951                          "loc": {
1952                            "start": {
1953                              "line": 31,
1954                              "column": 39
1955                            },
1956                            "end": {
1957                              "line": 31,
1958                              "column": 41
1959                            }
1960                          }
1961                        },
1962                        "loc": {
1963                          "start": {
1964                            "line": 31,
1965                            "column": 19
1966                          },
1967                          "end": {
1968                            "line": 31,
1969                            "column": 41
1970                          }
1971                        }
1972                      },
1973                      "decorators": [],
1974                      "loc": {
1975                        "start": {
1976                          "line": 31,
1977                          "column": 10
1978                        },
1979                        "end": {
1980                          "line": 31,
1981                          "column": 41
1982                        }
1983                      }
1984                    },
1985                    "loc": {
1986                      "start": {
1987                        "line": 31,
1988                        "column": 10
1989                      },
1990                      "end": {
1991                        "line": 31,
1992                        "column": 41
1993                      }
1994                    }
1995                  }
1996                ],
1997                "returnType": {
1998                  "type": "ETSUnionType",
1999                  "types": [
2000                    {
2001                      "type": "ETSTypeReference",
2002                      "part": {
2003                        "type": "ETSTypeReferencePart",
2004                        "name": {
2005                          "type": "Identifier",
2006                          "name": "T",
2007                          "decorators": [],
2008                          "loc": {
2009                            "start": {
2010                              "line": 31,
2011                              "column": 43
2012                            },
2013                            "end": {
2014                              "line": 31,
2015                              "column": 44
2016                            }
2017                          }
2018                        },
2019                        "loc": {
2020                          "start": {
2021                            "line": 31,
2022                            "column": 43
2023                          },
2024                          "end": {
2025                            "line": 31,
2026                            "column": 46
2027                          }
2028                        }
2029                      },
2030                      "loc": {
2031                        "start": {
2032                          "line": 31,
2033                          "column": 43
2034                        },
2035                        "end": {
2036                          "line": 31,
2037                          "column": 46
2038                        }
2039                      }
2040                    },
2041                    {
2042                      "type": "ETSNullType",
2043                      "loc": {
2044                        "start": {
2045                          "line": 31,
2046                          "column": 47
2047                        },
2048                        "end": {
2049                          "line": 31,
2050                          "column": 51
2051                        }
2052                      }
2053                    }
2054                  ],
2055                  "loc": {
2056                    "start": {
2057                      "line": 31,
2058                      "column": 43
2059                    },
2060                    "end": {
2061                      "line": 31,
2062                      "column": 51
2063                    }
2064                  }
2065                },
2066                "loc": {
2067                  "start": {
2068                    "line": 31,
2069                    "column": 9
2070                  },
2071                  "end": {
2072                    "line": 31,
2073                    "column": 51
2074                  }
2075                }
2076              },
2077              "loc": {
2078                "start": {
2079                  "line": 31,
2080                  "column": 9
2081                },
2082                "end": {
2083                  "line": 31,
2084                  "column": 51
2085                }
2086              }
2087            },
2088            "overloads": [],
2089            "decorators": [],
2090            "loc": {
2091              "start": {
2092                "line": 31,
2093                "column": 5
2094              },
2095              "end": {
2096                "line": 31,
2097                "column": 52
2098              }
2099            }
2100          },
2101          {
2102            "type": "MethodDefinition",
2103            "key": {
2104              "type": "Identifier",
2105              "name": "foldWith",
2106              "decorators": [],
2107              "loc": {
2108                "start": {
2109                  "line": 32,
2110                  "column": 5
2111                },
2112                "end": {
2113                  "line": 32,
2114                  "column": 13
2115                }
2116              }
2117            },
2118            "kind": "method",
2119            "accessibility": "public",
2120            "static": false,
2121            "optional": false,
2122            "computed": false,
2123            "value": {
2124              "type": "FunctionExpression",
2125              "function": {
2126                "type": "ScriptFunction",
2127                "id": {
2128                  "type": "Identifier",
2129                  "name": "foldWith",
2130                  "decorators": [],
2131                  "loc": {
2132                    "start": {
2133                      "line": 32,
2134                      "column": 5
2135                    },
2136                    "end": {
2137                      "line": 32,
2138                      "column": 13
2139                    }
2140                  }
2141                },
2142                "generator": false,
2143                "async": false,
2144                "expression": false,
2145                "params": [
2146                  {
2147                    "type": "ETSParameterExpression",
2148                    "name": {
2149                      "type": "Identifier",
2150                      "name": "combine",
2151                      "typeAnnotation": {
2152                        "type": "ETSFunctionType",
2153                        "params": [
2154                          {
2155                            "type": "ETSParameterExpression",
2156                            "name": {
2157                              "type": "Identifier",
2158                              "name": "lhs",
2159                              "typeAnnotation": {
2160                                "type": "ETSTypeReference",
2161                                "part": {
2162                                  "type": "ETSTypeReferencePart",
2163                                  "name": {
2164                                    "type": "Identifier",
2165                                    "name": "U",
2166                                    "decorators": [],
2167                                    "loc": {
2168                                      "start": {
2169                                        "line": 32,
2170                                        "column": 32
2171                                      },
2172                                      "end": {
2173                                        "line": 32,
2174                                        "column": 33
2175                                      }
2176                                    }
2177                                  },
2178                                  "loc": {
2179                                    "start": {
2180                                      "line": 32,
2181                                      "column": 32
2182                                    },
2183                                    "end": {
2184                                      "line": 32,
2185                                      "column": 34
2186                                    }
2187                                  }
2188                                },
2189                                "loc": {
2190                                  "start": {
2191                                    "line": 32,
2192                                    "column": 32
2193                                  },
2194                                  "end": {
2195                                    "line": 32,
2196                                    "column": 34
2197                                  }
2198                                }
2199                              },
2200                              "decorators": [],
2201                              "loc": {
2202                                "start": {
2203                                  "line": 32,
2204                                  "column": 27
2205                                },
2206                                "end": {
2207                                  "line": 32,
2208                                  "column": 34
2209                                }
2210                              }
2211                            },
2212                            "loc": {
2213                              "start": {
2214                                "line": 32,
2215                                "column": 27
2216                              },
2217                              "end": {
2218                                "line": 32,
2219                                "column": 34
2220                              }
2221                            }
2222                          },
2223                          {
2224                            "type": "ETSParameterExpression",
2225                            "name": {
2226                              "type": "Identifier",
2227                              "name": "rhs",
2228                              "typeAnnotation": {
2229                                "type": "ETSTypeReference",
2230                                "part": {
2231                                  "type": "ETSTypeReferencePart",
2232                                  "name": {
2233                                    "type": "Identifier",
2234                                    "name": "T",
2235                                    "decorators": [],
2236                                    "loc": {
2237                                      "start": {
2238                                        "line": 32,
2239                                        "column": 40
2240                                      },
2241                                      "end": {
2242                                        "line": 32,
2243                                        "column": 41
2244                                      }
2245                                    }
2246                                  },
2247                                  "loc": {
2248                                    "start": {
2249                                      "line": 32,
2250                                      "column": 40
2251                                    },
2252                                    "end": {
2253                                      "line": 32,
2254                                      "column": 42
2255                                    }
2256                                  }
2257                                },
2258                                "loc": {
2259                                  "start": {
2260                                    "line": 32,
2261                                    "column": 40
2262                                  },
2263                                  "end": {
2264                                    "line": 32,
2265                                    "column": 42
2266                                  }
2267                                }
2268                              },
2269                              "decorators": [],
2270                              "loc": {
2271                                "start": {
2272                                  "line": 32,
2273                                  "column": 35
2274                                },
2275                                "end": {
2276                                  "line": 32,
2277                                  "column": 42
2278                                }
2279                              }
2280                            },
2281                            "loc": {
2282                              "start": {
2283                                "line": 32,
2284                                "column": 35
2285                              },
2286                              "end": {
2287                                "line": 32,
2288                                "column": 42
2289                              }
2290                            }
2291                          }
2292                        ],
2293                        "returnType": {
2294                          "type": "ETSTypeReference",
2295                          "part": {
2296                            "type": "ETSTypeReferencePart",
2297                            "name": {
2298                              "type": "Identifier",
2299                              "name": "U",
2300                              "decorators": [],
2301                              "loc": {
2302                                "start": {
2303                                  "line": 32,
2304                                  "column": 46
2305                                },
2306                                "end": {
2307                                  "line": 32,
2308                                  "column": 47
2309                                }
2310                              }
2311                            },
2312                            "loc": {
2313                              "start": {
2314                                "line": 32,
2315                                "column": 46
2316                              },
2317                              "end": {
2318                                "line": 32,
2319                                "column": 48
2320                              }
2321                            }
2322                          },
2323                          "loc": {
2324                            "start": {
2325                              "line": 32,
2326                              "column": 46
2327                            },
2328                            "end": {
2329                              "line": 32,
2330                              "column": 48
2331                            }
2332                          }
2333                        },
2334                        "loc": {
2335                          "start": {
2336                            "line": 32,
2337                            "column": 26
2338                          },
2339                          "end": {
2340                            "line": 32,
2341                            "column": 48
2342                          }
2343                        }
2344                      },
2345                      "decorators": [],
2346                      "loc": {
2347                        "start": {
2348                          "line": 32,
2349                          "column": 17
2350                        },
2351                        "end": {
2352                          "line": 32,
2353                          "column": 48
2354                        }
2355                      }
2356                    },
2357                    "loc": {
2358                      "start": {
2359                        "line": 32,
2360                        "column": 17
2361                      },
2362                      "end": {
2363                        "line": 32,
2364                        "column": 48
2365                      }
2366                    }
2367                  },
2368                  {
2369                    "type": "ETSParameterExpression",
2370                    "name": {
2371                      "type": "Identifier",
2372                      "name": "initVal",
2373                      "typeAnnotation": {
2374                        "type": "ETSTypeReference",
2375                        "part": {
2376                          "type": "ETSTypeReferencePart",
2377                          "name": {
2378                            "type": "Identifier",
2379                            "name": "U",
2380                            "decorators": [],
2381                            "loc": {
2382                              "start": {
2383                                "line": 32,
2384                                "column": 58
2385                              },
2386                              "end": {
2387                                "line": 32,
2388                                "column": 59
2389                              }
2390                            }
2391                          },
2392                          "loc": {
2393                            "start": {
2394                              "line": 32,
2395                              "column": 58
2396                            },
2397                            "end": {
2398                              "line": 32,
2399                              "column": 60
2400                            }
2401                          }
2402                        },
2403                        "loc": {
2404                          "start": {
2405                            "line": 32,
2406                            "column": 58
2407                          },
2408                          "end": {
2409                            "line": 32,
2410                            "column": 60
2411                          }
2412                        }
2413                      },
2414                      "decorators": [],
2415                      "loc": {
2416                        "start": {
2417                          "line": 32,
2418                          "column": 49
2419                        },
2420                        "end": {
2421                          "line": 32,
2422                          "column": 60
2423                        }
2424                      }
2425                    },
2426                    "loc": {
2427                      "start": {
2428                        "line": 32,
2429                        "column": 49
2430                      },
2431                      "end": {
2432                        "line": 32,
2433                        "column": 60
2434                      }
2435                    }
2436                  }
2437                ],
2438                "returnType": {
2439                  "type": "ETSTypeReference",
2440                  "part": {
2441                    "type": "ETSTypeReferencePart",
2442                    "name": {
2443                      "type": "Identifier",
2444                      "name": "U",
2445                      "decorators": [],
2446                      "loc": {
2447                        "start": {
2448                          "line": 32,
2449                          "column": 62
2450                        },
2451                        "end": {
2452                          "line": 32,
2453                          "column": 63
2454                        }
2455                      }
2456                    },
2457                    "loc": {
2458                      "start": {
2459                        "line": 32,
2460                        "column": 62
2461                      },
2462                      "end": {
2463                        "line": 32,
2464                        "column": 64
2465                      }
2466                    }
2467                  },
2468                  "loc": {
2469                    "start": {
2470                      "line": 32,
2471                      "column": 62
2472                    },
2473                    "end": {
2474                      "line": 32,
2475                      "column": 64
2476                    }
2477                  }
2478                },
2479                "typeParameters": {
2480                  "type": "TSTypeParameterDeclaration",
2481                  "params": [
2482                    {
2483                      "type": "TSTypeParameter",
2484                      "name": {
2485                        "type": "Identifier",
2486                        "name": "U",
2487                        "decorators": [],
2488                        "loc": {
2489                          "start": {
2490                            "line": 32,
2491                            "column": 14
2492                          },
2493                          "end": {
2494                            "line": 32,
2495                            "column": 15
2496                          }
2497                        }
2498                      },
2499                      "loc": {
2500                        "start": {
2501                          "line": 32,
2502                          "column": 14
2503                        },
2504                        "end": {
2505                          "line": 32,
2506                          "column": 16
2507                        }
2508                      }
2509                    }
2510                  ],
2511                  "loc": {
2512                    "start": {
2513                      "line": 32,
2514                      "column": 13
2515                    },
2516                    "end": {
2517                      "line": 32,
2518                      "column": 16
2519                    }
2520                  }
2521                },
2522                "loc": {
2523                  "start": {
2524                    "line": 32,
2525                    "column": 13
2526                  },
2527                  "end": {
2528                    "line": 32,
2529                    "column": 64
2530                  }
2531                }
2532              },
2533              "loc": {
2534                "start": {
2535                  "line": 32,
2536                  "column": 13
2537                },
2538                "end": {
2539                  "line": 32,
2540                  "column": 64
2541                }
2542              }
2543            },
2544            "overloads": [],
2545            "decorators": [],
2546            "loc": {
2547              "start": {
2548                "line": 32,
2549                "column": 5
2550              },
2551              "end": {
2552                "line": 32,
2553                "column": 64
2554              }
2555            }
2556          },
2557          {
2558            "type": "MethodDefinition",
2559            "key": {
2560              "type": "Identifier",
2561              "name": "filter",
2562              "decorators": [],
2563              "loc": {
2564                "start": {
2565                  "line": 33,
2566                  "column": 5
2567                },
2568                "end": {
2569                  "line": 33,
2570                  "column": 11
2571                }
2572              }
2573            },
2574            "kind": "method",
2575            "accessibility": "public",
2576            "static": false,
2577            "optional": false,
2578            "computed": false,
2579            "value": {
2580              "type": "FunctionExpression",
2581              "function": {
2582                "type": "ScriptFunction",
2583                "id": {
2584                  "type": "Identifier",
2585                  "name": "filter",
2586                  "decorators": [],
2587                  "loc": {
2588                    "start": {
2589                      "line": 33,
2590                      "column": 5
2591                    },
2592                    "end": {
2593                      "line": 33,
2594                      "column": 11
2595                    }
2596                  }
2597                },
2598                "generator": false,
2599                "async": false,
2600                "expression": false,
2601                "params": [
2602                  {
2603                    "type": "ETSParameterExpression",
2604                    "name": {
2605                      "type": "Identifier",
2606                      "name": "filterCond",
2607                      "typeAnnotation": {
2608                        "type": "ETSFunctionType",
2609                        "params": [
2610                          {
2611                            "type": "ETSParameterExpression",
2612                            "name": {
2613                              "type": "Identifier",
2614                              "name": "e",
2615                              "typeAnnotation": {
2616                                "type": "ETSTypeReference",
2617                                "part": {
2618                                  "type": "ETSTypeReferencePart",
2619                                  "name": {
2620                                    "type": "Identifier",
2621                                    "name": "T",
2622                                    "decorators": [],
2623                                    "loc": {
2624                                      "start": {
2625                                        "line": 33,
2626                                        "column": 28
2627                                      },
2628                                      "end": {
2629                                        "line": 33,
2630                                        "column": 29
2631                                      }
2632                                    }
2633                                  },
2634                                  "loc": {
2635                                    "start": {
2636                                      "line": 33,
2637                                      "column": 28
2638                                    },
2639                                    "end": {
2640                                      "line": 33,
2641                                      "column": 30
2642                                    }
2643                                  }
2644                                },
2645                                "loc": {
2646                                  "start": {
2647                                    "line": 33,
2648                                    "column": 28
2649                                  },
2650                                  "end": {
2651                                    "line": 33,
2652                                    "column": 30
2653                                  }
2654                                }
2655                              },
2656                              "decorators": [],
2657                              "loc": {
2658                                "start": {
2659                                  "line": 33,
2660                                  "column": 25
2661                                },
2662                                "end": {
2663                                  "line": 33,
2664                                  "column": 30
2665                                }
2666                              }
2667                            },
2668                            "loc": {
2669                              "start": {
2670                                "line": 33,
2671                                "column": 25
2672                              },
2673                              "end": {
2674                                "line": 33,
2675                                "column": 30
2676                              }
2677                            }
2678                          }
2679                        ],
2680                        "returnType": {
2681                          "type": "ETSPrimitiveType",
2682                          "loc": {
2683                            "start": {
2684                              "line": 33,
2685                              "column": 34
2686                            },
2687                            "end": {
2688                              "line": 33,
2689                              "column": 41
2690                            }
2691                          }
2692                        },
2693                        "loc": {
2694                          "start": {
2695                            "line": 33,
2696                            "column": 24
2697                          },
2698                          "end": {
2699                            "line": 33,
2700                            "column": 41
2701                          }
2702                        }
2703                      },
2704                      "decorators": [],
2705                      "loc": {
2706                        "start": {
2707                          "line": 33,
2708                          "column": 12
2709                        },
2710                        "end": {
2711                          "line": 33,
2712                          "column": 41
2713                        }
2714                      }
2715                    },
2716                    "loc": {
2717                      "start": {
2718                        "line": 33,
2719                        "column": 12
2720                      },
2721                      "end": {
2722                        "line": 33,
2723                        "column": 41
2724                      }
2725                    }
2726                  }
2727                ],
2728                "returnType": {
2729                  "type": "ETSUnionType",
2730                  "types": [
2731                    {
2732                      "type": "ETSTypeReference",
2733                      "part": {
2734                        "type": "ETSTypeReferencePart",
2735                        "name": {
2736                          "type": "Identifier",
2737                          "name": "Listt",
2738                          "decorators": [],
2739                          "loc": {
2740                            "start": {
2741                              "line": 33,
2742                              "column": 45
2743                            },
2744                            "end": {
2745                              "line": 33,
2746                              "column": 50
2747                            }
2748                          }
2749                        },
2750                        "typeParams": {
2751                          "type": "TSTypeParameterInstantiation",
2752                          "params": [
2753                            {
2754                              "type": "ETSTypeReference",
2755                              "part": {
2756                                "type": "ETSTypeReferencePart",
2757                                "name": {
2758                                  "type": "Identifier",
2759                                  "name": "T",
2760                                  "decorators": [],
2761                                  "loc": {
2762                                    "start": {
2763                                      "line": 33,
2764                                      "column": 51
2765                                    },
2766                                    "end": {
2767                                      "line": 33,
2768                                      "column": 52
2769                                    }
2770                                  }
2771                                },
2772                                "loc": {
2773                                  "start": {
2774                                    "line": 33,
2775                                    "column": 51
2776                                  },
2777                                  "end": {
2778                                    "line": 33,
2779                                    "column": 53
2780                                  }
2781                                }
2782                              },
2783                              "loc": {
2784                                "start": {
2785                                  "line": 33,
2786                                  "column": 51
2787                                },
2788                                "end": {
2789                                  "line": 33,
2790                                  "column": 53
2791                                }
2792                              }
2793                            }
2794                          ],
2795                          "loc": {
2796                            "start": {
2797                              "line": 33,
2798                              "column": 50
2799                            },
2800                            "end": {
2801                              "line": 33,
2802                              "column": 53
2803                            }
2804                          }
2805                        },
2806                        "loc": {
2807                          "start": {
2808                            "line": 33,
2809                            "column": 45
2810                          },
2811                          "end": {
2812                            "line": 33,
2813                            "column": 55
2814                          }
2815                        }
2816                      },
2817                      "loc": {
2818                        "start": {
2819                          "line": 33,
2820                          "column": 45
2821                        },
2822                        "end": {
2823                          "line": 33,
2824                          "column": 55
2825                        }
2826                      }
2827                    },
2828                    {
2829                      "type": "ETSNullType",
2830                      "loc": {
2831                        "start": {
2832                          "line": 33,
2833                          "column": 56
2834                        },
2835                        "end": {
2836                          "line": 33,
2837                          "column": 60
2838                        }
2839                      }
2840                    }
2841                  ],
2842                  "loc": {
2843                    "start": {
2844                      "line": 33,
2845                      "column": 45
2846                    },
2847                    "end": {
2848                      "line": 33,
2849                      "column": 60
2850                    }
2851                  }
2852                },
2853                "loc": {
2854                  "start": {
2855                    "line": 33,
2856                    "column": 11
2857                  },
2858                  "end": {
2859                    "line": 33,
2860                    "column": 60
2861                  }
2862                }
2863              },
2864              "loc": {
2865                "start": {
2866                  "line": 33,
2867                  "column": 11
2868                },
2869                "end": {
2870                  "line": 33,
2871                  "column": 60
2872                }
2873              }
2874            },
2875            "overloads": [],
2876            "decorators": [],
2877            "loc": {
2878              "start": {
2879                "line": 33,
2880                "column": 5
2881              },
2882              "end": {
2883                "line": 33,
2884                "column": 61
2885              }
2886            }
2887          },
2888          {
2889            "type": "MethodDefinition",
2890            "key": {
2891              "type": "Identifier",
2892              "name": "sort",
2893              "decorators": [],
2894              "loc": {
2895                "start": {
2896                  "line": 34,
2897                  "column": 5
2898                },
2899                "end": {
2900                  "line": 34,
2901                  "column": 9
2902                }
2903              }
2904            },
2905            "kind": "method",
2906            "accessibility": "public",
2907            "static": false,
2908            "optional": false,
2909            "computed": false,
2910            "value": {
2911              "type": "FunctionExpression",
2912              "function": {
2913                "type": "ScriptFunction",
2914                "id": {
2915                  "type": "Identifier",
2916                  "name": "sort",
2917                  "decorators": [],
2918                  "loc": {
2919                    "start": {
2920                      "line": 34,
2921                      "column": 5
2922                    },
2923                    "end": {
2924                      "line": 34,
2925                      "column": 9
2926                    }
2927                  }
2928                },
2929                "generator": false,
2930                "async": false,
2931                "expression": false,
2932                "params": [
2933                  {
2934                    "type": "ETSParameterExpression",
2935                    "name": {
2936                      "type": "Identifier",
2937                      "name": "comparator",
2938                      "typeAnnotation": {
2939                        "type": "ETSFunctionType",
2940                        "params": [
2941                          {
2942                            "type": "ETSParameterExpression",
2943                            "name": {
2944                              "type": "Identifier",
2945                              "name": "lhs",
2946                              "typeAnnotation": {
2947                                "type": "ETSTypeReference",
2948                                "part": {
2949                                  "type": "ETSTypeReferencePart",
2950                                  "name": {
2951                                    "type": "Identifier",
2952                                    "name": "T",
2953                                    "decorators": [],
2954                                    "loc": {
2955                                      "start": {
2956                                        "line": 34,
2957                                        "column": 28
2958                                      },
2959                                      "end": {
2960                                        "line": 34,
2961                                        "column": 29
2962                                      }
2963                                    }
2964                                  },
2965                                  "loc": {
2966                                    "start": {
2967                                      "line": 34,
2968                                      "column": 28
2969                                    },
2970                                    "end": {
2971                                      "line": 34,
2972                                      "column": 30
2973                                    }
2974                                  }
2975                                },
2976                                "loc": {
2977                                  "start": {
2978                                    "line": 34,
2979                                    "column": 28
2980                                  },
2981                                  "end": {
2982                                    "line": 34,
2983                                    "column": 30
2984                                  }
2985                                }
2986                              },
2987                              "decorators": [],
2988                              "loc": {
2989                                "start": {
2990                                  "line": 34,
2991                                  "column": 23
2992                                },
2993                                "end": {
2994                                  "line": 34,
2995                                  "column": 30
2996                                }
2997                              }
2998                            },
2999                            "loc": {
3000                              "start": {
3001                                "line": 34,
3002                                "column": 23
3003                              },
3004                              "end": {
3005                                "line": 34,
3006                                "column": 30
3007                              }
3008                            }
3009                          },
3010                          {
3011                            "type": "ETSParameterExpression",
3012                            "name": {
3013                              "type": "Identifier",
3014                              "name": "rhs",
3015                              "typeAnnotation": {
3016                                "type": "ETSTypeReference",
3017                                "part": {
3018                                  "type": "ETSTypeReferencePart",
3019                                  "name": {
3020                                    "type": "Identifier",
3021                                    "name": "T",
3022                                    "decorators": [],
3023                                    "loc": {
3024                                      "start": {
3025                                        "line": 34,
3026                                        "column": 36
3027                                      },
3028                                      "end": {
3029                                        "line": 34,
3030                                        "column": 37
3031                                      }
3032                                    }
3033                                  },
3034                                  "loc": {
3035                                    "start": {
3036                                      "line": 34,
3037                                      "column": 36
3038                                    },
3039                                    "end": {
3040                                      "line": 34,
3041                                      "column": 38
3042                                    }
3043                                  }
3044                                },
3045                                "loc": {
3046                                  "start": {
3047                                    "line": 34,
3048                                    "column": 36
3049                                  },
3050                                  "end": {
3051                                    "line": 34,
3052                                    "column": 38
3053                                  }
3054                                }
3055                              },
3056                              "decorators": [],
3057                              "loc": {
3058                                "start": {
3059                                  "line": 34,
3060                                  "column": 31
3061                                },
3062                                "end": {
3063                                  "line": 34,
3064                                  "column": 38
3065                                }
3066                              }
3067                            },
3068                            "loc": {
3069                              "start": {
3070                                "line": 34,
3071                                "column": 31
3072                              },
3073                              "end": {
3074                                "line": 34,
3075                                "column": 38
3076                              }
3077                            }
3078                          }
3079                        ],
3080                        "returnType": {
3081                          "type": "ETSPrimitiveType",
3082                          "loc": {
3083                            "start": {
3084                              "line": 34,
3085                              "column": 42
3086                            },
3087                            "end": {
3088                              "line": 34,
3089                              "column": 49
3090                            }
3091                          }
3092                        },
3093                        "loc": {
3094                          "start": {
3095                            "line": 34,
3096                            "column": 22
3097                          },
3098                          "end": {
3099                            "line": 34,
3100                            "column": 49
3101                          }
3102                        }
3103                      },
3104                      "decorators": [],
3105                      "loc": {
3106                        "start": {
3107                          "line": 34,
3108                          "column": 10
3109                        },
3110                        "end": {
3111                          "line": 34,
3112                          "column": 49
3113                        }
3114                      }
3115                    },
3116                    "loc": {
3117                      "start": {
3118                        "line": 34,
3119                        "column": 10
3120                      },
3121                      "end": {
3122                        "line": 34,
3123                        "column": 49
3124                      }
3125                    }
3126                  }
3127                ],
3128                "returnType": {
3129                  "type": "ETSUnionType",
3130                  "types": [
3131                    {
3132                      "type": "ETSTypeReference",
3133                      "part": {
3134                        "type": "ETSTypeReferencePart",
3135                        "name": {
3136                          "type": "Identifier",
3137                          "name": "Listt",
3138                          "decorators": [],
3139                          "loc": {
3140                            "start": {
3141                              "line": 34,
3142                              "column": 53
3143                            },
3144                            "end": {
3145                              "line": 34,
3146                              "column": 58
3147                            }
3148                          }
3149                        },
3150                        "typeParams": {
3151                          "type": "TSTypeParameterInstantiation",
3152                          "params": [
3153                            {
3154                              "type": "ETSTypeReference",
3155                              "part": {
3156                                "type": "ETSTypeReferencePart",
3157                                "name": {
3158                                  "type": "Identifier",
3159                                  "name": "T",
3160                                  "decorators": [],
3161                                  "loc": {
3162                                    "start": {
3163                                      "line": 34,
3164                                      "column": 59
3165                                    },
3166                                    "end": {
3167                                      "line": 34,
3168                                      "column": 60
3169                                    }
3170                                  }
3171                                },
3172                                "loc": {
3173                                  "start": {
3174                                    "line": 34,
3175                                    "column": 59
3176                                  },
3177                                  "end": {
3178                                    "line": 34,
3179                                    "column": 61
3180                                  }
3181                                }
3182                              },
3183                              "loc": {
3184                                "start": {
3185                                  "line": 34,
3186                                  "column": 59
3187                                },
3188                                "end": {
3189                                  "line": 34,
3190                                  "column": 61
3191                                }
3192                              }
3193                            }
3194                          ],
3195                          "loc": {
3196                            "start": {
3197                              "line": 34,
3198                              "column": 58
3199                            },
3200                            "end": {
3201                              "line": 34,
3202                              "column": 61
3203                            }
3204                          }
3205                        },
3206                        "loc": {
3207                          "start": {
3208                            "line": 34,
3209                            "column": 53
3210                          },
3211                          "end": {
3212                            "line": 34,
3213                            "column": 63
3214                          }
3215                        }
3216                      },
3217                      "loc": {
3218                        "start": {
3219                          "line": 34,
3220                          "column": 53
3221                        },
3222                        "end": {
3223                          "line": 34,
3224                          "column": 63
3225                        }
3226                      }
3227                    },
3228                    {
3229                      "type": "ETSNullType",
3230                      "loc": {
3231                        "start": {
3232                          "line": 34,
3233                          "column": 64
3234                        },
3235                        "end": {
3236                          "line": 34,
3237                          "column": 68
3238                        }
3239                      }
3240                    }
3241                  ],
3242                  "loc": {
3243                    "start": {
3244                      "line": 34,
3245                      "column": 53
3246                    },
3247                    "end": {
3248                      "line": 34,
3249                      "column": 68
3250                    }
3251                  }
3252                },
3253                "loc": {
3254                  "start": {
3255                    "line": 34,
3256                    "column": 9
3257                  },
3258                  "end": {
3259                    "line": 34,
3260                    "column": 68
3261                  }
3262                }
3263              },
3264              "loc": {
3265                "start": {
3266                  "line": 34,
3267                  "column": 9
3268                },
3269                "end": {
3270                  "line": 34,
3271                  "column": 68
3272                }
3273              }
3274            },
3275            "overloads": [],
3276            "decorators": [],
3277            "loc": {
3278              "start": {
3279                "line": 34,
3280                "column": 5
3281              },
3282              "end": {
3283                "line": 34,
3284                "column": 69
3285              }
3286            }
3287          }
3288        ],
3289        "loc": {
3290          "start": {
3291            "line": 19,
3292            "column": 22
3293          },
3294          "end": {
3295            "line": 35,
3296            "column": 2
3297          }
3298        }
3299      },
3300      "id": {
3301        "type": "Identifier",
3302        "name": "Listt",
3303        "decorators": [],
3304        "loc": {
3305          "start": {
3306            "line": 19,
3307            "column": 11
3308          },
3309          "end": {
3310            "line": 19,
3311            "column": 16
3312          }
3313        }
3314      },
3315      "extends": [],
3316      "typeParameters": {
3317        "type": "TSTypeParameterDeclaration",
3318        "params": [
3319          {
3320            "type": "TSTypeParameter",
3321            "name": {
3322              "type": "Identifier",
3323              "name": "T",
3324              "decorators": [],
3325              "loc": {
3326                "start": {
3327                  "line": 19,
3328                  "column": 18
3329                },
3330                "end": {
3331                  "line": 19,
3332                  "column": 19
3333                }
3334              }
3335            },
3336            "loc": {
3337              "start": {
3338                "line": 19,
3339                "column": 18
3340              },
3341              "end": {
3342                "line": 19,
3343                "column": 20
3344              }
3345            }
3346          }
3347        ],
3348        "loc": {
3349          "start": {
3350            "line": 19,
3351            "column": 17
3352          },
3353          "end": {
3354            "line": 19,
3355            "column": 20
3356          }
3357        }
3358      },
3359      "loc": {
3360        "start": {
3361          "line": 19,
3362          "column": 1
3363        },
3364        "end": {
3365          "line": 37,
3366          "column": 6
3367        }
3368      }
3369    },
3370    {
3371      "type": "ClassDeclaration",
3372      "definition": {
3373        "id": {
3374          "type": "Identifier",
3375          "name": "ArrayAsListt",
3376          "decorators": [],
3377          "loc": {
3378            "start": {
3379              "line": 37,
3380              "column": 7
3381            },
3382            "end": {
3383              "line": 37,
3384              "column": 19
3385            }
3386          }
3387        },
3388        "typeParameters": {
3389          "type": "TSTypeParameterDeclaration",
3390          "params": [
3391            {
3392              "type": "TSTypeParameter",
3393              "name": {
3394                "type": "Identifier",
3395                "name": "T",
3396                "decorators": [],
3397                "loc": {
3398                  "start": {
3399                    "line": 37,
3400                    "column": 20
3401                  },
3402                  "end": {
3403                    "line": 37,
3404                    "column": 21
3405                  }
3406                }
3407              },
3408              "loc": {
3409                "start": {
3410                  "line": 37,
3411                  "column": 20
3412                },
3413                "end": {
3414                  "line": 37,
3415                  "column": 22
3416                }
3417              }
3418            }
3419          ],
3420          "loc": {
3421            "start": {
3422              "line": 37,
3423              "column": 19
3424            },
3425            "end": {
3426              "line": 37,
3427              "column": 22
3428            }
3429          }
3430        },
3431        "superClass": null,
3432        "implements": [
3433          {
3434            "type": "TSClassImplements",
3435            "expression": {
3436              "type": "ETSTypeReference",
3437              "part": {
3438                "type": "ETSTypeReferencePart",
3439                "name": {
3440                  "type": "Identifier",
3441                  "name": "Listt",
3442                  "decorators": [],
3443                  "loc": {
3444                    "start": {
3445                      "line": 37,
3446                      "column": 34
3447                    },
3448                    "end": {
3449                      "line": 37,
3450                      "column": 39
3451                    }
3452                  }
3453                },
3454                "typeParams": {
3455                  "type": "TSTypeParameterInstantiation",
3456                  "params": [
3457                    {
3458                      "type": "ETSTypeReference",
3459                      "part": {
3460                        "type": "ETSTypeReferencePart",
3461                        "name": {
3462                          "type": "Identifier",
3463                          "name": "T",
3464                          "decorators": [],
3465                          "loc": {
3466                            "start": {
3467                              "line": 37,
3468                              "column": 40
3469                            },
3470                            "end": {
3471                              "line": 37,
3472                              "column": 41
3473                            }
3474                          }
3475                        },
3476                        "loc": {
3477                          "start": {
3478                            "line": 37,
3479                            "column": 40
3480                          },
3481                          "end": {
3482                            "line": 37,
3483                            "column": 42
3484                          }
3485                        }
3486                      },
3487                      "loc": {
3488                        "start": {
3489                          "line": 37,
3490                          "column": 40
3491                        },
3492                        "end": {
3493                          "line": 37,
3494                          "column": 42
3495                        }
3496                      }
3497                    }
3498                  ],
3499                  "loc": {
3500                    "start": {
3501                      "line": 37,
3502                      "column": 39
3503                    },
3504                    "end": {
3505                      "line": 37,
3506                      "column": 42
3507                    }
3508                  }
3509                },
3510                "loc": {
3511                  "start": {
3512                    "line": 37,
3513                    "column": 34
3514                  },
3515                  "end": {
3516                    "line": 37,
3517                    "column": 44
3518                  }
3519                }
3520              },
3521              "loc": {
3522                "start": {
3523                  "line": 37,
3524                  "column": 34
3525                },
3526                "end": {
3527                  "line": 37,
3528                  "column": 44
3529                }
3530              }
3531            },
3532            "loc": {
3533              "start": {
3534                "line": 37,
3535                "column": 34
3536              },
3537              "end": {
3538                "line": 37,
3539                "column": 44
3540              }
3541            }
3542          }
3543        ],
3544        "body": [
3545          {
3546            "type": "MethodDefinition",
3547            "key": {
3548              "type": "Identifier",
3549              "name": "init",
3550              "decorators": [],
3551              "loc": {
3552                "start": {
3553                  "line": 39,
3554                  "column": 13
3555                },
3556                "end": {
3557                  "line": 39,
3558                  "column": 17
3559                }
3560              }
3561            },
3562            "kind": "method",
3563            "accessibility": "private",
3564            "static": false,
3565            "optional": false,
3566            "computed": false,
3567            "value": {
3568              "type": "FunctionExpression",
3569              "function": {
3570                "type": "ScriptFunction",
3571                "id": {
3572                  "type": "Identifier",
3573                  "name": "init",
3574                  "decorators": [],
3575                  "loc": {
3576                    "start": {
3577                      "line": 39,
3578                      "column": 13
3579                    },
3580                    "end": {
3581                      "line": 39,
3582                      "column": 17
3583                    }
3584                  }
3585                },
3586                "generator": false,
3587                "async": false,
3588                "expression": false,
3589                "params": [
3590                  {
3591                    "type": "ETSParameterExpression",
3592                    "name": {
3593                      "type": "Identifier",
3594                      "name": "capacity",
3595                      "typeAnnotation": {
3596                        "type": "ETSPrimitiveType",
3597                        "loc": {
3598                          "start": {
3599                            "line": 39,
3600                            "column": 28
3601                          },
3602                          "end": {
3603                            "line": 39,
3604                            "column": 31
3605                          }
3606                        }
3607                      },
3608                      "decorators": [],
3609                      "loc": {
3610                        "start": {
3611                          "line": 39,
3612                          "column": 18
3613                        },
3614                        "end": {
3615                          "line": 39,
3616                          "column": 31
3617                        }
3618                      }
3619                    },
3620                    "loc": {
3621                      "start": {
3622                        "line": 39,
3623                        "column": 18
3624                      },
3625                      "end": {
3626                        "line": 39,
3627                        "column": 31
3628                      }
3629                    }
3630                  },
3631                  {
3632                    "type": "ETSParameterExpression",
3633                    "name": {
3634                      "type": "Identifier",
3635                      "name": "val",
3636                      "typeAnnotation": {
3637                        "type": "ETSUnionType",
3638                        "types": [
3639                          {
3640                            "type": "ETSTypeReference",
3641                            "part": {
3642                              "type": "ETSTypeReferencePart",
3643                              "name": {
3644                                "type": "Identifier",
3645                                "name": "T",
3646                                "decorators": [],
3647                                "loc": {
3648                                  "start": {
3649                                    "line": 39,
3650                                    "column": 38
3651                                  },
3652                                  "end": {
3653                                    "line": 39,
3654                                    "column": 39
3655                                  }
3656                                }
3657                              },
3658                              "loc": {
3659                                "start": {
3660                                  "line": 39,
3661                                  "column": 38
3662                                },
3663                                "end": {
3664                                  "line": 39,
3665                                  "column": 41
3666                                }
3667                              }
3668                            },
3669                            "loc": {
3670                              "start": {
3671                                "line": 39,
3672                                "column": 38
3673                              },
3674                              "end": {
3675                                "line": 39,
3676                                "column": 41
3677                              }
3678                            }
3679                          },
3680                          {
3681                            "type": "ETSNullType",
3682                            "loc": {
3683                              "start": {
3684                                "line": 39,
3685                                "column": 42
3686                              },
3687                              "end": {
3688                                "line": 39,
3689                                "column": 46
3690                              }
3691                            }
3692                          }
3693                        ],
3694                        "loc": {
3695                          "start": {
3696                            "line": 39,
3697                            "column": 38
3698                          },
3699                          "end": {
3700                            "line": 39,
3701                            "column": 46
3702                          }
3703                        }
3704                      },
3705                      "decorators": [],
3706                      "loc": {
3707                        "start": {
3708                          "line": 39,
3709                          "column": 33
3710                        },
3711                        "end": {
3712                          "line": 39,
3713                          "column": 46
3714                        }
3715                      }
3716                    },
3717                    "loc": {
3718                      "start": {
3719                        "line": 39,
3720                        "column": 33
3721                      },
3722                      "end": {
3723                        "line": 39,
3724                        "column": 46
3725                      }
3726                    }
3727                  }
3728                ],
3729                "returnType": {
3730                  "type": "ETSPrimitiveType",
3731                  "loc": {
3732                    "start": {
3733                      "line": 39,
3734                      "column": 49
3735                    },
3736                    "end": {
3737                      "line": 39,
3738                      "column": 53
3739                    }
3740                  }
3741                },
3742                "body": {
3743                  "type": "BlockStatement",
3744                  "statements": [
3745                    {
3746                      "type": "ExpressionStatement",
3747                      "expression": {
3748                        "type": "AssignmentExpression",
3749                        "operator": "=",
3750                        "left": {
3751                          "type": "MemberExpression",
3752                          "object": {
3753                            "type": "ThisExpression",
3754                            "loc": {
3755                              "start": {
3756                                "line": 40,
3757                                "column": 9
3758                              },
3759                              "end": {
3760                                "line": 40,
3761                                "column": 13
3762                              }
3763                            }
3764                          },
3765                          "property": {
3766                            "type": "Identifier",
3767                            "name": "data",
3768                            "decorators": [],
3769                            "loc": {
3770                              "start": {
3771                                "line": 40,
3772                                "column": 14
3773                              },
3774                              "end": {
3775                                "line": 40,
3776                                "column": 18
3777                              }
3778                            }
3779                          },
3780                          "computed": false,
3781                          "optional": false,
3782                          "loc": {
3783                            "start": {
3784                              "line": 40,
3785                              "column": 9
3786                            },
3787                            "end": {
3788                              "line": 40,
3789                              "column": 18
3790                            }
3791                          }
3792                        },
3793                        "right": {
3794                          "type": "ETSNewArrayInstanceExpression",
3795                          "typeReference": {
3796                            "type": "ETSTypeReference",
3797                            "part": {
3798                              "type": "ETSTypeReferencePart",
3799                              "name": {
3800                                "type": "Identifier",
3801                                "name": "T",
3802                                "decorators": [],
3803                                "loc": {
3804                                  "start": {
3805                                    "line": 40,
3806                                    "column": 25
3807                                  },
3808                                  "end": {
3809                                    "line": 40,
3810                                    "column": 26
3811                                  }
3812                                }
3813                              },
3814                              "loc": {
3815                                "start": {
3816                                  "line": 40,
3817                                  "column": 25
3818                                },
3819                                "end": {
3820                                  "line": 40,
3821                                  "column": 27
3822                                }
3823                              }
3824                            },
3825                            "loc": {
3826                              "start": {
3827                                "line": 40,
3828                                "column": 25
3829                              },
3830                              "end": {
3831                                "line": 40,
3832                                "column": 27
3833                              }
3834                            }
3835                          },
3836                          "dimension": {
3837                            "type": "Identifier",
3838                            "name": "capacity",
3839                            "decorators": [],
3840                            "loc": {
3841                              "start": {
3842                                "line": 40,
3843                                "column": 27
3844                              },
3845                              "end": {
3846                                "line": 40,
3847                                "column": 35
3848                              }
3849                            }
3850                          },
3851                          "loc": {
3852                            "start": {
3853                              "line": 40,
3854                              "column": 21
3855                            },
3856                            "end": {
3857                              "line": 40,
3858                              "column": 36
3859                            }
3860                          }
3861                        },
3862                        "loc": {
3863                          "start": {
3864                            "line": 40,
3865                            "column": 9
3866                          },
3867                          "end": {
3868                            "line": 40,
3869                            "column": 36
3870                          }
3871                        }
3872                      },
3873                      "loc": {
3874                        "start": {
3875                          "line": 40,
3876                          "column": 9
3877                        },
3878                        "end": {
3879                          "line": 40,
3880                          "column": 37
3881                        }
3882                      }
3883                    },
3884                    {
3885                      "type": "ForUpdateStatement",
3886                      "init": {
3887                        "type": "VariableDeclaration",
3888                        "declarations": [
3889                          {
3890                            "type": "VariableDeclarator",
3891                            "id": {
3892                              "type": "Identifier",
3893                              "name": "i",
3894                              "decorators": [],
3895                              "loc": {
3896                                "start": {
3897                                  "line": 41,
3898                                  "column": 18
3899                                },
3900                                "end": {
3901                                  "line": 41,
3902                                  "column": 19
3903                                }
3904                              }
3905                            },
3906                            "init": {
3907                              "type": "NumberLiteral",
3908                              "value": 0,
3909                              "loc": {
3910                                "start": {
3911                                  "line": 41,
3912                                  "column": 22
3913                                },
3914                                "end": {
3915                                  "line": 41,
3916                                  "column": 23
3917                                }
3918                              }
3919                            },
3920                            "loc": {
3921                              "start": {
3922                                "line": 41,
3923                                "column": 18
3924                              },
3925                              "end": {
3926                                "line": 41,
3927                                "column": 23
3928                              }
3929                            }
3930                          }
3931                        ],
3932                        "kind": "let",
3933                        "loc": {
3934                          "start": {
3935                            "line": 41,
3936                            "column": 14
3937                          },
3938                          "end": {
3939                            "line": 41,
3940                            "column": 23
3941                          }
3942                        }
3943                      },
3944                      "test": {
3945                        "type": "BinaryExpression",
3946                        "operator": "<",
3947                        "left": {
3948                          "type": "Identifier",
3949                          "name": "i",
3950                          "decorators": [],
3951                          "loc": {
3952                            "start": {
3953                              "line": 41,
3954                              "column": 25
3955                            },
3956                            "end": {
3957                              "line": 41,
3958                              "column": 26
3959                            }
3960                          }
3961                        },
3962                        "right": {
3963                          "type": "MemberExpression",
3964                          "object": {
3965                            "type": "MemberExpression",
3966                            "object": {
3967                              "type": "ThisExpression",
3968                              "loc": {
3969                                "start": {
3970                                  "line": 41,
3971                                  "column": 29
3972                                },
3973                                "end": {
3974                                  "line": 41,
3975                                  "column": 33
3976                                }
3977                              }
3978                            },
3979                            "property": {
3980                              "type": "Identifier",
3981                              "name": "data",
3982                              "decorators": [],
3983                              "loc": {
3984                                "start": {
3985                                  "line": 41,
3986                                  "column": 34
3987                                },
3988                                "end": {
3989                                  "line": 41,
3990                                  "column": 38
3991                                }
3992                              }
3993                            },
3994                            "computed": false,
3995                            "optional": false,
3996                            "loc": {
3997                              "start": {
3998                                "line": 41,
3999                                "column": 29
4000                              },
4001                              "end": {
4002                                "line": 41,
4003                                "column": 38
4004                              }
4005                            }
4006                          },
4007                          "property": {
4008                            "type": "Identifier",
4009                            "name": "length",
4010                            "decorators": [],
4011                            "loc": {
4012                              "start": {
4013                                "line": 41,
4014                                "column": 39
4015                              },
4016                              "end": {
4017                                "line": 41,
4018                                "column": 45
4019                              }
4020                            }
4021                          },
4022                          "computed": false,
4023                          "optional": false,
4024                          "loc": {
4025                            "start": {
4026                              "line": 41,
4027                              "column": 29
4028                            },
4029                            "end": {
4030                              "line": 41,
4031                              "column": 45
4032                            }
4033                          }
4034                        },
4035                        "loc": {
4036                          "start": {
4037                            "line": 41,
4038                            "column": 25
4039                          },
4040                          "end": {
4041                            "line": 41,
4042                            "column": 45
4043                          }
4044                        }
4045                      },
4046                      "update": {
4047                        "type": "UpdateExpression",
4048                        "operator": "++",
4049                        "prefix": true,
4050                        "argument": {
4051                          "type": "Identifier",
4052                          "name": "i",
4053                          "decorators": [],
4054                          "loc": {
4055                            "start": {
4056                              "line": 41,
4057                              "column": 49
4058                            },
4059                            "end": {
4060                              "line": 41,
4061                              "column": 50
4062                            }
4063                          }
4064                        },
4065                        "loc": {
4066                          "start": {
4067                            "line": 41,
4068                            "column": 47
4069                          },
4070                          "end": {
4071                            "line": 41,
4072                            "column": 50
4073                          }
4074                        }
4075                      },
4076                      "body": {
4077                        "type": "BlockStatement",
4078                        "statements": [],
4079                        "loc": {
4080                          "start": {
4081                            "line": 41,
4082                            "column": 52
4083                          },
4084                          "end": {
4085                            "line": 42,
4086                            "column": 10
4087                          }
4088                        }
4089                      },
4090                      "loc": {
4091                        "start": {
4092                          "line": 41,
4093                          "column": 9
4094                        },
4095                        "end": {
4096                          "line": 42,
4097                          "column": 10
4098                        }
4099                      }
4100                    },
4101                    {
4102                      "type": "ExpressionStatement",
4103                      "expression": {
4104                        "type": "AssignmentExpression",
4105                        "operator": "=",
4106                        "left": {
4107                          "type": "MemberExpression",
4108                          "object": {
4109                            "type": "ThisExpression",
4110                            "loc": {
4111                              "start": {
4112                                "line": 43,
4113                                "column": 9
4114                              },
4115                              "end": {
4116                                "line": 43,
4117                                "column": 13
4118                              }
4119                            }
4120                          },
4121                          "property": {
4122                            "type": "Identifier",
4123                            "name": "curSize",
4124                            "decorators": [],
4125                            "loc": {
4126                              "start": {
4127                                "line": 43,
4128                                "column": 14
4129                              },
4130                              "end": {
4131                                "line": 43,
4132                                "column": 21
4133                              }
4134                            }
4135                          },
4136                          "computed": false,
4137                          "optional": false,
4138                          "loc": {
4139                            "start": {
4140                              "line": 43,
4141                              "column": 9
4142                            },
4143                            "end": {
4144                              "line": 43,
4145                              "column": 21
4146                            }
4147                          }
4148                        },
4149                        "right": {
4150                          "type": "Identifier",
4151                          "name": "capacity",
4152                          "decorators": [],
4153                          "loc": {
4154                            "start": {
4155                              "line": 43,
4156                              "column": 24
4157                            },
4158                            "end": {
4159                              "line": 43,
4160                              "column": 32
4161                            }
4162                          }
4163                        },
4164                        "loc": {
4165                          "start": {
4166                            "line": 43,
4167                            "column": 9
4168                          },
4169                          "end": {
4170                            "line": 43,
4171                            "column": 32
4172                          }
4173                        }
4174                      },
4175                      "loc": {
4176                        "start": {
4177                          "line": 43,
4178                          "column": 9
4179                        },
4180                        "end": {
4181                          "line": 43,
4182                          "column": 33
4183                        }
4184                      }
4185                    }
4186                  ],
4187                  "loc": {
4188                    "start": {
4189                      "line": 39,
4190                      "column": 54
4191                    },
4192                    "end": {
4193                      "line": 44,
4194                      "column": 6
4195                    }
4196                  }
4197                },
4198                "loc": {
4199                  "start": {
4200                    "line": 39,
4201                    "column": 17
4202                  },
4203                  "end": {
4204                    "line": 44,
4205                    "column": 6
4206                  }
4207                }
4208              },
4209              "loc": {
4210                "start": {
4211                  "line": 39,
4212                  "column": 17
4213                },
4214                "end": {
4215                  "line": 44,
4216                  "column": 6
4217                }
4218              }
4219            },
4220            "overloads": [],
4221            "decorators": [],
4222            "loc": {
4223              "start": {
4224                "line": 39,
4225                "column": 5
4226              },
4227              "end": {
4228                "line": 44,
4229                "column": 6
4230              }
4231            }
4232          },
4233          {
4234            "type": "MethodDefinition",
4235            "key": {
4236              "type": "Identifier",
4237              "name": "constructor",
4238              "decorators": [],
4239              "loc": {
4240                "start": {
4241                  "line": 1,
4242                  "column": 1
4243                },
4244                "end": {
4245                  "line": 1,
4246                  "column": 1
4247                }
4248              }
4249            },
4250            "kind": "constructor",
4251            "accessibility": "public",
4252            "static": false,
4253            "optional": false,
4254            "computed": false,
4255            "value": {
4256              "type": "FunctionExpression",
4257              "function": {
4258                "type": "ScriptFunction",
4259                "id": {
4260                  "type": "Identifier",
4261                  "name": "constructor",
4262                  "decorators": [],
4263                  "loc": {
4264                    "start": {
4265                      "line": 1,
4266                      "column": 1
4267                    },
4268                    "end": {
4269                      "line": 1,
4270                      "column": 1
4271                    }
4272                  }
4273                },
4274                "generator": false,
4275                "async": false,
4276                "expression": false,
4277                "params": [
4278                  {
4279                    "type": "ETSParameterExpression",
4280                    "name": {
4281                      "type": "Identifier",
4282                      "name": "capacity",
4283                      "typeAnnotation": {
4284                        "type": "ETSPrimitiveType",
4285                        "loc": {
4286                          "start": {
4287                            "line": 46,
4288                            "column": 27
4289                          },
4290                          "end": {
4291                            "line": 46,
4292                            "column": 30
4293                          }
4294                        }
4295                      },
4296                      "decorators": [],
4297                      "loc": {
4298                        "start": {
4299                          "line": 46,
4300                          "column": 17
4301                        },
4302                        "end": {
4303                          "line": 46,
4304                          "column": 30
4305                        }
4306                      }
4307                    },
4308                    "loc": {
4309                      "start": {
4310                        "line": 46,
4311                        "column": 17
4312                      },
4313                      "end": {
4314                        "line": 46,
4315                        "column": 30
4316                      }
4317                    }
4318                  },
4319                  {
4320                    "type": "ETSParameterExpression",
4321                    "name": {
4322                      "type": "Identifier",
4323                      "name": "val",
4324                      "typeAnnotation": {
4325                        "type": "ETSTypeReference",
4326                        "part": {
4327                          "type": "ETSTypeReferencePart",
4328                          "name": {
4329                            "type": "Identifier",
4330                            "name": "T",
4331                            "decorators": [],
4332                            "loc": {
4333                              "start": {
4334                                "line": 46,
4335                                "column": 37
4336                              },
4337                              "end": {
4338                                "line": 46,
4339                                "column": 38
4340                              }
4341                            }
4342                          },
4343                          "loc": {
4344                            "start": {
4345                              "line": 46,
4346                              "column": 37
4347                            },
4348                            "end": {
4349                              "line": 46,
4350                              "column": 39
4351                            }
4352                          }
4353                        },
4354                        "loc": {
4355                          "start": {
4356                            "line": 46,
4357                            "column": 37
4358                          },
4359                          "end": {
4360                            "line": 46,
4361                            "column": 39
4362                          }
4363                        }
4364                      },
4365                      "decorators": [],
4366                      "loc": {
4367                        "start": {
4368                          "line": 46,
4369                          "column": 32
4370                        },
4371                        "end": {
4372                          "line": 46,
4373                          "column": 39
4374                        }
4375                      }
4376                    },
4377                    "loc": {
4378                      "start": {
4379                        "line": 46,
4380                        "column": 32
4381                      },
4382                      "end": {
4383                        "line": 46,
4384                        "column": 39
4385                      }
4386                    }
4387                  }
4388                ],
4389                "body": {
4390                  "type": "BlockStatement",
4391                  "statements": [
4392                    {
4393                      "type": "ExpressionStatement",
4394                      "expression": {
4395                        "type": "CallExpression",
4396                        "callee": {
4397                          "type": "MemberExpression",
4398                          "object": {
4399                            "type": "ThisExpression",
4400                            "loc": {
4401                              "start": {
4402                                "line": 47,
4403                                "column": 9
4404                              },
4405                              "end": {
4406                                "line": 47,
4407                                "column": 13
4408                              }
4409                            }
4410                          },
4411                          "property": {
4412                            "type": "Identifier",
4413                            "name": "init",
4414                            "decorators": [],
4415                            "loc": {
4416                              "start": {
4417                                "line": 47,
4418                                "column": 14
4419                              },
4420                              "end": {
4421                                "line": 47,
4422                                "column": 18
4423                              }
4424                            }
4425                          },
4426                          "computed": false,
4427                          "optional": false,
4428                          "loc": {
4429                            "start": {
4430                              "line": 47,
4431                              "column": 9
4432                            },
4433                            "end": {
4434                              "line": 47,
4435                              "column": 18
4436                            }
4437                          }
4438                        },
4439                        "arguments": [
4440                          {
4441                            "type": "Identifier",
4442                            "name": "capacity",
4443                            "decorators": [],
4444                            "loc": {
4445                              "start": {
4446                                "line": 47,
4447                                "column": 19
4448                              },
4449                              "end": {
4450                                "line": 47,
4451                                "column": 27
4452                              }
4453                            }
4454                          },
4455                          {
4456                            "type": "Identifier",
4457                            "name": "val",
4458                            "decorators": [],
4459                            "loc": {
4460                              "start": {
4461                                "line": 47,
4462                                "column": 29
4463                              },
4464                              "end": {
4465                                "line": 47,
4466                                "column": 32
4467                              }
4468                            }
4469                          }
4470                        ],
4471                        "optional": false,
4472                        "loc": {
4473                          "start": {
4474                            "line": 47,
4475                            "column": 9
4476                          },
4477                          "end": {
4478                            "line": 47,
4479                            "column": 33
4480                          }
4481                        }
4482                      },
4483                      "loc": {
4484                        "start": {
4485                          "line": 47,
4486                          "column": 9
4487                        },
4488                        "end": {
4489                          "line": 47,
4490                          "column": 34
4491                        }
4492                      }
4493                    }
4494                  ],
4495                  "loc": {
4496                    "start": {
4497                      "line": 46,
4498                      "column": 40
4499                    },
4500                    "end": {
4501                      "line": 48,
4502                      "column": 6
4503                    }
4504                  }
4505                },
4506                "loc": {
4507                  "start": {
4508                    "line": 46,
4509                    "column": 16
4510                  },
4511                  "end": {
4512                    "line": 48,
4513                    "column": 6
4514                  }
4515                }
4516              },
4517              "loc": {
4518                "start": {
4519                  "line": 46,
4520                  "column": 16
4521                },
4522                "end": {
4523                  "line": 48,
4524                  "column": 6
4525                }
4526              }
4527            },
4528            "overloads": [
4529              {
4530                "type": "MethodDefinition",
4531                "key": {
4532                  "type": "Identifier",
4533                  "name": "constructor",
4534                  "decorators": [],
4535                  "loc": {
4536                    "start": {
4537                      "line": 1,
4538                      "column": 1
4539                    },
4540                    "end": {
4541                      "line": 1,
4542                      "column": 1
4543                    }
4544                  }
4545                },
4546                "kind": "constructor",
4547                "accessibility": "public",
4548                "static": false,
4549                "optional": false,
4550                "computed": false,
4551                "value": {
4552                  "type": "FunctionExpression",
4553                  "function": {
4554                    "type": "ScriptFunction",
4555                    "id": {
4556                      "type": "Identifier",
4557                      "name": "constructor",
4558                      "decorators": [],
4559                      "loc": {
4560                        "start": {
4561                          "line": 1,
4562                          "column": 1
4563                        },
4564                        "end": {
4565                          "line": 1,
4566                          "column": 1
4567                        }
4568                      }
4569                    },
4570                    "generator": false,
4571                    "async": false,
4572                    "expression": false,
4573                    "params": [],
4574                    "body": {
4575                      "type": "BlockStatement",
4576                      "statements": [
4577                        {
4578                          "type": "ExpressionStatement",
4579                          "expression": {
4580                            "type": "CallExpression",
4581                            "callee": {
4582                              "type": "MemberExpression",
4583                              "object": {
4584                                "type": "ThisExpression",
4585                                "loc": {
4586                                  "start": {
4587                                    "line": 51,
4588                                    "column": 9
4589                                  },
4590                                  "end": {
4591                                    "line": 51,
4592                                    "column": 13
4593                                  }
4594                                }
4595                              },
4596                              "property": {
4597                                "type": "Identifier",
4598                                "name": "init",
4599                                "decorators": [],
4600                                "loc": {
4601                                  "start": {
4602                                    "line": 51,
4603                                    "column": 14
4604                                  },
4605                                  "end": {
4606                                    "line": 51,
4607                                    "column": 18
4608                                  }
4609                                }
4610                              },
4611                              "computed": false,
4612                              "optional": false,
4613                              "loc": {
4614                                "start": {
4615                                  "line": 51,
4616                                  "column": 9
4617                                },
4618                                "end": {
4619                                  "line": 51,
4620                                  "column": 18
4621                                }
4622                              }
4623                            },
4624                            "arguments": [
4625                              {
4626                                "type": "NumberLiteral",
4627                                "value": 0,
4628                                "loc": {
4629                                  "start": {
4630                                    "line": 51,
4631                                    "column": 19
4632                                  },
4633                                  "end": {
4634                                    "line": 51,
4635                                    "column": 20
4636                                  }
4637                                }
4638                              },
4639                              {
4640                                "type": "NullLiteral",
4641                                "value": null,
4642                                "loc": {
4643                                  "start": {
4644                                    "line": 51,
4645                                    "column": 22
4646                                  },
4647                                  "end": {
4648                                    "line": 51,
4649                                    "column": 26
4650                                  }
4651                                }
4652                              }
4653                            ],
4654                            "optional": false,
4655                            "loc": {
4656                              "start": {
4657                                "line": 51,
4658                                "column": 9
4659                              },
4660                              "end": {
4661                                "line": 51,
4662                                "column": 27
4663                              }
4664                            }
4665                          },
4666                          "loc": {
4667                            "start": {
4668                              "line": 51,
4669                              "column": 9
4670                            },
4671                            "end": {
4672                              "line": 51,
4673                              "column": 28
4674                            }
4675                          }
4676                        }
4677                      ],
4678                      "loc": {
4679                        "start": {
4680                          "line": 50,
4681                          "column": 19
4682                        },
4683                        "end": {
4684                          "line": 52,
4685                          "column": 6
4686                        }
4687                      }
4688                    },
4689                    "loc": {
4690                      "start": {
4691                        "line": 50,
4692                        "column": 16
4693                      },
4694                      "end": {
4695                        "line": 52,
4696                        "column": 6
4697                      }
4698                    }
4699                  },
4700                  "loc": {
4701                    "start": {
4702                      "line": 50,
4703                      "column": 16
4704                    },
4705                    "end": {
4706                      "line": 52,
4707                      "column": 6
4708                    }
4709                  }
4710                },
4711                "overloads": [],
4712                "decorators": [],
4713                "loc": {
4714                  "start": {
4715                    "line": 50,
4716                    "column": 5
4717                  },
4718                  "end": {
4719                    "line": 52,
4720                    "column": 6
4721                  }
4722                }
4723              },
4724              {
4725                "type": "MethodDefinition",
4726                "key": {
4727                  "type": "Identifier",
4728                  "name": "constructor",
4729                  "decorators": [],
4730                  "loc": {
4731                    "start": {
4732                      "line": 1,
4733                      "column": 1
4734                    },
4735                    "end": {
4736                      "line": 1,
4737                      "column": 1
4738                    }
4739                  }
4740                },
4741                "kind": "constructor",
4742                "accessibility": "public",
4743                "static": false,
4744                "optional": false,
4745                "computed": false,
4746                "value": {
4747                  "type": "FunctionExpression",
4748                  "function": {
4749                    "type": "ScriptFunction",
4750                    "id": {
4751                      "type": "Identifier",
4752                      "name": "constructor",
4753                      "decorators": [],
4754                      "loc": {
4755                        "start": {
4756                          "line": 1,
4757                          "column": 1
4758                        },
4759                        "end": {
4760                          "line": 1,
4761                          "column": 1
4762                        }
4763                      }
4764                    },
4765                    "generator": false,
4766                    "async": false,
4767                    "expression": false,
4768                    "params": [
4769                      {
4770                        "type": "ETSParameterExpression",
4771                        "name": {
4772                          "type": "Identifier",
4773                          "name": "capacity",
4774                          "typeAnnotation": {
4775                            "type": "ETSPrimitiveType",
4776                            "loc": {
4777                              "start": {
4778                                "line": 54,
4779                                "column": 27
4780                              },
4781                              "end": {
4782                                "line": 54,
4783                                "column": 30
4784                              }
4785                            }
4786                          },
4787                          "decorators": [],
4788                          "loc": {
4789                            "start": {
4790                              "line": 54,
4791                              "column": 17
4792                            },
4793                            "end": {
4794                              "line": 54,
4795                              "column": 30
4796                            }
4797                          }
4798                        },
4799                        "loc": {
4800                          "start": {
4801                            "line": 54,
4802                            "column": 17
4803                          },
4804                          "end": {
4805                            "line": 54,
4806                            "column": 30
4807                          }
4808                        }
4809                      }
4810                    ],
4811                    "body": {
4812                      "type": "BlockStatement",
4813                      "statements": [
4814                        {
4815                          "type": "ExpressionStatement",
4816                          "expression": {
4817                            "type": "CallExpression",
4818                            "callee": {
4819                              "type": "MemberExpression",
4820                              "object": {
4821                                "type": "ThisExpression",
4822                                "loc": {
4823                                  "start": {
4824                                    "line": 55,
4825                                    "column": 9
4826                                  },
4827                                  "end": {
4828                                    "line": 55,
4829                                    "column": 13
4830                                  }
4831                                }
4832                              },
4833                              "property": {
4834                                "type": "Identifier",
4835                                "name": "init",
4836                                "decorators": [],
4837                                "loc": {
4838                                  "start": {
4839                                    "line": 55,
4840                                    "column": 14
4841                                  },
4842                                  "end": {
4843                                    "line": 55,
4844                                    "column": 18
4845                                  }
4846                                }
4847                              },
4848                              "computed": false,
4849                              "optional": false,
4850                              "loc": {
4851                                "start": {
4852                                  "line": 55,
4853                                  "column": 9
4854                                },
4855                                "end": {
4856                                  "line": 55,
4857                                  "column": 18
4858                                }
4859                              }
4860                            },
4861                            "arguments": [
4862                              {
4863                                "type": "Identifier",
4864                                "name": "capacity",
4865                                "decorators": [],
4866                                "loc": {
4867                                  "start": {
4868                                    "line": 55,
4869                                    "column": 19
4870                                  },
4871                                  "end": {
4872                                    "line": 55,
4873                                    "column": 27
4874                                  }
4875                                }
4876                              },
4877                              {
4878                                "type": "NullLiteral",
4879                                "value": null,
4880                                "loc": {
4881                                  "start": {
4882                                    "line": 55,
4883                                    "column": 29
4884                                  },
4885                                  "end": {
4886                                    "line": 55,
4887                                    "column": 33
4888                                  }
4889                                }
4890                              }
4891                            ],
4892                            "optional": false,
4893                            "loc": {
4894                              "start": {
4895                                "line": 55,
4896                                "column": 9
4897                              },
4898                              "end": {
4899                                "line": 55,
4900                                "column": 34
4901                              }
4902                            }
4903                          },
4904                          "loc": {
4905                            "start": {
4906                              "line": 55,
4907                              "column": 9
4908                            },
4909                            "end": {
4910                              "line": 55,
4911                              "column": 35
4912                            }
4913                          }
4914                        }
4915                      ],
4916                      "loc": {
4917                        "start": {
4918                          "line": 54,
4919                          "column": 32
4920                        },
4921                        "end": {
4922                          "line": 56,
4923                          "column": 6
4924                        }
4925                      }
4926                    },
4927                    "loc": {
4928                      "start": {
4929                        "line": 54,
4930                        "column": 16
4931                      },
4932                      "end": {
4933                        "line": 56,
4934                        "column": 6
4935                      }
4936                    }
4937                  },
4938                  "loc": {
4939                    "start": {
4940                      "line": 54,
4941                      "column": 16
4942                    },
4943                    "end": {
4944                      "line": 56,
4945                      "column": 6
4946                    }
4947                  }
4948                },
4949                "overloads": [],
4950                "decorators": [],
4951                "loc": {
4952                  "start": {
4953                    "line": 54,
4954                    "column": 5
4955                  },
4956                  "end": {
4957                    "line": 56,
4958                    "column": 6
4959                  }
4960                }
4961              }
4962            ],
4963            "decorators": [],
4964            "loc": {
4965              "start": {
4966                "line": 46,
4967                "column": 5
4968              },
4969              "end": {
4970                "line": 48,
4971                "column": 6
4972              }
4973            }
4974          },
4975          {
4976            "type": "MethodDefinition",
4977            "key": {
4978              "type": "Identifier",
4979              "name": "reserve",
4980              "decorators": [],
4981              "loc": {
4982                "start": {
4983                  "line": 58,
4984                  "column": 12
4985                },
4986                "end": {
4987                  "line": 58,
4988                  "column": 19
4989                }
4990              }
4991            },
4992            "kind": "method",
4993            "accessibility": "public",
4994            "static": false,
4995            "optional": false,
4996            "computed": false,
4997            "value": {
4998              "type": "FunctionExpression",
4999              "function": {
5000                "type": "ScriptFunction",
5001                "id": {
5002                  "type": "Identifier",
5003                  "name": "reserve",
5004                  "decorators": [],
5005                  "loc": {
5006                    "start": {
5007                      "line": 58,
5008                      "column": 12
5009                    },
5010                    "end": {
5011                      "line": 58,
5012                      "column": 19
5013                    }
5014                  }
5015                },
5016                "generator": false,
5017                "async": false,
5018                "expression": false,
5019                "params": [
5020                  {
5021                    "type": "ETSParameterExpression",
5022                    "name": {
5023                      "type": "Identifier",
5024                      "name": "capacity",
5025                      "typeAnnotation": {
5026                        "type": "ETSPrimitiveType",
5027                        "loc": {
5028                          "start": {
5029                            "line": 58,
5030                            "column": 30
5031                          },
5032                          "end": {
5033                            "line": 58,
5034                            "column": 33
5035                          }
5036                        }
5037                      },
5038                      "decorators": [],
5039                      "loc": {
5040                        "start": {
5041                          "line": 58,
5042                          "column": 20
5043                        },
5044                        "end": {
5045                          "line": 58,
5046                          "column": 33
5047                        }
5048                      }
5049                    },
5050                    "loc": {
5051                      "start": {
5052                        "line": 58,
5053                        "column": 20
5054                      },
5055                      "end": {
5056                        "line": 58,
5057                        "column": 33
5058                      }
5059                    }
5060                  }
5061                ],
5062                "returnType": {
5063                  "type": "ETSPrimitiveType",
5064                  "loc": {
5065                    "start": {
5066                      "line": 58,
5067                      "column": 36
5068                    },
5069                    "end": {
5070                      "line": 58,
5071                      "column": 40
5072                    }
5073                  }
5074                },
5075                "body": {
5076                  "type": "BlockStatement",
5077                  "statements": [
5078                    {
5079                      "type": "IfStatement",
5080                      "test": {
5081                        "type": "BinaryExpression",
5082                        "operator": "<",
5083                        "left": {
5084                          "type": "MemberExpression",
5085                          "object": {
5086                            "type": "MemberExpression",
5087                            "object": {
5088                              "type": "ThisExpression",
5089                              "loc": {
5090                                "start": {
5091                                  "line": 59,
5092                                  "column": 13
5093                                },
5094                                "end": {
5095                                  "line": 59,
5096                                  "column": 17
5097                                }
5098                              }
5099                            },
5100                            "property": {
5101                              "type": "Identifier",
5102                              "name": "data",
5103                              "decorators": [],
5104                              "loc": {
5105                                "start": {
5106                                  "line": 59,
5107                                  "column": 18
5108                                },
5109                                "end": {
5110                                  "line": 59,
5111                                  "column": 22
5112                                }
5113                              }
5114                            },
5115                            "computed": false,
5116                            "optional": false,
5117                            "loc": {
5118                              "start": {
5119                                "line": 59,
5120                                "column": 13
5121                              },
5122                              "end": {
5123                                "line": 59,
5124                                "column": 22
5125                              }
5126                            }
5127                          },
5128                          "property": {
5129                            "type": "Identifier",
5130                            "name": "length",
5131                            "decorators": [],
5132                            "loc": {
5133                              "start": {
5134                                "line": 59,
5135                                "column": 23
5136                              },
5137                              "end": {
5138                                "line": 59,
5139                                "column": 29
5140                              }
5141                            }
5142                          },
5143                          "computed": false,
5144                          "optional": false,
5145                          "loc": {
5146                            "start": {
5147                              "line": 59,
5148                              "column": 13
5149                            },
5150                            "end": {
5151                              "line": 59,
5152                              "column": 29
5153                            }
5154                          }
5155                        },
5156                        "right": {
5157                          "type": "Identifier",
5158                          "name": "capacity",
5159                          "decorators": [],
5160                          "loc": {
5161                            "start": {
5162                              "line": 59,
5163                              "column": 32
5164                            },
5165                            "end": {
5166                              "line": 59,
5167                              "column": 40
5168                            }
5169                          }
5170                        },
5171                        "loc": {
5172                          "start": {
5173                            "line": 59,
5174                            "column": 13
5175                          },
5176                          "end": {
5177                            "line": 59,
5178                            "column": 40
5179                          }
5180                        }
5181                      },
5182                      "consequent": {
5183                        "type": "BlockStatement",
5184                        "statements": [
5185                          {
5186                            "type": "VariableDeclaration",
5187                            "declarations": [
5188                              {
5189                                "type": "VariableDeclarator",
5190                                "id": {
5191                                  "type": "Identifier",
5192                                  "name": "newData",
5193                                  "decorators": [],
5194                                  "loc": {
5195                                    "start": {
5196                                      "line": 60,
5197                                      "column": 17
5198                                    },
5199                                    "end": {
5200                                      "line": 60,
5201                                      "column": 24
5202                                    }
5203                                  }
5204                                },
5205                                "init": {
5206                                  "type": "ETSNewArrayInstanceExpression",
5207                                  "typeReference": {
5208                                    "type": "ETSTypeReference",
5209                                    "part": {
5210                                      "type": "ETSTypeReferencePart",
5211                                      "name": {
5212                                        "type": "Identifier",
5213                                        "name": "T",
5214                                        "decorators": [],
5215                                        "loc": {
5216                                          "start": {
5217                                            "line": 60,
5218                                            "column": 31
5219                                          },
5220                                          "end": {
5221                                            "line": 60,
5222                                            "column": 32
5223                                          }
5224                                        }
5225                                      },
5226                                      "loc": {
5227                                        "start": {
5228                                          "line": 60,
5229                                          "column": 31
5230                                        },
5231                                        "end": {
5232                                          "line": 60,
5233                                          "column": 33
5234                                        }
5235                                      }
5236                                    },
5237                                    "loc": {
5238                                      "start": {
5239                                        "line": 60,
5240                                        "column": 31
5241                                      },
5242                                      "end": {
5243                                        "line": 60,
5244                                        "column": 33
5245                                      }
5246                                    }
5247                                  },
5248                                  "dimension": {
5249                                    "type": "Identifier",
5250                                    "name": "capacity",
5251                                    "decorators": [],
5252                                    "loc": {
5253                                      "start": {
5254                                        "line": 60,
5255                                        "column": 33
5256                                      },
5257                                      "end": {
5258                                        "line": 60,
5259                                        "column": 41
5260                                      }
5261                                    }
5262                                  },
5263                                  "loc": {
5264                                    "start": {
5265                                      "line": 60,
5266                                      "column": 27
5267                                    },
5268                                    "end": {
5269                                      "line": 60,
5270                                      "column": 42
5271                                    }
5272                                  }
5273                                },
5274                                "loc": {
5275                                  "start": {
5276                                    "line": 60,
5277                                    "column": 17
5278                                  },
5279                                  "end": {
5280                                    "line": 60,
5281                                    "column": 42
5282                                  }
5283                                }
5284                              }
5285                            ],
5286                            "kind": "let",
5287                            "loc": {
5288                              "start": {
5289                                "line": 60,
5290                                "column": 13
5291                              },
5292                              "end": {
5293                                "line": 60,
5294                                "column": 43
5295                              }
5296                            }
5297                          },
5298                          {
5299                            "type": "ForUpdateStatement",
5300                            "init": {
5301                              "type": "VariableDeclaration",
5302                              "declarations": [
5303                                {
5304                                  "type": "VariableDeclarator",
5305                                  "id": {
5306                                    "type": "Identifier",
5307                                    "name": "i",
5308                                    "decorators": [],
5309                                    "loc": {
5310                                      "start": {
5311                                        "line": 61,
5312                                        "column": 22
5313                                      },
5314                                      "end": {
5315                                        "line": 61,
5316                                        "column": 23
5317                                      }
5318                                    }
5319                                  },
5320                                  "init": {
5321                                    "type": "NumberLiteral",
5322                                    "value": 0,
5323                                    "loc": {
5324                                      "start": {
5325                                        "line": 61,
5326                                        "column": 26
5327                                      },
5328                                      "end": {
5329                                        "line": 61,
5330                                        "column": 27
5331                                      }
5332                                    }
5333                                  },
5334                                  "loc": {
5335                                    "start": {
5336                                      "line": 61,
5337                                      "column": 22
5338                                    },
5339                                    "end": {
5340                                      "line": 61,
5341                                      "column": 27
5342                                    }
5343                                  }
5344                                }
5345                              ],
5346                              "kind": "let",
5347                              "loc": {
5348                                "start": {
5349                                  "line": 61,
5350                                  "column": 18
5351                                },
5352                                "end": {
5353                                  "line": 61,
5354                                  "column": 27
5355                                }
5356                              }
5357                            },
5358                            "test": {
5359                              "type": "BinaryExpression",
5360                              "operator": "<",
5361                              "left": {
5362                                "type": "Identifier",
5363                                "name": "i",
5364                                "decorators": [],
5365                                "loc": {
5366                                  "start": {
5367                                    "line": 61,
5368                                    "column": 29
5369                                  },
5370                                  "end": {
5371                                    "line": 61,
5372                                    "column": 30
5373                                  }
5374                                }
5375                              },
5376                              "right": {
5377                                "type": "MemberExpression",
5378                                "object": {
5379                                  "type": "ThisExpression",
5380                                  "loc": {
5381                                    "start": {
5382                                      "line": 61,
5383                                      "column": 33
5384                                    },
5385                                    "end": {
5386                                      "line": 61,
5387                                      "column": 37
5388                                    }
5389                                  }
5390                                },
5391                                "property": {
5392                                  "type": "Identifier",
5393                                  "name": "curSize",
5394                                  "decorators": [],
5395                                  "loc": {
5396                                    "start": {
5397                                      "line": 61,
5398                                      "column": 38
5399                                    },
5400                                    "end": {
5401                                      "line": 61,
5402                                      "column": 45
5403                                    }
5404                                  }
5405                                },
5406                                "computed": false,
5407                                "optional": false,
5408                                "loc": {
5409                                  "start": {
5410                                    "line": 61,
5411                                    "column": 33
5412                                  },
5413                                  "end": {
5414                                    "line": 61,
5415                                    "column": 45
5416                                  }
5417                                }
5418                              },
5419                              "loc": {
5420                                "start": {
5421                                  "line": 61,
5422                                  "column": 29
5423                                },
5424                                "end": {
5425                                  "line": 61,
5426                                  "column": 45
5427                                }
5428                              }
5429                            },
5430                            "update": {
5431                              "type": "UpdateExpression",
5432                              "operator": "++",
5433                              "prefix": true,
5434                              "argument": {
5435                                "type": "Identifier",
5436                                "name": "i",
5437                                "decorators": [],
5438                                "loc": {
5439                                  "start": {
5440                                    "line": 61,
5441                                    "column": 49
5442                                  },
5443                                  "end": {
5444                                    "line": 61,
5445                                    "column": 50
5446                                  }
5447                                }
5448                              },
5449                              "loc": {
5450                                "start": {
5451                                  "line": 61,
5452                                  "column": 47
5453                                },
5454                                "end": {
5455                                  "line": 61,
5456                                  "column": 50
5457                                }
5458                              }
5459                            },
5460                            "body": {
5461                              "type": "BlockStatement",
5462                              "statements": [
5463                                {
5464                                  "type": "ExpressionStatement",
5465                                  "expression": {
5466                                    "type": "AssignmentExpression",
5467                                    "operator": "=",
5468                                    "left": {
5469                                      "type": "MemberExpression",
5470                                      "object": {
5471                                        "type": "Identifier",
5472                                        "name": "newData",
5473                                        "decorators": [],
5474                                        "loc": {
5475                                          "start": {
5476                                            "line": 62,
5477                                            "column": 16
5478                                          },
5479                                          "end": {
5480                                            "line": 62,
5481                                            "column": 23
5482                                          }
5483                                        }
5484                                      },
5485                                      "property": {
5486                                        "type": "Identifier",
5487                                        "name": "i",
5488                                        "decorators": [],
5489                                        "loc": {
5490                                          "start": {
5491                                            "line": 62,
5492                                            "column": 24
5493                                          },
5494                                          "end": {
5495                                            "line": 62,
5496                                            "column": 25
5497                                          }
5498                                        }
5499                                      },
5500                                      "computed": true,
5501                                      "optional": false,
5502                                      "loc": {
5503                                        "start": {
5504                                          "line": 62,
5505                                          "column": 16
5506                                        },
5507                                        "end": {
5508                                          "line": 62,
5509                                          "column": 26
5510                                        }
5511                                      }
5512                                    },
5513                                    "right": {
5514                                      "type": "MemberExpression",
5515                                      "object": {
5516                                        "type": "MemberExpression",
5517                                        "object": {
5518                                          "type": "ThisExpression",
5519                                          "loc": {
5520                                            "start": {
5521                                              "line": 62,
5522                                              "column": 29
5523                                            },
5524                                            "end": {
5525                                              "line": 62,
5526                                              "column": 33
5527                                            }
5528                                          }
5529                                        },
5530                                        "property": {
5531                                          "type": "Identifier",
5532                                          "name": "data",
5533                                          "decorators": [],
5534                                          "loc": {
5535                                            "start": {
5536                                              "line": 62,
5537                                              "column": 34
5538                                            },
5539                                            "end": {
5540                                              "line": 62,
5541                                              "column": 38
5542                                            }
5543                                          }
5544                                        },
5545                                        "computed": false,
5546                                        "optional": false,
5547                                        "loc": {
5548                                          "start": {
5549                                            "line": 62,
5550                                            "column": 29
5551                                          },
5552                                          "end": {
5553                                            "line": 62,
5554                                            "column": 38
5555                                          }
5556                                        }
5557                                      },
5558                                      "property": {
5559                                        "type": "Identifier",
5560                                        "name": "i",
5561                                        "decorators": [],
5562                                        "loc": {
5563                                          "start": {
5564                                            "line": 62,
5565                                            "column": 39
5566                                          },
5567                                          "end": {
5568                                            "line": 62,
5569                                            "column": 40
5570                                          }
5571                                        }
5572                                      },
5573                                      "computed": true,
5574                                      "optional": false,
5575                                      "loc": {
5576                                        "start": {
5577                                          "line": 62,
5578                                          "column": 29
5579                                        },
5580                                        "end": {
5581                                          "line": 62,
5582                                          "column": 41
5583                                        }
5584                                      }
5585                                    },
5586                                    "loc": {
5587                                      "start": {
5588                                        "line": 62,
5589                                        "column": 16
5590                                      },
5591                                      "end": {
5592                                        "line": 62,
5593                                        "column": 41
5594                                      }
5595                                    }
5596                                  },
5597                                  "loc": {
5598                                    "start": {
5599                                      "line": 62,
5600                                      "column": 16
5601                                    },
5602                                    "end": {
5603                                      "line": 62,
5604                                      "column": 42
5605                                    }
5606                                  }
5607                                }
5608                              ],
5609                              "loc": {
5610                                "start": {
5611                                  "line": 61,
5612                                  "column": 52
5613                                },
5614                                "end": {
5615                                  "line": 63,
5616                                  "column": 14
5617                                }
5618                              }
5619                            },
5620                            "loc": {
5621                              "start": {
5622                                "line": 61,
5623                                "column": 13
5624                              },
5625                              "end": {
5626                                "line": 63,
5627                                "column": 14
5628                              }
5629                            }
5630                          },
5631                          {
5632                            "type": "ExpressionStatement",
5633                            "expression": {
5634                              "type": "AssignmentExpression",
5635                              "operator": "=",
5636                              "left": {
5637                                "type": "MemberExpression",
5638                                "object": {
5639                                  "type": "ThisExpression",
5640                                  "loc": {
5641                                    "start": {
5642                                      "line": 64,
5643                                      "column": 13
5644                                    },
5645                                    "end": {
5646                                      "line": 64,
5647                                      "column": 17
5648                                    }
5649                                  }
5650                                },
5651                                "property": {
5652                                  "type": "Identifier",
5653                                  "name": "data",
5654                                  "decorators": [],
5655                                  "loc": {
5656                                    "start": {
5657                                      "line": 64,
5658                                      "column": 18
5659                                    },
5660                                    "end": {
5661                                      "line": 64,
5662                                      "column": 22
5663                                    }
5664                                  }
5665                                },
5666                                "computed": false,
5667                                "optional": false,
5668                                "loc": {
5669                                  "start": {
5670                                    "line": 64,
5671                                    "column": 13
5672                                  },
5673                                  "end": {
5674                                    "line": 64,
5675                                    "column": 22
5676                                  }
5677                                }
5678                              },
5679                              "right": {
5680                                "type": "Identifier",
5681                                "name": "newData",
5682                                "decorators": [],
5683                                "loc": {
5684                                  "start": {
5685                                    "line": 64,
5686                                    "column": 25
5687                                  },
5688                                  "end": {
5689                                    "line": 64,
5690                                    "column": 32
5691                                  }
5692                                }
5693                              },
5694                              "loc": {
5695                                "start": {
5696                                  "line": 64,
5697                                  "column": 13
5698                                },
5699                                "end": {
5700                                  "line": 64,
5701                                  "column": 32
5702                                }
5703                              }
5704                            },
5705                            "loc": {
5706                              "start": {
5707                                "line": 64,
5708                                "column": 13
5709                              },
5710                              "end": {
5711                                "line": 64,
5712                                "column": 33
5713                              }
5714                            }
5715                          }
5716                        ],
5717                        "loc": {
5718                          "start": {
5719                            "line": 59,
5720                            "column": 42
5721                          },
5722                          "end": {
5723                            "line": 65,
5724                            "column": 10
5725                          }
5726                        }
5727                      },
5728                      "alternate": null,
5729                      "loc": {
5730                        "start": {
5731                          "line": 59,
5732                          "column": 9
5733                        },
5734                        "end": {
5735                          "line": 65,
5736                          "column": 10
5737                        }
5738                      }
5739                    }
5740                  ],
5741                  "loc": {
5742                    "start": {
5743                      "line": 58,
5744                      "column": 41
5745                    },
5746                    "end": {
5747                      "line": 66,
5748                      "column": 6
5749                    }
5750                  }
5751                },
5752                "loc": {
5753                  "start": {
5754                    "line": 58,
5755                    "column": 19
5756                  },
5757                  "end": {
5758                    "line": 66,
5759                    "column": 6
5760                  }
5761                }
5762              },
5763              "loc": {
5764                "start": {
5765                  "line": 58,
5766                  "column": 19
5767                },
5768                "end": {
5769                  "line": 66,
5770                  "column": 6
5771                }
5772              }
5773            },
5774            "overloads": [],
5775            "decorators": [],
5776            "loc": {
5777              "start": {
5778                "line": 58,
5779                "column": 5
5780              },
5781              "end": {
5782                "line": 66,
5783                "column": 6
5784              }
5785            }
5786          },
5787          {
5788            "type": "MethodDefinition",
5789            "key": {
5790              "type": "Identifier",
5791              "name": "getNewCapacity",
5792              "decorators": [],
5793              "loc": {
5794                "start": {
5795                  "line": 68,
5796                  "column": 13
5797                },
5798                "end": {
5799                  "line": 68,
5800                  "column": 27
5801                }
5802              }
5803            },
5804            "kind": "method",
5805            "accessibility": "private",
5806            "static": false,
5807            "optional": false,
5808            "computed": false,
5809            "value": {
5810              "type": "FunctionExpression",
5811              "function": {
5812                "type": "ScriptFunction",
5813                "id": {
5814                  "type": "Identifier",
5815                  "name": "getNewCapacity",
5816                  "decorators": [],
5817                  "loc": {
5818                    "start": {
5819                      "line": 68,
5820                      "column": 13
5821                    },
5822                    "end": {
5823                      "line": 68,
5824                      "column": 27
5825                    }
5826                  }
5827                },
5828                "generator": false,
5829                "async": false,
5830                "expression": false,
5831                "params": [
5832                  {
5833                    "type": "ETSParameterExpression",
5834                    "name": {
5835                      "type": "Identifier",
5836                      "name": "currentCapacity",
5837                      "typeAnnotation": {
5838                        "type": "ETSPrimitiveType",
5839                        "loc": {
5840                          "start": {
5841                            "line": 68,
5842                            "column": 45
5843                          },
5844                          "end": {
5845                            "line": 68,
5846                            "column": 48
5847                          }
5848                        }
5849                      },
5850                      "decorators": [],
5851                      "loc": {
5852                        "start": {
5853                          "line": 68,
5854                          "column": 28
5855                        },
5856                        "end": {
5857                          "line": 68,
5858                          "column": 48
5859                        }
5860                      }
5861                    },
5862                    "loc": {
5863                      "start": {
5864                        "line": 68,
5865                        "column": 28
5866                      },
5867                      "end": {
5868                        "line": 68,
5869                        "column": 48
5870                      }
5871                    }
5872                  }
5873                ],
5874                "returnType": {
5875                  "type": "ETSPrimitiveType",
5876                  "loc": {
5877                    "start": {
5878                      "line": 68,
5879                      "column": 51
5880                    },
5881                    "end": {
5882                      "line": 68,
5883                      "column": 54
5884                    }
5885                  }
5886                },
5887                "body": {
5888                  "type": "BlockStatement",
5889                  "statements": [
5890                    {
5891                      "type": "VariableDeclaration",
5892                      "declarations": [
5893                        {
5894                          "type": "VariableDeclarator",
5895                          "id": {
5896                            "type": "Identifier",
5897                            "name": "fastGrowThreshold",
5898                            "decorators": [],
5899                            "loc": {
5900                              "start": {
5901                                "line": 69,
5902                                "column": 15
5903                              },
5904                              "end": {
5905                                "line": 69,
5906                                "column": 32
5907                              }
5908                            }
5909                          },
5910                          "init": {
5911                            "type": "NumberLiteral",
5912                            "value": 8192,
5913                            "loc": {
5914                              "start": {
5915                                "line": 69,
5916                                "column": 35
5917                              },
5918                              "end": {
5919                                "line": 69,
5920                                "column": 39
5921                              }
5922                            }
5923                          },
5924                          "loc": {
5925                            "start": {
5926                              "line": 69,
5927                              "column": 15
5928                            },
5929                            "end": {
5930                              "line": 69,
5931                              "column": 39
5932                            }
5933                          }
5934                        }
5935                      ],
5936                      "kind": "const",
5937                      "loc": {
5938                        "start": {
5939                          "line": 69,
5940                          "column": 9
5941                        },
5942                        "end": {
5943                          "line": 69,
5944                          "column": 40
5945                        }
5946                      }
5947                    },
5948                    {
5949                      "type": "VariableDeclaration",
5950                      "declarations": [
5951                        {
5952                          "type": "VariableDeclarator",
5953                          "id": {
5954                            "type": "Identifier",
5955                            "name": "multiplier",
5956                            "decorators": [],
5957                            "loc": {
5958                              "start": {
5959                                "line": 70,
5960                                "column": 15
5961                              },
5962                              "end": {
5963                                "line": 70,
5964                                "column": 25
5965                              }
5966                            }
5967                          },
5968                          "init": {
5969                            "type": "NumberLiteral",
5970                            "value": 2,
5971                            "loc": {
5972                              "start": {
5973                                "line": 70,
5974                                "column": 28
5975                              },
5976                              "end": {
5977                                "line": 70,
5978                                "column": 29
5979                              }
5980                            }
5981                          },
5982                          "loc": {
5983                            "start": {
5984                              "line": 70,
5985                              "column": 15
5986                            },
5987                            "end": {
5988                              "line": 70,
5989                              "column": 29
5990                            }
5991                          }
5992                        }
5993                      ],
5994                      "kind": "const",
5995                      "loc": {
5996                        "start": {
5997                          "line": 70,
5998                          "column": 9
5999                        },
6000                        "end": {
6001                          "line": 70,
6002                          "column": 30
6003                        }
6004                      }
6005                    },
6006                    {
6007                      "type": "IfStatement",
6008                      "test": {
6009                        "type": "BinaryExpression",
6010                        "operator": "<",
6011                        "left": {
6012                          "type": "Identifier",
6013                          "name": "currentCapacity",
6014                          "decorators": [],
6015                          "loc": {
6016                            "start": {
6017                              "line": 71,
6018                              "column": 13
6019                            },
6020                            "end": {
6021                              "line": 71,
6022                              "column": 28
6023                            }
6024                          }
6025                        },
6026                        "right": {
6027                          "type": "Identifier",
6028                          "name": "fastGrowThreshold",
6029                          "decorators": [],
6030                          "loc": {
6031                            "start": {
6032                              "line": 71,
6033                              "column": 31
6034                            },
6035                            "end": {
6036                              "line": 71,
6037                              "column": 48
6038                            }
6039                          }
6040                        },
6041                        "loc": {
6042                          "start": {
6043                            "line": 71,
6044                            "column": 13
6045                          },
6046                          "end": {
6047                            "line": 71,
6048                            "column": 48
6049                          }
6050                        }
6051                      },
6052                      "consequent": {
6053                        "type": "BlockStatement",
6054                        "statements": [
6055                          {
6056                            "type": "ReturnStatement",
6057                            "argument": {
6058                              "type": "BinaryExpression",
6059                              "operator": "*",
6060                              "left": {
6061                                "type": "BinaryExpression",
6062                                "operator": "*",
6063                                "left": {
6064                                  "type": "BinaryExpression",
6065                                  "operator": "+",
6066                                  "left": {
6067                                    "type": "Identifier",
6068                                    "name": "currentCapacity",
6069                                    "decorators": [],
6070                                    "loc": {
6071                                      "start": {
6072                                        "line": 73,
6073                                        "column": 21
6074                                      },
6075                                      "end": {
6076                                        "line": 73,
6077                                        "column": 36
6078                                      }
6079                                    }
6080                                  },
6081                                  "right": {
6082                                    "type": "NumberLiteral",
6083                                    "value": 4,
6084                                    "loc": {
6085                                      "start": {
6086                                        "line": 73,
6087                                        "column": 39
6088                                      },
6089                                      "end": {
6090                                        "line": 73,
6091                                        "column": 40
6092                                      }
6093                                    }
6094                                  },
6095                                  "loc": {
6096                                    "start": {
6097                                      "line": 73,
6098                                      "column": 20
6099                                    },
6100                                    "end": {
6101                                      "line": 73,
6102                                      "column": 41
6103                                    }
6104                                  }
6105                                },
6106                                "right": {
6107                                  "type": "Identifier",
6108                                  "name": "multiplier",
6109                                  "decorators": [],
6110                                  "loc": {
6111                                    "start": {
6112                                      "line": 73,
6113                                      "column": 44
6114                                    },
6115                                    "end": {
6116                                      "line": 73,
6117                                      "column": 54
6118                                    }
6119                                  }
6120                                },
6121                                "loc": {
6122                                  "start": {
6123                                    "line": 73,
6124                                    "column": 20
6125                                  },
6126                                  "end": {
6127                                    "line": 73,
6128                                    "column": 54
6129                                  }
6130                                }
6131                              },
6132                              "right": {
6133                                "type": "NumberLiteral",
6134                                "value": 2,
6135                                "loc": {
6136                                  "start": {
6137                                    "line": 73,
6138                                    "column": 57
6139                                  },
6140                                  "end": {
6141                                    "line": 73,
6142                                    "column": 58
6143                                  }
6144                                }
6145                              },
6146                              "loc": {
6147                                "start": {
6148                                  "line": 73,
6149                                  "column": 20
6150                                },
6151                                "end": {
6152                                  "line": 73,
6153                                  "column": 58
6154                                }
6155                              }
6156                            },
6157                            "loc": {
6158                              "start": {
6159                                "line": 73,
6160                                "column": 13
6161                              },
6162                              "end": {
6163                                "line": 73,
6164                                "column": 59
6165                              }
6166                            }
6167                          }
6168                        ],
6169                        "loc": {
6170                          "start": {
6171                            "line": 71,
6172                            "column": 50
6173                          },
6174                          "end": {
6175                            "line": 74,
6176                            "column": 10
6177                          }
6178                        }
6179                      },
6180                      "alternate": {
6181                        "type": "BlockStatement",
6182                        "statements": [
6183                          {
6184                            "type": "ReturnStatement",
6185                            "argument": {
6186                              "type": "BinaryExpression",
6187                              "operator": "*",
6188                              "left": {
6189                                "type": "Identifier",
6190                                "name": "currentCapacity",
6191                                "decorators": [],
6192                                "loc": {
6193                                  "start": {
6194                                    "line": 75,
6195                                    "column": 20
6196                                  },
6197                                  "end": {
6198                                    "line": 75,
6199                                    "column": 35
6200                                  }
6201                                }
6202                              },
6203                              "right": {
6204                                "type": "Identifier",
6205                                "name": "multiplier",
6206                                "decorators": [],
6207                                "loc": {
6208                                  "start": {
6209                                    "line": 75,
6210                                    "column": 38
6211                                  },
6212                                  "end": {
6213                                    "line": 75,
6214                                    "column": 48
6215                                  }
6216                                }
6217                              },
6218                              "loc": {
6219                                "start": {
6220                                  "line": 75,
6221                                  "column": 20
6222                                },
6223                                "end": {
6224                                  "line": 75,
6225                                  "column": 48
6226                                }
6227                              }
6228                            },
6229                            "loc": {
6230                              "start": {
6231                                "line": 75,
6232                                "column": 13
6233                              },
6234                              "end": {
6235                                "line": 75,
6236                                "column": 49
6237                              }
6238                            }
6239                          }
6240                        ],
6241                        "loc": {
6242                          "start": {
6243                            "line": 74,
6244                            "column": 16
6245                          },
6246                          "end": {
6247                            "line": 76,
6248                            "column": 10
6249                          }
6250                        }
6251                      },
6252                      "loc": {
6253                        "start": {
6254                          "line": 71,
6255                          "column": 9
6256                        },
6257                        "end": {
6258                          "line": 76,
6259                          "column": 10
6260                        }
6261                      }
6262                    }
6263                  ],
6264                  "loc": {
6265                    "start": {
6266                      "line": 68,
6267                      "column": 55
6268                    },
6269                    "end": {
6270                      "line": 77,
6271                      "column": 6
6272                    }
6273                  }
6274                },
6275                "loc": {
6276                  "start": {
6277                    "line": 68,
6278                    "column": 27
6279                  },
6280                  "end": {
6281                    "line": 77,
6282                    "column": 6
6283                  }
6284                }
6285              },
6286              "loc": {
6287                "start": {
6288                  "line": 68,
6289                  "column": 27
6290                },
6291                "end": {
6292                  "line": 77,
6293                  "column": 6
6294                }
6295              }
6296            },
6297            "overloads": [],
6298            "decorators": [],
6299            "loc": {
6300              "start": {
6301                "line": 68,
6302                "column": 5
6303              },
6304              "end": {
6305                "line": 77,
6306                "column": 6
6307              }
6308            }
6309          },
6310          {
6311            "type": "MethodDefinition",
6312            "key": {
6313              "type": "Identifier",
6314              "name": "pushFront",
6315              "decorators": [],
6316              "loc": {
6317                "start": {
6318                  "line": 79,
6319                  "column": 21
6320                },
6321                "end": {
6322                  "line": 79,
6323                  "column": 30
6324                }
6325              }
6326            },
6327            "kind": "method",
6328            "accessibility": "public",
6329            "static": false,
6330            "optional": false,
6331            "computed": false,
6332            "value": {
6333              "type": "FunctionExpression",
6334              "function": {
6335                "type": "ScriptFunction",
6336                "id": {
6337                  "type": "Identifier",
6338                  "name": "pushFront",
6339                  "decorators": [],
6340                  "loc": {
6341                    "start": {
6342                      "line": 79,
6343                      "column": 21
6344                    },
6345                    "end": {
6346                      "line": 79,
6347                      "column": 30
6348                    }
6349                  }
6350                },
6351                "generator": false,
6352                "async": false,
6353                "expression": false,
6354                "params": [
6355                  {
6356                    "type": "ETSParameterExpression",
6357                    "name": {
6358                      "type": "Identifier",
6359                      "name": "e",
6360                      "typeAnnotation": {
6361                        "type": "ETSTypeReference",
6362                        "part": {
6363                          "type": "ETSTypeReferencePart",
6364                          "name": {
6365                            "type": "Identifier",
6366                            "name": "T",
6367                            "decorators": [],
6368                            "loc": {
6369                              "start": {
6370                                "line": 79,
6371                                "column": 34
6372                              },
6373                              "end": {
6374                                "line": 79,
6375                                "column": 35
6376                              }
6377                            }
6378                          },
6379                          "loc": {
6380                            "start": {
6381                              "line": 79,
6382                              "column": 34
6383                            },
6384                            "end": {
6385                              "line": 79,
6386                              "column": 36
6387                            }
6388                          }
6389                        },
6390                        "loc": {
6391                          "start": {
6392                            "line": 79,
6393                            "column": 34
6394                          },
6395                          "end": {
6396                            "line": 79,
6397                            "column": 36
6398                          }
6399                        }
6400                      },
6401                      "decorators": [],
6402                      "loc": {
6403                        "start": {
6404                          "line": 79,
6405                          "column": 31
6406                        },
6407                        "end": {
6408                          "line": 79,
6409                          "column": 36
6410                        }
6411                      }
6412                    },
6413                    "loc": {
6414                      "start": {
6415                        "line": 79,
6416                        "column": 31
6417                      },
6418                      "end": {
6419                        "line": 79,
6420                        "column": 36
6421                      }
6422                    }
6423                  }
6424                ],
6425                "returnType": {
6426                  "type": "ETSPrimitiveType",
6427                  "loc": {
6428                    "start": {
6429                      "line": 79,
6430                      "column": 38
6431                    },
6432                    "end": {
6433                      "line": 79,
6434                      "column": 42
6435                    }
6436                  }
6437                },
6438                "body": {
6439                  "type": "BlockStatement",
6440                  "statements": [
6441                    {
6442                      "type": "VariableDeclaration",
6443                      "declarations": [
6444                        {
6445                          "type": "VariableDeclarator",
6446                          "id": {
6447                            "type": "Identifier",
6448                            "name": "dst",
6449                            "decorators": [],
6450                            "loc": {
6451                              "start": {
6452                                "line": 80,
6453                                "column": 13
6454                              },
6455                              "end": {
6456                                "line": 80,
6457                                "column": 16
6458                              }
6459                            }
6460                          },
6461                          "init": {
6462                            "type": "MemberExpression",
6463                            "object": {
6464                              "type": "ThisExpression",
6465                              "loc": {
6466                                "start": {
6467                                  "line": 80,
6468                                  "column": 19
6469                                },
6470                                "end": {
6471                                  "line": 80,
6472                                  "column": 23
6473                                }
6474                              }
6475                            },
6476                            "property": {
6477                              "type": "Identifier",
6478                              "name": "data",
6479                              "decorators": [],
6480                              "loc": {
6481                                "start": {
6482                                  "line": 80,
6483                                  "column": 24
6484                                },
6485                                "end": {
6486                                  "line": 80,
6487                                  "column": 28
6488                                }
6489                              }
6490                            },
6491                            "computed": false,
6492                            "optional": false,
6493                            "loc": {
6494                              "start": {
6495                                "line": 80,
6496                                "column": 19
6497                              },
6498                              "end": {
6499                                "line": 80,
6500                                "column": 28
6501                              }
6502                            }
6503                          },
6504                          "loc": {
6505                            "start": {
6506                              "line": 80,
6507                              "column": 13
6508                            },
6509                            "end": {
6510                              "line": 80,
6511                              "column": 28
6512                            }
6513                          }
6514                        }
6515                      ],
6516                      "kind": "let",
6517                      "loc": {
6518                        "start": {
6519                          "line": 80,
6520                          "column": 9
6521                        },
6522                        "end": {
6523                          "line": 80,
6524                          "column": 29
6525                        }
6526                      }
6527                    },
6528                    {
6529                      "type": "IfStatement",
6530                      "test": {
6531                        "type": "BinaryExpression",
6532                        "operator": "==",
6533                        "left": {
6534                          "type": "MemberExpression",
6535                          "object": {
6536                            "type": "ThisExpression",
6537                            "loc": {
6538                              "start": {
6539                                "line": 81,
6540                                "column": 13
6541                              },
6542                              "end": {
6543                                "line": 81,
6544                                "column": 17
6545                              }
6546                            }
6547                          },
6548                          "property": {
6549                            "type": "Identifier",
6550                            "name": "curSize",
6551                            "decorators": [],
6552                            "loc": {
6553                              "start": {
6554                                "line": 81,
6555                                "column": 18
6556                              },
6557                              "end": {
6558                                "line": 81,
6559                                "column": 25
6560                              }
6561                            }
6562                          },
6563                          "computed": false,
6564                          "optional": false,
6565                          "loc": {
6566                            "start": {
6567                              "line": 81,
6568                              "column": 13
6569                            },
6570                            "end": {
6571                              "line": 81,
6572                              "column": 25
6573                            }
6574                          }
6575                        },
6576                        "right": {
6577                          "type": "MemberExpression",
6578                          "object": {
6579                            "type": "MemberExpression",
6580                            "object": {
6581                              "type": "ThisExpression",
6582                              "loc": {
6583                                "start": {
6584                                  "line": 81,
6585                                  "column": 29
6586                                },
6587                                "end": {
6588                                  "line": 81,
6589                                  "column": 33
6590                                }
6591                              }
6592                            },
6593                            "property": {
6594                              "type": "Identifier",
6595                              "name": "data",
6596                              "decorators": [],
6597                              "loc": {
6598                                "start": {
6599                                  "line": 81,
6600                                  "column": 34
6601                                },
6602                                "end": {
6603                                  "line": 81,
6604                                  "column": 38
6605                                }
6606                              }
6607                            },
6608                            "computed": false,
6609                            "optional": false,
6610                            "loc": {
6611                              "start": {
6612                                "line": 81,
6613                                "column": 29
6614                              },
6615                              "end": {
6616                                "line": 81,
6617                                "column": 38
6618                              }
6619                            }
6620                          },
6621                          "property": {
6622                            "type": "Identifier",
6623                            "name": "length",
6624                            "decorators": [],
6625                            "loc": {
6626                              "start": {
6627                                "line": 81,
6628                                "column": 39
6629                              },
6630                              "end": {
6631                                "line": 81,
6632                                "column": 45
6633                              }
6634                            }
6635                          },
6636                          "computed": false,
6637                          "optional": false,
6638                          "loc": {
6639                            "start": {
6640                              "line": 81,
6641                              "column": 29
6642                            },
6643                            "end": {
6644                              "line": 81,
6645                              "column": 45
6646                            }
6647                          }
6648                        },
6649                        "loc": {
6650                          "start": {
6651                            "line": 81,
6652                            "column": 13
6653                          },
6654                          "end": {
6655                            "line": 81,
6656                            "column": 45
6657                          }
6658                        }
6659                      },
6660                      "consequent": {
6661                        "type": "BlockStatement",
6662                        "statements": [
6663                          {
6664                            "type": "ExpressionStatement",
6665                            "expression": {
6666                              "type": "AssignmentExpression",
6667                              "operator": "=",
6668                              "left": {
6669                                "type": "Identifier",
6670                                "name": "dst",
6671                                "decorators": [],
6672                                "loc": {
6673                                  "start": {
6674                                    "line": 82,
6675                                    "column": 13
6676                                  },
6677                                  "end": {
6678                                    "line": 82,
6679                                    "column": 16
6680                                  }
6681                                }
6682                              },
6683                              "right": {
6684                                "type": "ETSNewArrayInstanceExpression",
6685                                "typeReference": {
6686                                  "type": "ETSTypeReference",
6687                                  "part": {
6688                                    "type": "ETSTypeReferencePart",
6689                                    "name": {
6690                                      "type": "Identifier",
6691                                      "name": "T",
6692                                      "decorators": [],
6693                                      "loc": {
6694                                        "start": {
6695                                          "line": 82,
6696                                          "column": 23
6697                                        },
6698                                        "end": {
6699                                          "line": 82,
6700                                          "column": 24
6701                                        }
6702                                      }
6703                                    },
6704                                    "loc": {
6705                                      "start": {
6706                                        "line": 82,
6707                                        "column": 23
6708                                      },
6709                                      "end": {
6710                                        "line": 82,
6711                                        "column": 25
6712                                      }
6713                                    }
6714                                  },
6715                                  "loc": {
6716                                    "start": {
6717                                      "line": 82,
6718                                      "column": 23
6719                                    },
6720                                    "end": {
6721                                      "line": 82,
6722                                      "column": 25
6723                                    }
6724                                  }
6725                                },
6726                                "dimension": {
6727                                  "type": "CallExpression",
6728                                  "callee": {
6729                                    "type": "MemberExpression",
6730                                    "object": {
6731                                      "type": "ThisExpression",
6732                                      "loc": {
6733                                        "start": {
6734                                          "line": 82,
6735                                          "column": 25
6736                                        },
6737                                        "end": {
6738                                          "line": 82,
6739                                          "column": 29
6740                                        }
6741                                      }
6742                                    },
6743                                    "property": {
6744                                      "type": "Identifier",
6745                                      "name": "getNewCapacity",
6746                                      "decorators": [],
6747                                      "loc": {
6748                                        "start": {
6749                                          "line": 82,
6750                                          "column": 30
6751                                        },
6752                                        "end": {
6753                                          "line": 82,
6754                                          "column": 44
6755                                        }
6756                                      }
6757                                    },
6758                                    "computed": false,
6759                                    "optional": false,
6760                                    "loc": {
6761                                      "start": {
6762                                        "line": 82,
6763                                        "column": 25
6764                                      },
6765                                      "end": {
6766                                        "line": 82,
6767                                        "column": 44
6768                                      }
6769                                    }
6770                                  },
6771                                  "arguments": [
6772                                    {
6773                                      "type": "MemberExpression",
6774                                      "object": {
6775                                        "type": "MemberExpression",
6776                                        "object": {
6777                                          "type": "ThisExpression",
6778                                          "loc": {
6779                                            "start": {
6780                                              "line": 82,
6781                                              "column": 45
6782                                            },
6783                                            "end": {
6784                                              "line": 82,
6785                                              "column": 49
6786                                            }
6787                                          }
6788                                        },
6789                                        "property": {
6790                                          "type": "Identifier",
6791                                          "name": "data",
6792                                          "decorators": [],
6793                                          "loc": {
6794                                            "start": {
6795                                              "line": 82,
6796                                              "column": 50
6797                                            },
6798                                            "end": {
6799                                              "line": 82,
6800                                              "column": 54
6801                                            }
6802                                          }
6803                                        },
6804                                        "computed": false,
6805                                        "optional": false,
6806                                        "loc": {
6807                                          "start": {
6808                                            "line": 82,
6809                                            "column": 45
6810                                          },
6811                                          "end": {
6812                                            "line": 82,
6813                                            "column": 54
6814                                          }
6815                                        }
6816                                      },
6817                                      "property": {
6818                                        "type": "Identifier",
6819                                        "name": "length",
6820                                        "decorators": [],
6821                                        "loc": {
6822                                          "start": {
6823                                            "line": 82,
6824                                            "column": 55
6825                                          },
6826                                          "end": {
6827                                            "line": 82,
6828                                            "column": 61
6829                                          }
6830                                        }
6831                                      },
6832                                      "computed": false,
6833                                      "optional": false,
6834                                      "loc": {
6835                                        "start": {
6836                                          "line": 82,
6837                                          "column": 45
6838                                        },
6839                                        "end": {
6840                                          "line": 82,
6841                                          "column": 61
6842                                        }
6843                                      }
6844                                    }
6845                                  ],
6846                                  "optional": false,
6847                                  "loc": {
6848                                    "start": {
6849                                      "line": 82,
6850                                      "column": 25
6851                                    },
6852                                    "end": {
6853                                      "line": 82,
6854                                      "column": 62
6855                                    }
6856                                  }
6857                                },
6858                                "loc": {
6859                                  "start": {
6860                                    "line": 82,
6861                                    "column": 19
6862                                  },
6863                                  "end": {
6864                                    "line": 82,
6865                                    "column": 63
6866                                  }
6867                                }
6868                              },
6869                              "loc": {
6870                                "start": {
6871                                  "line": 82,
6872                                  "column": 13
6873                                },
6874                                "end": {
6875                                  "line": 82,
6876                                  "column": 63
6877                                }
6878                              }
6879                            },
6880                            "loc": {
6881                              "start": {
6882                                "line": 82,
6883                                "column": 13
6884                              },
6885                              "end": {
6886                                "line": 82,
6887                                "column": 64
6888                              }
6889                            }
6890                          }
6891                        ],
6892                        "loc": {
6893                          "start": {
6894                            "line": 81,
6895                            "column": 47
6896                          },
6897                          "end": {
6898                            "line": 83,
6899                            "column": 10
6900                          }
6901                        }
6902                      },
6903                      "alternate": null,
6904                      "loc": {
6905                        "start": {
6906                          "line": 81,
6907                          "column": 9
6908                        },
6909                        "end": {
6910                          "line": 83,
6911                          "column": 10
6912                        }
6913                      }
6914                    },
6915                    {
6916                      "type": "ForUpdateStatement",
6917                      "init": {
6918                        "type": "VariableDeclaration",
6919                        "declarations": [
6920                          {
6921                            "type": "VariableDeclarator",
6922                            "id": {
6923                              "type": "Identifier",
6924                              "name": "i",
6925                              "decorators": [],
6926                              "loc": {
6927                                "start": {
6928                                  "line": 84,
6929                                  "column": 18
6930                                },
6931                                "end": {
6932                                  "line": 84,
6933                                  "column": 19
6934                                }
6935                              }
6936                            },
6937                            "init": {
6938                              "type": "MemberExpression",
6939                              "object": {
6940                                "type": "ThisExpression",
6941                                "loc": {
6942                                  "start": {
6943                                    "line": 84,
6944                                    "column": 22
6945                                  },
6946                                  "end": {
6947                                    "line": 84,
6948                                    "column": 26
6949                                  }
6950                                }
6951                              },
6952                              "property": {
6953                                "type": "Identifier",
6954                                "name": "curSize",
6955                                "decorators": [],
6956                                "loc": {
6957                                  "start": {
6958                                    "line": 84,
6959                                    "column": 27
6960                                  },
6961                                  "end": {
6962                                    "line": 84,
6963                                    "column": 34
6964                                  }
6965                                }
6966                              },
6967                              "computed": false,
6968                              "optional": false,
6969                              "loc": {
6970                                "start": {
6971                                  "line": 84,
6972                                  "column": 22
6973                                },
6974                                "end": {
6975                                  "line": 84,
6976                                  "column": 34
6977                                }
6978                              }
6979                            },
6980                            "loc": {
6981                              "start": {
6982                                "line": 84,
6983                                "column": 18
6984                              },
6985                              "end": {
6986                                "line": 84,
6987                                "column": 34
6988                              }
6989                            }
6990                          }
6991                        ],
6992                        "kind": "let",
6993                        "loc": {
6994                          "start": {
6995                            "line": 84,
6996                            "column": 14
6997                          },
6998                          "end": {
6999                            "line": 84,
7000                            "column": 34
7001                          }
7002                        }
7003                      },
7004                      "test": {
7005                        "type": "BinaryExpression",
7006                        "operator": "!=",
7007                        "left": {
7008                          "type": "Identifier",
7009                          "name": "i",
7010                          "decorators": [],
7011                          "loc": {
7012                            "start": {
7013                              "line": 84,
7014                              "column": 36
7015                            },
7016                            "end": {
7017                              "line": 84,
7018                              "column": 37
7019                            }
7020                          }
7021                        },
7022                        "right": {
7023                          "type": "NumberLiteral",
7024                          "value": 0,
7025                          "loc": {
7026                            "start": {
7027                              "line": 84,
7028                              "column": 41
7029                            },
7030                            "end": {
7031                              "line": 84,
7032                              "column": 42
7033                            }
7034                          }
7035                        },
7036                        "loc": {
7037                          "start": {
7038                            "line": 84,
7039                            "column": 36
7040                          },
7041                          "end": {
7042                            "line": 84,
7043                            "column": 42
7044                          }
7045                        }
7046                      },
7047                      "update": {
7048                        "type": "UpdateExpression",
7049                        "operator": "--",
7050                        "prefix": true,
7051                        "argument": {
7052                          "type": "Identifier",
7053                          "name": "i",
7054                          "decorators": [],
7055                          "loc": {
7056                            "start": {
7057                              "line": 84,
7058                              "column": 46
7059                            },
7060                            "end": {
7061                              "line": 84,
7062                              "column": 47
7063                            }
7064                          }
7065                        },
7066                        "loc": {
7067                          "start": {
7068                            "line": 84,
7069                            "column": 44
7070                          },
7071                          "end": {
7072                            "line": 84,
7073                            "column": 47
7074                          }
7075                        }
7076                      },
7077                      "body": {
7078                        "type": "BlockStatement",
7079                        "statements": [
7080                          {
7081                            "type": "ExpressionStatement",
7082                            "expression": {
7083                              "type": "AssignmentExpression",
7084                              "operator": "=",
7085                              "left": {
7086                                "type": "MemberExpression",
7087                                "object": {
7088                                  "type": "Identifier",
7089                                  "name": "dst",
7090                                  "decorators": [],
7091                                  "loc": {
7092                                    "start": {
7093                                      "line": 85,
7094                                      "column": 13
7095                                    },
7096                                    "end": {
7097                                      "line": 85,
7098                                      "column": 16
7099                                    }
7100                                  }
7101                                },
7102                                "property": {
7103                                  "type": "Identifier",
7104                                  "name": "i",
7105                                  "decorators": [],
7106                                  "loc": {
7107                                    "start": {
7108                                      "line": 85,
7109                                      "column": 17
7110                                    },
7111                                    "end": {
7112                                      "line": 85,
7113                                      "column": 18
7114                                    }
7115                                  }
7116                                },
7117                                "computed": true,
7118                                "optional": false,
7119                                "loc": {
7120                                  "start": {
7121                                    "line": 85,
7122                                    "column": 13
7123                                  },
7124                                  "end": {
7125                                    "line": 85,
7126                                    "column": 19
7127                                  }
7128                                }
7129                              },
7130                              "right": {
7131                                "type": "MemberExpression",
7132                                "object": {
7133                                  "type": "MemberExpression",
7134                                  "object": {
7135                                    "type": "ThisExpression",
7136                                    "loc": {
7137                                      "start": {
7138                                        "line": 85,
7139                                        "column": 22
7140                                      },
7141                                      "end": {
7142                                        "line": 85,
7143                                        "column": 26
7144                                      }
7145                                    }
7146                                  },
7147                                  "property": {
7148                                    "type": "Identifier",
7149                                    "name": "data",
7150                                    "decorators": [],
7151                                    "loc": {
7152                                      "start": {
7153                                        "line": 85,
7154                                        "column": 27
7155                                      },
7156                                      "end": {
7157                                        "line": 85,
7158                                        "column": 31
7159                                      }
7160                                    }
7161                                  },
7162                                  "computed": false,
7163                                  "optional": false,
7164                                  "loc": {
7165                                    "start": {
7166                                      "line": 85,
7167                                      "column": 22
7168                                    },
7169                                    "end": {
7170                                      "line": 85,
7171                                      "column": 31
7172                                    }
7173                                  }
7174                                },
7175                                "property": {
7176                                  "type": "BinaryExpression",
7177                                  "operator": "-",
7178                                  "left": {
7179                                    "type": "Identifier",
7180                                    "name": "i",
7181                                    "decorators": [],
7182                                    "loc": {
7183                                      "start": {
7184                                        "line": 85,
7185                                        "column": 32
7186                                      },
7187                                      "end": {
7188                                        "line": 85,
7189                                        "column": 33
7190                                      }
7191                                    }
7192                                  },
7193                                  "right": {
7194                                    "type": "NumberLiteral",
7195                                    "value": 1,
7196                                    "loc": {
7197                                      "start": {
7198                                        "line": 85,
7199                                        "column": 34
7200                                      },
7201                                      "end": {
7202                                        "line": 85,
7203                                        "column": 35
7204                                      }
7205                                    }
7206                                  },
7207                                  "loc": {
7208                                    "start": {
7209                                      "line": 85,
7210                                      "column": 32
7211                                    },
7212                                    "end": {
7213                                      "line": 85,
7214                                      "column": 35
7215                                    }
7216                                  }
7217                                },
7218                                "computed": true,
7219                                "optional": false,
7220                                "loc": {
7221                                  "start": {
7222                                    "line": 85,
7223                                    "column": 22
7224                                  },
7225                                  "end": {
7226                                    "line": 85,
7227                                    "column": 36
7228                                  }
7229                                }
7230                              },
7231                              "loc": {
7232                                "start": {
7233                                  "line": 85,
7234                                  "column": 13
7235                                },
7236                                "end": {
7237                                  "line": 85,
7238                                  "column": 36
7239                                }
7240                              }
7241                            },
7242                            "loc": {
7243                              "start": {
7244                                "line": 85,
7245                                "column": 13
7246                              },
7247                              "end": {
7248                                "line": 85,
7249                                "column": 37
7250                              }
7251                            }
7252                          }
7253                        ],
7254                        "loc": {
7255                          "start": {
7256                            "line": 84,
7257                            "column": 49
7258                          },
7259                          "end": {
7260                            "line": 86,
7261                            "column": 10
7262                          }
7263                        }
7264                      },
7265                      "loc": {
7266                        "start": {
7267                          "line": 84,
7268                          "column": 9
7269                        },
7270                        "end": {
7271                          "line": 86,
7272                          "column": 10
7273                        }
7274                      }
7275                    },
7276                    {
7277                      "type": "ExpressionStatement",
7278                      "expression": {
7279                        "type": "AssignmentExpression",
7280                        "operator": "=",
7281                        "left": {
7282                          "type": "MemberExpression",
7283                          "object": {
7284                            "type": "ThisExpression",
7285                            "loc": {
7286                              "start": {
7287                                "line": 87,
7288                                "column": 9
7289                              },
7290                              "end": {
7291                                "line": 87,
7292                                "column": 13
7293                              }
7294                            }
7295                          },
7296                          "property": {
7297                            "type": "Identifier",
7298                            "name": "data",
7299                            "decorators": [],
7300                            "loc": {
7301                              "start": {
7302                                "line": 87,
7303                                "column": 14
7304                              },
7305                              "end": {
7306                                "line": 87,
7307                                "column": 18
7308                              }
7309                            }
7310                          },
7311                          "computed": false,
7312                          "optional": false,
7313                          "loc": {
7314                            "start": {
7315                              "line": 87,
7316                              "column": 9
7317                            },
7318                            "end": {
7319                              "line": 87,
7320                              "column": 18
7321                            }
7322                          }
7323                        },
7324                        "right": {
7325                          "type": "Identifier",
7326                          "name": "dst",
7327                          "decorators": [],
7328                          "loc": {
7329                            "start": {
7330                              "line": 87,
7331                              "column": 21
7332                            },
7333                            "end": {
7334                              "line": 87,
7335                              "column": 24
7336                            }
7337                          }
7338                        },
7339                        "loc": {
7340                          "start": {
7341                            "line": 87,
7342                            "column": 9
7343                          },
7344                          "end": {
7345                            "line": 87,
7346                            "column": 24
7347                          }
7348                        }
7349                      },
7350                      "loc": {
7351                        "start": {
7352                          "line": 87,
7353                          "column": 9
7354                        },
7355                        "end": {
7356                          "line": 87,
7357                          "column": 25
7358                        }
7359                      }
7360                    },
7361                    {
7362                      "type": "ExpressionStatement",
7363                      "expression": {
7364                        "type": "AssignmentExpression",
7365                        "operator": "=",
7366                        "left": {
7367                          "type": "MemberExpression",
7368                          "object": {
7369                            "type": "MemberExpression",
7370                            "object": {
7371                              "type": "ThisExpression",
7372                              "loc": {
7373                                "start": {
7374                                  "line": 88,
7375                                  "column": 9
7376                                },
7377                                "end": {
7378                                  "line": 88,
7379                                  "column": 13
7380                                }
7381                              }
7382                            },
7383                            "property": {
7384                              "type": "Identifier",
7385                              "name": "data",
7386                              "decorators": [],
7387                              "loc": {
7388                                "start": {
7389                                  "line": 88,
7390                                  "column": 14
7391                                },
7392                                "end": {
7393                                  "line": 88,
7394                                  "column": 18
7395                                }
7396                              }
7397                            },
7398                            "computed": false,
7399                            "optional": false,
7400                            "loc": {
7401                              "start": {
7402                                "line": 88,
7403                                "column": 9
7404                              },
7405                              "end": {
7406                                "line": 88,
7407                                "column": 18
7408                              }
7409                            }
7410                          },
7411                          "property": {
7412                            "type": "NumberLiteral",
7413                            "value": 0,
7414                            "loc": {
7415                              "start": {
7416                                "line": 88,
7417                                "column": 19
7418                              },
7419                              "end": {
7420                                "line": 88,
7421                                "column": 20
7422                              }
7423                            }
7424                          },
7425                          "computed": true,
7426                          "optional": false,
7427                          "loc": {
7428                            "start": {
7429                              "line": 88,
7430                              "column": 9
7431                            },
7432                            "end": {
7433                              "line": 88,
7434                              "column": 21
7435                            }
7436                          }
7437                        },
7438                        "right": {
7439                          "type": "Identifier",
7440                          "name": "e",
7441                          "decorators": [],
7442                          "loc": {
7443                            "start": {
7444                              "line": 88,
7445                              "column": 24
7446                            },
7447                            "end": {
7448                              "line": 88,
7449                              "column": 25
7450                            }
7451                          }
7452                        },
7453                        "loc": {
7454                          "start": {
7455                            "line": 88,
7456                            "column": 9
7457                          },
7458                          "end": {
7459                            "line": 88,
7460                            "column": 25
7461                          }
7462                        }
7463                      },
7464                      "loc": {
7465                        "start": {
7466                          "line": 88,
7467                          "column": 9
7468                        },
7469                        "end": {
7470                          "line": 88,
7471                          "column": 26
7472                        }
7473                      }
7474                    },
7475                    {
7476                      "type": "ExpressionStatement",
7477                      "expression": {
7478                        "type": "UpdateExpression",
7479                        "operator": "++",
7480                        "prefix": true,
7481                        "argument": {
7482                          "type": "MemberExpression",
7483                          "object": {
7484                            "type": "ThisExpression",
7485                            "loc": {
7486                              "start": {
7487                                "line": 89,
7488                                "column": 11
7489                              },
7490                              "end": {
7491                                "line": 89,
7492                                "column": 15
7493                              }
7494                            }
7495                          },
7496                          "property": {
7497                            "type": "Identifier",
7498                            "name": "curSize",
7499                            "decorators": [],
7500                            "loc": {
7501                              "start": {
7502                                "line": 89,
7503                                "column": 16
7504                              },
7505                              "end": {
7506                                "line": 89,
7507                                "column": 23
7508                              }
7509                            }
7510                          },
7511                          "computed": false,
7512                          "optional": false,
7513                          "loc": {
7514                            "start": {
7515                              "line": 89,
7516                              "column": 11
7517                            },
7518                            "end": {
7519                              "line": 89,
7520                              "column": 23
7521                            }
7522                          }
7523                        },
7524                        "loc": {
7525                          "start": {
7526                            "line": 89,
7527                            "column": 9
7528                          },
7529                          "end": {
7530                            "line": 89,
7531                            "column": 23
7532                          }
7533                        }
7534                      },
7535                      "loc": {
7536                        "start": {
7537                          "line": 89,
7538                          "column": 9
7539                        },
7540                        "end": {
7541                          "line": 89,
7542                          "column": 24
7543                        }
7544                      }
7545                    }
7546                  ],
7547                  "loc": {
7548                    "start": {
7549                      "line": 79,
7550                      "column": 43
7551                    },
7552                    "end": {
7553                      "line": 90,
7554                      "column": 6
7555                    }
7556                  }
7557                },
7558                "loc": {
7559                  "start": {
7560                    "line": 79,
7561                    "column": 30
7562                  },
7563                  "end": {
7564                    "line": 90,
7565                    "column": 6
7566                  }
7567                }
7568              },
7569              "loc": {
7570                "start": {
7571                  "line": 79,
7572                  "column": 30
7573                },
7574                "end": {
7575                  "line": 90,
7576                  "column": 6
7577                }
7578              }
7579            },
7580            "overloads": [],
7581            "decorators": [],
7582            "loc": {
7583              "start": {
7584                "line": 79,
7585                "column": 5
7586              },
7587              "end": {
7588                "line": 90,
7589                "column": 6
7590              }
7591            }
7592          },
7593          {
7594            "type": "MethodDefinition",
7595            "key": {
7596              "type": "Identifier",
7597              "name": "popFront",
7598              "decorators": [],
7599              "loc": {
7600                "start": {
7601                  "line": 92,
7602                  "column": 21
7603                },
7604                "end": {
7605                  "line": 92,
7606                  "column": 29
7607                }
7608              }
7609            },
7610            "kind": "method",
7611            "accessibility": "public",
7612            "static": false,
7613            "optional": false,
7614            "computed": false,
7615            "value": {
7616              "type": "FunctionExpression",
7617              "function": {
7618                "type": "ScriptFunction",
7619                "id": {
7620                  "type": "Identifier",
7621                  "name": "popFront",
7622                  "decorators": [],
7623                  "loc": {
7624                    "start": {
7625                      "line": 92,
7626                      "column": 21
7627                    },
7628                    "end": {
7629                      "line": 92,
7630                      "column": 29
7631                    }
7632                  }
7633                },
7634                "generator": false,
7635                "async": false,
7636                "expression": false,
7637                "params": [],
7638                "returnType": {
7639                  "type": "ETSTypeReference",
7640                  "part": {
7641                    "type": "ETSTypeReferencePart",
7642                    "name": {
7643                      "type": "Identifier",
7644                      "name": "T",
7645                      "decorators": [],
7646                      "loc": {
7647                        "start": {
7648                          "line": 92,
7649                          "column": 33
7650                        },
7651                        "end": {
7652                          "line": 92,
7653                          "column": 34
7654                        }
7655                      }
7656                    },
7657                    "loc": {
7658                      "start": {
7659                        "line": 92,
7660                        "column": 33
7661                      },
7662                      "end": {
7663                        "line": 92,
7664                        "column": 36
7665                      }
7666                    }
7667                  },
7668                  "loc": {
7669                    "start": {
7670                      "line": 92,
7671                      "column": 33
7672                    },
7673                    "end": {
7674                      "line": 92,
7675                      "column": 36
7676                    }
7677                  }
7678                },
7679                "body": {
7680                  "type": "BlockStatement",
7681                  "statements": [
7682                    {
7683                      "type": "AssertStatement",
7684                      "test": {
7685                        "type": "BinaryExpression",
7686                        "operator": ">",
7687                        "left": {
7688                          "type": "MemberExpression",
7689                          "object": {
7690                            "type": "ThisExpression",
7691                            "loc": {
7692                              "start": {
7693                                "line": 93,
7694                                "column": 17
7695                              },
7696                              "end": {
7697                                "line": 93,
7698                                "column": 21
7699                              }
7700                            }
7701                          },
7702                          "property": {
7703                            "type": "Identifier",
7704                            "name": "curSize",
7705                            "decorators": [],
7706                            "loc": {
7707                              "start": {
7708                                "line": 93,
7709                                "column": 22
7710                              },
7711                              "end": {
7712                                "line": 93,
7713                                "column": 29
7714                              }
7715                            }
7716                          },
7717                          "computed": false,
7718                          "optional": false,
7719                          "loc": {
7720                            "start": {
7721                              "line": 93,
7722                              "column": 17
7723                            },
7724                            "end": {
7725                              "line": 93,
7726                              "column": 29
7727                            }
7728                          }
7729                        },
7730                        "right": {
7731                          "type": "NumberLiteral",
7732                          "value": 0,
7733                          "loc": {
7734                            "start": {
7735                              "line": 93,
7736                              "column": 32
7737                            },
7738                            "end": {
7739                              "line": 93,
7740                              "column": 33
7741                            }
7742                          }
7743                        },
7744                        "loc": {
7745                          "start": {
7746                            "line": 93,
7747                            "column": 16
7748                          },
7749                          "end": {
7750                            "line": 93,
7751                            "column": 34
7752                          }
7753                        }
7754                      },
7755                      "second": {
7756                        "type": "StringLiteral",
7757                        "value": "No data to popFront from ArrayAsList!",
7758                        "loc": {
7759                          "start": {
7760                            "line": 93,
7761                            "column": 36
7762                          },
7763                          "end": {
7764                            "line": 93,
7765                            "column": 75
7766                          }
7767                        }
7768                      },
7769                      "loc": {
7770                        "start": {
7771                          "line": 93,
7772                          "column": 9
7773                        },
7774                        "end": {
7775                          "line": 93,
7776                          "column": 75
7777                        }
7778                      }
7779                    },
7780                    {
7781                      "type": "VariableDeclaration",
7782                      "declarations": [
7783                        {
7784                          "type": "VariableDeclarator",
7785                          "id": {
7786                            "type": "Identifier",
7787                            "name": "res",
7788                            "typeAnnotation": {
7789                              "type": "ETSTypeReference",
7790                              "part": {
7791                                "type": "ETSTypeReferencePart",
7792                                "name": {
7793                                  "type": "Identifier",
7794                                  "name": "T",
7795                                  "decorators": [],
7796                                  "loc": {
7797                                    "start": {
7798                                      "line": 94,
7799                                      "column": 18
7800                                    },
7801                                    "end": {
7802                                      "line": 94,
7803                                      "column": 19
7804                                    }
7805                                  }
7806                                },
7807                                "loc": {
7808                                  "start": {
7809                                    "line": 94,
7810                                    "column": 18
7811                                  },
7812                                  "end": {
7813                                    "line": 94,
7814                                    "column": 21
7815                                  }
7816                                }
7817                              },
7818                              "loc": {
7819                                "start": {
7820                                  "line": 94,
7821                                  "column": 18
7822                                },
7823                                "end": {
7824                                  "line": 94,
7825                                  "column": 21
7826                                }
7827                              }
7828                            },
7829                            "decorators": [],
7830                            "loc": {
7831                              "start": {
7832                                "line": 94,
7833                                "column": 13
7834                              },
7835                              "end": {
7836                                "line": 94,
7837                                "column": 16
7838                              }
7839                            }
7840                          },
7841                          "init": {
7842                            "type": "MemberExpression",
7843                            "object": {
7844                              "type": "MemberExpression",
7845                              "object": {
7846                                "type": "ThisExpression",
7847                                "loc": {
7848                                  "start": {
7849                                    "line": 94,
7850                                    "column": 22
7851                                  },
7852                                  "end": {
7853                                    "line": 94,
7854                                    "column": 26
7855                                  }
7856                                }
7857                              },
7858                              "property": {
7859                                "type": "Identifier",
7860                                "name": "data",
7861                                "decorators": [],
7862                                "loc": {
7863                                  "start": {
7864                                    "line": 94,
7865                                    "column": 27
7866                                  },
7867                                  "end": {
7868                                    "line": 94,
7869                                    "column": 31
7870                                  }
7871                                }
7872                              },
7873                              "computed": false,
7874                              "optional": false,
7875                              "loc": {
7876                                "start": {
7877                                  "line": 94,
7878                                  "column": 22
7879                                },
7880                                "end": {
7881                                  "line": 94,
7882                                  "column": 31
7883                                }
7884                              }
7885                            },
7886                            "property": {
7887                              "type": "NumberLiteral",
7888                              "value": 0,
7889                              "loc": {
7890                                "start": {
7891                                  "line": 94,
7892                                  "column": 32
7893                                },
7894                                "end": {
7895                                  "line": 94,
7896                                  "column": 33
7897                                }
7898                              }
7899                            },
7900                            "computed": true,
7901                            "optional": false,
7902                            "loc": {
7903                              "start": {
7904                                "line": 94,
7905                                "column": 22
7906                              },
7907                              "end": {
7908                                "line": 94,
7909                                "column": 34
7910                              }
7911                            }
7912                          },
7913                          "loc": {
7914                            "start": {
7915                              "line": 94,
7916                              "column": 13
7917                            },
7918                            "end": {
7919                              "line": 94,
7920                              "column": 34
7921                            }
7922                          }
7923                        }
7924                      ],
7925                      "kind": "let",
7926                      "loc": {
7927                        "start": {
7928                          "line": 94,
7929                          "column": 9
7930                        },
7931                        "end": {
7932                          "line": 94,
7933                          "column": 35
7934                        }
7935                      }
7936                    },
7937                    {
7938                      "type": "ForUpdateStatement",
7939                      "init": {
7940                        "type": "VariableDeclaration",
7941                        "declarations": [
7942                          {
7943                            "type": "VariableDeclarator",
7944                            "id": {
7945                              "type": "Identifier",
7946                              "name": "i",
7947                              "decorators": [],
7948                              "loc": {
7949                                "start": {
7950                                  "line": 95,
7951                                  "column": 18
7952                                },
7953                                "end": {
7954                                  "line": 95,
7955                                  "column": 19
7956                                }
7957                              }
7958                            },
7959                            "init": {
7960                              "type": "NumberLiteral",
7961                              "value": 1,
7962                              "loc": {
7963                                "start": {
7964                                  "line": 95,
7965                                  "column": 22
7966                                },
7967                                "end": {
7968                                  "line": 95,
7969                                  "column": 23
7970                                }
7971                              }
7972                            },
7973                            "loc": {
7974                              "start": {
7975                                "line": 95,
7976                                "column": 18
7977                              },
7978                              "end": {
7979                                "line": 95,
7980                                "column": 23
7981                              }
7982                            }
7983                          }
7984                        ],
7985                        "kind": "let",
7986                        "loc": {
7987                          "start": {
7988                            "line": 95,
7989                            "column": 14
7990                          },
7991                          "end": {
7992                            "line": 95,
7993                            "column": 23
7994                          }
7995                        }
7996                      },
7997                      "test": {
7998                        "type": "BinaryExpression",
7999                        "operator": "<",
8000                        "left": {
8001                          "type": "Identifier",
8002                          "name": "i",
8003                          "decorators": [],
8004                          "loc": {
8005                            "start": {
8006                              "line": 95,
8007                              "column": 25
8008                            },
8009                            "end": {
8010                              "line": 95,
8011                              "column": 26
8012                            }
8013                          }
8014                        },
8015                        "right": {
8016                          "type": "MemberExpression",
8017                          "object": {
8018                            "type": "ThisExpression",
8019                            "loc": {
8020                              "start": {
8021                                "line": 95,
8022                                "column": 29
8023                              },
8024                              "end": {
8025                                "line": 95,
8026                                "column": 33
8027                              }
8028                            }
8029                          },
8030                          "property": {
8031                            "type": "Identifier",
8032                            "name": "curSize",
8033                            "decorators": [],
8034                            "loc": {
8035                              "start": {
8036                                "line": 95,
8037                                "column": 34
8038                              },
8039                              "end": {
8040                                "line": 95,
8041                                "column": 41
8042                              }
8043                            }
8044                          },
8045                          "computed": false,
8046                          "optional": false,
8047                          "loc": {
8048                            "start": {
8049                              "line": 95,
8050                              "column": 29
8051                            },
8052                            "end": {
8053                              "line": 95,
8054                              "column": 41
8055                            }
8056                          }
8057                        },
8058                        "loc": {
8059                          "start": {
8060                            "line": 95,
8061                            "column": 25
8062                          },
8063                          "end": {
8064                            "line": 95,
8065                            "column": 41
8066                          }
8067                        }
8068                      },
8069                      "update": {
8070                        "type": "UpdateExpression",
8071                        "operator": "++",
8072                        "prefix": true,
8073                        "argument": {
8074                          "type": "Identifier",
8075                          "name": "i",
8076                          "decorators": [],
8077                          "loc": {
8078                            "start": {
8079                              "line": 95,
8080                              "column": 45
8081                            },
8082                            "end": {
8083                              "line": 95,
8084                              "column": 46
8085                            }
8086                          }
8087                        },
8088                        "loc": {
8089                          "start": {
8090                            "line": 95,
8091                            "column": 43
8092                          },
8093                          "end": {
8094                            "line": 95,
8095                            "column": 46
8096                          }
8097                        }
8098                      },
8099                      "body": {
8100                        "type": "BlockStatement",
8101                        "statements": [
8102                          {
8103                            "type": "ExpressionStatement",
8104                            "expression": {
8105                              "type": "AssignmentExpression",
8106                              "operator": "=",
8107                              "left": {
8108                                "type": "MemberExpression",
8109                                "object": {
8110                                  "type": "MemberExpression",
8111                                  "object": {
8112                                    "type": "ThisExpression",
8113                                    "loc": {
8114                                      "start": {
8115                                        "line": 96,
8116                                        "column": 13
8117                                      },
8118                                      "end": {
8119                                        "line": 96,
8120                                        "column": 17
8121                                      }
8122                                    }
8123                                  },
8124                                  "property": {
8125                                    "type": "Identifier",
8126                                    "name": "data",
8127                                    "decorators": [],
8128                                    "loc": {
8129                                      "start": {
8130                                        "line": 96,
8131                                        "column": 18
8132                                      },
8133                                      "end": {
8134                                        "line": 96,
8135                                        "column": 22
8136                                      }
8137                                    }
8138                                  },
8139                                  "computed": false,
8140                                  "optional": false,
8141                                  "loc": {
8142                                    "start": {
8143                                      "line": 96,
8144                                      "column": 13
8145                                    },
8146                                    "end": {
8147                                      "line": 96,
8148                                      "column": 22
8149                                    }
8150                                  }
8151                                },
8152                                "property": {
8153                                  "type": "BinaryExpression",
8154                                  "operator": "-",
8155                                  "left": {
8156                                    "type": "Identifier",
8157                                    "name": "i",
8158                                    "decorators": [],
8159                                    "loc": {
8160                                      "start": {
8161                                        "line": 96,
8162                                        "column": 23
8163                                      },
8164                                      "end": {
8165                                        "line": 96,
8166                                        "column": 24
8167                                      }
8168                                    }
8169                                  },
8170                                  "right": {
8171                                    "type": "NumberLiteral",
8172                                    "value": 1,
8173                                    "loc": {
8174                                      "start": {
8175                                        "line": 96,
8176                                        "column": 25
8177                                      },
8178                                      "end": {
8179                                        "line": 96,
8180                                        "column": 26
8181                                      }
8182                                    }
8183                                  },
8184                                  "loc": {
8185                                    "start": {
8186                                      "line": 96,
8187                                      "column": 23
8188                                    },
8189                                    "end": {
8190                                      "line": 96,
8191                                      "column": 26
8192                                    }
8193                                  }
8194                                },
8195                                "computed": true,
8196                                "optional": false,
8197                                "loc": {
8198                                  "start": {
8199                                    "line": 96,
8200                                    "column": 13
8201                                  },
8202                                  "end": {
8203                                    "line": 96,
8204                                    "column": 27
8205                                  }
8206                                }
8207                              },
8208                              "right": {
8209                                "type": "MemberExpression",
8210                                "object": {
8211                                  "type": "MemberExpression",
8212                                  "object": {
8213                                    "type": "ThisExpression",
8214                                    "loc": {
8215                                      "start": {
8216                                        "line": 96,
8217                                        "column": 30
8218                                      },
8219                                      "end": {
8220                                        "line": 96,
8221                                        "column": 34
8222                                      }
8223                                    }
8224                                  },
8225                                  "property": {
8226                                    "type": "Identifier",
8227                                    "name": "data",
8228                                    "decorators": [],
8229                                    "loc": {
8230                                      "start": {
8231                                        "line": 96,
8232                                        "column": 35
8233                                      },
8234                                      "end": {
8235                                        "line": 96,
8236                                        "column": 39
8237                                      }
8238                                    }
8239                                  },
8240                                  "computed": false,
8241                                  "optional": false,
8242                                  "loc": {
8243                                    "start": {
8244                                      "line": 96,
8245                                      "column": 30
8246                                    },
8247                                    "end": {
8248                                      "line": 96,
8249                                      "column": 39
8250                                    }
8251                                  }
8252                                },
8253                                "property": {
8254                                  "type": "Identifier",
8255                                  "name": "i",
8256                                  "decorators": [],
8257                                  "loc": {
8258                                    "start": {
8259                                      "line": 96,
8260                                      "column": 40
8261                                    },
8262                                    "end": {
8263                                      "line": 96,
8264                                      "column": 41
8265                                    }
8266                                  }
8267                                },
8268                                "computed": true,
8269                                "optional": false,
8270                                "loc": {
8271                                  "start": {
8272                                    "line": 96,
8273                                    "column": 30
8274                                  },
8275                                  "end": {
8276                                    "line": 96,
8277                                    "column": 42
8278                                  }
8279                                }
8280                              },
8281                              "loc": {
8282                                "start": {
8283                                  "line": 96,
8284                                  "column": 13
8285                                },
8286                                "end": {
8287                                  "line": 96,
8288                                  "column": 42
8289                                }
8290                              }
8291                            },
8292                            "loc": {
8293                              "start": {
8294                                "line": 96,
8295                                "column": 13
8296                              },
8297                              "end": {
8298                                "line": 96,
8299                                "column": 43
8300                              }
8301                            }
8302                          }
8303                        ],
8304                        "loc": {
8305                          "start": {
8306                            "line": 95,
8307                            "column": 48
8308                          },
8309                          "end": {
8310                            "line": 97,
8311                            "column": 10
8312                          }
8313                        }
8314                      },
8315                      "loc": {
8316                        "start": {
8317                          "line": 95,
8318                          "column": 9
8319                        },
8320                        "end": {
8321                          "line": 97,
8322                          "column": 10
8323                        }
8324                      }
8325                    },
8326                    {
8327                      "type": "ExpressionStatement",
8328                      "expression": {
8329                        "type": "UpdateExpression",
8330                        "operator": "--",
8331                        "prefix": true,
8332                        "argument": {
8333                          "type": "MemberExpression",
8334                          "object": {
8335                            "type": "ThisExpression",
8336                            "loc": {
8337                              "start": {
8338                                "line": 98,
8339                                "column": 11
8340                              },
8341                              "end": {
8342                                "line": 98,
8343                                "column": 15
8344                              }
8345                            }
8346                          },
8347                          "property": {
8348                            "type": "Identifier",
8349                            "name": "curSize",
8350                            "decorators": [],
8351                            "loc": {
8352                              "start": {
8353                                "line": 98,
8354                                "column": 16
8355                              },
8356                              "end": {
8357                                "line": 98,
8358                                "column": 23
8359                              }
8360                            }
8361                          },
8362                          "computed": false,
8363                          "optional": false,
8364                          "loc": {
8365                            "start": {
8366                              "line": 98,
8367                              "column": 11
8368                            },
8369                            "end": {
8370                              "line": 98,
8371                              "column": 23
8372                            }
8373                          }
8374                        },
8375                        "loc": {
8376                          "start": {
8377                            "line": 98,
8378                            "column": 9
8379                          },
8380                          "end": {
8381                            "line": 98,
8382                            "column": 23
8383                          }
8384                        }
8385                      },
8386                      "loc": {
8387                        "start": {
8388                          "line": 98,
8389                          "column": 9
8390                        },
8391                        "end": {
8392                          "line": 98,
8393                          "column": 24
8394                        }
8395                      }
8396                    },
8397                    {
8398                      "type": "ReturnStatement",
8399                      "argument": {
8400                        "type": "Identifier",
8401                        "name": "res",
8402                        "decorators": [],
8403                        "loc": {
8404                          "start": {
8405                            "line": 99,
8406                            "column": 16
8407                          },
8408                          "end": {
8409                            "line": 99,
8410                            "column": 19
8411                          }
8412                        }
8413                      },
8414                      "loc": {
8415                        "start": {
8416                          "line": 99,
8417                          "column": 9
8418                        },
8419                        "end": {
8420                          "line": 99,
8421                          "column": 20
8422                        }
8423                      }
8424                    }
8425                  ],
8426                  "loc": {
8427                    "start": {
8428                      "line": 92,
8429                      "column": 35
8430                    },
8431                    "end": {
8432                      "line": 100,
8433                      "column": 6
8434                    }
8435                  }
8436                },
8437                "loc": {
8438                  "start": {
8439                    "line": 92,
8440                    "column": 29
8441                  },
8442                  "end": {
8443                    "line": 100,
8444                    "column": 6
8445                  }
8446                }
8447              },
8448              "loc": {
8449                "start": {
8450                  "line": 92,
8451                  "column": 29
8452                },
8453                "end": {
8454                  "line": 100,
8455                  "column": 6
8456                }
8457              }
8458            },
8459            "overloads": [],
8460            "decorators": [],
8461            "loc": {
8462              "start": {
8463                "line": 92,
8464                "column": 5
8465              },
8466              "end": {
8467                "line": 100,
8468                "column": 6
8469              }
8470            }
8471          },
8472          {
8473            "type": "MethodDefinition",
8474            "key": {
8475              "type": "Identifier",
8476              "name": "pushBack",
8477              "decorators": [],
8478              "loc": {
8479                "start": {
8480                  "line": 102,
8481                  "column": 21
8482                },
8483                "end": {
8484                  "line": 102,
8485                  "column": 29
8486                }
8487              }
8488            },
8489            "kind": "method",
8490            "accessibility": "public",
8491            "static": false,
8492            "optional": false,
8493            "computed": false,
8494            "value": {
8495              "type": "FunctionExpression",
8496              "function": {
8497                "type": "ScriptFunction",
8498                "id": {
8499                  "type": "Identifier",
8500                  "name": "pushBack",
8501                  "decorators": [],
8502                  "loc": {
8503                    "start": {
8504                      "line": 102,
8505                      "column": 21
8506                    },
8507                    "end": {
8508                      "line": 102,
8509                      "column": 29
8510                    }
8511                  }
8512                },
8513                "generator": false,
8514                "async": false,
8515                "expression": false,
8516                "params": [
8517                  {
8518                    "type": "ETSParameterExpression",
8519                    "name": {
8520                      "type": "Identifier",
8521                      "name": "e",
8522                      "typeAnnotation": {
8523                        "type": "ETSTypeReference",
8524                        "part": {
8525                          "type": "ETSTypeReferencePart",
8526                          "name": {
8527                            "type": "Identifier",
8528                            "name": "T",
8529                            "decorators": [],
8530                            "loc": {
8531                              "start": {
8532                                "line": 102,
8533                                "column": 33
8534                              },
8535                              "end": {
8536                                "line": 102,
8537                                "column": 34
8538                              }
8539                            }
8540                          },
8541                          "loc": {
8542                            "start": {
8543                              "line": 102,
8544                              "column": 33
8545                            },
8546                            "end": {
8547                              "line": 102,
8548                              "column": 35
8549                            }
8550                          }
8551                        },
8552                        "loc": {
8553                          "start": {
8554                            "line": 102,
8555                            "column": 33
8556                          },
8557                          "end": {
8558                            "line": 102,
8559                            "column": 35
8560                          }
8561                        }
8562                      },
8563                      "decorators": [],
8564                      "loc": {
8565                        "start": {
8566                          "line": 102,
8567                          "column": 30
8568                        },
8569                        "end": {
8570                          "line": 102,
8571                          "column": 35
8572                        }
8573                      }
8574                    },
8575                    "loc": {
8576                      "start": {
8577                        "line": 102,
8578                        "column": 30
8579                      },
8580                      "end": {
8581                        "line": 102,
8582                        "column": 35
8583                      }
8584                    }
8585                  }
8586                ],
8587                "returnType": {
8588                  "type": "ETSPrimitiveType",
8589                  "loc": {
8590                    "start": {
8591                      "line": 102,
8592                      "column": 37
8593                    },
8594                    "end": {
8595                      "line": 102,
8596                      "column": 41
8597                    }
8598                  }
8599                },
8600                "body": {
8601                  "type": "BlockStatement",
8602                  "statements": [
8603                    {
8604                      "type": "IfStatement",
8605                      "test": {
8606                        "type": "BinaryExpression",
8607                        "operator": "==",
8608                        "left": {
8609                          "type": "MemberExpression",
8610                          "object": {
8611                            "type": "ThisExpression",
8612                            "loc": {
8613                              "start": {
8614                                "line": 103,
8615                                "column": 13
8616                              },
8617                              "end": {
8618                                "line": 103,
8619                                "column": 17
8620                              }
8621                            }
8622                          },
8623                          "property": {
8624                            "type": "Identifier",
8625                            "name": "curSize",
8626                            "decorators": [],
8627                            "loc": {
8628                              "start": {
8629                                "line": 103,
8630                                "column": 18
8631                              },
8632                              "end": {
8633                                "line": 103,
8634                                "column": 25
8635                              }
8636                            }
8637                          },
8638                          "computed": false,
8639                          "optional": false,
8640                          "loc": {
8641                            "start": {
8642                              "line": 103,
8643                              "column": 13
8644                            },
8645                            "end": {
8646                              "line": 103,
8647                              "column": 25
8648                            }
8649                          }
8650                        },
8651                        "right": {
8652                          "type": "MemberExpression",
8653                          "object": {
8654                            "type": "MemberExpression",
8655                            "object": {
8656                              "type": "ThisExpression",
8657                              "loc": {
8658                                "start": {
8659                                  "line": 103,
8660                                  "column": 29
8661                                },
8662                                "end": {
8663                                  "line": 103,
8664                                  "column": 33
8665                                }
8666                              }
8667                            },
8668                            "property": {
8669                              "type": "Identifier",
8670                              "name": "data",
8671                              "decorators": [],
8672                              "loc": {
8673                                "start": {
8674                                  "line": 103,
8675                                  "column": 34
8676                                },
8677                                "end": {
8678                                  "line": 103,
8679                                  "column": 38
8680                                }
8681                              }
8682                            },
8683                            "computed": false,
8684                            "optional": false,
8685                            "loc": {
8686                              "start": {
8687                                "line": 103,
8688                                "column": 29
8689                              },
8690                              "end": {
8691                                "line": 103,
8692                                "column": 38
8693                              }
8694                            }
8695                          },
8696                          "property": {
8697                            "type": "Identifier",
8698                            "name": "length",
8699                            "decorators": [],
8700                            "loc": {
8701                              "start": {
8702                                "line": 103,
8703                                "column": 39
8704                              },
8705                              "end": {
8706                                "line": 103,
8707                                "column": 45
8708                              }
8709                            }
8710                          },
8711                          "computed": false,
8712                          "optional": false,
8713                          "loc": {
8714                            "start": {
8715                              "line": 103,
8716                              "column": 29
8717                            },
8718                            "end": {
8719                              "line": 103,
8720                              "column": 45
8721                            }
8722                          }
8723                        },
8724                        "loc": {
8725                          "start": {
8726                            "line": 103,
8727                            "column": 13
8728                          },
8729                          "end": {
8730                            "line": 103,
8731                            "column": 45
8732                          }
8733                        }
8734                      },
8735                      "consequent": {
8736                        "type": "BlockStatement",
8737                        "statements": [
8738                          {
8739                            "type": "VariableDeclaration",
8740                            "declarations": [
8741                              {
8742                                "type": "VariableDeclarator",
8743                                "id": {
8744                                  "type": "Identifier",
8745                                  "name": "newData",
8746                                  "decorators": [],
8747                                  "loc": {
8748                                    "start": {
8749                                      "line": 104,
8750                                      "column": 17
8751                                    },
8752                                    "end": {
8753                                      "line": 104,
8754                                      "column": 24
8755                                    }
8756                                  }
8757                                },
8758                                "init": {
8759                                  "type": "ETSNewArrayInstanceExpression",
8760                                  "typeReference": {
8761                                    "type": "ETSTypeReference",
8762                                    "part": {
8763                                      "type": "ETSTypeReferencePart",
8764                                      "name": {
8765                                        "type": "Identifier",
8766                                        "name": "T",
8767                                        "decorators": [],
8768                                        "loc": {
8769                                          "start": {
8770                                            "line": 104,
8771                                            "column": 31
8772                                          },
8773                                          "end": {
8774                                            "line": 104,
8775                                            "column": 32
8776                                          }
8777                                        }
8778                                      },
8779                                      "loc": {
8780                                        "start": {
8781                                          "line": 104,
8782                                          "column": 31
8783                                        },
8784                                        "end": {
8785                                          "line": 104,
8786                                          "column": 33
8787                                        }
8788                                      }
8789                                    },
8790                                    "loc": {
8791                                      "start": {
8792                                        "line": 104,
8793                                        "column": 31
8794                                      },
8795                                      "end": {
8796                                        "line": 104,
8797                                        "column": 33
8798                                      }
8799                                    }
8800                                  },
8801                                  "dimension": {
8802                                    "type": "CallExpression",
8803                                    "callee": {
8804                                      "type": "MemberExpression",
8805                                      "object": {
8806                                        "type": "ThisExpression",
8807                                        "loc": {
8808                                          "start": {
8809                                            "line": 104,
8810                                            "column": 33
8811                                          },
8812                                          "end": {
8813                                            "line": 104,
8814                                            "column": 37
8815                                          }
8816                                        }
8817                                      },
8818                                      "property": {
8819                                        "type": "Identifier",
8820                                        "name": "getNewCapacity",
8821                                        "decorators": [],
8822                                        "loc": {
8823                                          "start": {
8824                                            "line": 104,
8825                                            "column": 38
8826                                          },
8827                                          "end": {
8828                                            "line": 104,
8829                                            "column": 52
8830                                          }
8831                                        }
8832                                      },
8833                                      "computed": false,
8834                                      "optional": false,
8835                                      "loc": {
8836                                        "start": {
8837                                          "line": 104,
8838                                          "column": 33
8839                                        },
8840                                        "end": {
8841                                          "line": 104,
8842                                          "column": 52
8843                                        }
8844                                      }
8845                                    },
8846                                    "arguments": [
8847                                      {
8848                                        "type": "MemberExpression",
8849                                        "object": {
8850                                          "type": "MemberExpression",
8851                                          "object": {
8852                                            "type": "ThisExpression",
8853                                            "loc": {
8854                                              "start": {
8855                                                "line": 104,
8856                                                "column": 53
8857                                              },
8858                                              "end": {
8859                                                "line": 104,
8860                                                "column": 57
8861                                              }
8862                                            }
8863                                          },
8864                                          "property": {
8865                                            "type": "Identifier",
8866                                            "name": "data",
8867                                            "decorators": [],
8868                                            "loc": {
8869                                              "start": {
8870                                                "line": 104,
8871                                                "column": 58
8872                                              },
8873                                              "end": {
8874                                                "line": 104,
8875                                                "column": 62
8876                                              }
8877                                            }
8878                                          },
8879                                          "computed": false,
8880                                          "optional": false,
8881                                          "loc": {
8882                                            "start": {
8883                                              "line": 104,
8884                                              "column": 53
8885                                            },
8886                                            "end": {
8887                                              "line": 104,
8888                                              "column": 62
8889                                            }
8890                                          }
8891                                        },
8892                                        "property": {
8893                                          "type": "Identifier",
8894                                          "name": "length",
8895                                          "decorators": [],
8896                                          "loc": {
8897                                            "start": {
8898                                              "line": 104,
8899                                              "column": 63
8900                                            },
8901                                            "end": {
8902                                              "line": 104,
8903                                              "column": 69
8904                                            }
8905                                          }
8906                                        },
8907                                        "computed": false,
8908                                        "optional": false,
8909                                        "loc": {
8910                                          "start": {
8911                                            "line": 104,
8912                                            "column": 53
8913                                          },
8914                                          "end": {
8915                                            "line": 104,
8916                                            "column": 69
8917                                          }
8918                                        }
8919                                      }
8920                                    ],
8921                                    "optional": false,
8922                                    "loc": {
8923                                      "start": {
8924                                        "line": 104,
8925                                        "column": 33
8926                                      },
8927                                      "end": {
8928                                        "line": 104,
8929                                        "column": 70
8930                                      }
8931                                    }
8932                                  },
8933                                  "loc": {
8934                                    "start": {
8935                                      "line": 104,
8936                                      "column": 27
8937                                    },
8938                                    "end": {
8939                                      "line": 104,
8940                                      "column": 71
8941                                    }
8942                                  }
8943                                },
8944                                "loc": {
8945                                  "start": {
8946                                    "line": 104,
8947                                    "column": 17
8948                                  },
8949                                  "end": {
8950                                    "line": 104,
8951                                    "column": 71
8952                                  }
8953                                }
8954                              }
8955                            ],
8956                            "kind": "let",
8957                            "loc": {
8958                              "start": {
8959                                "line": 104,
8960                                "column": 13
8961                              },
8962                              "end": {
8963                                "line": 104,
8964                                "column": 72
8965                              }
8966                            }
8967                          },
8968                          {
8969                            "type": "ForUpdateStatement",
8970                            "init": {
8971                              "type": "VariableDeclaration",
8972                              "declarations": [
8973                                {
8974                                  "type": "VariableDeclarator",
8975                                  "id": {
8976                                    "type": "Identifier",
8977                                    "name": "i",
8978                                    "decorators": [],
8979                                    "loc": {
8980                                      "start": {
8981                                        "line": 105,
8982                                        "column": 22
8983                                      },
8984                                      "end": {
8985                                        "line": 105,
8986                                        "column": 23
8987                                      }
8988                                    }
8989                                  },
8990                                  "init": {
8991                                    "type": "NumberLiteral",
8992                                    "value": 0,
8993                                    "loc": {
8994                                      "start": {
8995                                        "line": 105,
8996                                        "column": 26
8997                                      },
8998                                      "end": {
8999                                        "line": 105,
9000                                        "column": 27
9001                                      }
9002                                    }
9003                                  },
9004                                  "loc": {
9005                                    "start": {
9006                                      "line": 105,
9007                                      "column": 22
9008                                    },
9009                                    "end": {
9010                                      "line": 105,
9011                                      "column": 27
9012                                    }
9013                                  }
9014                                }
9015                              ],
9016                              "kind": "let",
9017                              "loc": {
9018                                "start": {
9019                                  "line": 105,
9020                                  "column": 18
9021                                },
9022                                "end": {
9023                                  "line": 105,
9024                                  "column": 27
9025                                }
9026                              }
9027                            },
9028                            "test": {
9029                              "type": "BinaryExpression",
9030                              "operator": "<",
9031                              "left": {
9032                                "type": "Identifier",
9033                                "name": "i",
9034                                "decorators": [],
9035                                "loc": {
9036                                  "start": {
9037                                    "line": 105,
9038                                    "column": 29
9039                                  },
9040                                  "end": {
9041                                    "line": 105,
9042                                    "column": 30
9043                                  }
9044                                }
9045                              },
9046                              "right": {
9047                                "type": "MemberExpression",
9048                                "object": {
9049                                  "type": "ThisExpression",
9050                                  "loc": {
9051                                    "start": {
9052                                      "line": 105,
9053                                      "column": 33
9054                                    },
9055                                    "end": {
9056                                      "line": 105,
9057                                      "column": 37
9058                                    }
9059                                  }
9060                                },
9061                                "property": {
9062                                  "type": "Identifier",
9063                                  "name": "curSize",
9064                                  "decorators": [],
9065                                  "loc": {
9066                                    "start": {
9067                                      "line": 105,
9068                                      "column": 38
9069                                    },
9070                                    "end": {
9071                                      "line": 105,
9072                                      "column": 45
9073                                    }
9074                                  }
9075                                },
9076                                "computed": false,
9077                                "optional": false,
9078                                "loc": {
9079                                  "start": {
9080                                    "line": 105,
9081                                    "column": 33
9082                                  },
9083                                  "end": {
9084                                    "line": 105,
9085                                    "column": 45
9086                                  }
9087                                }
9088                              },
9089                              "loc": {
9090                                "start": {
9091                                  "line": 105,
9092                                  "column": 29
9093                                },
9094                                "end": {
9095                                  "line": 105,
9096                                  "column": 45
9097                                }
9098                              }
9099                            },
9100                            "update": {
9101                              "type": "UpdateExpression",
9102                              "operator": "++",
9103                              "prefix": true,
9104                              "argument": {
9105                                "type": "Identifier",
9106                                "name": "i",
9107                                "decorators": [],
9108                                "loc": {
9109                                  "start": {
9110                                    "line": 105,
9111                                    "column": 49
9112                                  },
9113                                  "end": {
9114                                    "line": 105,
9115                                    "column": 50
9116                                  }
9117                                }
9118                              },
9119                              "loc": {
9120                                "start": {
9121                                  "line": 105,
9122                                  "column": 47
9123                                },
9124                                "end": {
9125                                  "line": 105,
9126                                  "column": 50
9127                                }
9128                              }
9129                            },
9130                            "body": {
9131                              "type": "BlockStatement",
9132                              "statements": [
9133                                {
9134                                  "type": "ExpressionStatement",
9135                                  "expression": {
9136                                    "type": "AssignmentExpression",
9137                                    "operator": "=",
9138                                    "left": {
9139                                      "type": "MemberExpression",
9140                                      "object": {
9141                                        "type": "Identifier",
9142                                        "name": "newData",
9143                                        "decorators": [],
9144                                        "loc": {
9145                                          "start": {
9146                                            "line": 106,
9147                                            "column": 17
9148                                          },
9149                                          "end": {
9150                                            "line": 106,
9151                                            "column": 24
9152                                          }
9153                                        }
9154                                      },
9155                                      "property": {
9156                                        "type": "Identifier",
9157                                        "name": "i",
9158                                        "decorators": [],
9159                                        "loc": {
9160                                          "start": {
9161                                            "line": 106,
9162                                            "column": 25
9163                                          },
9164                                          "end": {
9165                                            "line": 106,
9166                                            "column": 26
9167                                          }
9168                                        }
9169                                      },
9170                                      "computed": true,
9171                                      "optional": false,
9172                                      "loc": {
9173                                        "start": {
9174                                          "line": 106,
9175                                          "column": 17
9176                                        },
9177                                        "end": {
9178                                          "line": 106,
9179                                          "column": 27
9180                                        }
9181                                      }
9182                                    },
9183                                    "right": {
9184                                      "type": "MemberExpression",
9185                                      "object": {
9186                                        "type": "MemberExpression",
9187                                        "object": {
9188                                          "type": "ThisExpression",
9189                                          "loc": {
9190                                            "start": {
9191                                              "line": 106,
9192                                              "column": 30
9193                                            },
9194                                            "end": {
9195                                              "line": 106,
9196                                              "column": 34
9197                                            }
9198                                          }
9199                                        },
9200                                        "property": {
9201                                          "type": "Identifier",
9202                                          "name": "data",
9203                                          "decorators": [],
9204                                          "loc": {
9205                                            "start": {
9206                                              "line": 106,
9207                                              "column": 35
9208                                            },
9209                                            "end": {
9210                                              "line": 106,
9211                                              "column": 39
9212                                            }
9213                                          }
9214                                        },
9215                                        "computed": false,
9216                                        "optional": false,
9217                                        "loc": {
9218                                          "start": {
9219                                            "line": 106,
9220                                            "column": 30
9221                                          },
9222                                          "end": {
9223                                            "line": 106,
9224                                            "column": 39
9225                                          }
9226                                        }
9227                                      },
9228                                      "property": {
9229                                        "type": "Identifier",
9230                                        "name": "i",
9231                                        "decorators": [],
9232                                        "loc": {
9233                                          "start": {
9234                                            "line": 106,
9235                                            "column": 40
9236                                          },
9237                                          "end": {
9238                                            "line": 106,
9239                                            "column": 41
9240                                          }
9241                                        }
9242                                      },
9243                                      "computed": true,
9244                                      "optional": false,
9245                                      "loc": {
9246                                        "start": {
9247                                          "line": 106,
9248                                          "column": 30
9249                                        },
9250                                        "end": {
9251                                          "line": 106,
9252                                          "column": 42
9253                                        }
9254                                      }
9255                                    },
9256                                    "loc": {
9257                                      "start": {
9258                                        "line": 106,
9259                                        "column": 17
9260                                      },
9261                                      "end": {
9262                                        "line": 106,
9263                                        "column": 42
9264                                      }
9265                                    }
9266                                  },
9267                                  "loc": {
9268                                    "start": {
9269                                      "line": 106,
9270                                      "column": 17
9271                                    },
9272                                    "end": {
9273                                      "line": 106,
9274                                      "column": 43
9275                                    }
9276                                  }
9277                                }
9278                              ],
9279                              "loc": {
9280                                "start": {
9281                                  "line": 105,
9282                                  "column": 52
9283                                },
9284                                "end": {
9285                                  "line": 107,
9286                                  "column": 14
9287                                }
9288                              }
9289                            },
9290                            "loc": {
9291                              "start": {
9292                                "line": 105,
9293                                "column": 13
9294                              },
9295                              "end": {
9296                                "line": 107,
9297                                "column": 14
9298                              }
9299                            }
9300                          },
9301                          {
9302                            "type": "ExpressionStatement",
9303                            "expression": {
9304                              "type": "AssignmentExpression",
9305                              "operator": "=",
9306                              "left": {
9307                                "type": "MemberExpression",
9308                                "object": {
9309                                  "type": "ThisExpression",
9310                                  "loc": {
9311                                    "start": {
9312                                      "line": 108,
9313                                      "column": 13
9314                                    },
9315                                    "end": {
9316                                      "line": 108,
9317                                      "column": 17
9318                                    }
9319                                  }
9320                                },
9321                                "property": {
9322                                  "type": "Identifier",
9323                                  "name": "data",
9324                                  "decorators": [],
9325                                  "loc": {
9326                                    "start": {
9327                                      "line": 108,
9328                                      "column": 18
9329                                    },
9330                                    "end": {
9331                                      "line": 108,
9332                                      "column": 22
9333                                    }
9334                                  }
9335                                },
9336                                "computed": false,
9337                                "optional": false,
9338                                "loc": {
9339                                  "start": {
9340                                    "line": 108,
9341                                    "column": 13
9342                                  },
9343                                  "end": {
9344                                    "line": 108,
9345                                    "column": 22
9346                                  }
9347                                }
9348                              },
9349                              "right": {
9350                                "type": "Identifier",
9351                                "name": "newData",
9352                                "decorators": [],
9353                                "loc": {
9354                                  "start": {
9355                                    "line": 108,
9356                                    "column": 25
9357                                  },
9358                                  "end": {
9359                                    "line": 108,
9360                                    "column": 32
9361                                  }
9362                                }
9363                              },
9364                              "loc": {
9365                                "start": {
9366                                  "line": 108,
9367                                  "column": 13
9368                                },
9369                                "end": {
9370                                  "line": 108,
9371                                  "column": 32
9372                                }
9373                              }
9374                            },
9375                            "loc": {
9376                              "start": {
9377                                "line": 108,
9378                                "column": 13
9379                              },
9380                              "end": {
9381                                "line": 108,
9382                                "column": 33
9383                              }
9384                            }
9385                          }
9386                        ],
9387                        "loc": {
9388                          "start": {
9389                            "line": 103,
9390                            "column": 47
9391                          },
9392                          "end": {
9393                            "line": 109,
9394                            "column": 10
9395                          }
9396                        }
9397                      },
9398                      "alternate": null,
9399                      "loc": {
9400                        "start": {
9401                          "line": 103,
9402                          "column": 9
9403                        },
9404                        "end": {
9405                          "line": 109,
9406                          "column": 10
9407                        }
9408                      }
9409                    },
9410                    {
9411                      "type": "ExpressionStatement",
9412                      "expression": {
9413                        "type": "AssignmentExpression",
9414                        "operator": "=",
9415                        "left": {
9416                          "type": "MemberExpression",
9417                          "object": {
9418                            "type": "MemberExpression",
9419                            "object": {
9420                              "type": "ThisExpression",
9421                              "loc": {
9422                                "start": {
9423                                  "line": 110,
9424                                  "column": 9
9425                                },
9426                                "end": {
9427                                  "line": 110,
9428                                  "column": 13
9429                                }
9430                              }
9431                            },
9432                            "property": {
9433                              "type": "Identifier",
9434                              "name": "data",
9435                              "decorators": [],
9436                              "loc": {
9437                                "start": {
9438                                  "line": 110,
9439                                  "column": 14
9440                                },
9441                                "end": {
9442                                  "line": 110,
9443                                  "column": 18
9444                                }
9445                              }
9446                            },
9447                            "computed": false,
9448                            "optional": false,
9449                            "loc": {
9450                              "start": {
9451                                "line": 110,
9452                                "column": 9
9453                              },
9454                              "end": {
9455                                "line": 110,
9456                                "column": 18
9457                              }
9458                            }
9459                          },
9460                          "property": {
9461                            "type": "MemberExpression",
9462                            "object": {
9463                              "type": "ThisExpression",
9464                              "loc": {
9465                                "start": {
9466                                  "line": 110,
9467                                  "column": 19
9468                                },
9469                                "end": {
9470                                  "line": 110,
9471                                  "column": 23
9472                                }
9473                              }
9474                            },
9475                            "property": {
9476                              "type": "Identifier",
9477                              "name": "curSize",
9478                              "decorators": [],
9479                              "loc": {
9480                                "start": {
9481                                  "line": 110,
9482                                  "column": 24
9483                                },
9484                                "end": {
9485                                  "line": 110,
9486                                  "column": 31
9487                                }
9488                              }
9489                            },
9490                            "computed": false,
9491                            "optional": false,
9492                            "loc": {
9493                              "start": {
9494                                "line": 110,
9495                                "column": 19
9496                              },
9497                              "end": {
9498                                "line": 110,
9499                                "column": 31
9500                              }
9501                            }
9502                          },
9503                          "computed": true,
9504                          "optional": false,
9505                          "loc": {
9506                            "start": {
9507                              "line": 110,
9508                              "column": 9
9509                            },
9510                            "end": {
9511                              "line": 110,
9512                              "column": 32
9513                            }
9514                          }
9515                        },
9516                        "right": {
9517                          "type": "Identifier",
9518                          "name": "e",
9519                          "decorators": [],
9520                          "loc": {
9521                            "start": {
9522                              "line": 110,
9523                              "column": 35
9524                            },
9525                            "end": {
9526                              "line": 110,
9527                              "column": 36
9528                            }
9529                          }
9530                        },
9531                        "loc": {
9532                          "start": {
9533                            "line": 110,
9534                            "column": 9
9535                          },
9536                          "end": {
9537                            "line": 110,
9538                            "column": 36
9539                          }
9540                        }
9541                      },
9542                      "loc": {
9543                        "start": {
9544                          "line": 110,
9545                          "column": 9
9546                        },
9547                        "end": {
9548                          "line": 110,
9549                          "column": 37
9550                        }
9551                      }
9552                    },
9553                    {
9554                      "type": "ExpressionStatement",
9555                      "expression": {
9556                        "type": "UpdateExpression",
9557                        "operator": "++",
9558                        "prefix": true,
9559                        "argument": {
9560                          "type": "MemberExpression",
9561                          "object": {
9562                            "type": "ThisExpression",
9563                            "loc": {
9564                              "start": {
9565                                "line": 111,
9566                                "column": 11
9567                              },
9568                              "end": {
9569                                "line": 111,
9570                                "column": 15
9571                              }
9572                            }
9573                          },
9574                          "property": {
9575                            "type": "Identifier",
9576                            "name": "curSize",
9577                            "decorators": [],
9578                            "loc": {
9579                              "start": {
9580                                "line": 111,
9581                                "column": 16
9582                              },
9583                              "end": {
9584                                "line": 111,
9585                                "column": 23
9586                              }
9587                            }
9588                          },
9589                          "computed": false,
9590                          "optional": false,
9591                          "loc": {
9592                            "start": {
9593                              "line": 111,
9594                              "column": 11
9595                            },
9596                            "end": {
9597                              "line": 111,
9598                              "column": 23
9599                            }
9600                          }
9601                        },
9602                        "loc": {
9603                          "start": {
9604                            "line": 111,
9605                            "column": 9
9606                          },
9607                          "end": {
9608                            "line": 111,
9609                            "column": 23
9610                          }
9611                        }
9612                      },
9613                      "loc": {
9614                        "start": {
9615                          "line": 111,
9616                          "column": 9
9617                        },
9618                        "end": {
9619                          "line": 111,
9620                          "column": 24
9621                        }
9622                      }
9623                    }
9624                  ],
9625                  "loc": {
9626                    "start": {
9627                      "line": 102,
9628                      "column": 42
9629                    },
9630                    "end": {
9631                      "line": 112,
9632                      "column": 6
9633                    }
9634                  }
9635                },
9636                "loc": {
9637                  "start": {
9638                    "line": 102,
9639                    "column": 29
9640                  },
9641                  "end": {
9642                    "line": 112,
9643                    "column": 6
9644                  }
9645                }
9646              },
9647              "loc": {
9648                "start": {
9649                  "line": 102,
9650                  "column": 29
9651                },
9652                "end": {
9653                  "line": 112,
9654                  "column": 6
9655                }
9656              }
9657            },
9658            "overloads": [],
9659            "decorators": [],
9660            "loc": {
9661              "start": {
9662                "line": 102,
9663                "column": 5
9664              },
9665              "end": {
9666                "line": 112,
9667                "column": 6
9668              }
9669            }
9670          },
9671          {
9672            "type": "MethodDefinition",
9673            "key": {
9674              "type": "Identifier",
9675              "name": "popBack",
9676              "decorators": [],
9677              "loc": {
9678                "start": {
9679                  "line": 114,
9680                  "column": 21
9681                },
9682                "end": {
9683                  "line": 114,
9684                  "column": 28
9685                }
9686              }
9687            },
9688            "kind": "method",
9689            "accessibility": "public",
9690            "static": false,
9691            "optional": false,
9692            "computed": false,
9693            "value": {
9694              "type": "FunctionExpression",
9695              "function": {
9696                "type": "ScriptFunction",
9697                "id": {
9698                  "type": "Identifier",
9699                  "name": "popBack",
9700                  "decorators": [],
9701                  "loc": {
9702                    "start": {
9703                      "line": 114,
9704                      "column": 21
9705                    },
9706                    "end": {
9707                      "line": 114,
9708                      "column": 28
9709                    }
9710                  }
9711                },
9712                "generator": false,
9713                "async": false,
9714                "expression": false,
9715                "params": [],
9716                "returnType": {
9717                  "type": "ETSTypeReference",
9718                  "part": {
9719                    "type": "ETSTypeReferencePart",
9720                    "name": {
9721                      "type": "Identifier",
9722                      "name": "T",
9723                      "decorators": [],
9724                      "loc": {
9725                        "start": {
9726                          "line": 114,
9727                          "column": 32
9728                        },
9729                        "end": {
9730                          "line": 114,
9731                          "column": 33
9732                        }
9733                      }
9734                    },
9735                    "loc": {
9736                      "start": {
9737                        "line": 114,
9738                        "column": 32
9739                      },
9740                      "end": {
9741                        "line": 114,
9742                        "column": 35
9743                      }
9744                    }
9745                  },
9746                  "loc": {
9747                    "start": {
9748                      "line": 114,
9749                      "column": 32
9750                    },
9751                    "end": {
9752                      "line": 114,
9753                      "column": 35
9754                    }
9755                  }
9756                },
9757                "body": {
9758                  "type": "BlockStatement",
9759                  "statements": [
9760                    {
9761                      "type": "AssertStatement",
9762                      "test": {
9763                        "type": "BinaryExpression",
9764                        "operator": ">",
9765                        "left": {
9766                          "type": "MemberExpression",
9767                          "object": {
9768                            "type": "ThisExpression",
9769                            "loc": {
9770                              "start": {
9771                                "line": 115,
9772                                "column": 17
9773                              },
9774                              "end": {
9775                                "line": 115,
9776                                "column": 21
9777                              }
9778                            }
9779                          },
9780                          "property": {
9781                            "type": "Identifier",
9782                            "name": "curSize",
9783                            "decorators": [],
9784                            "loc": {
9785                              "start": {
9786                                "line": 115,
9787                                "column": 22
9788                              },
9789                              "end": {
9790                                "line": 115,
9791                                "column": 29
9792                              }
9793                            }
9794                          },
9795                          "computed": false,
9796                          "optional": false,
9797                          "loc": {
9798                            "start": {
9799                              "line": 115,
9800                              "column": 17
9801                            },
9802                            "end": {
9803                              "line": 115,
9804                              "column": 29
9805                            }
9806                          }
9807                        },
9808                        "right": {
9809                          "type": "NumberLiteral",
9810                          "value": 0,
9811                          "loc": {
9812                            "start": {
9813                              "line": 115,
9814                              "column": 32
9815                            },
9816                            "end": {
9817                              "line": 115,
9818                              "column": 33
9819                            }
9820                          }
9821                        },
9822                        "loc": {
9823                          "start": {
9824                            "line": 115,
9825                            "column": 16
9826                          },
9827                          "end": {
9828                            "line": 115,
9829                            "column": 34
9830                          }
9831                        }
9832                      },
9833                      "second": {
9834                        "type": "StringLiteral",
9835                        "value": "No data to popBack in ArrayAsList!",
9836                        "loc": {
9837                          "start": {
9838                            "line": 115,
9839                            "column": 36
9840                          },
9841                          "end": {
9842                            "line": 115,
9843                            "column": 72
9844                          }
9845                        }
9846                      },
9847                      "loc": {
9848                        "start": {
9849                          "line": 115,
9850                          "column": 9
9851                        },
9852                        "end": {
9853                          "line": 115,
9854                          "column": 72
9855                        }
9856                      }
9857                    },
9858                    {
9859                      "type": "ExpressionStatement",
9860                      "expression": {
9861                        "type": "UpdateExpression",
9862                        "operator": "--",
9863                        "prefix": true,
9864                        "argument": {
9865                          "type": "MemberExpression",
9866                          "object": {
9867                            "type": "ThisExpression",
9868                            "loc": {
9869                              "start": {
9870                                "line": 116,
9871                                "column": 11
9872                              },
9873                              "end": {
9874                                "line": 116,
9875                                "column": 15
9876                              }
9877                            }
9878                          },
9879                          "property": {
9880                            "type": "Identifier",
9881                            "name": "curSize",
9882                            "decorators": [],
9883                            "loc": {
9884                              "start": {
9885                                "line": 116,
9886                                "column": 16
9887                              },
9888                              "end": {
9889                                "line": 116,
9890                                "column": 23
9891                              }
9892                            }
9893                          },
9894                          "computed": false,
9895                          "optional": false,
9896                          "loc": {
9897                            "start": {
9898                              "line": 116,
9899                              "column": 11
9900                            },
9901                            "end": {
9902                              "line": 116,
9903                              "column": 23
9904                            }
9905                          }
9906                        },
9907                        "loc": {
9908                          "start": {
9909                            "line": 116,
9910                            "column": 9
9911                          },
9912                          "end": {
9913                            "line": 116,
9914                            "column": 23
9915                          }
9916                        }
9917                      },
9918                      "loc": {
9919                        "start": {
9920                          "line": 116,
9921                          "column": 9
9922                        },
9923                        "end": {
9924                          "line": 116,
9925                          "column": 24
9926                        }
9927                      }
9928                    },
9929                    {
9930                      "type": "ReturnStatement",
9931                      "argument": {
9932                        "type": "MemberExpression",
9933                        "object": {
9934                          "type": "MemberExpression",
9935                          "object": {
9936                            "type": "ThisExpression",
9937                            "loc": {
9938                              "start": {
9939                                "line": 117,
9940                                "column": 16
9941                              },
9942                              "end": {
9943                                "line": 117,
9944                                "column": 20
9945                              }
9946                            }
9947                          },
9948                          "property": {
9949                            "type": "Identifier",
9950                            "name": "data",
9951                            "decorators": [],
9952                            "loc": {
9953                              "start": {
9954                                "line": 117,
9955                                "column": 21
9956                              },
9957                              "end": {
9958                                "line": 117,
9959                                "column": 25
9960                              }
9961                            }
9962                          },
9963                          "computed": false,
9964                          "optional": false,
9965                          "loc": {
9966                            "start": {
9967                              "line": 117,
9968                              "column": 16
9969                            },
9970                            "end": {
9971                              "line": 117,
9972                              "column": 25
9973                            }
9974                          }
9975                        },
9976                        "property": {
9977                          "type": "MemberExpression",
9978                          "object": {
9979                            "type": "ThisExpression",
9980                            "loc": {
9981                              "start": {
9982                                "line": 117,
9983                                "column": 26
9984                              },
9985                              "end": {
9986                                "line": 117,
9987                                "column": 30
9988                              }
9989                            }
9990                          },
9991                          "property": {
9992                            "type": "Identifier",
9993                            "name": "curSize",
9994                            "decorators": [],
9995                            "loc": {
9996                              "start": {
9997                                "line": 117,
9998                                "column": 31
9999                              },
10000                              "end": {
10001                                "line": 117,
10002                                "column": 38
10003                              }
10004                            }
10005                          },
10006                          "computed": false,
10007                          "optional": false,
10008                          "loc": {
10009                            "start": {
10010                              "line": 117,
10011                              "column": 26
10012                            },
10013                            "end": {
10014                              "line": 117,
10015                              "column": 38
10016                            }
10017                          }
10018                        },
10019                        "computed": true,
10020                        "optional": false,
10021                        "loc": {
10022                          "start": {
10023                            "line": 117,
10024                            "column": 16
10025                          },
10026                          "end": {
10027                            "line": 117,
10028                            "column": 39
10029                          }
10030                        }
10031                      },
10032                      "loc": {
10033                        "start": {
10034                          "line": 117,
10035                          "column": 9
10036                        },
10037                        "end": {
10038                          "line": 117,
10039                          "column": 40
10040                        }
10041                      }
10042                    }
10043                  ],
10044                  "loc": {
10045                    "start": {
10046                      "line": 114,
10047                      "column": 34
10048                    },
10049                    "end": {
10050                      "line": 118,
10051                      "column": 6
10052                    }
10053                  }
10054                },
10055                "loc": {
10056                  "start": {
10057                    "line": 114,
10058                    "column": 28
10059                  },
10060                  "end": {
10061                    "line": 118,
10062                    "column": 6
10063                  }
10064                }
10065              },
10066              "loc": {
10067                "start": {
10068                  "line": 114,
10069                  "column": 28
10070                },
10071                "end": {
10072                  "line": 118,
10073                  "column": 6
10074                }
10075              }
10076            },
10077            "overloads": [],
10078            "decorators": [],
10079            "loc": {
10080              "start": {
10081                "line": 114,
10082                "column": 5
10083              },
10084              "end": {
10085                "line": 118,
10086                "column": 6
10087              }
10088            }
10089          },
10090          {
10091            "type": "MethodDefinition",
10092            "key": {
10093              "type": "Identifier",
10094              "name": "size",
10095              "decorators": [],
10096              "loc": {
10097                "start": {
10098                  "line": 120,
10099                  "column": 21
10100                },
10101                "end": {
10102                  "line": 120,
10103                  "column": 25
10104                }
10105              }
10106            },
10107            "kind": "method",
10108            "accessibility": "public",
10109            "static": false,
10110            "optional": false,
10111            "computed": false,
10112            "value": {
10113              "type": "FunctionExpression",
10114              "function": {
10115                "type": "ScriptFunction",
10116                "id": {
10117                  "type": "Identifier",
10118                  "name": "size",
10119                  "decorators": [],
10120                  "loc": {
10121                    "start": {
10122                      "line": 120,
10123                      "column": 21
10124                    },
10125                    "end": {
10126                      "line": 120,
10127                      "column": 25
10128                    }
10129                  }
10130                },
10131                "generator": false,
10132                "async": false,
10133                "expression": false,
10134                "params": [],
10135                "returnType": {
10136                  "type": "ETSPrimitiveType",
10137                  "loc": {
10138                    "start": {
10139                      "line": 120,
10140                      "column": 29
10141                    },
10142                    "end": {
10143                      "line": 120,
10144                      "column": 32
10145                    }
10146                  }
10147                },
10148                "body": {
10149                  "type": "BlockStatement",
10150                  "statements": [
10151                    {
10152                      "type": "ReturnStatement",
10153                      "argument": {
10154                        "type": "MemberExpression",
10155                        "object": {
10156                          "type": "ThisExpression",
10157                          "loc": {
10158                            "start": {
10159                              "line": 121,
10160                              "column": 16
10161                            },
10162                            "end": {
10163                              "line": 121,
10164                              "column": 20
10165                            }
10166                          }
10167                        },
10168                        "property": {
10169                          "type": "Identifier",
10170                          "name": "curSize",
10171                          "decorators": [],
10172                          "loc": {
10173                            "start": {
10174                              "line": 121,
10175                              "column": 21
10176                            },
10177                            "end": {
10178                              "line": 121,
10179                              "column": 28
10180                            }
10181                          }
10182                        },
10183                        "computed": false,
10184                        "optional": false,
10185                        "loc": {
10186                          "start": {
10187                            "line": 121,
10188                            "column": 16
10189                          },
10190                          "end": {
10191                            "line": 121,
10192                            "column": 28
10193                          }
10194                        }
10195                      },
10196                      "loc": {
10197                        "start": {
10198                          "line": 121,
10199                          "column": 9
10200                        },
10201                        "end": {
10202                          "line": 121,
10203                          "column": 29
10204                        }
10205                      }
10206                    }
10207                  ],
10208                  "loc": {
10209                    "start": {
10210                      "line": 120,
10211                      "column": 33
10212                    },
10213                    "end": {
10214                      "line": 122,
10215                      "column": 6
10216                    }
10217                  }
10218                },
10219                "loc": {
10220                  "start": {
10221                    "line": 120,
10222                    "column": 25
10223                  },
10224                  "end": {
10225                    "line": 122,
10226                    "column": 6
10227                  }
10228                }
10229              },
10230              "loc": {
10231                "start": {
10232                  "line": 120,
10233                  "column": 25
10234                },
10235                "end": {
10236                  "line": 122,
10237                  "column": 6
10238                }
10239              }
10240            },
10241            "overloads": [],
10242            "decorators": [],
10243            "loc": {
10244              "start": {
10245                "line": 120,
10246                "column": 5
10247              },
10248              "end": {
10249                "line": 122,
10250                "column": 6
10251              }
10252            }
10253          },
10254          {
10255            "type": "MethodDefinition",
10256            "key": {
10257              "type": "Identifier",
10258              "name": "at",
10259              "decorators": [],
10260              "loc": {
10261                "start": {
10262                  "line": 124,
10263                  "column": 21
10264                },
10265                "end": {
10266                  "line": 124,
10267                  "column": 23
10268                }
10269              }
10270            },
10271            "kind": "method",
10272            "accessibility": "public",
10273            "static": false,
10274            "optional": false,
10275            "computed": false,
10276            "value": {
10277              "type": "FunctionExpression",
10278              "function": {
10279                "type": "ScriptFunction",
10280                "id": {
10281                  "type": "Identifier",
10282                  "name": "at",
10283                  "decorators": [],
10284                  "loc": {
10285                    "start": {
10286                      "line": 124,
10287                      "column": 21
10288                    },
10289                    "end": {
10290                      "line": 124,
10291                      "column": 23
10292                    }
10293                  }
10294                },
10295                "generator": false,
10296                "async": false,
10297                "expression": false,
10298                "params": [
10299                  {
10300                    "type": "ETSParameterExpression",
10301                    "name": {
10302                      "type": "Identifier",
10303                      "name": "index",
10304                      "typeAnnotation": {
10305                        "type": "ETSPrimitiveType",
10306                        "loc": {
10307                          "start": {
10308                            "line": 124,
10309                            "column": 31
10310                          },
10311                          "end": {
10312                            "line": 124,
10313                            "column": 34
10314                          }
10315                        }
10316                      },
10317                      "decorators": [],
10318                      "loc": {
10319                        "start": {
10320                          "line": 124,
10321                          "column": 24
10322                        },
10323                        "end": {
10324                          "line": 124,
10325                          "column": 34
10326                        }
10327                      }
10328                    },
10329                    "loc": {
10330                      "start": {
10331                        "line": 124,
10332                        "column": 24
10333                      },
10334                      "end": {
10335                        "line": 124,
10336                        "column": 34
10337                      }
10338                    }
10339                  }
10340                ],
10341                "returnType": {
10342                  "type": "ETSTypeReference",
10343                  "part": {
10344                    "type": "ETSTypeReferencePart",
10345                    "name": {
10346                      "type": "Identifier",
10347                      "name": "T",
10348                      "decorators": [],
10349                      "loc": {
10350                        "start": {
10351                          "line": 124,
10352                          "column": 37
10353                        },
10354                        "end": {
10355                          "line": 124,
10356                          "column": 38
10357                        }
10358                      }
10359                    },
10360                    "loc": {
10361                      "start": {
10362                        "line": 124,
10363                        "column": 37
10364                      },
10365                      "end": {
10366                        "line": 124,
10367                        "column": 40
10368                      }
10369                    }
10370                  },
10371                  "loc": {
10372                    "start": {
10373                      "line": 124,
10374                      "column": 37
10375                    },
10376                    "end": {
10377                      "line": 124,
10378                      "column": 40
10379                    }
10380                  }
10381                },
10382                "body": {
10383                  "type": "BlockStatement",
10384                  "statements": [
10385                    {
10386                      "type": "ReturnStatement",
10387                      "argument": {
10388                        "type": "MemberExpression",
10389                        "object": {
10390                          "type": "MemberExpression",
10391                          "object": {
10392                            "type": "ThisExpression",
10393                            "loc": {
10394                              "start": {
10395                                "line": 125,
10396                                "column": 16
10397                              },
10398                              "end": {
10399                                "line": 125,
10400                                "column": 20
10401                              }
10402                            }
10403                          },
10404                          "property": {
10405                            "type": "Identifier",
10406                            "name": "data",
10407                            "decorators": [],
10408                            "loc": {
10409                              "start": {
10410                                "line": 125,
10411                                "column": 21
10412                              },
10413                              "end": {
10414                                "line": 125,
10415                                "column": 25
10416                              }
10417                            }
10418                          },
10419                          "computed": false,
10420                          "optional": false,
10421                          "loc": {
10422                            "start": {
10423                              "line": 125,
10424                              "column": 16
10425                            },
10426                            "end": {
10427                              "line": 125,
10428                              "column": 25
10429                            }
10430                          }
10431                        },
10432                        "property": {
10433                          "type": "Identifier",
10434                          "name": "index",
10435                          "decorators": [],
10436                          "loc": {
10437                            "start": {
10438                              "line": 125,
10439                              "column": 26
10440                            },
10441                            "end": {
10442                              "line": 125,
10443                              "column": 31
10444                            }
10445                          }
10446                        },
10447                        "computed": true,
10448                        "optional": false,
10449                        "loc": {
10450                          "start": {
10451                            "line": 125,
10452                            "column": 16
10453                          },
10454                          "end": {
10455                            "line": 125,
10456                            "column": 32
10457                          }
10458                        }
10459                      },
10460                      "loc": {
10461                        "start": {
10462                          "line": 125,
10463                          "column": 9
10464                        },
10465                        "end": {
10466                          "line": 125,
10467                          "column": 33
10468                        }
10469                      }
10470                    }
10471                  ],
10472                  "loc": {
10473                    "start": {
10474                      "line": 124,
10475                      "column": 39
10476                    },
10477                    "end": {
10478                      "line": 126,
10479                      "column": 6
10480                    }
10481                  }
10482                },
10483                "loc": {
10484                  "start": {
10485                    "line": 124,
10486                    "column": 23
10487                  },
10488                  "end": {
10489                    "line": 126,
10490                    "column": 6
10491                  }
10492                }
10493              },
10494              "loc": {
10495                "start": {
10496                  "line": 124,
10497                  "column": 23
10498                },
10499                "end": {
10500                  "line": 126,
10501                  "column": 6
10502                }
10503              }
10504            },
10505            "overloads": [],
10506            "decorators": [],
10507            "loc": {
10508              "start": {
10509                "line": 124,
10510                "column": 5
10511              },
10512              "end": {
10513                "line": 126,
10514                "column": 6
10515              }
10516            }
10517          },
10518          {
10519            "type": "MethodDefinition",
10520            "key": {
10521              "type": "Identifier",
10522              "name": "has",
10523              "decorators": [],
10524              "loc": {
10525                "start": {
10526                  "line": 128,
10527                  "column": 21
10528                },
10529                "end": {
10530                  "line": 128,
10531                  "column": 24
10532                }
10533              }
10534            },
10535            "kind": "method",
10536            "accessibility": "public",
10537            "static": false,
10538            "optional": false,
10539            "computed": false,
10540            "value": {
10541              "type": "FunctionExpression",
10542              "function": {
10543                "type": "ScriptFunction",
10544                "id": {
10545                  "type": "Identifier",
10546                  "name": "has",
10547                  "decorators": [],
10548                  "loc": {
10549                    "start": {
10550                      "line": 128,
10551                      "column": 21
10552                    },
10553                    "end": {
10554                      "line": 128,
10555                      "column": 24
10556                    }
10557                  }
10558                },
10559                "generator": false,
10560                "async": false,
10561                "expression": false,
10562                "params": [
10563                  {
10564                    "type": "ETSParameterExpression",
10565                    "name": {
10566                      "type": "Identifier",
10567                      "name": "e",
10568                      "typeAnnotation": {
10569                        "type": "ETSTypeReference",
10570                        "part": {
10571                          "type": "ETSTypeReferencePart",
10572                          "name": {
10573                            "type": "Identifier",
10574                            "name": "T",
10575                            "decorators": [],
10576                            "loc": {
10577                              "start": {
10578                                "line": 128,
10579                                "column": 28
10580                              },
10581                              "end": {
10582                                "line": 128,
10583                                "column": 29
10584                              }
10585                            }
10586                          },
10587                          "loc": {
10588                            "start": {
10589                              "line": 128,
10590                              "column": 28
10591                            },
10592                            "end": {
10593                              "line": 128,
10594                              "column": 30
10595                            }
10596                          }
10597                        },
10598                        "loc": {
10599                          "start": {
10600                            "line": 128,
10601                            "column": 28
10602                          },
10603                          "end": {
10604                            "line": 128,
10605                            "column": 30
10606                          }
10607                        }
10608                      },
10609                      "decorators": [],
10610                      "loc": {
10611                        "start": {
10612                          "line": 128,
10613                          "column": 25
10614                        },
10615                        "end": {
10616                          "line": 128,
10617                          "column": 30
10618                        }
10619                      }
10620                    },
10621                    "loc": {
10622                      "start": {
10623                        "line": 128,
10624                        "column": 25
10625                      },
10626                      "end": {
10627                        "line": 128,
10628                        "column": 30
10629                      }
10630                    }
10631                  }
10632                ],
10633                "returnType": {
10634                  "type": "ETSPrimitiveType",
10635                  "loc": {
10636                    "start": {
10637                      "line": 128,
10638                      "column": 32
10639                    },
10640                    "end": {
10641                      "line": 128,
10642                      "column": 39
10643                    }
10644                  }
10645                },
10646                "body": {
10647                  "type": "BlockStatement",
10648                  "statements": [
10649                    {
10650                      "type": "AssertStatement",
10651                      "test": {
10652                        "type": "BooleanLiteral",
10653                        "value": false,
10654                        "loc": {
10655                          "start": {
10656                            "line": 129,
10657                            "column": 16
10658                          },
10659                          "end": {
10660                            "line": 129,
10661                            "column": 21
10662                          }
10663                        }
10664                      },
10665                      "second": {
10666                        "type": "StringLiteral",
10667                        "value": "Not implemented: internal issue with calling equals",
10668                        "loc": {
10669                          "start": {
10670                            "line": 129,
10671                            "column": 23
10672                          },
10673                          "end": {
10674                            "line": 129,
10675                            "column": 76
10676                          }
10677                        }
10678                      },
10679                      "loc": {
10680                        "start": {
10681                          "line": 129,
10682                          "column": 9
10683                        },
10684                        "end": {
10685                          "line": 129,
10686                          "column": 77
10687                        }
10688                      }
10689                    },
10690                    {
10691                      "type": "ForUpdateStatement",
10692                      "init": {
10693                        "type": "VariableDeclaration",
10694                        "declarations": [
10695                          {
10696                            "type": "VariableDeclarator",
10697                            "id": {
10698                              "type": "Identifier",
10699                              "name": "i",
10700                              "decorators": [],
10701                              "loc": {
10702                                "start": {
10703                                  "line": 131,
10704                                  "column": 18
10705                                },
10706                                "end": {
10707                                  "line": 131,
10708                                  "column": 19
10709                                }
10710                              }
10711                            },
10712                            "init": {
10713                              "type": "NumberLiteral",
10714                              "value": 0,
10715                              "loc": {
10716                                "start": {
10717                                  "line": 131,
10718                                  "column": 22
10719                                },
10720                                "end": {
10721                                  "line": 131,
10722                                  "column": 23
10723                                }
10724                              }
10725                            },
10726                            "loc": {
10727                              "start": {
10728                                "line": 131,
10729                                "column": 18
10730                              },
10731                              "end": {
10732                                "line": 131,
10733                                "column": 23
10734                              }
10735                            }
10736                          }
10737                        ],
10738                        "kind": "let",
10739                        "loc": {
10740                          "start": {
10741                            "line": 131,
10742                            "column": 14
10743                          },
10744                          "end": {
10745                            "line": 131,
10746                            "column": 23
10747                          }
10748                        }
10749                      },
10750                      "test": {
10751                        "type": "BinaryExpression",
10752                        "operator": "<",
10753                        "left": {
10754                          "type": "Identifier",
10755                          "name": "i",
10756                          "decorators": [],
10757                          "loc": {
10758                            "start": {
10759                              "line": 131,
10760                              "column": 25
10761                            },
10762                            "end": {
10763                              "line": 131,
10764                              "column": 26
10765                            }
10766                          }
10767                        },
10768                        "right": {
10769                          "type": "MemberExpression",
10770                          "object": {
10771                            "type": "ThisExpression",
10772                            "loc": {
10773                              "start": {
10774                                "line": 131,
10775                                "column": 29
10776                              },
10777                              "end": {
10778                                "line": 131,
10779                                "column": 33
10780                              }
10781                            }
10782                          },
10783                          "property": {
10784                            "type": "Identifier",
10785                            "name": "curSize",
10786                            "decorators": [],
10787                            "loc": {
10788                              "start": {
10789                                "line": 131,
10790                                "column": 34
10791                              },
10792                              "end": {
10793                                "line": 131,
10794                                "column": 41
10795                              }
10796                            }
10797                          },
10798                          "computed": false,
10799                          "optional": false,
10800                          "loc": {
10801                            "start": {
10802                              "line": 131,
10803                              "column": 29
10804                            },
10805                            "end": {
10806                              "line": 131,
10807                              "column": 41
10808                            }
10809                          }
10810                        },
10811                        "loc": {
10812                          "start": {
10813                            "line": 131,
10814                            "column": 25
10815                          },
10816                          "end": {
10817                            "line": 131,
10818                            "column": 41
10819                          }
10820                        }
10821                      },
10822                      "update": {
10823                        "type": "UpdateExpression",
10824                        "operator": "++",
10825                        "prefix": true,
10826                        "argument": {
10827                          "type": "Identifier",
10828                          "name": "i",
10829                          "decorators": [],
10830                          "loc": {
10831                            "start": {
10832                              "line": 131,
10833                              "column": 45
10834                            },
10835                            "end": {
10836                              "line": 131,
10837                              "column": 46
10838                            }
10839                          }
10840                        },
10841                        "loc": {
10842                          "start": {
10843                            "line": 131,
10844                            "column": 43
10845                          },
10846                          "end": {
10847                            "line": 131,
10848                            "column": 46
10849                          }
10850                        }
10851                      },
10852                      "body": {
10853                        "type": "BlockStatement",
10854                        "statements": [
10855                          {
10856                            "type": "IfStatement",
10857                            "test": {
10858                              "type": "CallExpression",
10859                              "callee": {
10860                                "type": "Identifier",
10861                                "name": "__runtimeEquals",
10862                                "decorators": [],
10863                                "loc": {
10864                                  "start": {
10865                                    "line": 132,
10866                                    "column": 17
10867                                  },
10868                                  "end": {
10869                                    "line": 132,
10870                                    "column": 32
10871                                  }
10872                                }
10873                              },
10874                              "arguments": [
10875                                {
10876                                  "type": "MemberExpression",
10877                                  "object": {
10878                                    "type": "MemberExpression",
10879                                    "object": {
10880                                      "type": "ThisExpression",
10881                                      "loc": {
10882                                        "start": {
10883                                          "line": 132,
10884                                          "column": 33
10885                                        },
10886                                        "end": {
10887                                          "line": 132,
10888                                          "column": 37
10889                                        }
10890                                      }
10891                                    },
10892                                    "property": {
10893                                      "type": "Identifier",
10894                                      "name": "data",
10895                                      "decorators": [],
10896                                      "loc": {
10897                                        "start": {
10898                                          "line": 132,
10899                                          "column": 38
10900                                        },
10901                                        "end": {
10902                                          "line": 132,
10903                                          "column": 42
10904                                        }
10905                                      }
10906                                    },
10907                                    "computed": false,
10908                                    "optional": false,
10909                                    "loc": {
10910                                      "start": {
10911                                        "line": 132,
10912                                        "column": 33
10913                                      },
10914                                      "end": {
10915                                        "line": 132,
10916                                        "column": 42
10917                                      }
10918                                    }
10919                                  },
10920                                  "property": {
10921                                    "type": "Identifier",
10922                                    "name": "i",
10923                                    "decorators": [],
10924                                    "loc": {
10925                                      "start": {
10926                                        "line": 132,
10927                                        "column": 43
10928                                      },
10929                                      "end": {
10930                                        "line": 132,
10931                                        "column": 44
10932                                      }
10933                                    }
10934                                  },
10935                                  "computed": true,
10936                                  "optional": false,
10937                                  "loc": {
10938                                    "start": {
10939                                      "line": 132,
10940                                      "column": 33
10941                                    },
10942                                    "end": {
10943                                      "line": 132,
10944                                      "column": 45
10945                                    }
10946                                  }
10947                                },
10948                                {
10949                                  "type": "Identifier",
10950                                  "name": "e",
10951                                  "decorators": [],
10952                                  "loc": {
10953                                    "start": {
10954                                      "line": 132,
10955                                      "column": 47
10956                                    },
10957                                    "end": {
10958                                      "line": 132,
10959                                      "column": 48
10960                                    }
10961                                  }
10962                                }
10963                              ],
10964                              "optional": false,
10965                              "loc": {
10966                                "start": {
10967                                  "line": 132,
10968                                  "column": 17
10969                                },
10970                                "end": {
10971                                  "line": 132,
10972                                  "column": 49
10973                                }
10974                              }
10975                            },
10976                            "consequent": {
10977                              "type": "BlockStatement",
10978                              "statements": [
10979                                {
10980                                  "type": "ReturnStatement",
10981                                  "argument": {
10982                                    "type": "BooleanLiteral",
10983                                    "value": true,
10984                                    "loc": {
10985                                      "start": {
10986                                        "line": 133,
10987                                        "column": 24
10988                                      },
10989                                      "end": {
10990                                        "line": 133,
10991                                        "column": 28
10992                                      }
10993                                    }
10994                                  },
10995                                  "loc": {
10996                                    "start": {
10997                                      "line": 133,
10998                                      "column": 17
10999                                    },
11000                                    "end": {
11001                                      "line": 133,
11002                                      "column": 29
11003                                    }
11004                                  }
11005                                }
11006                              ],
11007                              "loc": {
11008                                "start": {
11009                                  "line": 132,
11010                                  "column": 51
11011                                },
11012                                "end": {
11013                                  "line": 134,
11014                                  "column": 14
11015                                }
11016                              }
11017                            },
11018                            "alternate": null,
11019                            "loc": {
11020                              "start": {
11021                                "line": 132,
11022                                "column": 13
11023                              },
11024                              "end": {
11025                                "line": 134,
11026                                "column": 14
11027                              }
11028                            }
11029                          }
11030                        ],
11031                        "loc": {
11032                          "start": {
11033                            "line": 131,
11034                            "column": 48
11035                          },
11036                          "end": {
11037                            "line": 135,
11038                            "column": 10
11039                          }
11040                        }
11041                      },
11042                      "loc": {
11043                        "start": {
11044                          "line": 131,
11045                          "column": 9
11046                        },
11047                        "end": {
11048                          "line": 135,
11049                          "column": 10
11050                        }
11051                      }
11052                    },
11053                    {
11054                      "type": "ReturnStatement",
11055                      "argument": {
11056                        "type": "BooleanLiteral",
11057                        "value": false,
11058                        "loc": {
11059                          "start": {
11060                            "line": 137,
11061                            "column": 16
11062                          },
11063                          "end": {
11064                            "line": 137,
11065                            "column": 21
11066                          }
11067                        }
11068                      },
11069                      "loc": {
11070                        "start": {
11071                          "line": 137,
11072                          "column": 9
11073                        },
11074                        "end": {
11075                          "line": 137,
11076                          "column": 22
11077                        }
11078                      }
11079                    }
11080                  ],
11081                  "loc": {
11082                    "start": {
11083                      "line": 128,
11084                      "column": 40
11085                    },
11086                    "end": {
11087                      "line": 138,
11088                      "column": 6
11089                    }
11090                  }
11091                },
11092                "loc": {
11093                  "start": {
11094                    "line": 128,
11095                    "column": 24
11096                  },
11097                  "end": {
11098                    "line": 138,
11099                    "column": 6
11100                  }
11101                }
11102              },
11103              "loc": {
11104                "start": {
11105                  "line": 128,
11106                  "column": 24
11107                },
11108                "end": {
11109                  "line": 138,
11110                  "column": 6
11111                }
11112              }
11113            },
11114            "overloads": [],
11115            "decorators": [],
11116            "loc": {
11117              "start": {
11118                "line": 128,
11119                "column": 5
11120              },
11121              "end": {
11122                "line": 138,
11123                "column": 6
11124              }
11125            }
11126          },
11127          {
11128            "type": "MethodDefinition",
11129            "key": {
11130              "type": "Identifier",
11131              "name": "forEach",
11132              "decorators": [],
11133              "loc": {
11134                "start": {
11135                  "line": 141,
11136                  "column": 21
11137                },
11138                "end": {
11139                  "line": 141,
11140                  "column": 28
11141                }
11142              }
11143            },
11144            "kind": "method",
11145            "accessibility": "public",
11146            "static": false,
11147            "optional": false,
11148            "computed": false,
11149            "value": {
11150              "type": "FunctionExpression",
11151              "function": {
11152                "type": "ScriptFunction",
11153                "id": {
11154                  "type": "Identifier",
11155                  "name": "forEach",
11156                  "decorators": [],
11157                  "loc": {
11158                    "start": {
11159                      "line": 141,
11160                      "column": 21
11161                    },
11162                    "end": {
11163                      "line": 141,
11164                      "column": 28
11165                    }
11166                  }
11167                },
11168                "generator": false,
11169                "async": false,
11170                "expression": false,
11171                "params": [
11172                  {
11173                    "type": "ETSParameterExpression",
11174                    "name": {
11175                      "type": "Identifier",
11176                      "name": "fn",
11177                      "typeAnnotation": {
11178                        "type": "ETSFunctionType",
11179                        "params": [
11180                          {
11181                            "type": "ETSParameterExpression",
11182                            "name": {
11183                              "type": "Identifier",
11184                              "name": "e",
11185                              "typeAnnotation": {
11186                                "type": "ETSTypeReference",
11187                                "part": {
11188                                  "type": "ETSTypeReferencePart",
11189                                  "name": {
11190                                    "type": "Identifier",
11191                                    "name": "T",
11192                                    "decorators": [],
11193                                    "loc": {
11194                                      "start": {
11195                                        "line": 141,
11196                                        "column": 37
11197                                      },
11198                                      "end": {
11199                                        "line": 141,
11200                                        "column": 38
11201                                      }
11202                                    }
11203                                  },
11204                                  "loc": {
11205                                    "start": {
11206                                      "line": 141,
11207                                      "column": 37
11208                                    },
11209                                    "end": {
11210                                      "line": 141,
11211                                      "column": 39
11212                                    }
11213                                  }
11214                                },
11215                                "loc": {
11216                                  "start": {
11217                                    "line": 141,
11218                                    "column": 37
11219                                  },
11220                                  "end": {
11221                                    "line": 141,
11222                                    "column": 39
11223                                  }
11224                                }
11225                              },
11226                              "decorators": [],
11227                              "loc": {
11228                                "start": {
11229                                  "line": 141,
11230                                  "column": 34
11231                                },
11232                                "end": {
11233                                  "line": 141,
11234                                  "column": 39
11235                                }
11236                              }
11237                            },
11238                            "loc": {
11239                              "start": {
11240                                "line": 141,
11241                                "column": 34
11242                              },
11243                              "end": {
11244                                "line": 141,
11245                                "column": 39
11246                              }
11247                            }
11248                          }
11249                        ],
11250                        "returnType": {
11251                          "type": "ETSTypeReference",
11252                          "part": {
11253                            "type": "ETSTypeReferencePart",
11254                            "name": {
11255                              "type": "Identifier",
11256                              "name": "T",
11257                              "decorators": [],
11258                              "loc": {
11259                                "start": {
11260                                  "line": 141,
11261                                  "column": 43
11262                                },
11263                                "end": {
11264                                  "line": 141,
11265                                  "column": 44
11266                                }
11267                              }
11268                            },
11269                            "loc": {
11270                              "start": {
11271                                "line": 141,
11272                                "column": 43
11273                              },
11274                              "end": {
11275                                "line": 141,
11276                                "column": 45
11277                              }
11278                            }
11279                          },
11280                          "loc": {
11281                            "start": {
11282                              "line": 141,
11283                              "column": 43
11284                            },
11285                            "end": {
11286                              "line": 141,
11287                              "column": 45
11288                            }
11289                          }
11290                        },
11291                        "loc": {
11292                          "start": {
11293                            "line": 141,
11294                            "column": 33
11295                          },
11296                          "end": {
11297                            "line": 141,
11298                            "column": 45
11299                          }
11300                        }
11301                      },
11302                      "decorators": [],
11303                      "loc": {
11304                        "start": {
11305                          "line": 141,
11306                          "column": 29
11307                        },
11308                        "end": {
11309                          "line": 141,
11310                          "column": 45
11311                        }
11312                      }
11313                    },
11314                    "loc": {
11315                      "start": {
11316                        "line": 141,
11317                        "column": 29
11318                      },
11319                      "end": {
11320                        "line": 141,
11321                        "column": 45
11322                      }
11323                    }
11324                  }
11325                ],
11326                "returnType": {
11327                  "type": "ETSUnionType",
11328                  "types": [
11329                    {
11330                      "type": "ETSTypeReference",
11331                      "part": {
11332                        "type": "ETSTypeReferencePart",
11333                        "name": {
11334                          "type": "Identifier",
11335                          "name": "Listt",
11336                          "decorators": [],
11337                          "loc": {
11338                            "start": {
11339                              "line": 141,
11340                              "column": 47
11341                            },
11342                            "end": {
11343                              "line": 141,
11344                              "column": 52
11345                            }
11346                          }
11347                        },
11348                        "typeParams": {
11349                          "type": "TSTypeParameterInstantiation",
11350                          "params": [
11351                            {
11352                              "type": "ETSTypeReference",
11353                              "part": {
11354                                "type": "ETSTypeReferencePart",
11355                                "name": {
11356                                  "type": "Identifier",
11357                                  "name": "T",
11358                                  "decorators": [],
11359                                  "loc": {
11360                                    "start": {
11361                                      "line": 141,
11362                                      "column": 53
11363                                    },
11364                                    "end": {
11365                                      "line": 141,
11366                                      "column": 54
11367                                    }
11368                                  }
11369                                },
11370                                "loc": {
11371                                  "start": {
11372                                    "line": 141,
11373                                    "column": 53
11374                                  },
11375                                  "end": {
11376                                    "line": 141,
11377                                    "column": 55
11378                                  }
11379                                }
11380                              },
11381                              "loc": {
11382                                "start": {
11383                                  "line": 141,
11384                                  "column": 53
11385                                },
11386                                "end": {
11387                                  "line": 141,
11388                                  "column": 55
11389                                }
11390                              }
11391                            }
11392                          ],
11393                          "loc": {
11394                            "start": {
11395                              "line": 141,
11396                              "column": 52
11397                            },
11398                            "end": {
11399                              "line": 141,
11400                              "column": 55
11401                            }
11402                          }
11403                        },
11404                        "loc": {
11405                          "start": {
11406                            "line": 141,
11407                            "column": 47
11408                          },
11409                          "end": {
11410                            "line": 141,
11411                            "column": 57
11412                          }
11413                        }
11414                      },
11415                      "loc": {
11416                        "start": {
11417                          "line": 141,
11418                          "column": 47
11419                        },
11420                        "end": {
11421                          "line": 141,
11422                          "column": 57
11423                        }
11424                      }
11425                    },
11426                    {
11427                      "type": "ETSNullType",
11428                      "loc": {
11429                        "start": {
11430                          "line": 141,
11431                          "column": 58
11432                        },
11433                        "end": {
11434                          "line": 141,
11435                          "column": 62
11436                        }
11437                      }
11438                    }
11439                  ],
11440                  "loc": {
11441                    "start": {
11442                      "line": 141,
11443                      "column": 47
11444                    },
11445                    "end": {
11446                      "line": 141,
11447                      "column": 62
11448                    }
11449                  }
11450                },
11451                "body": {
11452                  "type": "BlockStatement",
11453                  "statements": [
11454                    {
11455                      "type": "ForUpdateStatement",
11456                      "init": {
11457                        "type": "VariableDeclaration",
11458                        "declarations": [
11459                          {
11460                            "type": "VariableDeclarator",
11461                            "id": {
11462                              "type": "Identifier",
11463                              "name": "i",
11464                              "decorators": [],
11465                              "loc": {
11466                                "start": {
11467                                  "line": 142,
11468                                  "column": 18
11469                                },
11470                                "end": {
11471                                  "line": 142,
11472                                  "column": 19
11473                                }
11474                              }
11475                            },
11476                            "init": {
11477                              "type": "NumberLiteral",
11478                              "value": 0,
11479                              "loc": {
11480                                "start": {
11481                                  "line": 142,
11482                                  "column": 22
11483                                },
11484                                "end": {
11485                                  "line": 142,
11486                                  "column": 23
11487                                }
11488                              }
11489                            },
11490                            "loc": {
11491                              "start": {
11492                                "line": 142,
11493                                "column": 18
11494                              },
11495                              "end": {
11496                                "line": 142,
11497                                "column": 23
11498                              }
11499                            }
11500                          }
11501                        ],
11502                        "kind": "let",
11503                        "loc": {
11504                          "start": {
11505                            "line": 142,
11506                            "column": 14
11507                          },
11508                          "end": {
11509                            "line": 142,
11510                            "column": 23
11511                          }
11512                        }
11513                      },
11514                      "test": {
11515                        "type": "BinaryExpression",
11516                        "operator": "<",
11517                        "left": {
11518                          "type": "Identifier",
11519                          "name": "i",
11520                          "decorators": [],
11521                          "loc": {
11522                            "start": {
11523                              "line": 142,
11524                              "column": 25
11525                            },
11526                            "end": {
11527                              "line": 142,
11528                              "column": 26
11529                            }
11530                          }
11531                        },
11532                        "right": {
11533                          "type": "MemberExpression",
11534                          "object": {
11535                            "type": "ThisExpression",
11536                            "loc": {
11537                              "start": {
11538                                "line": 142,
11539                                "column": 29
11540                              },
11541                              "end": {
11542                                "line": 142,
11543                                "column": 33
11544                              }
11545                            }
11546                          },
11547                          "property": {
11548                            "type": "Identifier",
11549                            "name": "curSize",
11550                            "decorators": [],
11551                            "loc": {
11552                              "start": {
11553                                "line": 142,
11554                                "column": 34
11555                              },
11556                              "end": {
11557                                "line": 142,
11558                                "column": 41
11559                              }
11560                            }
11561                          },
11562                          "computed": false,
11563                          "optional": false,
11564                          "loc": {
11565                            "start": {
11566                              "line": 142,
11567                              "column": 29
11568                            },
11569                            "end": {
11570                              "line": 142,
11571                              "column": 41
11572                            }
11573                          }
11574                        },
11575                        "loc": {
11576                          "start": {
11577                            "line": 142,
11578                            "column": 25
11579                          },
11580                          "end": {
11581                            "line": 142,
11582                            "column": 41
11583                          }
11584                        }
11585                      },
11586                      "update": {
11587                        "type": "UpdateExpression",
11588                        "operator": "++",
11589                        "prefix": true,
11590                        "argument": {
11591                          "type": "Identifier",
11592                          "name": "i",
11593                          "decorators": [],
11594                          "loc": {
11595                            "start": {
11596                              "line": 142,
11597                              "column": 45
11598                            },
11599                            "end": {
11600                              "line": 142,
11601                              "column": 46
11602                            }
11603                          }
11604                        },
11605                        "loc": {
11606                          "start": {
11607                            "line": 142,
11608                            "column": 43
11609                          },
11610                          "end": {
11611                            "line": 142,
11612                            "column": 46
11613                          }
11614                        }
11615                      },
11616                      "body": {
11617                        "type": "BlockStatement",
11618                        "statements": [
11619                          {
11620                            "type": "ExpressionStatement",
11621                            "expression": {
11622                              "type": "AssignmentExpression",
11623                              "operator": "=",
11624                              "left": {
11625                                "type": "MemberExpression",
11626                                "object": {
11627                                  "type": "MemberExpression",
11628                                  "object": {
11629                                    "type": "ThisExpression",
11630                                    "loc": {
11631                                      "start": {
11632                                        "line": 143,
11633                                        "column": 13
11634                                      },
11635                                      "end": {
11636                                        "line": 143,
11637                                        "column": 17
11638                                      }
11639                                    }
11640                                  },
11641                                  "property": {
11642                                    "type": "Identifier",
11643                                    "name": "data",
11644                                    "decorators": [],
11645                                    "loc": {
11646                                      "start": {
11647                                        "line": 143,
11648                                        "column": 18
11649                                      },
11650                                      "end": {
11651                                        "line": 143,
11652                                        "column": 22
11653                                      }
11654                                    }
11655                                  },
11656                                  "computed": false,
11657                                  "optional": false,
11658                                  "loc": {
11659                                    "start": {
11660                                      "line": 143,
11661                                      "column": 13
11662                                    },
11663                                    "end": {
11664                                      "line": 143,
11665                                      "column": 22
11666                                    }
11667                                  }
11668                                },
11669                                "property": {
11670                                  "type": "Identifier",
11671                                  "name": "i",
11672                                  "decorators": [],
11673                                  "loc": {
11674                                    "start": {
11675                                      "line": 143,
11676                                      "column": 23
11677                                    },
11678                                    "end": {
11679                                      "line": 143,
11680                                      "column": 24
11681                                    }
11682                                  }
11683                                },
11684                                "computed": true,
11685                                "optional": false,
11686                                "loc": {
11687                                  "start": {
11688                                    "line": 143,
11689                                    "column": 13
11690                                  },
11691                                  "end": {
11692                                    "line": 143,
11693                                    "column": 25
11694                                  }
11695                                }
11696                              },
11697                              "right": {
11698                                "type": "CallExpression",
11699                                "callee": {
11700                                  "type": "Identifier",
11701                                  "name": "fn",
11702                                  "decorators": [],
11703                                  "loc": {
11704                                    "start": {
11705                                      "line": 143,
11706                                      "column": 28
11707                                    },
11708                                    "end": {
11709                                      "line": 143,
11710                                      "column": 30
11711                                    }
11712                                  }
11713                                },
11714                                "arguments": [
11715                                  {
11716                                    "type": "MemberExpression",
11717                                    "object": {
11718                                      "type": "MemberExpression",
11719                                      "object": {
11720                                        "type": "ThisExpression",
11721                                        "loc": {
11722                                          "start": {
11723                                            "line": 143,
11724                                            "column": 31
11725                                          },
11726                                          "end": {
11727                                            "line": 143,
11728                                            "column": 35
11729                                          }
11730                                        }
11731                                      },
11732                                      "property": {
11733                                        "type": "Identifier",
11734                                        "name": "data",
11735                                        "decorators": [],
11736                                        "loc": {
11737                                          "start": {
11738                                            "line": 143,
11739                                            "column": 36
11740                                          },
11741                                          "end": {
11742                                            "line": 143,
11743                                            "column": 40
11744                                          }
11745                                        }
11746                                      },
11747                                      "computed": false,
11748                                      "optional": false,
11749                                      "loc": {
11750                                        "start": {
11751                                          "line": 143,
11752                                          "column": 31
11753                                        },
11754                                        "end": {
11755                                          "line": 143,
11756                                          "column": 40
11757                                        }
11758                                      }
11759                                    },
11760                                    "property": {
11761                                      "type": "Identifier",
11762                                      "name": "i",
11763                                      "decorators": [],
11764                                      "loc": {
11765                                        "start": {
11766                                          "line": 143,
11767                                          "column": 41
11768                                        },
11769                                        "end": {
11770                                          "line": 143,
11771                                          "column": 42
11772                                        }
11773                                      }
11774                                    },
11775                                    "computed": true,
11776                                    "optional": false,
11777                                    "loc": {
11778                                      "start": {
11779                                        "line": 143,
11780                                        "column": 31
11781                                      },
11782                                      "end": {
11783                                        "line": 143,
11784                                        "column": 43
11785                                      }
11786                                    }
11787                                  }
11788                                ],
11789                                "optional": false,
11790                                "loc": {
11791                                  "start": {
11792                                    "line": 143,
11793                                    "column": 28
11794                                  },
11795                                  "end": {
11796                                    "line": 143,
11797                                    "column": 44
11798                                  }
11799                                }
11800                              },
11801                              "loc": {
11802                                "start": {
11803                                  "line": 143,
11804                                  "column": 13
11805                                },
11806                                "end": {
11807                                  "line": 143,
11808                                  "column": 44
11809                                }
11810                              }
11811                            },
11812                            "loc": {
11813                              "start": {
11814                                "line": 143,
11815                                "column": 13
11816                              },
11817                              "end": {
11818                                "line": 143,
11819                                "column": 45
11820                              }
11821                            }
11822                          }
11823                        ],
11824                        "loc": {
11825                          "start": {
11826                            "line": 142,
11827                            "column": 48
11828                          },
11829                          "end": {
11830                            "line": 144,
11831                            "column": 10
11832                          }
11833                        }
11834                      },
11835                      "loc": {
11836                        "start": {
11837                          "line": 142,
11838                          "column": 9
11839                        },
11840                        "end": {
11841                          "line": 144,
11842                          "column": 10
11843                        }
11844                      }
11845                    },
11846                    {
11847                      "type": "ReturnStatement",
11848                      "argument": {
11849                        "type": "NullLiteral",
11850                        "value": null,
11851                        "loc": {
11852                          "start": {
11853                            "line": 145,
11854                            "column": 16
11855                          },
11856                          "end": {
11857                            "line": 145,
11858                            "column": 20
11859                          }
11860                        }
11861                      },
11862                      "loc": {
11863                        "start": {
11864                          "line": 145,
11865                          "column": 9
11866                        },
11867                        "end": {
11868                          "line": 145,
11869                          "column": 21
11870                        }
11871                      }
11872                    }
11873                  ],
11874                  "loc": {
11875                    "start": {
11876                      "line": 141,
11877                      "column": 63
11878                    },
11879                    "end": {
11880                      "line": 146,
11881                      "column": 6
11882                    }
11883                  }
11884                },
11885                "loc": {
11886                  "start": {
11887                    "line": 141,
11888                    "column": 28
11889                  },
11890                  "end": {
11891                    "line": 146,
11892                    "column": 6
11893                  }
11894                }
11895              },
11896              "loc": {
11897                "start": {
11898                  "line": 141,
11899                  "column": 28
11900                },
11901                "end": {
11902                  "line": 146,
11903                  "column": 6
11904                }
11905              }
11906            },
11907            "overloads": [],
11908            "decorators": [],
11909            "loc": {
11910              "start": {
11911                "line": 141,
11912                "column": 5
11913              },
11914              "end": {
11915                "line": 146,
11916                "column": 6
11917              }
11918            }
11919          },
11920          {
11921            "type": "MethodDefinition",
11922            "key": {
11923              "type": "Identifier",
11924              "name": "map",
11925              "decorators": [],
11926              "loc": {
11927                "start": {
11928                  "line": 148,
11929                  "column": 21
11930                },
11931                "end": {
11932                  "line": 148,
11933                  "column": 24
11934                }
11935              }
11936            },
11937            "kind": "method",
11938            "accessibility": "public",
11939            "static": false,
11940            "optional": false,
11941            "computed": false,
11942            "value": {
11943              "type": "FunctionExpression",
11944              "function": {
11945                "type": "ScriptFunction",
11946                "id": {
11947                  "type": "Identifier",
11948                  "name": "map",
11949                  "decorators": [],
11950                  "loc": {
11951                    "start": {
11952                      "line": 148,
11953                      "column": 21
11954                    },
11955                    "end": {
11956                      "line": 148,
11957                      "column": 24
11958                    }
11959                  }
11960                },
11961                "generator": false,
11962                "async": false,
11963                "expression": false,
11964                "params": [
11965                  {
11966                    "type": "ETSParameterExpression",
11967                    "name": {
11968                      "type": "Identifier",
11969                      "name": "fn",
11970                      "typeAnnotation": {
11971                        "type": "ETSFunctionType",
11972                        "params": [
11973                          {
11974                            "type": "ETSParameterExpression",
11975                            "name": {
11976                              "type": "Identifier",
11977                              "name": "e",
11978                              "typeAnnotation": {
11979                                "type": "ETSTypeReference",
11980                                "part": {
11981                                  "type": "ETSTypeReferencePart",
11982                                  "name": {
11983                                    "type": "Identifier",
11984                                    "name": "T",
11985                                    "decorators": [],
11986                                    "loc": {
11987                                      "start": {
11988                                        "line": 148,
11989                                        "column": 36
11990                                      },
11991                                      "end": {
11992                                        "line": 148,
11993                                        "column": 37
11994                                      }
11995                                    }
11996                                  },
11997                                  "loc": {
11998                                    "start": {
11999                                      "line": 148,
12000                                      "column": 36
12001                                    },
12002                                    "end": {
12003                                      "line": 148,
12004                                      "column": 38
12005                                    }
12006                                  }
12007                                },
12008                                "loc": {
12009                                  "start": {
12010                                    "line": 148,
12011                                    "column": 36
12012                                  },
12013                                  "end": {
12014                                    "line": 148,
12015                                    "column": 38
12016                                  }
12017                                }
12018                              },
12019                              "decorators": [],
12020                              "loc": {
12021                                "start": {
12022                                  "line": 148,
12023                                  "column": 33
12024                                },
12025                                "end": {
12026                                  "line": 148,
12027                                  "column": 38
12028                                }
12029                              }
12030                            },
12031                            "loc": {
12032                              "start": {
12033                                "line": 148,
12034                                "column": 33
12035                              },
12036                              "end": {
12037                                "line": 148,
12038                                "column": 38
12039                              }
12040                            }
12041                          }
12042                        ],
12043                        "returnType": {
12044                          "type": "ETSTypeReference",
12045                          "part": {
12046                            "type": "ETSTypeReferencePart",
12047                            "name": {
12048                              "type": "Identifier",
12049                              "name": "U",
12050                              "decorators": [],
12051                              "loc": {
12052                                "start": {
12053                                  "line": 148,
12054                                  "column": 42
12055                                },
12056                                "end": {
12057                                  "line": 148,
12058                                  "column": 43
12059                                }
12060                              }
12061                            },
12062                            "loc": {
12063                              "start": {
12064                                "line": 148,
12065                                "column": 42
12066                              },
12067                              "end": {
12068                                "line": 148,
12069                                "column": 44
12070                              }
12071                            }
12072                          },
12073                          "loc": {
12074                            "start": {
12075                              "line": 148,
12076                              "column": 42
12077                            },
12078                            "end": {
12079                              "line": 148,
12080                              "column": 44
12081                            }
12082                          }
12083                        },
12084                        "loc": {
12085                          "start": {
12086                            "line": 148,
12087                            "column": 32
12088                          },
12089                          "end": {
12090                            "line": 148,
12091                            "column": 44
12092                          }
12093                        }
12094                      },
12095                      "decorators": [],
12096                      "loc": {
12097                        "start": {
12098                          "line": 148,
12099                          "column": 28
12100                        },
12101                        "end": {
12102                          "line": 148,
12103                          "column": 44
12104                        }
12105                      }
12106                    },
12107                    "loc": {
12108                      "start": {
12109                        "line": 148,
12110                        "column": 28
12111                      },
12112                      "end": {
12113                        "line": 148,
12114                        "column": 44
12115                      }
12116                    }
12117                  }
12118                ],
12119                "returnType": {
12120                  "type": "ETSTypeReference",
12121                  "part": {
12122                    "type": "ETSTypeReferencePart",
12123                    "name": {
12124                      "type": "Identifier",
12125                      "name": "Listt",
12126                      "decorators": [],
12127                      "loc": {
12128                        "start": {
12129                          "line": 148,
12130                          "column": 46
12131                        },
12132                        "end": {
12133                          "line": 148,
12134                          "column": 51
12135                        }
12136                      }
12137                    },
12138                    "typeParams": {
12139                      "type": "TSTypeParameterInstantiation",
12140                      "params": [
12141                        {
12142                          "type": "ETSTypeReference",
12143                          "part": {
12144                            "type": "ETSTypeReferencePart",
12145                            "name": {
12146                              "type": "Identifier",
12147                              "name": "U",
12148                              "decorators": [],
12149                              "loc": {
12150                                "start": {
12151                                  "line": 148,
12152                                  "column": 52
12153                                },
12154                                "end": {
12155                                  "line": 148,
12156                                  "column": 53
12157                                }
12158                              }
12159                            },
12160                            "loc": {
12161                              "start": {
12162                                "line": 148,
12163                                "column": 52
12164                              },
12165                              "end": {
12166                                "line": 148,
12167                                "column": 54
12168                              }
12169                            }
12170                          },
12171                          "loc": {
12172                            "start": {
12173                              "line": 148,
12174                              "column": 52
12175                            },
12176                            "end": {
12177                              "line": 148,
12178                              "column": 54
12179                            }
12180                          }
12181                        }
12182                      ],
12183                      "loc": {
12184                        "start": {
12185                          "line": 148,
12186                          "column": 51
12187                        },
12188                        "end": {
12189                          "line": 148,
12190                          "column": 54
12191                        }
12192                      }
12193                    },
12194                    "loc": {
12195                      "start": {
12196                        "line": 148,
12197                        "column": 46
12198                      },
12199                      "end": {
12200                        "line": 148,
12201                        "column": 56
12202                      }
12203                    }
12204                  },
12205                  "loc": {
12206                    "start": {
12207                      "line": 148,
12208                      "column": 46
12209                    },
12210                    "end": {
12211                      "line": 148,
12212                      "column": 56
12213                    }
12214                  }
12215                },
12216                "typeParameters": {
12217                  "type": "TSTypeParameterDeclaration",
12218                  "params": [
12219                    {
12220                      "type": "TSTypeParameter",
12221                      "name": {
12222                        "type": "Identifier",
12223                        "name": "U",
12224                        "decorators": [],
12225                        "loc": {
12226                          "start": {
12227                            "line": 148,
12228                            "column": 25
12229                          },
12230                          "end": {
12231                            "line": 148,
12232                            "column": 26
12233                          }
12234                        }
12235                      },
12236                      "loc": {
12237                        "start": {
12238                          "line": 148,
12239                          "column": 25
12240                        },
12241                        "end": {
12242                          "line": 148,
12243                          "column": 27
12244                        }
12245                      }
12246                    }
12247                  ],
12248                  "loc": {
12249                    "start": {
12250                      "line": 148,
12251                      "column": 24
12252                    },
12253                    "end": {
12254                      "line": 148,
12255                      "column": 27
12256                    }
12257                  }
12258                },
12259                "body": {
12260                  "type": "BlockStatement",
12261                  "statements": [
12262                    {
12263                      "type": "VariableDeclaration",
12264                      "declarations": [
12265                        {
12266                          "type": "VariableDeclarator",
12267                          "id": {
12268                            "type": "Identifier",
12269                            "name": "res",
12270                            "decorators": [],
12271                            "loc": {
12272                              "start": {
12273                                "line": 149,
12274                                "column": 13
12275                              },
12276                              "end": {
12277                                "line": 149,
12278                                "column": 16
12279                              }
12280                            }
12281                          },
12282                          "init": {
12283                            "type": "ETSNewClassInstanceExpression",
12284                            "typeReference": {
12285                              "type": "ETSTypeReference",
12286                              "part": {
12287                                "type": "ETSTypeReferencePart",
12288                                "name": {
12289                                  "type": "Identifier",
12290                                  "name": "ArrayAsListt",
12291                                  "decorators": [],
12292                                  "loc": {
12293                                    "start": {
12294                                      "line": 149,
12295                                      "column": 23
12296                                    },
12297                                    "end": {
12298                                      "line": 149,
12299                                      "column": 35
12300                                    }
12301                                  }
12302                                },
12303                                "typeParams": {
12304                                  "type": "TSTypeParameterInstantiation",
12305                                  "params": [
12306                                    {
12307                                      "type": "ETSTypeReference",
12308                                      "part": {
12309                                        "type": "ETSTypeReferencePart",
12310                                        "name": {
12311                                          "type": "Identifier",
12312                                          "name": "U",
12313                                          "decorators": [],
12314                                          "loc": {
12315                                            "start": {
12316                                              "line": 149,
12317                                              "column": 36
12318                                            },
12319                                            "end": {
12320                                              "line": 149,
12321                                              "column": 37
12322                                            }
12323                                          }
12324                                        },
12325                                        "loc": {
12326                                          "start": {
12327                                            "line": 149,
12328                                            "column": 36
12329                                          },
12330                                          "end": {
12331                                            "line": 149,
12332                                            "column": 38
12333                                          }
12334                                        }
12335                                      },
12336                                      "loc": {
12337                                        "start": {
12338                                          "line": 149,
12339                                          "column": 36
12340                                        },
12341                                        "end": {
12342                                          "line": 149,
12343                                          "column": 38
12344                                        }
12345                                      }
12346                                    }
12347                                  ],
12348                                  "loc": {
12349                                    "start": {
12350                                      "line": 149,
12351                                      "column": 35
12352                                    },
12353                                    "end": {
12354                                      "line": 149,
12355                                      "column": 38
12356                                    }
12357                                  }
12358                                },
12359                                "loc": {
12360                                  "start": {
12361                                    "line": 149,
12362                                    "column": 23
12363                                  },
12364                                  "end": {
12365                                    "line": 149,
12366                                    "column": 39
12367                                  }
12368                                }
12369                              },
12370                              "loc": {
12371                                "start": {
12372                                  "line": 149,
12373                                  "column": 23
12374                                },
12375                                "end": {
12376                                  "line": 149,
12377                                  "column": 39
12378                                }
12379                              }
12380                            },
12381                            "arguments": [],
12382                            "loc": {
12383                              "start": {
12384                                "line": 149,
12385                                "column": 19
12386                              },
12387                              "end": {
12388                                "line": 149,
12389                                "column": 41
12390                              }
12391                            }
12392                          },
12393                          "loc": {
12394                            "start": {
12395                              "line": 149,
12396                              "column": 13
12397                            },
12398                            "end": {
12399                              "line": 149,
12400                              "column": 41
12401                            }
12402                          }
12403                        }
12404                      ],
12405                      "kind": "let",
12406                      "loc": {
12407                        "start": {
12408                          "line": 149,
12409                          "column": 9
12410                        },
12411                        "end": {
12412                          "line": 149,
12413                          "column": 41
12414                        }
12415                      }
12416                    },
12417                    {
12418                      "type": "ForUpdateStatement",
12419                      "init": {
12420                        "type": "VariableDeclaration",
12421                        "declarations": [
12422                          {
12423                            "type": "VariableDeclarator",
12424                            "id": {
12425                              "type": "Identifier",
12426                              "name": "i",
12427                              "decorators": [],
12428                              "loc": {
12429                                "start": {
12430                                  "line": 150,
12431                                  "column": 18
12432                                },
12433                                "end": {
12434                                  "line": 150,
12435                                  "column": 19
12436                                }
12437                              }
12438                            },
12439                            "init": {
12440                              "type": "NumberLiteral",
12441                              "value": 0,
12442                              "loc": {
12443                                "start": {
12444                                  "line": 150,
12445                                  "column": 22
12446                                },
12447                                "end": {
12448                                  "line": 150,
12449                                  "column": 23
12450                                }
12451                              }
12452                            },
12453                            "loc": {
12454                              "start": {
12455                                "line": 150,
12456                                "column": 18
12457                              },
12458                              "end": {
12459                                "line": 150,
12460                                "column": 23
12461                              }
12462                            }
12463                          }
12464                        ],
12465                        "kind": "let",
12466                        "loc": {
12467                          "start": {
12468                            "line": 150,
12469                            "column": 14
12470                          },
12471                          "end": {
12472                            "line": 150,
12473                            "column": 23
12474                          }
12475                        }
12476                      },
12477                      "test": {
12478                        "type": "BinaryExpression",
12479                        "operator": "<",
12480                        "left": {
12481                          "type": "Identifier",
12482                          "name": "i",
12483                          "decorators": [],
12484                          "loc": {
12485                            "start": {
12486                              "line": 150,
12487                              "column": 25
12488                            },
12489                            "end": {
12490                              "line": 150,
12491                              "column": 26
12492                            }
12493                          }
12494                        },
12495                        "right": {
12496                          "type": "MemberExpression",
12497                          "object": {
12498                            "type": "ThisExpression",
12499                            "loc": {
12500                              "start": {
12501                                "line": 150,
12502                                "column": 29
12503                              },
12504                              "end": {
12505                                "line": 150,
12506                                "column": 33
12507                              }
12508                            }
12509                          },
12510                          "property": {
12511                            "type": "Identifier",
12512                            "name": "curSize",
12513                            "decorators": [],
12514                            "loc": {
12515                              "start": {
12516                                "line": 150,
12517                                "column": 34
12518                              },
12519                              "end": {
12520                                "line": 150,
12521                                "column": 41
12522                              }
12523                            }
12524                          },
12525                          "computed": false,
12526                          "optional": false,
12527                          "loc": {
12528                            "start": {
12529                              "line": 150,
12530                              "column": 29
12531                            },
12532                            "end": {
12533                              "line": 150,
12534                              "column": 41
12535                            }
12536                          }
12537                        },
12538                        "loc": {
12539                          "start": {
12540                            "line": 150,
12541                            "column": 25
12542                          },
12543                          "end": {
12544                            "line": 150,
12545                            "column": 41
12546                          }
12547                        }
12548                      },
12549                      "update": {
12550                        "type": "UpdateExpression",
12551                        "operator": "++",
12552                        "prefix": true,
12553                        "argument": {
12554                          "type": "Identifier",
12555                          "name": "i",
12556                          "decorators": [],
12557                          "loc": {
12558                            "start": {
12559                              "line": 150,
12560                              "column": 45
12561                            },
12562                            "end": {
12563                              "line": 150,
12564                              "column": 46
12565                            }
12566                          }
12567                        },
12568                        "loc": {
12569                          "start": {
12570                            "line": 150,
12571                            "column": 43
12572                          },
12573                          "end": {
12574                            "line": 150,
12575                            "column": 46
12576                          }
12577                        }
12578                      },
12579                      "body": {
12580                        "type": "BlockStatement",
12581                        "statements": [
12582                          {
12583                            "type": "ExpressionStatement",
12584                            "expression": {
12585                              "type": "CallExpression",
12586                              "callee": {
12587                                "type": "MemberExpression",
12588                                "object": {
12589                                  "type": "Identifier",
12590                                  "name": "res",
12591                                  "decorators": [],
12592                                  "loc": {
12593                                    "start": {
12594                                      "line": 151,
12595                                      "column": 13
12596                                    },
12597                                    "end": {
12598                                      "line": 151,
12599                                      "column": 16
12600                                    }
12601                                  }
12602                                },
12603                                "property": {
12604                                  "type": "Identifier",
12605                                  "name": "pushBack",
12606                                  "decorators": [],
12607                                  "loc": {
12608                                    "start": {
12609                                      "line": 151,
12610                                      "column": 17
12611                                    },
12612                                    "end": {
12613                                      "line": 151,
12614                                      "column": 25
12615                                    }
12616                                  }
12617                                },
12618                                "computed": false,
12619                                "optional": false,
12620                                "loc": {
12621                                  "start": {
12622                                    "line": 151,
12623                                    "column": 13
12624                                  },
12625                                  "end": {
12626                                    "line": 151,
12627                                    "column": 25
12628                                  }
12629                                }
12630                              },
12631                              "arguments": [
12632                                {
12633                                  "type": "CallExpression",
12634                                  "callee": {
12635                                    "type": "Identifier",
12636                                    "name": "fn",
12637                                    "decorators": [],
12638                                    "loc": {
12639                                      "start": {
12640                                        "line": 151,
12641                                        "column": 26
12642                                      },
12643                                      "end": {
12644                                        "line": 151,
12645                                        "column": 28
12646                                      }
12647                                    }
12648                                  },
12649                                  "arguments": [
12650                                    {
12651                                      "type": "MemberExpression",
12652                                      "object": {
12653                                        "type": "MemberExpression",
12654                                        "object": {
12655                                          "type": "ThisExpression",
12656                                          "loc": {
12657                                            "start": {
12658                                              "line": 151,
12659                                              "column": 29
12660                                            },
12661                                            "end": {
12662                                              "line": 151,
12663                                              "column": 33
12664                                            }
12665                                          }
12666                                        },
12667                                        "property": {
12668                                          "type": "Identifier",
12669                                          "name": "data",
12670                                          "decorators": [],
12671                                          "loc": {
12672                                            "start": {
12673                                              "line": 151,
12674                                              "column": 34
12675                                            },
12676                                            "end": {
12677                                              "line": 151,
12678                                              "column": 38
12679                                            }
12680                                          }
12681                                        },
12682                                        "computed": false,
12683                                        "optional": false,
12684                                        "loc": {
12685                                          "start": {
12686                                            "line": 151,
12687                                            "column": 29
12688                                          },
12689                                          "end": {
12690                                            "line": 151,
12691                                            "column": 38
12692                                          }
12693                                        }
12694                                      },
12695                                      "property": {
12696                                        "type": "Identifier",
12697                                        "name": "i",
12698                                        "decorators": [],
12699                                        "loc": {
12700                                          "start": {
12701                                            "line": 151,
12702                                            "column": 39
12703                                          },
12704                                          "end": {
12705                                            "line": 151,
12706                                            "column": 40
12707                                          }
12708                                        }
12709                                      },
12710                                      "computed": true,
12711                                      "optional": false,
12712                                      "loc": {
12713                                        "start": {
12714                                          "line": 151,
12715                                          "column": 29
12716                                        },
12717                                        "end": {
12718                                          "line": 151,
12719                                          "column": 41
12720                                        }
12721                                      }
12722                                    }
12723                                  ],
12724                                  "optional": false,
12725                                  "loc": {
12726                                    "start": {
12727                                      "line": 151,
12728                                      "column": 26
12729                                    },
12730                                    "end": {
12731                                      "line": 151,
12732                                      "column": 42
12733                                    }
12734                                  }
12735                                }
12736                              ],
12737                              "optional": false,
12738                              "loc": {
12739                                "start": {
12740                                  "line": 151,
12741                                  "column": 13
12742                                },
12743                                "end": {
12744                                  "line": 151,
12745                                  "column": 43
12746                                }
12747                              }
12748                            },
12749                            "loc": {
12750                              "start": {
12751                                "line": 151,
12752                                "column": 13
12753                              },
12754                              "end": {
12755                                "line": 151,
12756                                "column": 44
12757                              }
12758                            }
12759                          }
12760                        ],
12761                        "loc": {
12762                          "start": {
12763                            "line": 150,
12764                            "column": 48
12765                          },
12766                          "end": {
12767                            "line": 152,
12768                            "column": 10
12769                          }
12770                        }
12771                      },
12772                      "loc": {
12773                        "start": {
12774                          "line": 150,
12775                          "column": 9
12776                        },
12777                        "end": {
12778                          "line": 152,
12779                          "column": 10
12780                        }
12781                      }
12782                    },
12783                    {
12784                      "type": "ReturnStatement",
12785                      "argument": {
12786                        "type": "Identifier",
12787                        "name": "res",
12788                        "decorators": [],
12789                        "loc": {
12790                          "start": {
12791                            "line": 153,
12792                            "column": 16
12793                          },
12794                          "end": {
12795                            "line": 153,
12796                            "column": 19
12797                          }
12798                        }
12799                      },
12800                      "loc": {
12801                        "start": {
12802                          "line": 153,
12803                          "column": 9
12804                        },
12805                        "end": {
12806                          "line": 153,
12807                          "column": 20
12808                        }
12809                      }
12810                    }
12811                  ],
12812                  "loc": {
12813                    "start": {
12814                      "line": 148,
12815                      "column": 55
12816                    },
12817                    "end": {
12818                      "line": 154,
12819                      "column": 6
12820                    }
12821                  }
12822                },
12823                "loc": {
12824                  "start": {
12825                    "line": 148,
12826                    "column": 24
12827                  },
12828                  "end": {
12829                    "line": 154,
12830                    "column": 6
12831                  }
12832                }
12833              },
12834              "loc": {
12835                "start": {
12836                  "line": 148,
12837                  "column": 24
12838                },
12839                "end": {
12840                  "line": 154,
12841                  "column": 6
12842                }
12843              }
12844            },
12845            "overloads": [],
12846            "decorators": [],
12847            "loc": {
12848              "start": {
12849                "line": 148,
12850                "column": 5
12851              },
12852              "end": {
12853                "line": 154,
12854                "column": 6
12855              }
12856            }
12857          },
12858          {
12859            "type": "MethodDefinition",
12860            "key": {
12861              "type": "Identifier",
12862              "name": "fold",
12863              "decorators": [],
12864              "loc": {
12865                "start": {
12866                  "line": 156,
12867                  "column": 21
12868                },
12869                "end": {
12870                  "line": 156,
12871                  "column": 25
12872                }
12873              }
12874            },
12875            "kind": "method",
12876            "accessibility": "public",
12877            "static": false,
12878            "optional": false,
12879            "computed": false,
12880            "value": {
12881              "type": "FunctionExpression",
12882              "function": {
12883                "type": "ScriptFunction",
12884                "id": {
12885                  "type": "Identifier",
12886                  "name": "fold",
12887                  "decorators": [],
12888                  "loc": {
12889                    "start": {
12890                      "line": 156,
12891                      "column": 21
12892                    },
12893                    "end": {
12894                      "line": 156,
12895                      "column": 25
12896                    }
12897                  }
12898                },
12899                "generator": false,
12900                "async": false,
12901                "expression": false,
12902                "params": [
12903                  {
12904                    "type": "ETSParameterExpression",
12905                    "name": {
12906                      "type": "Identifier",
12907                      "name": "combine",
12908                      "typeAnnotation": {
12909                        "type": "ETSFunctionType",
12910                        "params": [
12911                          {
12912                            "type": "ETSParameterExpression",
12913                            "name": {
12914                              "type": "Identifier",
12915                              "name": "lhs",
12916                              "typeAnnotation": {
12917                                "type": "ETSTypeReference",
12918                                "part": {
12919                                  "type": "ETSTypeReferencePart",
12920                                  "name": {
12921                                    "type": "Identifier",
12922                                    "name": "T",
12923                                    "decorators": [],
12924                                    "loc": {
12925                                      "start": {
12926                                        "line": 156,
12927                                        "column": 41
12928                                      },
12929                                      "end": {
12930                                        "line": 156,
12931                                        "column": 42
12932                                      }
12933                                    }
12934                                  },
12935                                  "loc": {
12936                                    "start": {
12937                                      "line": 156,
12938                                      "column": 41
12939                                    },
12940                                    "end": {
12941                                      "line": 156,
12942                                      "column": 43
12943                                    }
12944                                  }
12945                                },
12946                                "loc": {
12947                                  "start": {
12948                                    "line": 156,
12949                                    "column": 41
12950                                  },
12951                                  "end": {
12952                                    "line": 156,
12953                                    "column": 43
12954                                  }
12955                                }
12956                              },
12957                              "decorators": [],
12958                              "loc": {
12959                                "start": {
12960                                  "line": 156,
12961                                  "column": 36
12962                                },
12963                                "end": {
12964                                  "line": 156,
12965                                  "column": 43
12966                                }
12967                              }
12968                            },
12969                            "loc": {
12970                              "start": {
12971                                "line": 156,
12972                                "column": 36
12973                              },
12974                              "end": {
12975                                "line": 156,
12976                                "column": 43
12977                              }
12978                            }
12979                          },
12980                          {
12981                            "type": "ETSParameterExpression",
12982                            "name": {
12983                              "type": "Identifier",
12984                              "name": "rhs",
12985                              "typeAnnotation": {
12986                                "type": "ETSTypeReference",
12987                                "part": {
12988                                  "type": "ETSTypeReferencePart",
12989                                  "name": {
12990                                    "type": "Identifier",
12991                                    "name": "T",
12992                                    "decorators": [],
12993                                    "loc": {
12994                                      "start": {
12995                                        "line": 156,
12996                                        "column": 49
12997                                      },
12998                                      "end": {
12999                                        "line": 156,
13000                                        "column": 50
13001                                      }
13002                                    }
13003                                  },
13004                                  "loc": {
13005                                    "start": {
13006                                      "line": 156,
13007                                      "column": 49
13008                                    },
13009                                    "end": {
13010                                      "line": 156,
13011                                      "column": 51
13012                                    }
13013                                  }
13014                                },
13015                                "loc": {
13016                                  "start": {
13017                                    "line": 156,
13018                                    "column": 49
13019                                  },
13020                                  "end": {
13021                                    "line": 156,
13022                                    "column": 51
13023                                  }
13024                                }
13025                              },
13026                              "decorators": [],
13027                              "loc": {
13028                                "start": {
13029                                  "line": 156,
13030                                  "column": 44
13031                                },
13032                                "end": {
13033                                  "line": 156,
13034                                  "column": 51
13035                                }
13036                              }
13037                            },
13038                            "loc": {
13039                              "start": {
13040                                "line": 156,
13041                                "column": 44
13042                              },
13043                              "end": {
13044                                "line": 156,
13045                                "column": 51
13046                              }
13047                            }
13048                          }
13049                        ],
13050                        "returnType": {
13051                          "type": "ETSTypeReference",
13052                          "part": {
13053                            "type": "ETSTypeReferencePart",
13054                            "name": {
13055                              "type": "Identifier",
13056                              "name": "T",
13057                              "decorators": [],
13058                              "loc": {
13059                                "start": {
13060                                  "line": 156,
13061                                  "column": 55
13062                                },
13063                                "end": {
13064                                  "line": 156,
13065                                  "column": 56
13066                                }
13067                              }
13068                            },
13069                            "loc": {
13070                              "start": {
13071                                "line": 156,
13072                                "column": 55
13073                              },
13074                              "end": {
13075                                "line": 156,
13076                                "column": 57
13077                              }
13078                            }
13079                          },
13080                          "loc": {
13081                            "start": {
13082                              "line": 156,
13083                              "column": 55
13084                            },
13085                            "end": {
13086                              "line": 156,
13087                              "column": 57
13088                            }
13089                          }
13090                        },
13091                        "loc": {
13092                          "start": {
13093                            "line": 156,
13094                            "column": 35
13095                          },
13096                          "end": {
13097                            "line": 156,
13098                            "column": 57
13099                          }
13100                        }
13101                      },
13102                      "decorators": [],
13103                      "loc": {
13104                        "start": {
13105                          "line": 156,
13106                          "column": 26
13107                        },
13108                        "end": {
13109                          "line": 156,
13110                          "column": 57
13111                        }
13112                      }
13113                    },
13114                    "loc": {
13115                      "start": {
13116                        "line": 156,
13117                        "column": 26
13118                      },
13119                      "end": {
13120                        "line": 156,
13121                        "column": 57
13122                      }
13123                    }
13124                  }
13125                ],
13126                "returnType": {
13127                  "type": "ETSUnionType",
13128                  "types": [
13129                    {
13130                      "type": "ETSTypeReference",
13131                      "part": {
13132                        "type": "ETSTypeReferencePart",
13133                        "name": {
13134                          "type": "Identifier",
13135                          "name": "T",
13136                          "decorators": [],
13137                          "loc": {
13138                            "start": {
13139                              "line": 156,
13140                              "column": 59
13141                            },
13142                            "end": {
13143                              "line": 156,
13144                              "column": 60
13145                            }
13146                          }
13147                        },
13148                        "loc": {
13149                          "start": {
13150                            "line": 156,
13151                            "column": 59
13152                          },
13153                          "end": {
13154                            "line": 156,
13155                            "column": 62
13156                          }
13157                        }
13158                      },
13159                      "loc": {
13160                        "start": {
13161                          "line": 156,
13162                          "column": 59
13163                        },
13164                        "end": {
13165                          "line": 156,
13166                          "column": 62
13167                        }
13168                      }
13169                    },
13170                    {
13171                      "type": "ETSNullType",
13172                      "loc": {
13173                        "start": {
13174                          "line": 156,
13175                          "column": 63
13176                        },
13177                        "end": {
13178                          "line": 156,
13179                          "column": 67
13180                        }
13181                      }
13182                    }
13183                  ],
13184                  "loc": {
13185                    "start": {
13186                      "line": 156,
13187                      "column": 59
13188                    },
13189                    "end": {
13190                      "line": 156,
13191                      "column": 67
13192                    }
13193                  }
13194                },
13195                "body": {
13196                  "type": "BlockStatement",
13197                  "statements": [
13198                    {
13199                      "type": "IfStatement",
13200                      "test": {
13201                        "type": "BinaryExpression",
13202                        "operator": ">",
13203                        "left": {
13204                          "type": "MemberExpression",
13205                          "object": {
13206                            "type": "ThisExpression",
13207                            "loc": {
13208                              "start": {
13209                                "line": 157,
13210                                "column": 13
13211                              },
13212                              "end": {
13213                                "line": 157,
13214                                "column": 17
13215                              }
13216                            }
13217                          },
13218                          "property": {
13219                            "type": "Identifier",
13220                            "name": "curSize",
13221                            "decorators": [],
13222                            "loc": {
13223                              "start": {
13224                                "line": 157,
13225                                "column": 18
13226                              },
13227                              "end": {
13228                                "line": 157,
13229                                "column": 25
13230                              }
13231                            }
13232                          },
13233                          "computed": false,
13234                          "optional": false,
13235                          "loc": {
13236                            "start": {
13237                              "line": 157,
13238                              "column": 13
13239                            },
13240                            "end": {
13241                              "line": 157,
13242                              "column": 25
13243                            }
13244                          }
13245                        },
13246                        "right": {
13247                          "type": "NumberLiteral",
13248                          "value": 0,
13249                          "loc": {
13250                            "start": {
13251                              "line": 157,
13252                              "column": 28
13253                            },
13254                            "end": {
13255                              "line": 157,
13256                              "column": 29
13257                            }
13258                          }
13259                        },
13260                        "loc": {
13261                          "start": {
13262                            "line": 157,
13263                            "column": 13
13264                          },
13265                          "end": {
13266                            "line": 157,
13267                            "column": 29
13268                          }
13269                        }
13270                      },
13271                      "consequent": {
13272                        "type": "BlockStatement",
13273                        "statements": [
13274                          {
13275                            "type": "VariableDeclaration",
13276                            "declarations": [
13277                              {
13278                                "type": "VariableDeclarator",
13279                                "id": {
13280                                  "type": "Identifier",
13281                                  "name": "res",
13282                                  "decorators": [],
13283                                  "loc": {
13284                                    "start": {
13285                                      "line": 158,
13286                                      "column": 17
13287                                    },
13288                                    "end": {
13289                                      "line": 158,
13290                                      "column": 20
13291                                    }
13292                                  }
13293                                },
13294                                "init": {
13295                                  "type": "MemberExpression",
13296                                  "object": {
13297                                    "type": "MemberExpression",
13298                                    "object": {
13299                                      "type": "ThisExpression",
13300                                      "loc": {
13301                                        "start": {
13302                                          "line": 158,
13303                                          "column": 23
13304                                        },
13305                                        "end": {
13306                                          "line": 158,
13307                                          "column": 27
13308                                        }
13309                                      }
13310                                    },
13311                                    "property": {
13312                                      "type": "Identifier",
13313                                      "name": "data",
13314                                      "decorators": [],
13315                                      "loc": {
13316                                        "start": {
13317                                          "line": 158,
13318                                          "column": 28
13319                                        },
13320                                        "end": {
13321                                          "line": 158,
13322                                          "column": 32
13323                                        }
13324                                      }
13325                                    },
13326                                    "computed": false,
13327                                    "optional": false,
13328                                    "loc": {
13329                                      "start": {
13330                                        "line": 158,
13331                                        "column": 23
13332                                      },
13333                                      "end": {
13334                                        "line": 158,
13335                                        "column": 32
13336                                      }
13337                                    }
13338                                  },
13339                                  "property": {
13340                                    "type": "NumberLiteral",
13341                                    "value": 0,
13342                                    "loc": {
13343                                      "start": {
13344                                        "line": 158,
13345                                        "column": 33
13346                                      },
13347                                      "end": {
13348                                        "line": 158,
13349                                        "column": 34
13350                                      }
13351                                    }
13352                                  },
13353                                  "computed": true,
13354                                  "optional": false,
13355                                  "loc": {
13356                                    "start": {
13357                                      "line": 158,
13358                                      "column": 23
13359                                    },
13360                                    "end": {
13361                                      "line": 158,
13362                                      "column": 35
13363                                    }
13364                                  }
13365                                },
13366                                "loc": {
13367                                  "start": {
13368                                    "line": 158,
13369                                    "column": 17
13370                                  },
13371                                  "end": {
13372                                    "line": 158,
13373                                    "column": 35
13374                                  }
13375                                }
13376                              }
13377                            ],
13378                            "kind": "let",
13379                            "loc": {
13380                              "start": {
13381                                "line": 158,
13382                                "column": 13
13383                              },
13384                              "end": {
13385                                "line": 158,
13386                                "column": 36
13387                              }
13388                            }
13389                          },
13390                          {
13391                            "type": "ForUpdateStatement",
13392                            "init": {
13393                              "type": "VariableDeclaration",
13394                              "declarations": [
13395                                {
13396                                  "type": "VariableDeclarator",
13397                                  "id": {
13398                                    "type": "Identifier",
13399                                    "name": "i",
13400                                    "decorators": [],
13401                                    "loc": {
13402                                      "start": {
13403                                        "line": 159,
13404                                        "column": 22
13405                                      },
13406                                      "end": {
13407                                        "line": 159,
13408                                        "column": 23
13409                                      }
13410                                    }
13411                                  },
13412                                  "init": {
13413                                    "type": "NumberLiteral",
13414                                    "value": 1,
13415                                    "loc": {
13416                                      "start": {
13417                                        "line": 159,
13418                                        "column": 26
13419                                      },
13420                                      "end": {
13421                                        "line": 159,
13422                                        "column": 27
13423                                      }
13424                                    }
13425                                  },
13426                                  "loc": {
13427                                    "start": {
13428                                      "line": 159,
13429                                      "column": 22
13430                                    },
13431                                    "end": {
13432                                      "line": 159,
13433                                      "column": 27
13434                                    }
13435                                  }
13436                                }
13437                              ],
13438                              "kind": "let",
13439                              "loc": {
13440                                "start": {
13441                                  "line": 159,
13442                                  "column": 18
13443                                },
13444                                "end": {
13445                                  "line": 159,
13446                                  "column": 27
13447                                }
13448                              }
13449                            },
13450                            "test": {
13451                              "type": "BinaryExpression",
13452                              "operator": "<",
13453                              "left": {
13454                                "type": "Identifier",
13455                                "name": "i",
13456                                "decorators": [],
13457                                "loc": {
13458                                  "start": {
13459                                    "line": 159,
13460                                    "column": 29
13461                                  },
13462                                  "end": {
13463                                    "line": 159,
13464                                    "column": 30
13465                                  }
13466                                }
13467                              },
13468                              "right": {
13469                                "type": "MemberExpression",
13470                                "object": {
13471                                  "type": "ThisExpression",
13472                                  "loc": {
13473                                    "start": {
13474                                      "line": 159,
13475                                      "column": 33
13476                                    },
13477                                    "end": {
13478                                      "line": 159,
13479                                      "column": 37
13480                                    }
13481                                  }
13482                                },
13483                                "property": {
13484                                  "type": "Identifier",
13485                                  "name": "curSize",
13486                                  "decorators": [],
13487                                  "loc": {
13488                                    "start": {
13489                                      "line": 159,
13490                                      "column": 38
13491                                    },
13492                                    "end": {
13493                                      "line": 159,
13494                                      "column": 45
13495                                    }
13496                                  }
13497                                },
13498                                "computed": false,
13499                                "optional": false,
13500                                "loc": {
13501                                  "start": {
13502                                    "line": 159,
13503                                    "column": 33
13504                                  },
13505                                  "end": {
13506                                    "line": 159,
13507                                    "column": 45
13508                                  }
13509                                }
13510                              },
13511                              "loc": {
13512                                "start": {
13513                                  "line": 159,
13514                                  "column": 29
13515                                },
13516                                "end": {
13517                                  "line": 159,
13518                                  "column": 45
13519                                }
13520                              }
13521                            },
13522                            "update": {
13523                              "type": "UpdateExpression",
13524                              "operator": "++",
13525                              "prefix": true,
13526                              "argument": {
13527                                "type": "Identifier",
13528                                "name": "i",
13529                                "decorators": [],
13530                                "loc": {
13531                                  "start": {
13532                                    "line": 159,
13533                                    "column": 49
13534                                  },
13535                                  "end": {
13536                                    "line": 159,
13537                                    "column": 50
13538                                  }
13539                                }
13540                              },
13541                              "loc": {
13542                                "start": {
13543                                  "line": 159,
13544                                  "column": 47
13545                                },
13546                                "end": {
13547                                  "line": 159,
13548                                  "column": 50
13549                                }
13550                              }
13551                            },
13552                            "body": {
13553                              "type": "BlockStatement",
13554                              "statements": [
13555                                {
13556                                  "type": "ExpressionStatement",
13557                                  "expression": {
13558                                    "type": "AssignmentExpression",
13559                                    "operator": "=",
13560                                    "left": {
13561                                      "type": "Identifier",
13562                                      "name": "res",
13563                                      "decorators": [],
13564                                      "loc": {
13565                                        "start": {
13566                                          "line": 160,
13567                                          "column": 17
13568                                        },
13569                                        "end": {
13570                                          "line": 160,
13571                                          "column": 20
13572                                        }
13573                                      }
13574                                    },
13575                                    "right": {
13576                                      "type": "CallExpression",
13577                                      "callee": {
13578                                        "type": "Identifier",
13579                                        "name": "combine",
13580                                        "decorators": [],
13581                                        "loc": {
13582                                          "start": {
13583                                            "line": 160,
13584                                            "column": 23
13585                                          },
13586                                          "end": {
13587                                            "line": 160,
13588                                            "column": 30
13589                                          }
13590                                        }
13591                                      },
13592                                      "arguments": [
13593                                        {
13594                                          "type": "Identifier",
13595                                          "name": "res",
13596                                          "decorators": [],
13597                                          "loc": {
13598                                            "start": {
13599                                              "line": 160,
13600                                              "column": 31
13601                                            },
13602                                            "end": {
13603                                              "line": 160,
13604                                              "column": 34
13605                                            }
13606                                          }
13607                                        },
13608                                        {
13609                                          "type": "MemberExpression",
13610                                          "object": {
13611                                            "type": "MemberExpression",
13612                                            "object": {
13613                                              "type": "ThisExpression",
13614                                              "loc": {
13615                                                "start": {
13616                                                  "line": 160,
13617                                                  "column": 36
13618                                                },
13619                                                "end": {
13620                                                  "line": 160,
13621                                                  "column": 40
13622                                                }
13623                                              }
13624                                            },
13625                                            "property": {
13626                                              "type": "Identifier",
13627                                              "name": "data",
13628                                              "decorators": [],
13629                                              "loc": {
13630                                                "start": {
13631                                                  "line": 160,
13632                                                  "column": 41
13633                                                },
13634                                                "end": {
13635                                                  "line": 160,
13636                                                  "column": 45
13637                                                }
13638                                              }
13639                                            },
13640                                            "computed": false,
13641                                            "optional": false,
13642                                            "loc": {
13643                                              "start": {
13644                                                "line": 160,
13645                                                "column": 36
13646                                              },
13647                                              "end": {
13648                                                "line": 160,
13649                                                "column": 45
13650                                              }
13651                                            }
13652                                          },
13653                                          "property": {
13654                                            "type": "Identifier",
13655                                            "name": "i",
13656                                            "decorators": [],
13657                                            "loc": {
13658                                              "start": {
13659                                                "line": 160,
13660                                                "column": 46
13661                                              },
13662                                              "end": {
13663                                                "line": 160,
13664                                                "column": 47
13665                                              }
13666                                            }
13667                                          },
13668                                          "computed": true,
13669                                          "optional": false,
13670                                          "loc": {
13671                                            "start": {
13672                                              "line": 160,
13673                                              "column": 36
13674                                            },
13675                                            "end": {
13676                                              "line": 160,
13677                                              "column": 48
13678                                            }
13679                                          }
13680                                        }
13681                                      ],
13682                                      "optional": false,
13683                                      "loc": {
13684                                        "start": {
13685                                          "line": 160,
13686                                          "column": 23
13687                                        },
13688                                        "end": {
13689                                          "line": 160,
13690                                          "column": 49
13691                                        }
13692                                      }
13693                                    },
13694                                    "loc": {
13695                                      "start": {
13696                                        "line": 160,
13697                                        "column": 17
13698                                      },
13699                                      "end": {
13700                                        "line": 160,
13701                                        "column": 49
13702                                      }
13703                                    }
13704                                  },
13705                                  "loc": {
13706                                    "start": {
13707                                      "line": 160,
13708                                      "column": 17
13709                                    },
13710                                    "end": {
13711                                      "line": 160,
13712                                      "column": 50
13713                                    }
13714                                  }
13715                                }
13716                              ],
13717                              "loc": {
13718                                "start": {
13719                                  "line": 159,
13720                                  "column": 52
13721                                },
13722                                "end": {
13723                                  "line": 161,
13724                                  "column": 14
13725                                }
13726                              }
13727                            },
13728                            "loc": {
13729                              "start": {
13730                                "line": 159,
13731                                "column": 13
13732                              },
13733                              "end": {
13734                                "line": 161,
13735                                "column": 14
13736                              }
13737                            }
13738                          },
13739                          {
13740                            "type": "ReturnStatement",
13741                            "argument": {
13742                              "type": "Identifier",
13743                              "name": "res",
13744                              "decorators": [],
13745                              "loc": {
13746                                "start": {
13747                                  "line": 162,
13748                                  "column": 20
13749                                },
13750                                "end": {
13751                                  "line": 162,
13752                                  "column": 23
13753                                }
13754                              }
13755                            },
13756                            "loc": {
13757                              "start": {
13758                                "line": 162,
13759                                "column": 13
13760                              },
13761                              "end": {
13762                                "line": 162,
13763                                "column": 24
13764                              }
13765                            }
13766                          }
13767                        ],
13768                        "loc": {
13769                          "start": {
13770                            "line": 157,
13771                            "column": 31
13772                          },
13773                          "end": {
13774                            "line": 163,
13775                            "column": 10
13776                          }
13777                        }
13778                      },
13779                      "alternate": null,
13780                      "loc": {
13781                        "start": {
13782                          "line": 157,
13783                          "column": 9
13784                        },
13785                        "end": {
13786                          "line": 163,
13787                          "column": 10
13788                        }
13789                      }
13790                    },
13791                    {
13792                      "type": "TryStatement",
13793                      "block": {
13794                        "type": "BlockStatement",
13795                        "statements": [
13796                          {
13797                            "type": "ThrowStatement",
13798                            "argument": {
13799                              "type": "ETSNewClassInstanceExpression",
13800                              "typeReference": {
13801                                "type": "ETSTypeReference",
13802                                "part": {
13803                                  "type": "ETSTypeReferencePart",
13804                                  "name": {
13805                                    "type": "Identifier",
13806                                    "name": "NoDataException",
13807                                    "decorators": [],
13808                                    "loc": {
13809                                      "start": {
13810                                        "line": 165,
13811                                        "column": 19
13812                                      },
13813                                      "end": {
13814                                        "line": 165,
13815                                        "column": 34
13816                                      }
13817                                    }
13818                                  },
13819                                  "loc": {
13820                                    "start": {
13821                                      "line": 165,
13822                                      "column": 19
13823                                    },
13824                                    "end": {
13825                                      "line": 165,
13826                                      "column": 35
13827                                    }
13828                                  }
13829                                },
13830                                "loc": {
13831                                  "start": {
13832                                    "line": 165,
13833                                    "column": 19
13834                                  },
13835                                  "end": {
13836                                    "line": 165,
13837                                    "column": 35
13838                                  }
13839                                }
13840                              },
13841                              "arguments": [],
13842                              "loc": {
13843                                "start": {
13844                                  "line": 165,
13845                                  "column": 15
13846                                },
13847                                "end": {
13848                                  "line": 165,
13849                                  "column": 37
13850                                }
13851                              }
13852                            },
13853                            "loc": {
13854                              "start": {
13855                                "line": 165,
13856                                "column": 9
13857                              },
13858                              "end": {
13859                                "line": 165,
13860                                "column": 37
13861                              }
13862                            }
13863                          }
13864                        ],
13865                        "loc": {
13866                          "start": {
13867                            "line": 164,
13868                            "column": 12
13869                          },
13870                          "end": {
13871                            "line": 166,
13872                            "column": 10
13873                          }
13874                        }
13875                      },
13876                      "handler": [
13877                        {
13878                          "type": "CatchClause",
13879                          "body": {
13880                            "type": "BlockStatement",
13881                            "statements": [],
13882                            "loc": {
13883                              "start": {
13884                                "line": 166,
13885                                "column": 20
13886                              },
13887                              "end": {
13888                                "line": 166,
13889                                "column": 22
13890                              }
13891                            }
13892                          },
13893                          "param": {
13894                            "type": "Identifier",
13895                            "name": "a",
13896                            "decorators": [],
13897                            "loc": {
13898                              "start": {
13899                                "line": 166,
13900                                "column": 18
13901                              },
13902                              "end": {
13903                                "line": 166,
13904                                "column": 19
13905                              }
13906                            }
13907                          },
13908                          "loc": {
13909                            "start": {
13910                              "line": 166,
13911                              "column": 11
13912                            },
13913                            "end": {
13914                              "line": 166,
13915                              "column": 22
13916                            }
13917                          }
13918                        }
13919                      ],
13920                      "finalizer": null,
13921                      "loc": {
13922                        "start": {
13923                          "line": 164,
13924                          "column": 9
13925                        },
13926                        "end": {
13927                          "line": 166,
13928                          "column": 22
13929                        }
13930                      }
13931                    },
13932                    {
13933                      "type": "ReturnStatement",
13934                      "argument": {
13935                        "type": "NullLiteral",
13936                        "value": null,
13937                        "loc": {
13938                          "start": {
13939                            "line": 167,
13940                            "column": 16
13941                          },
13942                          "end": {
13943                            "line": 167,
13944                            "column": 20
13945                          }
13946                        }
13947                      },
13948                      "loc": {
13949                        "start": {
13950                          "line": 167,
13951                          "column": 9
13952                        },
13953                        "end": {
13954                          "line": 167,
13955                          "column": 21
13956                        }
13957                      }
13958                    }
13959                  ],
13960                  "loc": {
13961                    "start": {
13962                      "line": 156,
13963                      "column": 68
13964                    },
13965                    "end": {
13966                      "line": 168,
13967                      "column": 6
13968                    }
13969                  }
13970                },
13971                "loc": {
13972                  "start": {
13973                    "line": 156,
13974                    "column": 25
13975                  },
13976                  "end": {
13977                    "line": 168,
13978                    "column": 6
13979                  }
13980                }
13981              },
13982              "loc": {
13983                "start": {
13984                  "line": 156,
13985                  "column": 25
13986                },
13987                "end": {
13988                  "line": 168,
13989                  "column": 6
13990                }
13991              }
13992            },
13993            "overloads": [],
13994            "decorators": [],
13995            "loc": {
13996              "start": {
13997                "line": 156,
13998                "column": 5
13999              },
14000              "end": {
14001                "line": 168,
14002                "column": 6
14003              }
14004            }
14005          },
14006          {
14007            "type": "MethodDefinition",
14008            "key": {
14009              "type": "Identifier",
14010              "name": "foldWith",
14011              "decorators": [],
14012              "loc": {
14013                "start": {
14014                  "line": 170,
14015                  "column": 21
14016                },
14017                "end": {
14018                  "line": 170,
14019                  "column": 29
14020                }
14021              }
14022            },
14023            "kind": "method",
14024            "accessibility": "public",
14025            "static": false,
14026            "optional": false,
14027            "computed": false,
14028            "value": {
14029              "type": "FunctionExpression",
14030              "function": {
14031                "type": "ScriptFunction",
14032                "id": {
14033                  "type": "Identifier",
14034                  "name": "foldWith",
14035                  "decorators": [],
14036                  "loc": {
14037                    "start": {
14038                      "line": 170,
14039                      "column": 21
14040                    },
14041                    "end": {
14042                      "line": 170,
14043                      "column": 29
14044                    }
14045                  }
14046                },
14047                "generator": false,
14048                "async": false,
14049                "expression": false,
14050                "params": [
14051                  {
14052                    "type": "ETSParameterExpression",
14053                    "name": {
14054                      "type": "Identifier",
14055                      "name": "combine",
14056                      "typeAnnotation": {
14057                        "type": "ETSFunctionType",
14058                        "params": [
14059                          {
14060                            "type": "ETSParameterExpression",
14061                            "name": {
14062                              "type": "Identifier",
14063                              "name": "lhs",
14064                              "typeAnnotation": {
14065                                "type": "ETSTypeReference",
14066                                "part": {
14067                                  "type": "ETSTypeReferencePart",
14068                                  "name": {
14069                                    "type": "Identifier",
14070                                    "name": "U",
14071                                    "decorators": [],
14072                                    "loc": {
14073                                      "start": {
14074                                        "line": 170,
14075                                        "column": 48
14076                                      },
14077                                      "end": {
14078                                        "line": 170,
14079                                        "column": 49
14080                                      }
14081                                    }
14082                                  },
14083                                  "loc": {
14084                                    "start": {
14085                                      "line": 170,
14086                                      "column": 48
14087                                    },
14088                                    "end": {
14089                                      "line": 170,
14090                                      "column": 50
14091                                    }
14092                                  }
14093                                },
14094                                "loc": {
14095                                  "start": {
14096                                    "line": 170,
14097                                    "column": 48
14098                                  },
14099                                  "end": {
14100                                    "line": 170,
14101                                    "column": 50
14102                                  }
14103                                }
14104                              },
14105                              "decorators": [],
14106                              "loc": {
14107                                "start": {
14108                                  "line": 170,
14109                                  "column": 43
14110                                },
14111                                "end": {
14112                                  "line": 170,
14113                                  "column": 50
14114                                }
14115                              }
14116                            },
14117                            "loc": {
14118                              "start": {
14119                                "line": 170,
14120                                "column": 43
14121                              },
14122                              "end": {
14123                                "line": 170,
14124                                "column": 50
14125                              }
14126                            }
14127                          },
14128                          {
14129                            "type": "ETSParameterExpression",
14130                            "name": {
14131                              "type": "Identifier",
14132                              "name": "rhs",
14133                              "typeAnnotation": {
14134                                "type": "ETSTypeReference",
14135                                "part": {
14136                                  "type": "ETSTypeReferencePart",
14137                                  "name": {
14138                                    "type": "Identifier",
14139                                    "name": "T",
14140                                    "decorators": [],
14141                                    "loc": {
14142                                      "start": {
14143                                        "line": 170,
14144                                        "column": 56
14145                                      },
14146                                      "end": {
14147                                        "line": 170,
14148                                        "column": 57
14149                                      }
14150                                    }
14151                                  },
14152                                  "loc": {
14153                                    "start": {
14154                                      "line": 170,
14155                                      "column": 56
14156                                    },
14157                                    "end": {
14158                                      "line": 170,
14159                                      "column": 58
14160                                    }
14161                                  }
14162                                },
14163                                "loc": {
14164                                  "start": {
14165                                    "line": 170,
14166                                    "column": 56
14167                                  },
14168                                  "end": {
14169                                    "line": 170,
14170                                    "column": 58
14171                                  }
14172                                }
14173                              },
14174                              "decorators": [],
14175                              "loc": {
14176                                "start": {
14177                                  "line": 170,
14178                                  "column": 51
14179                                },
14180                                "end": {
14181                                  "line": 170,
14182                                  "column": 58
14183                                }
14184                              }
14185                            },
14186                            "loc": {
14187                              "start": {
14188                                "line": 170,
14189                                "column": 51
14190                              },
14191                              "end": {
14192                                "line": 170,
14193                                "column": 58
14194                              }
14195                            }
14196                          }
14197                        ],
14198                        "returnType": {
14199                          "type": "ETSTypeReference",
14200                          "part": {
14201                            "type": "ETSTypeReferencePart",
14202                            "name": {
14203                              "type": "Identifier",
14204                              "name": "U",
14205                              "decorators": [],
14206                              "loc": {
14207                                "start": {
14208                                  "line": 170,
14209                                  "column": 62
14210                                },
14211                                "end": {
14212                                  "line": 170,
14213                                  "column": 63
14214                                }
14215                              }
14216                            },
14217                            "loc": {
14218                              "start": {
14219                                "line": 170,
14220                                "column": 62
14221                              },
14222                              "end": {
14223                                "line": 170,
14224                                "column": 64
14225                              }
14226                            }
14227                          },
14228                          "loc": {
14229                            "start": {
14230                              "line": 170,
14231                              "column": 62
14232                            },
14233                            "end": {
14234                              "line": 170,
14235                              "column": 64
14236                            }
14237                          }
14238                        },
14239                        "loc": {
14240                          "start": {
14241                            "line": 170,
14242                            "column": 42
14243                          },
14244                          "end": {
14245                            "line": 170,
14246                            "column": 64
14247                          }
14248                        }
14249                      },
14250                      "decorators": [],
14251                      "loc": {
14252                        "start": {
14253                          "line": 170,
14254                          "column": 33
14255                        },
14256                        "end": {
14257                          "line": 170,
14258                          "column": 64
14259                        }
14260                      }
14261                    },
14262                    "loc": {
14263                      "start": {
14264                        "line": 170,
14265                        "column": 33
14266                      },
14267                      "end": {
14268                        "line": 170,
14269                        "column": 64
14270                      }
14271                    }
14272                  },
14273                  {
14274                    "type": "ETSParameterExpression",
14275                    "name": {
14276                      "type": "Identifier",
14277                      "name": "initVal",
14278                      "typeAnnotation": {
14279                        "type": "ETSTypeReference",
14280                        "part": {
14281                          "type": "ETSTypeReferencePart",
14282                          "name": {
14283                            "type": "Identifier",
14284                            "name": "U",
14285                            "decorators": [],
14286                            "loc": {
14287                              "start": {
14288                                "line": 170,
14289                                "column": 74
14290                              },
14291                              "end": {
14292                                "line": 170,
14293                                "column": 75
14294                              }
14295                            }
14296                          },
14297                          "loc": {
14298                            "start": {
14299                              "line": 170,
14300                              "column": 74
14301                            },
14302                            "end": {
14303                              "line": 170,
14304                              "column": 76
14305                            }
14306                          }
14307                        },
14308                        "loc": {
14309                          "start": {
14310                            "line": 170,
14311                            "column": 74
14312                          },
14313                          "end": {
14314                            "line": 170,
14315                            "column": 76
14316                          }
14317                        }
14318                      },
14319                      "decorators": [],
14320                      "loc": {
14321                        "start": {
14322                          "line": 170,
14323                          "column": 65
14324                        },
14325                        "end": {
14326                          "line": 170,
14327                          "column": 76
14328                        }
14329                      }
14330                    },
14331                    "loc": {
14332                      "start": {
14333                        "line": 170,
14334                        "column": 65
14335                      },
14336                      "end": {
14337                        "line": 170,
14338                        "column": 76
14339                      }
14340                    }
14341                  }
14342                ],
14343                "returnType": {
14344                  "type": "ETSTypeReference",
14345                  "part": {
14346                    "type": "ETSTypeReferencePart",
14347                    "name": {
14348                      "type": "Identifier",
14349                      "name": "U",
14350                      "decorators": [],
14351                      "loc": {
14352                        "start": {
14353                          "line": 170,
14354                          "column": 78
14355                        },
14356                        "end": {
14357                          "line": 170,
14358                          "column": 79
14359                        }
14360                      }
14361                    },
14362                    "loc": {
14363                      "start": {
14364                        "line": 170,
14365                        "column": 78
14366                      },
14367                      "end": {
14368                        "line": 170,
14369                        "column": 81
14370                      }
14371                    }
14372                  },
14373                  "loc": {
14374                    "start": {
14375                      "line": 170,
14376                      "column": 78
14377                    },
14378                    "end": {
14379                      "line": 170,
14380                      "column": 81
14381                    }
14382                  }
14383                },
14384                "typeParameters": {
14385                  "type": "TSTypeParameterDeclaration",
14386                  "params": [
14387                    {
14388                      "type": "TSTypeParameter",
14389                      "name": {
14390                        "type": "Identifier",
14391                        "name": "U",
14392                        "decorators": [],
14393                        "loc": {
14394                          "start": {
14395                            "line": 170,
14396                            "column": 30
14397                          },
14398                          "end": {
14399                            "line": 170,
14400                            "column": 31
14401                          }
14402                        }
14403                      },
14404                      "loc": {
14405                        "start": {
14406                          "line": 170,
14407                          "column": 30
14408                        },
14409                        "end": {
14410                          "line": 170,
14411                          "column": 32
14412                        }
14413                      }
14414                    }
14415                  ],
14416                  "loc": {
14417                    "start": {
14418                      "line": 170,
14419                      "column": 29
14420                    },
14421                    "end": {
14422                      "line": 170,
14423                      "column": 32
14424                    }
14425                  }
14426                },
14427                "body": {
14428                  "type": "BlockStatement",
14429                  "statements": [
14430                    {
14431                      "type": "VariableDeclaration",
14432                      "declarations": [
14433                        {
14434                          "type": "VariableDeclarator",
14435                          "id": {
14436                            "type": "Identifier",
14437                            "name": "res",
14438                            "decorators": [],
14439                            "loc": {
14440                              "start": {
14441                                "line": 171,
14442                                "column": 13
14443                              },
14444                              "end": {
14445                                "line": 171,
14446                                "column": 16
14447                              }
14448                            }
14449                          },
14450                          "init": {
14451                            "type": "Identifier",
14452                            "name": "initVal",
14453                            "decorators": [],
14454                            "loc": {
14455                              "start": {
14456                                "line": 171,
14457                                "column": 19
14458                              },
14459                              "end": {
14460                                "line": 171,
14461                                "column": 26
14462                              }
14463                            }
14464                          },
14465                          "loc": {
14466                            "start": {
14467                              "line": 171,
14468                              "column": 13
14469                            },
14470                            "end": {
14471                              "line": 171,
14472                              "column": 26
14473                            }
14474                          }
14475                        }
14476                      ],
14477                      "kind": "let",
14478                      "loc": {
14479                        "start": {
14480                          "line": 171,
14481                          "column": 9
14482                        },
14483                        "end": {
14484                          "line": 171,
14485                          "column": 27
14486                        }
14487                      }
14488                    },
14489                    {
14490                      "type": "ForUpdateStatement",
14491                      "init": {
14492                        "type": "VariableDeclaration",
14493                        "declarations": [
14494                          {
14495                            "type": "VariableDeclarator",
14496                            "id": {
14497                              "type": "Identifier",
14498                              "name": "i",
14499                              "decorators": [],
14500                              "loc": {
14501                                "start": {
14502                                  "line": 172,
14503                                  "column": 18
14504                                },
14505                                "end": {
14506                                  "line": 172,
14507                                  "column": 19
14508                                }
14509                              }
14510                            },
14511                            "init": {
14512                              "type": "NumberLiteral",
14513                              "value": 0,
14514                              "loc": {
14515                                "start": {
14516                                  "line": 172,
14517                                  "column": 22
14518                                },
14519                                "end": {
14520                                  "line": 172,
14521                                  "column": 23
14522                                }
14523                              }
14524                            },
14525                            "loc": {
14526                              "start": {
14527                                "line": 172,
14528                                "column": 18
14529                              },
14530                              "end": {
14531                                "line": 172,
14532                                "column": 23
14533                              }
14534                            }
14535                          }
14536                        ],
14537                        "kind": "let",
14538                        "loc": {
14539                          "start": {
14540                            "line": 172,
14541                            "column": 14
14542                          },
14543                          "end": {
14544                            "line": 172,
14545                            "column": 23
14546                          }
14547                        }
14548                      },
14549                      "test": {
14550                        "type": "BinaryExpression",
14551                        "operator": "<",
14552                        "left": {
14553                          "type": "Identifier",
14554                          "name": "i",
14555                          "decorators": [],
14556                          "loc": {
14557                            "start": {
14558                              "line": 172,
14559                              "column": 25
14560                            },
14561                            "end": {
14562                              "line": 172,
14563                              "column": 26
14564                            }
14565                          }
14566                        },
14567                        "right": {
14568                          "type": "MemberExpression",
14569                          "object": {
14570                            "type": "ThisExpression",
14571                            "loc": {
14572                              "start": {
14573                                "line": 172,
14574                                "column": 29
14575                              },
14576                              "end": {
14577                                "line": 172,
14578                                "column": 33
14579                              }
14580                            }
14581                          },
14582                          "property": {
14583                            "type": "Identifier",
14584                            "name": "curSize",
14585                            "decorators": [],
14586                            "loc": {
14587                              "start": {
14588                                "line": 172,
14589                                "column": 34
14590                              },
14591                              "end": {
14592                                "line": 172,
14593                                "column": 41
14594                              }
14595                            }
14596                          },
14597                          "computed": false,
14598                          "optional": false,
14599                          "loc": {
14600                            "start": {
14601                              "line": 172,
14602                              "column": 29
14603                            },
14604                            "end": {
14605                              "line": 172,
14606                              "column": 41
14607                            }
14608                          }
14609                        },
14610                        "loc": {
14611                          "start": {
14612                            "line": 172,
14613                            "column": 25
14614                          },
14615                          "end": {
14616                            "line": 172,
14617                            "column": 41
14618                          }
14619                        }
14620                      },
14621                      "update": {
14622                        "type": "UpdateExpression",
14623                        "operator": "++",
14624                        "prefix": true,
14625                        "argument": {
14626                          "type": "Identifier",
14627                          "name": "i",
14628                          "decorators": [],
14629                          "loc": {
14630                            "start": {
14631                              "line": 172,
14632                              "column": 45
14633                            },
14634                            "end": {
14635                              "line": 172,
14636                              "column": 46
14637                            }
14638                          }
14639                        },
14640                        "loc": {
14641                          "start": {
14642                            "line": 172,
14643                            "column": 43
14644                          },
14645                          "end": {
14646                            "line": 172,
14647                            "column": 46
14648                          }
14649                        }
14650                      },
14651                      "body": {
14652                        "type": "BlockStatement",
14653                        "statements": [
14654                          {
14655                            "type": "ExpressionStatement",
14656                            "expression": {
14657                              "type": "AssignmentExpression",
14658                              "operator": "=",
14659                              "left": {
14660                                "type": "Identifier",
14661                                "name": "res",
14662                                "decorators": [],
14663                                "loc": {
14664                                  "start": {
14665                                    "line": 173,
14666                                    "column": 13
14667                                  },
14668                                  "end": {
14669                                    "line": 173,
14670                                    "column": 16
14671                                  }
14672                                }
14673                              },
14674                              "right": {
14675                                "type": "CallExpression",
14676                                "callee": {
14677                                  "type": "Identifier",
14678                                  "name": "combine",
14679                                  "decorators": [],
14680                                  "loc": {
14681                                    "start": {
14682                                      "line": 173,
14683                                      "column": 19
14684                                    },
14685                                    "end": {
14686                                      "line": 173,
14687                                      "column": 26
14688                                    }
14689                                  }
14690                                },
14691                                "arguments": [
14692                                  {
14693                                    "type": "Identifier",
14694                                    "name": "res",
14695                                    "decorators": [],
14696                                    "loc": {
14697                                      "start": {
14698                                        "line": 173,
14699                                        "column": 27
14700                                      },
14701                                      "end": {
14702                                        "line": 173,
14703                                        "column": 30
14704                                      }
14705                                    }
14706                                  },
14707                                  {
14708                                    "type": "MemberExpression",
14709                                    "object": {
14710                                      "type": "MemberExpression",
14711                                      "object": {
14712                                        "type": "ThisExpression",
14713                                        "loc": {
14714                                          "start": {
14715                                            "line": 173,
14716                                            "column": 32
14717                                          },
14718                                          "end": {
14719                                            "line": 173,
14720                                            "column": 36
14721                                          }
14722                                        }
14723                                      },
14724                                      "property": {
14725                                        "type": "Identifier",
14726                                        "name": "data",
14727                                        "decorators": [],
14728                                        "loc": {
14729                                          "start": {
14730                                            "line": 173,
14731                                            "column": 37
14732                                          },
14733                                          "end": {
14734                                            "line": 173,
14735                                            "column": 41
14736                                          }
14737                                        }
14738                                      },
14739                                      "computed": false,
14740                                      "optional": false,
14741                                      "loc": {
14742                                        "start": {
14743                                          "line": 173,
14744                                          "column": 32
14745                                        },
14746                                        "end": {
14747                                          "line": 173,
14748                                          "column": 41
14749                                        }
14750                                      }
14751                                    },
14752                                    "property": {
14753                                      "type": "Identifier",
14754                                      "name": "i",
14755                                      "decorators": [],
14756                                      "loc": {
14757                                        "start": {
14758                                          "line": 173,
14759                                          "column": 42
14760                                        },
14761                                        "end": {
14762                                          "line": 173,
14763                                          "column": 43
14764                                        }
14765                                      }
14766                                    },
14767                                    "computed": true,
14768                                    "optional": false,
14769                                    "loc": {
14770                                      "start": {
14771                                        "line": 173,
14772                                        "column": 32
14773                                      },
14774                                      "end": {
14775                                        "line": 173,
14776                                        "column": 44
14777                                      }
14778                                    }
14779                                  }
14780                                ],
14781                                "optional": false,
14782                                "loc": {
14783                                  "start": {
14784                                    "line": 173,
14785                                    "column": 19
14786                                  },
14787                                  "end": {
14788                                    "line": 173,
14789                                    "column": 45
14790                                  }
14791                                }
14792                              },
14793                              "loc": {
14794                                "start": {
14795                                  "line": 173,
14796                                  "column": 13
14797                                },
14798                                "end": {
14799                                  "line": 173,
14800                                  "column": 45
14801                                }
14802                              }
14803                            },
14804                            "loc": {
14805                              "start": {
14806                                "line": 173,
14807                                "column": 13
14808                              },
14809                              "end": {
14810                                "line": 173,
14811                                "column": 46
14812                              }
14813                            }
14814                          }
14815                        ],
14816                        "loc": {
14817                          "start": {
14818                            "line": 172,
14819                            "column": 48
14820                          },
14821                          "end": {
14822                            "line": 174,
14823                            "column": 10
14824                          }
14825                        }
14826                      },
14827                      "loc": {
14828                        "start": {
14829                          "line": 172,
14830                          "column": 9
14831                        },
14832                        "end": {
14833                          "line": 174,
14834                          "column": 10
14835                        }
14836                      }
14837                    },
14838                    {
14839                      "type": "ReturnStatement",
14840                      "argument": {
14841                        "type": "Identifier",
14842                        "name": "res",
14843                        "decorators": [],
14844                        "loc": {
14845                          "start": {
14846                            "line": 175,
14847                            "column": 16
14848                          },
14849                          "end": {
14850                            "line": 175,
14851                            "column": 19
14852                          }
14853                        }
14854                      },
14855                      "loc": {
14856                        "start": {
14857                          "line": 175,
14858                          "column": 9
14859                        },
14860                        "end": {
14861                          "line": 175,
14862                          "column": 20
14863                        }
14864                      }
14865                    }
14866                  ],
14867                  "loc": {
14868                    "start": {
14869                      "line": 170,
14870                      "column": 80
14871                    },
14872                    "end": {
14873                      "line": 176,
14874                      "column": 6
14875                    }
14876                  }
14877                },
14878                "loc": {
14879                  "start": {
14880                    "line": 170,
14881                    "column": 29
14882                  },
14883                  "end": {
14884                    "line": 176,
14885                    "column": 6
14886                  }
14887                }
14888              },
14889              "loc": {
14890                "start": {
14891                  "line": 170,
14892                  "column": 29
14893                },
14894                "end": {
14895                  "line": 176,
14896                  "column": 6
14897                }
14898              }
14899            },
14900            "overloads": [],
14901            "decorators": [],
14902            "loc": {
14903              "start": {
14904                "line": 170,
14905                "column": 5
14906              },
14907              "end": {
14908                "line": 176,
14909                "column": 6
14910              }
14911            }
14912          },
14913          {
14914            "type": "MethodDefinition",
14915            "key": {
14916              "type": "Identifier",
14917              "name": "filter",
14918              "decorators": [],
14919              "loc": {
14920                "start": {
14921                  "line": 178,
14922                  "column": 21
14923                },
14924                "end": {
14925                  "line": 178,
14926                  "column": 27
14927                }
14928              }
14929            },
14930            "kind": "method",
14931            "accessibility": "public",
14932            "static": false,
14933            "optional": false,
14934            "computed": false,
14935            "value": {
14936              "type": "FunctionExpression",
14937              "function": {
14938                "type": "ScriptFunction",
14939                "id": {
14940                  "type": "Identifier",
14941                  "name": "filter",
14942                  "decorators": [],
14943                  "loc": {
14944                    "start": {
14945                      "line": 178,
14946                      "column": 21
14947                    },
14948                    "end": {
14949                      "line": 178,
14950                      "column": 27
14951                    }
14952                  }
14953                },
14954                "generator": false,
14955                "async": false,
14956                "expression": false,
14957                "params": [
14958                  {
14959                    "type": "ETSParameterExpression",
14960                    "name": {
14961                      "type": "Identifier",
14962                      "name": "filterCond",
14963                      "typeAnnotation": {
14964                        "type": "ETSFunctionType",
14965                        "params": [
14966                          {
14967                            "type": "ETSParameterExpression",
14968                            "name": {
14969                              "type": "Identifier",
14970                              "name": "e",
14971                              "typeAnnotation": {
14972                                "type": "ETSTypeReference",
14973                                "part": {
14974                                  "type": "ETSTypeReferencePart",
14975                                  "name": {
14976                                    "type": "Identifier",
14977                                    "name": "T",
14978                                    "decorators": [],
14979                                    "loc": {
14980                                      "start": {
14981                                        "line": 178,
14982                                        "column": 44
14983                                      },
14984                                      "end": {
14985                                        "line": 178,
14986                                        "column": 45
14987                                      }
14988                                    }
14989                                  },
14990                                  "loc": {
14991                                    "start": {
14992                                      "line": 178,
14993                                      "column": 44
14994                                    },
14995                                    "end": {
14996                                      "line": 178,
14997                                      "column": 46
14998                                    }
14999                                  }
15000                                },
15001                                "loc": {
15002                                  "start": {
15003                                    "line": 178,
15004                                    "column": 44
15005                                  },
15006                                  "end": {
15007                                    "line": 178,
15008                                    "column": 46
15009                                  }
15010                                }
15011                              },
15012                              "decorators": [],
15013                              "loc": {
15014                                "start": {
15015                                  "line": 178,
15016                                  "column": 41
15017                                },
15018                                "end": {
15019                                  "line": 178,
15020                                  "column": 46
15021                                }
15022                              }
15023                            },
15024                            "loc": {
15025                              "start": {
15026                                "line": 178,
15027                                "column": 41
15028                              },
15029                              "end": {
15030                                "line": 178,
15031                                "column": 46
15032                              }
15033                            }
15034                          }
15035                        ],
15036                        "returnType": {
15037                          "type": "ETSPrimitiveType",
15038                          "loc": {
15039                            "start": {
15040                              "line": 178,
15041                              "column": 50
15042                            },
15043                            "end": {
15044                              "line": 178,
15045                              "column": 57
15046                            }
15047                          }
15048                        },
15049                        "loc": {
15050                          "start": {
15051                            "line": 178,
15052                            "column": 40
15053                          },
15054                          "end": {
15055                            "line": 178,
15056                            "column": 57
15057                          }
15058                        }
15059                      },
15060                      "decorators": [],
15061                      "loc": {
15062                        "start": {
15063                          "line": 178,
15064                          "column": 28
15065                        },
15066                        "end": {
15067                          "line": 178,
15068                          "column": 57
15069                        }
15070                      }
15071                    },
15072                    "loc": {
15073                      "start": {
15074                        "line": 178,
15075                        "column": 28
15076                      },
15077                      "end": {
15078                        "line": 178,
15079                        "column": 57
15080                      }
15081                    }
15082                  }
15083                ],
15084                "returnType": {
15085                  "type": "ETSUnionType",
15086                  "types": [
15087                    {
15088                      "type": "ETSTypeReference",
15089                      "part": {
15090                        "type": "ETSTypeReferencePart",
15091                        "name": {
15092                          "type": "Identifier",
15093                          "name": "ArrayAsListt",
15094                          "decorators": [],
15095                          "loc": {
15096                            "start": {
15097                              "line": 178,
15098                              "column": 60
15099                            },
15100                            "end": {
15101                              "line": 178,
15102                              "column": 72
15103                            }
15104                          }
15105                        },
15106                        "typeParams": {
15107                          "type": "TSTypeParameterInstantiation",
15108                          "params": [
15109                            {
15110                              "type": "ETSTypeReference",
15111                              "part": {
15112                                "type": "ETSTypeReferencePart",
15113                                "name": {
15114                                  "type": "Identifier",
15115                                  "name": "T",
15116                                  "decorators": [],
15117                                  "loc": {
15118                                    "start": {
15119                                      "line": 178,
15120                                      "column": 73
15121                                    },
15122                                    "end": {
15123                                      "line": 178,
15124                                      "column": 74
15125                                    }
15126                                  }
15127                                },
15128                                "loc": {
15129                                  "start": {
15130                                    "line": 178,
15131                                    "column": 73
15132                                  },
15133                                  "end": {
15134                                    "line": 178,
15135                                    "column": 75
15136                                  }
15137                                }
15138                              },
15139                              "loc": {
15140                                "start": {
15141                                  "line": 178,
15142                                  "column": 73
15143                                },
15144                                "end": {
15145                                  "line": 178,
15146                                  "column": 75
15147                                }
15148                              }
15149                            }
15150                          ],
15151                          "loc": {
15152                            "start": {
15153                              "line": 178,
15154                              "column": 72
15155                            },
15156                            "end": {
15157                              "line": 178,
15158                              "column": 75
15159                            }
15160                          }
15161                        },
15162                        "loc": {
15163                          "start": {
15164                            "line": 178,
15165                            "column": 60
15166                          },
15167                          "end": {
15168                            "line": 178,
15169                            "column": 77
15170                          }
15171                        }
15172                      },
15173                      "loc": {
15174                        "start": {
15175                          "line": 178,
15176                          "column": 60
15177                        },
15178                        "end": {
15179                          "line": 178,
15180                          "column": 77
15181                        }
15182                      }
15183                    },
15184                    {
15185                      "type": "ETSNullType",
15186                      "loc": {
15187                        "start": {
15188                          "line": 178,
15189                          "column": 78
15190                        },
15191                        "end": {
15192                          "line": 178,
15193                          "column": 82
15194                        }
15195                      }
15196                    }
15197                  ],
15198                  "loc": {
15199                    "start": {
15200                      "line": 178,
15201                      "column": 60
15202                    },
15203                    "end": {
15204                      "line": 178,
15205                      "column": 82
15206                    }
15207                  }
15208                },
15209                "body": {
15210                  "type": "BlockStatement",
15211                  "statements": [
15212                    {
15213                      "type": "VariableDeclaration",
15214                      "declarations": [
15215                        {
15216                          "type": "VariableDeclarator",
15217                          "id": {
15218                            "type": "Identifier",
15219                            "name": "indicators",
15220                            "decorators": [],
15221                            "loc": {
15222                              "start": {
15223                                "line": 179,
15224                                "column": 13
15225                              },
15226                              "end": {
15227                                "line": 179,
15228                                "column": 23
15229                              }
15230                            }
15231                          },
15232                          "init": {
15233                            "type": "ETSNewArrayInstanceExpression",
15234                            "typeReference": {
15235                              "type": "ETSPrimitiveType",
15236                              "loc": {
15237                                "start": {
15238                                  "line": 179,
15239                                  "column": 30
15240                                },
15241                                "end": {
15242                                  "line": 179,
15243                                  "column": 37
15244                                }
15245                              }
15246                            },
15247                            "dimension": {
15248                              "type": "MemberExpression",
15249                              "object": {
15250                                "type": "MemberExpression",
15251                                "object": {
15252                                  "type": "ThisExpression",
15253                                  "loc": {
15254                                    "start": {
15255                                      "line": 179,
15256                                      "column": 38
15257                                    },
15258                                    "end": {
15259                                      "line": 179,
15260                                      "column": 42
15261                                    }
15262                                  }
15263                                },
15264                                "property": {
15265                                  "type": "Identifier",
15266                                  "name": "data",
15267                                  "decorators": [],
15268                                  "loc": {
15269                                    "start": {
15270                                      "line": 179,
15271                                      "column": 43
15272                                    },
15273                                    "end": {
15274                                      "line": 179,
15275                                      "column": 47
15276                                    }
15277                                  }
15278                                },
15279                                "computed": false,
15280                                "optional": false,
15281                                "loc": {
15282                                  "start": {
15283                                    "line": 179,
15284                                    "column": 38
15285                                  },
15286                                  "end": {
15287                                    "line": 179,
15288                                    "column": 47
15289                                  }
15290                                }
15291                              },
15292                              "property": {
15293                                "type": "Identifier",
15294                                "name": "length",
15295                                "decorators": [],
15296                                "loc": {
15297                                  "start": {
15298                                    "line": 179,
15299                                    "column": 48
15300                                  },
15301                                  "end": {
15302                                    "line": 179,
15303                                    "column": 54
15304                                  }
15305                                }
15306                              },
15307                              "computed": false,
15308                              "optional": false,
15309                              "loc": {
15310                                "start": {
15311                                  "line": 179,
15312                                  "column": 38
15313                                },
15314                                "end": {
15315                                  "line": 179,
15316                                  "column": 54
15317                                }
15318                              }
15319                            },
15320                            "loc": {
15321                              "start": {
15322                                "line": 179,
15323                                "column": 26
15324                              },
15325                              "end": {
15326                                "line": 179,
15327                                "column": 55
15328                              }
15329                            }
15330                          },
15331                          "loc": {
15332                            "start": {
15333                              "line": 179,
15334                              "column": 13
15335                            },
15336                            "end": {
15337                              "line": 179,
15338                              "column": 55
15339                            }
15340                          }
15341                        }
15342                      ],
15343                      "kind": "let",
15344                      "loc": {
15345                        "start": {
15346                          "line": 179,
15347                          "column": 9
15348                        },
15349                        "end": {
15350                          "line": 179,
15351                          "column": 56
15352                        }
15353                      }
15354                    },
15355                    {
15356                      "type": "VariableDeclaration",
15357                      "declarations": [
15358                        {
15359                          "type": "VariableDeclarator",
15360                          "id": {
15361                            "type": "Identifier",
15362                            "name": "resAmount",
15363                            "decorators": [],
15364                            "loc": {
15365                              "start": {
15366                                "line": 180,
15367                                "column": 13
15368                              },
15369                              "end": {
15370                                "line": 180,
15371                                "column": 22
15372                              }
15373                            }
15374                          },
15375                          "init": {
15376                            "type": "NumberLiteral",
15377                            "value": 0,
15378                            "loc": {
15379                              "start": {
15380                                "line": 180,
15381                                "column": 25
15382                              },
15383                              "end": {
15384                                "line": 180,
15385                                "column": 26
15386                              }
15387                            }
15388                          },
15389                          "loc": {
15390                            "start": {
15391                              "line": 180,
15392                              "column": 13
15393                            },
15394                            "end": {
15395                              "line": 180,
15396                              "column": 26
15397                            }
15398                          }
15399                        }
15400                      ],
15401                      "kind": "let",
15402                      "loc": {
15403                        "start": {
15404                          "line": 180,
15405                          "column": 9
15406                        },
15407                        "end": {
15408                          "line": 180,
15409                          "column": 27
15410                        }
15411                      }
15412                    },
15413                    {
15414                      "type": "ForUpdateStatement",
15415                      "init": {
15416                        "type": "VariableDeclaration",
15417                        "declarations": [
15418                          {
15419                            "type": "VariableDeclarator",
15420                            "id": {
15421                              "type": "Identifier",
15422                              "name": "i",
15423                              "decorators": [],
15424                              "loc": {
15425                                "start": {
15426                                  "line": 181,
15427                                  "column": 18
15428                                },
15429                                "end": {
15430                                  "line": 181,
15431                                  "column": 19
15432                                }
15433                              }
15434                            },
15435                            "init": {
15436                              "type": "NumberLiteral",
15437                              "value": 0,
15438                              "loc": {
15439                                "start": {
15440                                  "line": 181,
15441                                  "column": 22
15442                                },
15443                                "end": {
15444                                  "line": 181,
15445                                  "column": 23
15446                                }
15447                              }
15448                            },
15449                            "loc": {
15450                              "start": {
15451                                "line": 181,
15452                                "column": 18
15453                              },
15454                              "end": {
15455                                "line": 181,
15456                                "column": 23
15457                              }
15458                            }
15459                          }
15460                        ],
15461                        "kind": "let",
15462                        "loc": {
15463                          "start": {
15464                            "line": 181,
15465                            "column": 14
15466                          },
15467                          "end": {
15468                            "line": 181,
15469                            "column": 23
15470                          }
15471                        }
15472                      },
15473                      "test": {
15474                        "type": "BinaryExpression",
15475                        "operator": "<",
15476                        "left": {
15477                          "type": "Identifier",
15478                          "name": "i",
15479                          "decorators": [],
15480                          "loc": {
15481                            "start": {
15482                              "line": 181,
15483                              "column": 25
15484                            },
15485                            "end": {
15486                              "line": 181,
15487                              "column": 26
15488                            }
15489                          }
15490                        },
15491                        "right": {
15492                          "type": "MemberExpression",
15493                          "object": {
15494                            "type": "ThisExpression",
15495                            "loc": {
15496                              "start": {
15497                                "line": 181,
15498                                "column": 29
15499                              },
15500                              "end": {
15501                                "line": 181,
15502                                "column": 33
15503                              }
15504                            }
15505                          },
15506                          "property": {
15507                            "type": "Identifier",
15508                            "name": "curSize",
15509                            "decorators": [],
15510                            "loc": {
15511                              "start": {
15512                                "line": 181,
15513                                "column": 34
15514                              },
15515                              "end": {
15516                                "line": 181,
15517                                "column": 41
15518                              }
15519                            }
15520                          },
15521                          "computed": false,
15522                          "optional": false,
15523                          "loc": {
15524                            "start": {
15525                              "line": 181,
15526                              "column": 29
15527                            },
15528                            "end": {
15529                              "line": 181,
15530                              "column": 41
15531                            }
15532                          }
15533                        },
15534                        "loc": {
15535                          "start": {
15536                            "line": 181,
15537                            "column": 25
15538                          },
15539                          "end": {
15540                            "line": 181,
15541                            "column": 41
15542                          }
15543                        }
15544                      },
15545                      "update": {
15546                        "type": "UpdateExpression",
15547                        "operator": "++",
15548                        "prefix": true,
15549                        "argument": {
15550                          "type": "Identifier",
15551                          "name": "i",
15552                          "decorators": [],
15553                          "loc": {
15554                            "start": {
15555                              "line": 181,
15556                              "column": 45
15557                            },
15558                            "end": {
15559                              "line": 181,
15560                              "column": 46
15561                            }
15562                          }
15563                        },
15564                        "loc": {
15565                          "start": {
15566                            "line": 181,
15567                            "column": 43
15568                          },
15569                          "end": {
15570                            "line": 181,
15571                            "column": 46
15572                          }
15573                        }
15574                      },
15575                      "body": {
15576                        "type": "BlockStatement",
15577                        "statements": [
15578                          {
15579                            "type": "ExpressionStatement",
15580                            "expression": {
15581                              "type": "AssignmentExpression",
15582                              "operator": "=",
15583                              "left": {
15584                                "type": "MemberExpression",
15585                                "object": {
15586                                  "type": "Identifier",
15587                                  "name": "indicators",
15588                                  "decorators": [],
15589                                  "loc": {
15590                                    "start": {
15591                                      "line": 182,
15592                                      "column": 13
15593                                    },
15594                                    "end": {
15595                                      "line": 182,
15596                                      "column": 23
15597                                    }
15598                                  }
15599                                },
15600                                "property": {
15601                                  "type": "Identifier",
15602                                  "name": "i",
15603                                  "decorators": [],
15604                                  "loc": {
15605                                    "start": {
15606                                      "line": 182,
15607                                      "column": 24
15608                                    },
15609                                    "end": {
15610                                      "line": 182,
15611                                      "column": 25
15612                                    }
15613                                  }
15614                                },
15615                                "computed": true,
15616                                "optional": false,
15617                                "loc": {
15618                                  "start": {
15619                                    "line": 182,
15620                                    "column": 13
15621                                  },
15622                                  "end": {
15623                                    "line": 182,
15624                                    "column": 26
15625                                  }
15626                                }
15627                              },
15628                              "right": {
15629                                "type": "CallExpression",
15630                                "callee": {
15631                                  "type": "Identifier",
15632                                  "name": "filterCond",
15633                                  "decorators": [],
15634                                  "loc": {
15635                                    "start": {
15636                                      "line": 182,
15637                                      "column": 29
15638                                    },
15639                                    "end": {
15640                                      "line": 182,
15641                                      "column": 39
15642                                    }
15643                                  }
15644                                },
15645                                "arguments": [
15646                                  {
15647                                    "type": "MemberExpression",
15648                                    "object": {
15649                                      "type": "MemberExpression",
15650                                      "object": {
15651                                        "type": "ThisExpression",
15652                                        "loc": {
15653                                          "start": {
15654                                            "line": 182,
15655                                            "column": 40
15656                                          },
15657                                          "end": {
15658                                            "line": 182,
15659                                            "column": 44
15660                                          }
15661                                        }
15662                                      },
15663                                      "property": {
15664                                        "type": "Identifier",
15665                                        "name": "data",
15666                                        "decorators": [],
15667                                        "loc": {
15668                                          "start": {
15669                                            "line": 182,
15670                                            "column": 45
15671                                          },
15672                                          "end": {
15673                                            "line": 182,
15674                                            "column": 49
15675                                          }
15676                                        }
15677                                      },
15678                                      "computed": false,
15679                                      "optional": false,
15680                                      "loc": {
15681                                        "start": {
15682                                          "line": 182,
15683                                          "column": 40
15684                                        },
15685                                        "end": {
15686                                          "line": 182,
15687                                          "column": 49
15688                                        }
15689                                      }
15690                                    },
15691                                    "property": {
15692                                      "type": "Identifier",
15693                                      "name": "i",
15694                                      "decorators": [],
15695                                      "loc": {
15696                                        "start": {
15697                                          "line": 182,
15698                                          "column": 50
15699                                        },
15700                                        "end": {
15701                                          "line": 182,
15702                                          "column": 51
15703                                        }
15704                                      }
15705                                    },
15706                                    "computed": true,
15707                                    "optional": false,
15708                                    "loc": {
15709                                      "start": {
15710                                        "line": 182,
15711                                        "column": 40
15712                                      },
15713                                      "end": {
15714                                        "line": 182,
15715                                        "column": 52
15716                                      }
15717                                    }
15718                                  }
15719                                ],
15720                                "optional": false,
15721                                "loc": {
15722                                  "start": {
15723                                    "line": 182,
15724                                    "column": 29
15725                                  },
15726                                  "end": {
15727                                    "line": 182,
15728                                    "column": 53
15729                                  }
15730                                }
15731                              },
15732                              "loc": {
15733                                "start": {
15734                                  "line": 182,
15735                                  "column": 13
15736                                },
15737                                "end": {
15738                                  "line": 182,
15739                                  "column": 53
15740                                }
15741                              }
15742                            },
15743                            "loc": {
15744                              "start": {
15745                                "line": 182,
15746                                "column": 13
15747                              },
15748                              "end": {
15749                                "line": 182,
15750                                "column": 54
15751                              }
15752                            }
15753                          },
15754                          {
15755                            "type": "IfStatement",
15756                            "test": {
15757                              "type": "MemberExpression",
15758                              "object": {
15759                                "type": "Identifier",
15760                                "name": "indicators",
15761                                "decorators": [],
15762                                "loc": {
15763                                  "start": {
15764                                    "line": 183,
15765                                    "column": 17
15766                                  },
15767                                  "end": {
15768                                    "line": 183,
15769                                    "column": 27
15770                                  }
15771                                }
15772                              },
15773                              "property": {
15774                                "type": "Identifier",
15775                                "name": "i",
15776                                "decorators": [],
15777                                "loc": {
15778                                  "start": {
15779                                    "line": 183,
15780                                    "column": 28
15781                                  },
15782                                  "end": {
15783                                    "line": 183,
15784                                    "column": 29
15785                                  }
15786                                }
15787                              },
15788                              "computed": true,
15789                              "optional": false,
15790                              "loc": {
15791                                "start": {
15792                                  "line": 183,
15793                                  "column": 17
15794                                },
15795                                "end": {
15796                                  "line": 183,
15797                                  "column": 30
15798                                }
15799                              }
15800                            },
15801                            "consequent": {
15802                              "type": "BlockStatement",
15803                              "statements": [
15804                                {
15805                                  "type": "ExpressionStatement",
15806                                  "expression": {
15807                                    "type": "UpdateExpression",
15808                                    "operator": "++",
15809                                    "prefix": true,
15810                                    "argument": {
15811                                      "type": "Identifier",
15812                                      "name": "resAmount",
15813                                      "decorators": [],
15814                                      "loc": {
15815                                        "start": {
15816                                          "line": 184,
15817                                          "column": 19
15818                                        },
15819                                        "end": {
15820                                          "line": 184,
15821                                          "column": 28
15822                                        }
15823                                      }
15824                                    },
15825                                    "loc": {
15826                                      "start": {
15827                                        "line": 184,
15828                                        "column": 17
15829                                      },
15830                                      "end": {
15831                                        "line": 184,
15832                                        "column": 28
15833                                      }
15834                                    }
15835                                  },
15836                                  "loc": {
15837                                    "start": {
15838                                      "line": 184,
15839                                      "column": 17
15840                                    },
15841                                    "end": {
15842                                      "line": 184,
15843                                      "column": 29
15844                                    }
15845                                  }
15846                                }
15847                              ],
15848                              "loc": {
15849                                "start": {
15850                                  "line": 183,
15851                                  "column": 32
15852                                },
15853                                "end": {
15854                                  "line": 185,
15855                                  "column": 14
15856                                }
15857                              }
15858                            },
15859                            "alternate": null,
15860                            "loc": {
15861                              "start": {
15862                                "line": 183,
15863                                "column": 13
15864                              },
15865                              "end": {
15866                                "line": 185,
15867                                "column": 14
15868                              }
15869                            }
15870                          }
15871                        ],
15872                        "loc": {
15873                          "start": {
15874                            "line": 181,
15875                            "column": 48
15876                          },
15877                          "end": {
15878                            "line": 186,
15879                            "column": 10
15880                          }
15881                        }
15882                      },
15883                      "loc": {
15884                        "start": {
15885                          "line": 181,
15886                          "column": 9
15887                        },
15888                        "end": {
15889                          "line": 186,
15890                          "column": 10
15891                        }
15892                      }
15893                    },
15894                    {
15895                      "type": "VariableDeclaration",
15896                      "declarations": [
15897                        {
15898                          "type": "VariableDeclarator",
15899                          "id": {
15900                            "type": "Identifier",
15901                            "name": "res",
15902                            "decorators": [],
15903                            "loc": {
15904                              "start": {
15905                                "line": 187,
15906                                "column": 13
15907                              },
15908                              "end": {
15909                                "line": 187,
15910                                "column": 16
15911                              }
15912                            }
15913                          },
15914                          "init": {
15915                            "type": "ETSNewArrayInstanceExpression",
15916                            "typeReference": {
15917                              "type": "ETSTypeReference",
15918                              "part": {
15919                                "type": "ETSTypeReferencePart",
15920                                "name": {
15921                                  "type": "Identifier",
15922                                  "name": "T",
15923                                  "decorators": [],
15924                                  "loc": {
15925                                    "start": {
15926                                      "line": 187,
15927                                      "column": 23
15928                                    },
15929                                    "end": {
15930                                      "line": 187,
15931                                      "column": 24
15932                                    }
15933                                  }
15934                                },
15935                                "loc": {
15936                                  "start": {
15937                                    "line": 187,
15938                                    "column": 23
15939                                  },
15940                                  "end": {
15941                                    "line": 187,
15942                                    "column": 25
15943                                  }
15944                                }
15945                              },
15946                              "loc": {
15947                                "start": {
15948                                  "line": 187,
15949                                  "column": 23
15950                                },
15951                                "end": {
15952                                  "line": 187,
15953                                  "column": 25
15954                                }
15955                              }
15956                            },
15957                            "dimension": {
15958                              "type": "Identifier",
15959                              "name": "resAmount",
15960                              "decorators": [],
15961                              "loc": {
15962                                "start": {
15963                                  "line": 187,
15964                                  "column": 25
15965                                },
15966                                "end": {
15967                                  "line": 187,
15968                                  "column": 34
15969                                }
15970                              }
15971                            },
15972                            "loc": {
15973                              "start": {
15974                                "line": 187,
15975                                "column": 19
15976                              },
15977                              "end": {
15978                                "line": 187,
15979                                "column": 35
15980                              }
15981                            }
15982                          },
15983                          "loc": {
15984                            "start": {
15985                              "line": 187,
15986                              "column": 13
15987                            },
15988                            "end": {
15989                              "line": 187,
15990                              "column": 35
15991                            }
15992                          }
15993                        }
15994                      ],
15995                      "kind": "let",
15996                      "loc": {
15997                        "start": {
15998                          "line": 187,
15999                          "column": 9
16000                        },
16001                        "end": {
16002                          "line": 187,
16003                          "column": 36
16004                        }
16005                      }
16006                    },
16007                    {
16008                      "type": "ForUpdateStatement",
16009                      "init": {
16010                        "type": "VariableDeclaration",
16011                        "declarations": [
16012                          {
16013                            "type": "VariableDeclarator",
16014                            "id": {
16015                              "type": "Identifier",
16016                              "name": "i",
16017                              "decorators": [],
16018                              "loc": {
16019                                "start": {
16020                                  "line": 188,
16021                                  "column": 18
16022                                },
16023                                "end": {
16024                                  "line": 188,
16025                                  "column": 19
16026                                }
16027                              }
16028                            },
16029                            "init": {
16030                              "type": "NumberLiteral",
16031                              "value": 0,
16032                              "loc": {
16033                                "start": {
16034                                  "line": 188,
16035                                  "column": 22
16036                                },
16037                                "end": {
16038                                  "line": 188,
16039                                  "column": 23
16040                                }
16041                              }
16042                            },
16043                            "loc": {
16044                              "start": {
16045                                "line": 188,
16046                                "column": 18
16047                              },
16048                              "end": {
16049                                "line": 188,
16050                                "column": 23
16051                              }
16052                            }
16053                          },
16054                          {
16055                            "type": "VariableDeclarator",
16056                            "id": {
16057                              "type": "Identifier",
16058                              "name": "j",
16059                              "decorators": [],
16060                              "loc": {
16061                                "start": {
16062                                  "line": 188,
16063                                  "column": 25
16064                                },
16065                                "end": {
16066                                  "line": 188,
16067                                  "column": 26
16068                                }
16069                              }
16070                            },
16071                            "init": {
16072                              "type": "NumberLiteral",
16073                              "value": 0,
16074                              "loc": {
16075                                "start": {
16076                                  "line": 188,
16077                                  "column": 29
16078                                },
16079                                "end": {
16080                                  "line": 188,
16081                                  "column": 30
16082                                }
16083                              }
16084                            },
16085                            "loc": {
16086                              "start": {
16087                                "line": 188,
16088                                "column": 25
16089                              },
16090                              "end": {
16091                                "line": 188,
16092                                "column": 30
16093                              }
16094                            }
16095                          }
16096                        ],
16097                        "kind": "let",
16098                        "loc": {
16099                          "start": {
16100                            "line": 188,
16101                            "column": 14
16102                          },
16103                          "end": {
16104                            "line": 188,
16105                            "column": 30
16106                          }
16107                        }
16108                      },
16109                      "test": {
16110                        "type": "BinaryExpression",
16111                        "operator": "<",
16112                        "left": {
16113                          "type": "Identifier",
16114                          "name": "i",
16115                          "decorators": [],
16116                          "loc": {
16117                            "start": {
16118                              "line": 188,
16119                              "column": 32
16120                            },
16121                            "end": {
16122                              "line": 188,
16123                              "column": 33
16124                            }
16125                          }
16126                        },
16127                        "right": {
16128                          "type": "MemberExpression",
16129                          "object": {
16130                            "type": "ThisExpression",
16131                            "loc": {
16132                              "start": {
16133                                "line": 188,
16134                                "column": 36
16135                              },
16136                              "end": {
16137                                "line": 188,
16138                                "column": 40
16139                              }
16140                            }
16141                          },
16142                          "property": {
16143                            "type": "Identifier",
16144                            "name": "curSize",
16145                            "decorators": [],
16146                            "loc": {
16147                              "start": {
16148                                "line": 188,
16149                                "column": 41
16150                              },
16151                              "end": {
16152                                "line": 188,
16153                                "column": 48
16154                              }
16155                            }
16156                          },
16157                          "computed": false,
16158                          "optional": false,
16159                          "loc": {
16160                            "start": {
16161                              "line": 188,
16162                              "column": 36
16163                            },
16164                            "end": {
16165                              "line": 188,
16166                              "column": 48
16167                            }
16168                          }
16169                        },
16170                        "loc": {
16171                          "start": {
16172                            "line": 188,
16173                            "column": 32
16174                          },
16175                          "end": {
16176                            "line": 188,
16177                            "column": 48
16178                          }
16179                        }
16180                      },
16181                      "update": {
16182                        "type": "UpdateExpression",
16183                        "operator": "++",
16184                        "prefix": true,
16185                        "argument": {
16186                          "type": "Identifier",
16187                          "name": "i",
16188                          "decorators": [],
16189                          "loc": {
16190                            "start": {
16191                              "line": 188,
16192                              "column": 52
16193                            },
16194                            "end": {
16195                              "line": 188,
16196                              "column": 53
16197                            }
16198                          }
16199                        },
16200                        "loc": {
16201                          "start": {
16202                            "line": 188,
16203                            "column": 50
16204                          },
16205                          "end": {
16206                            "line": 188,
16207                            "column": 53
16208                          }
16209                        }
16210                      },
16211                      "body": {
16212                        "type": "BlockStatement",
16213                        "statements": [
16214                          {
16215                            "type": "IfStatement",
16216                            "test": {
16217                              "type": "MemberExpression",
16218                              "object": {
16219                                "type": "Identifier",
16220                                "name": "indicators",
16221                                "decorators": [],
16222                                "loc": {
16223                                  "start": {
16224                                    "line": 189,
16225                                    "column": 17
16226                                  },
16227                                  "end": {
16228                                    "line": 189,
16229                                    "column": 27
16230                                  }
16231                                }
16232                              },
16233                              "property": {
16234                                "type": "Identifier",
16235                                "name": "i",
16236                                "decorators": [],
16237                                "loc": {
16238                                  "start": {
16239                                    "line": 189,
16240                                    "column": 28
16241                                  },
16242                                  "end": {
16243                                    "line": 189,
16244                                    "column": 29
16245                                  }
16246                                }
16247                              },
16248                              "computed": true,
16249                              "optional": false,
16250                              "loc": {
16251                                "start": {
16252                                  "line": 189,
16253                                  "column": 17
16254                                },
16255                                "end": {
16256                                  "line": 189,
16257                                  "column": 30
16258                                }
16259                              }
16260                            },
16261                            "consequent": {
16262                              "type": "BlockStatement",
16263                              "statements": [
16264                                {
16265                                  "type": "ExpressionStatement",
16266                                  "expression": {
16267                                    "type": "AssignmentExpression",
16268                                    "operator": "=",
16269                                    "left": {
16270                                      "type": "MemberExpression",
16271                                      "object": {
16272                                        "type": "Identifier",
16273                                        "name": "res",
16274                                        "decorators": [],
16275                                        "loc": {
16276                                          "start": {
16277                                            "line": 190,
16278                                            "column": 17
16279                                          },
16280                                          "end": {
16281                                            "line": 190,
16282                                            "column": 20
16283                                          }
16284                                        }
16285                                      },
16286                                      "property": {
16287                                        "type": "Identifier",
16288                                        "name": "j",
16289                                        "decorators": [],
16290                                        "loc": {
16291                                          "start": {
16292                                            "line": 190,
16293                                            "column": 21
16294                                          },
16295                                          "end": {
16296                                            "line": 190,
16297                                            "column": 22
16298                                          }
16299                                        }
16300                                      },
16301                                      "computed": true,
16302                                      "optional": false,
16303                                      "loc": {
16304                                        "start": {
16305                                          "line": 190,
16306                                          "column": 17
16307                                        },
16308                                        "end": {
16309                                          "line": 190,
16310                                          "column": 23
16311                                        }
16312                                      }
16313                                    },
16314                                    "right": {
16315                                      "type": "MemberExpression",
16316                                      "object": {
16317                                        "type": "MemberExpression",
16318                                        "object": {
16319                                          "type": "ThisExpression",
16320                                          "loc": {
16321                                            "start": {
16322                                              "line": 190,
16323                                              "column": 26
16324                                            },
16325                                            "end": {
16326                                              "line": 190,
16327                                              "column": 30
16328                                            }
16329                                          }
16330                                        },
16331                                        "property": {
16332                                          "type": "Identifier",
16333                                          "name": "data",
16334                                          "decorators": [],
16335                                          "loc": {
16336                                            "start": {
16337                                              "line": 190,
16338                                              "column": 31
16339                                            },
16340                                            "end": {
16341                                              "line": 190,
16342                                              "column": 35
16343                                            }
16344                                          }
16345                                        },
16346                                        "computed": false,
16347                                        "optional": false,
16348                                        "loc": {
16349                                          "start": {
16350                                            "line": 190,
16351                                            "column": 26
16352                                          },
16353                                          "end": {
16354                                            "line": 190,
16355                                            "column": 35
16356                                          }
16357                                        }
16358                                      },
16359                                      "property": {
16360                                        "type": "Identifier",
16361                                        "name": "i",
16362                                        "decorators": [],
16363                                        "loc": {
16364                                          "start": {
16365                                            "line": 190,
16366                                            "column": 36
16367                                          },
16368                                          "end": {
16369                                            "line": 190,
16370                                            "column": 37
16371                                          }
16372                                        }
16373                                      },
16374                                      "computed": true,
16375                                      "optional": false,
16376                                      "loc": {
16377                                        "start": {
16378                                          "line": 190,
16379                                          "column": 26
16380                                        },
16381                                        "end": {
16382                                          "line": 190,
16383                                          "column": 38
16384                                        }
16385                                      }
16386                                    },
16387                                    "loc": {
16388                                      "start": {
16389                                        "line": 190,
16390                                        "column": 17
16391                                      },
16392                                      "end": {
16393                                        "line": 190,
16394                                        "column": 38
16395                                      }
16396                                    }
16397                                  },
16398                                  "loc": {
16399                                    "start": {
16400                                      "line": 190,
16401                                      "column": 17
16402                                    },
16403                                    "end": {
16404                                      "line": 190,
16405                                      "column": 39
16406                                    }
16407                                  }
16408                                },
16409                                {
16410                                  "type": "ExpressionStatement",
16411                                  "expression": {
16412                                    "type": "UpdateExpression",
16413                                    "operator": "++",
16414                                    "prefix": true,
16415                                    "argument": {
16416                                      "type": "Identifier",
16417                                      "name": "j",
16418                                      "decorators": [],
16419                                      "loc": {
16420                                        "start": {
16421                                          "line": 191,
16422                                          "column": 19
16423                                        },
16424                                        "end": {
16425                                          "line": 191,
16426                                          "column": 20
16427                                        }
16428                                      }
16429                                    },
16430                                    "loc": {
16431                                      "start": {
16432                                        "line": 191,
16433                                        "column": 17
16434                                      },
16435                                      "end": {
16436                                        "line": 191,
16437                                        "column": 20
16438                                      }
16439                                    }
16440                                  },
16441                                  "loc": {
16442                                    "start": {
16443                                      "line": 191,
16444                                      "column": 17
16445                                    },
16446                                    "end": {
16447                                      "line": 191,
16448                                      "column": 21
16449                                    }
16450                                  }
16451                                }
16452                              ],
16453                              "loc": {
16454                                "start": {
16455                                  "line": 189,
16456                                  "column": 32
16457                                },
16458                                "end": {
16459                                  "line": 192,
16460                                  "column": 14
16461                                }
16462                              }
16463                            },
16464                            "alternate": null,
16465                            "loc": {
16466                              "start": {
16467                                "line": 189,
16468                                "column": 13
16469                              },
16470                              "end": {
16471                                "line": 192,
16472                                "column": 14
16473                              }
16474                            }
16475                          }
16476                        ],
16477                        "loc": {
16478                          "start": {
16479                            "line": 188,
16480                            "column": 55
16481                          },
16482                          "end": {
16483                            "line": 193,
16484                            "column": 10
16485                          }
16486                        }
16487                      },
16488                      "loc": {
16489                        "start": {
16490                          "line": 188,
16491                          "column": 9
16492                        },
16493                        "end": {
16494                          "line": 193,
16495                          "column": 10
16496                        }
16497                      }
16498                    },
16499                    {
16500                      "type": "ExpressionStatement",
16501                      "expression": {
16502                        "type": "AssignmentExpression",
16503                        "operator": "=",
16504                        "left": {
16505                          "type": "MemberExpression",
16506                          "object": {
16507                            "type": "ThisExpression",
16508                            "loc": {
16509                              "start": {
16510                                "line": 194,
16511                                "column": 9
16512                              },
16513                              "end": {
16514                                "line": 194,
16515                                "column": 13
16516                              }
16517                            }
16518                          },
16519                          "property": {
16520                            "type": "Identifier",
16521                            "name": "data",
16522                            "decorators": [],
16523                            "loc": {
16524                              "start": {
16525                                "line": 194,
16526                                "column": 14
16527                              },
16528                              "end": {
16529                                "line": 194,
16530                                "column": 18
16531                              }
16532                            }
16533                          },
16534                          "computed": false,
16535                          "optional": false,
16536                          "loc": {
16537                            "start": {
16538                              "line": 194,
16539                              "column": 9
16540                            },
16541                            "end": {
16542                              "line": 194,
16543                              "column": 18
16544                            }
16545                          }
16546                        },
16547                        "right": {
16548                          "type": "Identifier",
16549                          "name": "res",
16550                          "decorators": [],
16551                          "loc": {
16552                            "start": {
16553                              "line": 194,
16554                              "column": 21
16555                            },
16556                            "end": {
16557                              "line": 194,
16558                              "column": 24
16559                            }
16560                          }
16561                        },
16562                        "loc": {
16563                          "start": {
16564                            "line": 194,
16565                            "column": 9
16566                          },
16567                          "end": {
16568                            "line": 194,
16569                            "column": 24
16570                          }
16571                        }
16572                      },
16573                      "loc": {
16574                        "start": {
16575                          "line": 194,
16576                          "column": 9
16577                        },
16578                        "end": {
16579                          "line": 194,
16580                          "column": 25
16581                        }
16582                      }
16583                    },
16584                    {
16585                      "type": "ReturnStatement",
16586                      "argument": {
16587                        "type": "NullLiteral",
16588                        "value": null,
16589                        "loc": {
16590                          "start": {
16591                            "line": 195,
16592                            "column": 16
16593                          },
16594                          "end": {
16595                            "line": 195,
16596                            "column": 20
16597                          }
16598                        }
16599                      },
16600                      "loc": {
16601                        "start": {
16602                          "line": 195,
16603                          "column": 9
16604                        },
16605                        "end": {
16606                          "line": 195,
16607                          "column": 21
16608                        }
16609                      }
16610                    }
16611                  ],
16612                  "loc": {
16613                    "start": {
16614                      "line": 178,
16615                      "column": 83
16616                    },
16617                    "end": {
16618                      "line": 196,
16619                      "column": 6
16620                    }
16621                  }
16622                },
16623                "loc": {
16624                  "start": {
16625                    "line": 178,
16626                    "column": 27
16627                  },
16628                  "end": {
16629                    "line": 196,
16630                    "column": 6
16631                  }
16632                }
16633              },
16634              "loc": {
16635                "start": {
16636                  "line": 178,
16637                  "column": 27
16638                },
16639                "end": {
16640                  "line": 196,
16641                  "column": 6
16642                }
16643              }
16644            },
16645            "overloads": [],
16646            "decorators": [],
16647            "loc": {
16648              "start": {
16649                "line": 178,
16650                "column": 5
16651              },
16652              "end": {
16653                "line": 196,
16654                "column": 6
16655              }
16656            }
16657          },
16658          {
16659            "type": "MethodDefinition",
16660            "key": {
16661              "type": "Identifier",
16662              "name": "sort",
16663              "decorators": [],
16664              "loc": {
16665                "start": {
16666                  "line": 198,
16667                  "column": 21
16668                },
16669                "end": {
16670                  "line": 198,
16671                  "column": 25
16672                }
16673              }
16674            },
16675            "kind": "method",
16676            "accessibility": "public",
16677            "static": false,
16678            "optional": false,
16679            "computed": false,
16680            "value": {
16681              "type": "FunctionExpression",
16682              "function": {
16683                "type": "ScriptFunction",
16684                "id": {
16685                  "type": "Identifier",
16686                  "name": "sort",
16687                  "decorators": [],
16688                  "loc": {
16689                    "start": {
16690                      "line": 198,
16691                      "column": 21
16692                    },
16693                    "end": {
16694                      "line": 198,
16695                      "column": 25
16696                    }
16697                  }
16698                },
16699                "generator": false,
16700                "async": false,
16701                "expression": false,
16702                "params": [
16703                  {
16704                    "type": "ETSParameterExpression",
16705                    "name": {
16706                      "type": "Identifier",
16707                      "name": "comparator",
16708                      "typeAnnotation": {
16709                        "type": "ETSFunctionType",
16710                        "params": [
16711                          {
16712                            "type": "ETSParameterExpression",
16713                            "name": {
16714                              "type": "Identifier",
16715                              "name": "lhs",
16716                              "typeAnnotation": {
16717                                "type": "ETSTypeReference",
16718                                "part": {
16719                                  "type": "ETSTypeReferencePart",
16720                                  "name": {
16721                                    "type": "Identifier",
16722                                    "name": "T",
16723                                    "decorators": [],
16724                                    "loc": {
16725                                      "start": {
16726                                        "line": 198,
16727                                        "column": 44
16728                                      },
16729                                      "end": {
16730                                        "line": 198,
16731                                        "column": 45
16732                                      }
16733                                    }
16734                                  },
16735                                  "loc": {
16736                                    "start": {
16737                                      "line": 198,
16738                                      "column": 44
16739                                    },
16740                                    "end": {
16741                                      "line": 198,
16742                                      "column": 46
16743                                    }
16744                                  }
16745                                },
16746                                "loc": {
16747                                  "start": {
16748                                    "line": 198,
16749                                    "column": 44
16750                                  },
16751                                  "end": {
16752                                    "line": 198,
16753                                    "column": 46
16754                                  }
16755                                }
16756                              },
16757                              "decorators": [],
16758                              "loc": {
16759                                "start": {
16760                                  "line": 198,
16761                                  "column": 39
16762                                },
16763                                "end": {
16764                                  "line": 198,
16765                                  "column": 46
16766                                }
16767                              }
16768                            },
16769                            "loc": {
16770                              "start": {
16771                                "line": 198,
16772                                "column": 39
16773                              },
16774                              "end": {
16775                                "line": 198,
16776                                "column": 46
16777                              }
16778                            }
16779                          },
16780                          {
16781                            "type": "ETSParameterExpression",
16782                            "name": {
16783                              "type": "Identifier",
16784                              "name": "rhs",
16785                              "typeAnnotation": {
16786                                "type": "ETSTypeReference",
16787                                "part": {
16788                                  "type": "ETSTypeReferencePart",
16789                                  "name": {
16790                                    "type": "Identifier",
16791                                    "name": "T",
16792                                    "decorators": [],
16793                                    "loc": {
16794                                      "start": {
16795                                        "line": 198,
16796                                        "column": 52
16797                                      },
16798                                      "end": {
16799                                        "line": 198,
16800                                        "column": 53
16801                                      }
16802                                    }
16803                                  },
16804                                  "loc": {
16805                                    "start": {
16806                                      "line": 198,
16807                                      "column": 52
16808                                    },
16809                                    "end": {
16810                                      "line": 198,
16811                                      "column": 54
16812                                    }
16813                                  }
16814                                },
16815                                "loc": {
16816                                  "start": {
16817                                    "line": 198,
16818                                    "column": 52
16819                                  },
16820                                  "end": {
16821                                    "line": 198,
16822                                    "column": 54
16823                                  }
16824                                }
16825                              },
16826                              "decorators": [],
16827                              "loc": {
16828                                "start": {
16829                                  "line": 198,
16830                                  "column": 47
16831                                },
16832                                "end": {
16833                                  "line": 198,
16834                                  "column": 54
16835                                }
16836                              }
16837                            },
16838                            "loc": {
16839                              "start": {
16840                                "line": 198,
16841                                "column": 47
16842                              },
16843                              "end": {
16844                                "line": 198,
16845                                "column": 54
16846                              }
16847                            }
16848                          }
16849                        ],
16850                        "returnType": {
16851                          "type": "ETSPrimitiveType",
16852                          "loc": {
16853                            "start": {
16854                              "line": 198,
16855                              "column": 58
16856                            },
16857                            "end": {
16858                              "line": 198,
16859                              "column": 65
16860                            }
16861                          }
16862                        },
16863                        "loc": {
16864                          "start": {
16865                            "line": 198,
16866                            "column": 38
16867                          },
16868                          "end": {
16869                            "line": 198,
16870                            "column": 65
16871                          }
16872                        }
16873                      },
16874                      "decorators": [],
16875                      "loc": {
16876                        "start": {
16877                          "line": 198,
16878                          "column": 26
16879                        },
16880                        "end": {
16881                          "line": 198,
16882                          "column": 65
16883                        }
16884                      }
16885                    },
16886                    "loc": {
16887                      "start": {
16888                        "line": 198,
16889                        "column": 26
16890                      },
16891                      "end": {
16892                        "line": 198,
16893                        "column": 65
16894                      }
16895                    }
16896                  }
16897                ],
16898                "returnType": {
16899                  "type": "ETSUnionType",
16900                  "types": [
16901                    {
16902                      "type": "ETSTypeReference",
16903                      "part": {
16904                        "type": "ETSTypeReferencePart",
16905                        "name": {
16906                          "type": "Identifier",
16907                          "name": "ArrayAsListt",
16908                          "decorators": [],
16909                          "loc": {
16910                            "start": {
16911                              "line": 198,
16912                              "column": 68
16913                            },
16914                            "end": {
16915                              "line": 198,
16916                              "column": 80
16917                            }
16918                          }
16919                        },
16920                        "typeParams": {
16921                          "type": "TSTypeParameterInstantiation",
16922                          "params": [
16923                            {
16924                              "type": "ETSTypeReference",
16925                              "part": {
16926                                "type": "ETSTypeReferencePart",
16927                                "name": {
16928                                  "type": "Identifier",
16929                                  "name": "T",
16930                                  "decorators": [],
16931                                  "loc": {
16932                                    "start": {
16933                                      "line": 198,
16934                                      "column": 81
16935                                    },
16936                                    "end": {
16937                                      "line": 198,
16938                                      "column": 82
16939                                    }
16940                                  }
16941                                },
16942                                "loc": {
16943                                  "start": {
16944                                    "line": 198,
16945                                    "column": 81
16946                                  },
16947                                  "end": {
16948                                    "line": 198,
16949                                    "column": 83
16950                                  }
16951                                }
16952                              },
16953                              "loc": {
16954                                "start": {
16955                                  "line": 198,
16956                                  "column": 81
16957                                },
16958                                "end": {
16959                                  "line": 198,
16960                                  "column": 83
16961                                }
16962                              }
16963                            }
16964                          ],
16965                          "loc": {
16966                            "start": {
16967                              "line": 198,
16968                              "column": 80
16969                            },
16970                            "end": {
16971                              "line": 198,
16972                              "column": 83
16973                            }
16974                          }
16975                        },
16976                        "loc": {
16977                          "start": {
16978                            "line": 198,
16979                            "column": 68
16980                          },
16981                          "end": {
16982                            "line": 198,
16983                            "column": 85
16984                          }
16985                        }
16986                      },
16987                      "loc": {
16988                        "start": {
16989                          "line": 198,
16990                          "column": 68
16991                        },
16992                        "end": {
16993                          "line": 198,
16994                          "column": 85
16995                        }
16996                      }
16997                    },
16998                    {
16999                      "type": "ETSNullType",
17000                      "loc": {
17001                        "start": {
17002                          "line": 198,
17003                          "column": 86
17004                        },
17005                        "end": {
17006                          "line": 198,
17007                          "column": 90
17008                        }
17009                      }
17010                    }
17011                  ],
17012                  "loc": {
17013                    "start": {
17014                      "line": 198,
17015                      "column": 68
17016                    },
17017                    "end": {
17018                      "line": 198,
17019                      "column": 90
17020                    }
17021                  }
17022                },
17023                "body": {
17024                  "type": "BlockStatement",
17025                  "statements": [
17026                    {
17027                      "type": "ExpressionStatement",
17028                      "expression": {
17029                        "type": "CallExpression",
17030                        "callee": {
17031                          "type": "MemberExpression",
17032                          "object": {
17033                            "type": "ThisExpression",
17034                            "loc": {
17035                              "start": {
17036                                "line": 199,
17037                                "column": 9
17038                              },
17039                              "end": {
17040                                "line": 199,
17041                                "column": 13
17042                              }
17043                            }
17044                          },
17045                          "property": {
17046                            "type": "Identifier",
17047                            "name": "sortPart",
17048                            "decorators": [],
17049                            "loc": {
17050                              "start": {
17051                                "line": 199,
17052                                "column": 14
17053                              },
17054                              "end": {
17055                                "line": 199,
17056                                "column": 22
17057                              }
17058                            }
17059                          },
17060                          "computed": false,
17061                          "optional": false,
17062                          "loc": {
17063                            "start": {
17064                              "line": 199,
17065                              "column": 9
17066                            },
17067                            "end": {
17068                              "line": 199,
17069                              "column": 22
17070                            }
17071                          }
17072                        },
17073                        "arguments": [
17074                          {
17075                            "type": "MemberExpression",
17076                            "object": {
17077                              "type": "ThisExpression",
17078                              "loc": {
17079                                "start": {
17080                                  "line": 199,
17081                                  "column": 23
17082                                },
17083                                "end": {
17084                                  "line": 199,
17085                                  "column": 27
17086                                }
17087                              }
17088                            },
17089                            "property": {
17090                              "type": "Identifier",
17091                              "name": "data",
17092                              "decorators": [],
17093                              "loc": {
17094                                "start": {
17095                                  "line": 199,
17096                                  "column": 28
17097                                },
17098                                "end": {
17099                                  "line": 199,
17100                                  "column": 32
17101                                }
17102                              }
17103                            },
17104                            "computed": false,
17105                            "optional": false,
17106                            "loc": {
17107                              "start": {
17108                                "line": 199,
17109                                "column": 23
17110                              },
17111                              "end": {
17112                                "line": 199,
17113                                "column": 32
17114                              }
17115                            }
17116                          },
17117                          {
17118                            "type": "NumberLiteral",
17119                            "value": 0,
17120                            "loc": {
17121                              "start": {
17122                                "line": 199,
17123                                "column": 34
17124                              },
17125                              "end": {
17126                                "line": 199,
17127                                "column": 35
17128                              }
17129                            }
17130                          },
17131                          {
17132                            "type": "MemberExpression",
17133                            "object": {
17134                              "type": "ThisExpression",
17135                              "loc": {
17136                                "start": {
17137                                  "line": 199,
17138                                  "column": 37
17139                                },
17140                                "end": {
17141                                  "line": 199,
17142                                  "column": 41
17143                                }
17144                              }
17145                            },
17146                            "property": {
17147                              "type": "Identifier",
17148                              "name": "curSize",
17149                              "decorators": [],
17150                              "loc": {
17151                                "start": {
17152                                  "line": 199,
17153                                  "column": 42
17154                                },
17155                                "end": {
17156                                  "line": 199,
17157                                  "column": 49
17158                                }
17159                              }
17160                            },
17161                            "computed": false,
17162                            "optional": false,
17163                            "loc": {
17164                              "start": {
17165                                "line": 199,
17166                                "column": 37
17167                              },
17168                              "end": {
17169                                "line": 199,
17170                                "column": 49
17171                              }
17172                            }
17173                          },
17174                          {
17175                            "type": "Identifier",
17176                            "name": "comparator",
17177                            "decorators": [],
17178                            "loc": {
17179                              "start": {
17180                                "line": 199,
17181                                "column": 51
17182                              },
17183                              "end": {
17184                                "line": 199,
17185                                "column": 61
17186                              }
17187                            }
17188                          }
17189                        ],
17190                        "optional": false,
17191                        "loc": {
17192                          "start": {
17193                            "line": 199,
17194                            "column": 9
17195                          },
17196                          "end": {
17197                            "line": 199,
17198                            "column": 62
17199                          }
17200                        }
17201                      },
17202                      "loc": {
17203                        "start": {
17204                          "line": 199,
17205                          "column": 9
17206                        },
17207                        "end": {
17208                          "line": 199,
17209                          "column": 63
17210                        }
17211                      }
17212                    },
17213                    {
17214                      "type": "ReturnStatement",
17215                      "argument": {
17216                        "type": "NullLiteral",
17217                        "value": null,
17218                        "loc": {
17219                          "start": {
17220                            "line": 200,
17221                            "column": 16
17222                          },
17223                          "end": {
17224                            "line": 200,
17225                            "column": 20
17226                          }
17227                        }
17228                      },
17229                      "loc": {
17230                        "start": {
17231                          "line": 200,
17232                          "column": 9
17233                        },
17234                        "end": {
17235                          "line": 200,
17236                          "column": 21
17237                        }
17238                      }
17239                    }
17240                  ],
17241                  "loc": {
17242                    "start": {
17243                      "line": 198,
17244                      "column": 91
17245                    },
17246                    "end": {
17247                      "line": 201,
17248                      "column": 6
17249                    }
17250                  }
17251                },
17252                "loc": {
17253                  "start": {
17254                    "line": 198,
17255                    "column": 25
17256                  },
17257                  "end": {
17258                    "line": 201,
17259                    "column": 6
17260                  }
17261                }
17262              },
17263              "loc": {
17264                "start": {
17265                  "line": 198,
17266                  "column": 25
17267                },
17268                "end": {
17269                  "line": 201,
17270                  "column": 6
17271                }
17272              }
17273            },
17274            "overloads": [],
17275            "decorators": [],
17276            "loc": {
17277              "start": {
17278                "line": 198,
17279                "column": 5
17280              },
17281              "end": {
17282                "line": 201,
17283                "column": 6
17284              }
17285            }
17286          },
17287          {
17288            "type": "MethodDefinition",
17289            "key": {
17290              "type": "Identifier",
17291              "name": "sortPart",
17292              "decorators": [],
17293              "loc": {
17294                "start": {
17295                  "line": 203,
17296                  "column": 13
17297                },
17298                "end": {
17299                  "line": 203,
17300                  "column": 21
17301                }
17302              }
17303            },
17304            "kind": "method",
17305            "accessibility": "private",
17306            "static": false,
17307            "optional": false,
17308            "computed": false,
17309            "value": {
17310              "type": "FunctionExpression",
17311              "function": {
17312                "type": "ScriptFunction",
17313                "id": {
17314                  "type": "Identifier",
17315                  "name": "sortPart",
17316                  "decorators": [],
17317                  "loc": {
17318                    "start": {
17319                      "line": 203,
17320                      "column": 13
17321                    },
17322                    "end": {
17323                      "line": 203,
17324                      "column": 21
17325                    }
17326                  }
17327                },
17328                "generator": false,
17329                "async": false,
17330                "expression": false,
17331                "params": [
17332                  {
17333                    "type": "ETSParameterExpression",
17334                    "name": {
17335                      "type": "Identifier",
17336                      "name": "arr",
17337                      "typeAnnotation": {
17338                        "type": "TSArrayType",
17339                        "elementType": {
17340                          "type": "ETSTypeReference",
17341                          "part": {
17342                            "type": "ETSTypeReferencePart",
17343                            "name": {
17344                              "type": "Identifier",
17345                              "name": "T",
17346                              "decorators": [],
17347                              "loc": {
17348                                "start": {
17349                                  "line": 203,
17350                                  "column": 27
17351                                },
17352                                "end": {
17353                                  "line": 203,
17354                                  "column": 28
17355                                }
17356                              }
17357                            },
17358                            "loc": {
17359                              "start": {
17360                                "line": 203,
17361                                "column": 27
17362                              },
17363                              "end": {
17364                                "line": 203,
17365                                "column": 29
17366                              }
17367                            }
17368                          },
17369                          "loc": {
17370                            "start": {
17371                              "line": 203,
17372                              "column": 27
17373                            },
17374                            "end": {
17375                              "line": 203,
17376                              "column": 29
17377                            }
17378                          }
17379                        },
17380                        "loc": {
17381                          "start": {
17382                            "line": 203,
17383                            "column": 28
17384                          },
17385                          "end": {
17386                            "line": 203,
17387                            "column": 30
17388                          }
17389                        }
17390                      },
17391                      "decorators": [],
17392                      "loc": {
17393                        "start": {
17394                          "line": 203,
17395                          "column": 22
17396                        },
17397                        "end": {
17398                          "line": 203,
17399                          "column": 30
17400                        }
17401                      }
17402                    },
17403                    "loc": {
17404                      "start": {
17405                        "line": 203,
17406                        "column": 22
17407                      },
17408                      "end": {
17409                        "line": 203,
17410                        "column": 30
17411                      }
17412                    }
17413                  },
17414                  {
17415                    "type": "ETSParameterExpression",
17416                    "name": {
17417                      "type": "Identifier",
17418                      "name": "l",
17419                      "typeAnnotation": {
17420                        "type": "ETSPrimitiveType",
17421                        "loc": {
17422                          "start": {
17423                            "line": 203,
17424                            "column": 35
17425                          },
17426                          "end": {
17427                            "line": 203,
17428                            "column": 38
17429                          }
17430                        }
17431                      },
17432                      "decorators": [],
17433                      "loc": {
17434                        "start": {
17435                          "line": 203,
17436                          "column": 32
17437                        },
17438                        "end": {
17439                          "line": 203,
17440                          "column": 38
17441                        }
17442                      }
17443                    },
17444                    "loc": {
17445                      "start": {
17446                        "line": 203,
17447                        "column": 32
17448                      },
17449                      "end": {
17450                        "line": 203,
17451                        "column": 38
17452                      }
17453                    }
17454                  },
17455                  {
17456                    "type": "ETSParameterExpression",
17457                    "name": {
17458                      "type": "Identifier",
17459                      "name": "r",
17460                      "typeAnnotation": {
17461                        "type": "ETSPrimitiveType",
17462                        "loc": {
17463                          "start": {
17464                            "line": 203,
17465                            "column": 43
17466                          },
17467                          "end": {
17468                            "line": 203,
17469                            "column": 46
17470                          }
17471                        }
17472                      },
17473                      "decorators": [],
17474                      "loc": {
17475                        "start": {
17476                          "line": 203,
17477                          "column": 40
17478                        },
17479                        "end": {
17480                          "line": 203,
17481                          "column": 46
17482                        }
17483                      }
17484                    },
17485                    "loc": {
17486                      "start": {
17487                        "line": 203,
17488                        "column": 40
17489                      },
17490                      "end": {
17491                        "line": 203,
17492                        "column": 46
17493                      }
17494                    }
17495                  },
17496                  {
17497                    "type": "ETSParameterExpression",
17498                    "name": {
17499                      "type": "Identifier",
17500                      "name": "comparator",
17501                      "typeAnnotation": {
17502                        "type": "ETSFunctionType",
17503                        "params": [
17504                          {
17505                            "type": "ETSParameterExpression",
17506                            "name": {
17507                              "type": "Identifier",
17508                              "name": "lhs",
17509                              "typeAnnotation": {
17510                                "type": "ETSTypeReference",
17511                                "part": {
17512                                  "type": "ETSTypeReferencePart",
17513                                  "name": {
17514                                    "type": "Identifier",
17515                                    "name": "T",
17516                                    "decorators": [],
17517                                    "loc": {
17518                                      "start": {
17519                                        "line": 203,
17520                                        "column": 66
17521                                      },
17522                                      "end": {
17523                                        "line": 203,
17524                                        "column": 67
17525                                      }
17526                                    }
17527                                  },
17528                                  "loc": {
17529                                    "start": {
17530                                      "line": 203,
17531                                      "column": 66
17532                                    },
17533                                    "end": {
17534                                      "line": 203,
17535                                      "column": 68
17536                                    }
17537                                  }
17538                                },
17539                                "loc": {
17540                                  "start": {
17541                                    "line": 203,
17542                                    "column": 66
17543                                  },
17544                                  "end": {
17545                                    "line": 203,
17546                                    "column": 68
17547                                  }
17548                                }
17549                              },
17550                              "decorators": [],
17551                              "loc": {
17552                                "start": {
17553                                  "line": 203,
17554                                  "column": 61
17555                                },
17556                                "end": {
17557                                  "line": 203,
17558                                  "column": 68
17559                                }
17560                              }
17561                            },
17562                            "loc": {
17563                              "start": {
17564                                "line": 203,
17565                                "column": 61
17566                              },
17567                              "end": {
17568                                "line": 203,
17569                                "column": 68
17570                              }
17571                            }
17572                          },
17573                          {
17574                            "type": "ETSParameterExpression",
17575                            "name": {
17576                              "type": "Identifier",
17577                              "name": "rhs",
17578                              "typeAnnotation": {
17579                                "type": "ETSTypeReference",
17580                                "part": {
17581                                  "type": "ETSTypeReferencePart",
17582                                  "name": {
17583                                    "type": "Identifier",
17584                                    "name": "T",
17585                                    "decorators": [],
17586                                    "loc": {
17587                                      "start": {
17588                                        "line": 203,
17589                                        "column": 74
17590                                      },
17591                                      "end": {
17592                                        "line": 203,
17593                                        "column": 75
17594                                      }
17595                                    }
17596                                  },
17597                                  "loc": {
17598                                    "start": {
17599                                      "line": 203,
17600                                      "column": 74
17601                                    },
17602                                    "end": {
17603                                      "line": 203,
17604                                      "column": 76
17605                                    }
17606                                  }
17607                                },
17608                                "loc": {
17609                                  "start": {
17610                                    "line": 203,
17611                                    "column": 74
17612                                  },
17613                                  "end": {
17614                                    "line": 203,
17615                                    "column": 76
17616                                  }
17617                                }
17618                              },
17619                              "decorators": [],
17620                              "loc": {
17621                                "start": {
17622                                  "line": 203,
17623                                  "column": 69
17624                                },
17625                                "end": {
17626                                  "line": 203,
17627                                  "column": 76
17628                                }
17629                              }
17630                            },
17631                            "loc": {
17632                              "start": {
17633                                "line": 203,
17634                                "column": 69
17635                              },
17636                              "end": {
17637                                "line": 203,
17638                                "column": 76
17639                              }
17640                            }
17641                          }
17642                        ],
17643                        "returnType": {
17644                          "type": "ETSPrimitiveType",
17645                          "loc": {
17646                            "start": {
17647                              "line": 203,
17648                              "column": 80
17649                            },
17650                            "end": {
17651                              "line": 203,
17652                              "column": 87
17653                            }
17654                          }
17655                        },
17656                        "loc": {
17657                          "start": {
17658                            "line": 203,
17659                            "column": 60
17660                          },
17661                          "end": {
17662                            "line": 203,
17663                            "column": 87
17664                          }
17665                        }
17666                      },
17667                      "decorators": [],
17668                      "loc": {
17669                        "start": {
17670                          "line": 203,
17671                          "column": 48
17672                        },
17673                        "end": {
17674                          "line": 203,
17675                          "column": 87
17676                        }
17677                      }
17678                    },
17679                    "loc": {
17680                      "start": {
17681                        "line": 203,
17682                        "column": 48
17683                      },
17684                      "end": {
17685                        "line": 203,
17686                        "column": 87
17687                      }
17688                    }
17689                  }
17690                ],
17691                "returnType": {
17692                  "type": "ETSPrimitiveType",
17693                  "loc": {
17694                    "start": {
17695                      "line": 203,
17696                      "column": 90
17697                    },
17698                    "end": {
17699                      "line": 203,
17700                      "column": 94
17701                    }
17702                  }
17703                },
17704                "body": {
17705                  "type": "BlockStatement",
17706                  "statements": [],
17707                  "loc": {
17708                    "start": {
17709                      "line": 203,
17710                      "column": 95
17711                    },
17712                    "end": {
17713                      "line": 205,
17714                      "column": 6
17715                    }
17716                  }
17717                },
17718                "loc": {
17719                  "start": {
17720                    "line": 203,
17721                    "column": 21
17722                  },
17723                  "end": {
17724                    "line": 205,
17725                    "column": 6
17726                  }
17727                }
17728              },
17729              "loc": {
17730                "start": {
17731                  "line": 203,
17732                  "column": 21
17733                },
17734                "end": {
17735                  "line": 205,
17736                  "column": 6
17737                }
17738              }
17739            },
17740            "overloads": [],
17741            "decorators": [],
17742            "loc": {
17743              "start": {
17744                "line": 203,
17745                "column": 5
17746              },
17747              "end": {
17748                "line": 205,
17749                "column": 6
17750              }
17751            }
17752          },
17753          {
17754            "type": "MethodDefinition",
17755            "key": {
17756              "type": "Identifier",
17757              "name": "partition",
17758              "decorators": [],
17759              "loc": {
17760                "start": {
17761                  "line": 207,
17762                  "column": 20
17763                },
17764                "end": {
17765                  "line": 207,
17766                  "column": 29
17767                }
17768              }
17769            },
17770            "kind": "method",
17771            "accessibility": "private",
17772            "static": true,
17773            "optional": false,
17774            "computed": false,
17775            "value": {
17776              "type": "FunctionExpression",
17777              "function": {
17778                "type": "ScriptFunction",
17779                "id": {
17780                  "type": "Identifier",
17781                  "name": "partition",
17782                  "decorators": [],
17783                  "loc": {
17784                    "start": {
17785                      "line": 207,
17786                      "column": 20
17787                    },
17788                    "end": {
17789                      "line": 207,
17790                      "column": 29
17791                    }
17792                  }
17793                },
17794                "generator": false,
17795                "async": false,
17796                "expression": false,
17797                "params": [
17798                  {
17799                    "type": "ETSParameterExpression",
17800                    "name": {
17801                      "type": "Identifier",
17802                      "name": "arr",
17803                      "typeAnnotation": {
17804                        "type": "TSArrayType",
17805                        "elementType": {
17806                          "type": "ETSTypeReference",
17807                          "part": {
17808                            "type": "ETSTypeReferencePart",
17809                            "name": {
17810                              "type": "Identifier",
17811                              "name": "T",
17812                              "decorators": [],
17813                              "loc": {
17814                                "start": {
17815                                  "line": 207,
17816                                  "column": 35
17817                                },
17818                                "end": {
17819                                  "line": 207,
17820                                  "column": 36
17821                                }
17822                              }
17823                            },
17824                            "loc": {
17825                              "start": {
17826                                "line": 207,
17827                                "column": 35
17828                              },
17829                              "end": {
17830                                "line": 207,
17831                                "column": 37
17832                              }
17833                            }
17834                          },
17835                          "loc": {
17836                            "start": {
17837                              "line": 207,
17838                              "column": 35
17839                            },
17840                            "end": {
17841                              "line": 207,
17842                              "column": 37
17843                            }
17844                          }
17845                        },
17846                        "loc": {
17847                          "start": {
17848                            "line": 207,
17849                            "column": 36
17850                          },
17851                          "end": {
17852                            "line": 207,
17853                            "column": 38
17854                          }
17855                        }
17856                      },
17857                      "decorators": [],
17858                      "loc": {
17859                        "start": {
17860                          "line": 207,
17861                          "column": 30
17862                        },
17863                        "end": {
17864                          "line": 207,
17865                          "column": 38
17866                        }
17867                      }
17868                    },
17869                    "loc": {
17870                      "start": {
17871                        "line": 207,
17872                        "column": 30
17873                      },
17874                      "end": {
17875                        "line": 207,
17876                        "column": 38
17877                      }
17878                    }
17879                  },
17880                  {
17881                    "type": "ETSParameterExpression",
17882                    "name": {
17883                      "type": "Identifier",
17884                      "name": "l",
17885                      "typeAnnotation": {
17886                        "type": "ETSPrimitiveType",
17887                        "loc": {
17888                          "start": {
17889                            "line": 207,
17890                            "column": 43
17891                          },
17892                          "end": {
17893                            "line": 207,
17894                            "column": 46
17895                          }
17896                        }
17897                      },
17898                      "decorators": [],
17899                      "loc": {
17900                        "start": {
17901                          "line": 207,
17902                          "column": 40
17903                        },
17904                        "end": {
17905                          "line": 207,
17906                          "column": 46
17907                        }
17908                      }
17909                    },
17910                    "loc": {
17911                      "start": {
17912                        "line": 207,
17913                        "column": 40
17914                      },
17915                      "end": {
17916                        "line": 207,
17917                        "column": 46
17918                      }
17919                    }
17920                  },
17921                  {
17922                    "type": "ETSParameterExpression",
17923                    "name": {
17924                      "type": "Identifier",
17925                      "name": "r",
17926                      "typeAnnotation": {
17927                        "type": "ETSPrimitiveType",
17928                        "loc": {
17929                          "start": {
17930                            "line": 207,
17931                            "column": 51
17932                          },
17933                          "end": {
17934                            "line": 207,
17935                            "column": 54
17936                          }
17937                        }
17938                      },
17939                      "decorators": [],
17940                      "loc": {
17941                        "start": {
17942                          "line": 207,
17943                          "column": 48
17944                        },
17945                        "end": {
17946                          "line": 207,
17947                          "column": 54
17948                        }
17949                      }
17950                    },
17951                    "loc": {
17952                      "start": {
17953                        "line": 207,
17954                        "column": 48
17955                      },
17956                      "end": {
17957                        "line": 207,
17958                        "column": 54
17959                      }
17960                    }
17961                  },
17962                  {
17963                    "type": "ETSParameterExpression",
17964                    "name": {
17965                      "type": "Identifier",
17966                      "name": "comparator",
17967                      "typeAnnotation": {
17968                        "type": "ETSFunctionType",
17969                        "params": [
17970                          {
17971                            "type": "ETSParameterExpression",
17972                            "name": {
17973                              "type": "Identifier",
17974                              "name": "lhs",
17975                              "typeAnnotation": {
17976                                "type": "ETSTypeReference",
17977                                "part": {
17978                                  "type": "ETSTypeReferencePart",
17979                                  "name": {
17980                                    "type": "Identifier",
17981                                    "name": "T",
17982                                    "decorators": [],
17983                                    "loc": {
17984                                      "start": {
17985                                        "line": 207,
17986                                        "column": 74
17987                                      },
17988                                      "end": {
17989                                        "line": 207,
17990                                        "column": 75
17991                                      }
17992                                    }
17993                                  },
17994                                  "loc": {
17995                                    "start": {
17996                                      "line": 207,
17997                                      "column": 74
17998                                    },
17999                                    "end": {
18000                                      "line": 207,
18001                                      "column": 76
18002                                    }
18003                                  }
18004                                },
18005                                "loc": {
18006                                  "start": {
18007                                    "line": 207,
18008                                    "column": 74
18009                                  },
18010                                  "end": {
18011                                    "line": 207,
18012                                    "column": 76
18013                                  }
18014                                }
18015                              },
18016                              "decorators": [],
18017                              "loc": {
18018                                "start": {
18019                                  "line": 207,
18020                                  "column": 69
18021                                },
18022                                "end": {
18023                                  "line": 207,
18024                                  "column": 76
18025                                }
18026                              }
18027                            },
18028                            "loc": {
18029                              "start": {
18030                                "line": 207,
18031                                "column": 69
18032                              },
18033                              "end": {
18034                                "line": 207,
18035                                "column": 76
18036                              }
18037                            }
18038                          },
18039                          {
18040                            "type": "ETSParameterExpression",
18041                            "name": {
18042                              "type": "Identifier",
18043                              "name": "rhs",
18044                              "typeAnnotation": {
18045                                "type": "ETSTypeReference",
18046                                "part": {
18047                                  "type": "ETSTypeReferencePart",
18048                                  "name": {
18049                                    "type": "Identifier",
18050                                    "name": "T",
18051                                    "decorators": [],
18052                                    "loc": {
18053                                      "start": {
18054                                        "line": 207,
18055                                        "column": 82
18056                                      },
18057                                      "end": {
18058                                        "line": 207,
18059                                        "column": 83
18060                                      }
18061                                    }
18062                                  },
18063                                  "loc": {
18064                                    "start": {
18065                                      "line": 207,
18066                                      "column": 82
18067                                    },
18068                                    "end": {
18069                                      "line": 207,
18070                                      "column": 84
18071                                    }
18072                                  }
18073                                },
18074                                "loc": {
18075                                  "start": {
18076                                    "line": 207,
18077                                    "column": 82
18078                                  },
18079                                  "end": {
18080                                    "line": 207,
18081                                    "column": 84
18082                                  }
18083                                }
18084                              },
18085                              "decorators": [],
18086                              "loc": {
18087                                "start": {
18088                                  "line": 207,
18089                                  "column": 77
18090                                },
18091                                "end": {
18092                                  "line": 207,
18093                                  "column": 84
18094                                }
18095                              }
18096                            },
18097                            "loc": {
18098                              "start": {
18099                                "line": 207,
18100                                "column": 77
18101                              },
18102                              "end": {
18103                                "line": 207,
18104                                "column": 84
18105                              }
18106                            }
18107                          }
18108                        ],
18109                        "returnType": {
18110                          "type": "ETSPrimitiveType",
18111                          "loc": {
18112                            "start": {
18113                              "line": 207,
18114                              "column": 88
18115                            },
18116                            "end": {
18117                              "line": 207,
18118                              "column": 95
18119                            }
18120                          }
18121                        },
18122                        "loc": {
18123                          "start": {
18124                            "line": 207,
18125                            "column": 68
18126                          },
18127                          "end": {
18128                            "line": 207,
18129                            "column": 95
18130                          }
18131                        }
18132                      },
18133                      "decorators": [],
18134                      "loc": {
18135                        "start": {
18136                          "line": 207,
18137                          "column": 56
18138                        },
18139                        "end": {
18140                          "line": 207,
18141                          "column": 95
18142                        }
18143                      }
18144                    },
18145                    "loc": {
18146                      "start": {
18147                        "line": 207,
18148                        "column": 56
18149                      },
18150                      "end": {
18151                        "line": 207,
18152                        "column": 95
18153                      }
18154                    }
18155                  }
18156                ],
18157                "returnType": {
18158                  "type": "ETSPrimitiveType",
18159                  "loc": {
18160                    "start": {
18161                      "line": 207,
18162                      "column": 98
18163                    },
18164                    "end": {
18165                      "line": 207,
18166                      "column": 101
18167                    }
18168                  }
18169                },
18170                "body": {
18171                  "type": "BlockStatement",
18172                  "statements": [
18173                    {
18174                      "type": "VariableDeclaration",
18175                      "declarations": [
18176                        {
18177                          "type": "VariableDeclarator",
18178                          "id": {
18179                            "type": "Identifier",
18180                            "name": "last",
18181                            "decorators": [],
18182                            "loc": {
18183                              "start": {
18184                                "line": 208,
18185                                "column": 13
18186                              },
18187                              "end": {
18188                                "line": 208,
18189                                "column": 17
18190                              }
18191                            }
18192                          },
18193                          "init": {
18194                            "type": "BinaryExpression",
18195                            "operator": "-",
18196                            "left": {
18197                              "type": "Identifier",
18198                              "name": "r",
18199                              "decorators": [],
18200                              "loc": {
18201                                "start": {
18202                                  "line": 208,
18203                                  "column": 20
18204                                },
18205                                "end": {
18206                                  "line": 208,
18207                                  "column": 21
18208                                }
18209                              }
18210                            },
18211                            "right": {
18212                              "type": "NumberLiteral",
18213                              "value": 1,
18214                              "loc": {
18215                                "start": {
18216                                  "line": 208,
18217                                  "column": 24
18218                                },
18219                                "end": {
18220                                  "line": 208,
18221                                  "column": 25
18222                                }
18223                              }
18224                            },
18225                            "loc": {
18226                              "start": {
18227                                "line": 208,
18228                                "column": 20
18229                              },
18230                              "end": {
18231                                "line": 208,
18232                                "column": 25
18233                              }
18234                            }
18235                          },
18236                          "loc": {
18237                            "start": {
18238                              "line": 208,
18239                              "column": 13
18240                            },
18241                            "end": {
18242                              "line": 208,
18243                              "column": 25
18244                            }
18245                          }
18246                        }
18247                      ],
18248                      "kind": "let",
18249                      "loc": {
18250                        "start": {
18251                          "line": 208,
18252                          "column": 9
18253                        },
18254                        "end": {
18255                          "line": 208,
18256                          "column": 26
18257                        }
18258                      }
18259                    },
18260                    {
18261                      "type": "VariableDeclaration",
18262                      "declarations": [
18263                        {
18264                          "type": "VariableDeclarator",
18265                          "id": {
18266                            "type": "Identifier",
18267                            "name": "pivot",
18268                            "decorators": [],
18269                            "loc": {
18270                              "start": {
18271                                "line": 209,
18272                                "column": 13
18273                              },
18274                              "end": {
18275                                "line": 209,
18276                                "column": 18
18277                              }
18278                            }
18279                          },
18280                          "init": {
18281                            "type": "MemberExpression",
18282                            "object": {
18283                              "type": "Identifier",
18284                              "name": "arr",
18285                              "decorators": [],
18286                              "loc": {
18287                                "start": {
18288                                  "line": 209,
18289                                  "column": 21
18290                                },
18291                                "end": {
18292                                  "line": 209,
18293                                  "column": 24
18294                                }
18295                              }
18296                            },
18297                            "property": {
18298                              "type": "Identifier",
18299                              "name": "last",
18300                              "decorators": [],
18301                              "loc": {
18302                                "start": {
18303                                  "line": 209,
18304                                  "column": 25
18305                                },
18306                                "end": {
18307                                  "line": 209,
18308                                  "column": 29
18309                                }
18310                              }
18311                            },
18312                            "computed": true,
18313                            "optional": false,
18314                            "loc": {
18315                              "start": {
18316                                "line": 209,
18317                                "column": 21
18318                              },
18319                              "end": {
18320                                "line": 209,
18321                                "column": 30
18322                              }
18323                            }
18324                          },
18325                          "loc": {
18326                            "start": {
18327                              "line": 209,
18328                              "column": 13
18329                            },
18330                            "end": {
18331                              "line": 209,
18332                              "column": 30
18333                            }
18334                          }
18335                        }
18336                      ],
18337                      "kind": "let",
18338                      "loc": {
18339                        "start": {
18340                          "line": 209,
18341                          "column": 9
18342                        },
18343                        "end": {
18344                          "line": 209,
18345                          "column": 31
18346                        }
18347                      }
18348                    },
18349                    {
18350                      "type": "VariableDeclaration",
18351                      "declarations": [
18352                        {
18353                          "type": "VariableDeclarator",
18354                          "id": {
18355                            "type": "Identifier",
18356                            "name": "lessInd",
18357                            "decorators": [],
18358                            "loc": {
18359                              "start": {
18360                                "line": 210,
18361                                "column": 13
18362                              },
18363                              "end": {
18364                                "line": 210,
18365                                "column": 20
18366                              }
18367                            }
18368                          },
18369                          "init": {
18370                            "type": "BinaryExpression",
18371                            "operator": "-",
18372                            "left": {
18373                              "type": "Identifier",
18374                              "name": "l",
18375                              "decorators": [],
18376                              "loc": {
18377                                "start": {
18378                                  "line": 210,
18379                                  "column": 23
18380                                },
18381                                "end": {
18382                                  "line": 210,
18383                                  "column": 24
18384                                }
18385                              }
18386                            },
18387                            "right": {
18388                              "type": "NumberLiteral",
18389                              "value": 1,
18390                              "loc": {
18391                                "start": {
18392                                  "line": 210,
18393                                  "column": 27
18394                                },
18395                                "end": {
18396                                  "line": 210,
18397                                  "column": 28
18398                                }
18399                              }
18400                            },
18401                            "loc": {
18402                              "start": {
18403                                "line": 210,
18404                                "column": 23
18405                              },
18406                              "end": {
18407                                "line": 210,
18408                                "column": 28
18409                              }
18410                            }
18411                          },
18412                          "loc": {
18413                            "start": {
18414                              "line": 210,
18415                              "column": 13
18416                            },
18417                            "end": {
18418                              "line": 210,
18419                              "column": 28
18420                            }
18421                          }
18422                        }
18423                      ],
18424                      "kind": "let",
18425                      "loc": {
18426                        "start": {
18427                          "line": 210,
18428                          "column": 9
18429                        },
18430                        "end": {
18431                          "line": 210,
18432                          "column": 29
18433                        }
18434                      }
18435                    },
18436                    {
18437                      "type": "ForUpdateStatement",
18438                      "init": {
18439                        "type": "VariableDeclaration",
18440                        "declarations": [
18441                          {
18442                            "type": "VariableDeclarator",
18443                            "id": {
18444                              "type": "Identifier",
18445                              "name": "i",
18446                              "decorators": [],
18447                              "loc": {
18448                                "start": {
18449                                  "line": 211,
18450                                  "column": 18
18451                                },
18452                                "end": {
18453                                  "line": 211,
18454                                  "column": 19
18455                                }
18456                              }
18457                            },
18458                            "init": {
18459                              "type": "Identifier",
18460                              "name": "l",
18461                              "decorators": [],
18462                              "loc": {
18463                                "start": {
18464                                  "line": 211,
18465                                  "column": 22
18466                                },
18467                                "end": {
18468                                  "line": 211,
18469                                  "column": 23
18470                                }
18471                              }
18472                            },
18473                            "loc": {
18474                              "start": {
18475                                "line": 211,
18476                                "column": 18
18477                              },
18478                              "end": {
18479                                "line": 211,
18480                                "column": 23
18481                              }
18482                            }
18483                          }
18484                        ],
18485                        "kind": "let",
18486                        "loc": {
18487                          "start": {
18488                            "line": 211,
18489                            "column": 14
18490                          },
18491                          "end": {
18492                            "line": 211,
18493                            "column": 23
18494                          }
18495                        }
18496                      },
18497                      "test": {
18498                        "type": "BinaryExpression",
18499                        "operator": "<",
18500                        "left": {
18501                          "type": "Identifier",
18502                          "name": "i",
18503                          "decorators": [],
18504                          "loc": {
18505                            "start": {
18506                              "line": 211,
18507                              "column": 25
18508                            },
18509                            "end": {
18510                              "line": 211,
18511                              "column": 26
18512                            }
18513                          }
18514                        },
18515                        "right": {
18516                          "type": "Identifier",
18517                          "name": "last",
18518                          "decorators": [],
18519                          "loc": {
18520                            "start": {
18521                              "line": 211,
18522                              "column": 29
18523                            },
18524                            "end": {
18525                              "line": 211,
18526                              "column": 33
18527                            }
18528                          }
18529                        },
18530                        "loc": {
18531                          "start": {
18532                            "line": 211,
18533                            "column": 25
18534                          },
18535                          "end": {
18536                            "line": 211,
18537                            "column": 33
18538                          }
18539                        }
18540                      },
18541                      "update": {
18542                        "type": "UpdateExpression",
18543                        "operator": "++",
18544                        "prefix": true,
18545                        "argument": {
18546                          "type": "Identifier",
18547                          "name": "i",
18548                          "decorators": [],
18549                          "loc": {
18550                            "start": {
18551                              "line": 211,
18552                              "column": 37
18553                            },
18554                            "end": {
18555                              "line": 211,
18556                              "column": 38
18557                            }
18558                          }
18559                        },
18560                        "loc": {
18561                          "start": {
18562                            "line": 211,
18563                            "column": 35
18564                          },
18565                          "end": {
18566                            "line": 211,
18567                            "column": 38
18568                          }
18569                        }
18570                      },
18571                      "body": {
18572                        "type": "BlockStatement",
18573                        "statements": [
18574                          {
18575                            "type": "IfStatement",
18576                            "test": {
18577                              "type": "CallExpression",
18578                              "callee": {
18579                                "type": "Identifier",
18580                                "name": "comparator",
18581                                "decorators": [],
18582                                "loc": {
18583                                  "start": {
18584                                    "line": 212,
18585                                    "column": 17
18586                                  },
18587                                  "end": {
18588                                    "line": 212,
18589                                    "column": 27
18590                                  }
18591                                }
18592                              },
18593                              "arguments": [
18594                                {
18595                                  "type": "MemberExpression",
18596                                  "object": {
18597                                    "type": "Identifier",
18598                                    "name": "arr",
18599                                    "decorators": [],
18600                                    "loc": {
18601                                      "start": {
18602                                        "line": 212,
18603                                        "column": 28
18604                                      },
18605                                      "end": {
18606                                        "line": 212,
18607                                        "column": 31
18608                                      }
18609                                    }
18610                                  },
18611                                  "property": {
18612                                    "type": "Identifier",
18613                                    "name": "i",
18614                                    "decorators": [],
18615                                    "loc": {
18616                                      "start": {
18617                                        "line": 212,
18618                                        "column": 32
18619                                      },
18620                                      "end": {
18621                                        "line": 212,
18622                                        "column": 33
18623                                      }
18624                                    }
18625                                  },
18626                                  "computed": true,
18627                                  "optional": false,
18628                                  "loc": {
18629                                    "start": {
18630                                      "line": 212,
18631                                      "column": 28
18632                                    },
18633                                    "end": {
18634                                      "line": 212,
18635                                      "column": 34
18636                                    }
18637                                  }
18638                                },
18639                                {
18640                                  "type": "Identifier",
18641                                  "name": "pivot",
18642                                  "decorators": [],
18643                                  "loc": {
18644                                    "start": {
18645                                      "line": 212,
18646                                      "column": 36
18647                                    },
18648                                    "end": {
18649                                      "line": 212,
18650                                      "column": 41
18651                                    }
18652                                  }
18653                                }
18654                              ],
18655                              "optional": false,
18656                              "loc": {
18657                                "start": {
18658                                  "line": 212,
18659                                  "column": 17
18660                                },
18661                                "end": {
18662                                  "line": 212,
18663                                  "column": 42
18664                                }
18665                              }
18666                            },
18667                            "consequent": {
18668                              "type": "BlockStatement",
18669                              "statements": [
18670                                {
18671                                  "type": "ExpressionStatement",
18672                                  "expression": {
18673                                    "type": "UpdateExpression",
18674                                    "operator": "++",
18675                                    "prefix": true,
18676                                    "argument": {
18677                                      "type": "Identifier",
18678                                      "name": "lessInd",
18679                                      "decorators": [],
18680                                      "loc": {
18681                                        "start": {
18682                                          "line": 213,
18683                                          "column": 19
18684                                        },
18685                                        "end": {
18686                                          "line": 213,
18687                                          "column": 26
18688                                        }
18689                                      }
18690                                    },
18691                                    "loc": {
18692                                      "start": {
18693                                        "line": 213,
18694                                        "column": 17
18695                                      },
18696                                      "end": {
18697                                        "line": 213,
18698                                        "column": 26
18699                                      }
18700                                    }
18701                                  },
18702                                  "loc": {
18703                                    "start": {
18704                                      "line": 213,
18705                                      "column": 17
18706                                    },
18707                                    "end": {
18708                                      "line": 213,
18709                                      "column": 27
18710                                    }
18711                                  }
18712                                },
18713                                {
18714                                  "type": "VariableDeclaration",
18715                                  "declarations": [
18716                                    {
18717                                      "type": "VariableDeclarator",
18718                                      "id": {
18719                                        "type": "Identifier",
18720                                        "name": "tmp",
18721                                        "decorators": [],
18722                                        "loc": {
18723                                          "start": {
18724                                            "line": 214,
18725                                            "column": 21
18726                                          },
18727                                          "end": {
18728                                            "line": 214,
18729                                            "column": 24
18730                                          }
18731                                        }
18732                                      },
18733                                      "init": {
18734                                        "type": "MemberExpression",
18735                                        "object": {
18736                                          "type": "Identifier",
18737                                          "name": "arr",
18738                                          "decorators": [],
18739                                          "loc": {
18740                                            "start": {
18741                                              "line": 214,
18742                                              "column": 27
18743                                            },
18744                                            "end": {
18745                                              "line": 214,
18746                                              "column": 30
18747                                            }
18748                                          }
18749                                        },
18750                                        "property": {
18751                                          "type": "Identifier",
18752                                          "name": "i",
18753                                          "decorators": [],
18754                                          "loc": {
18755                                            "start": {
18756                                              "line": 214,
18757                                              "column": 31
18758                                            },
18759                                            "end": {
18760                                              "line": 214,
18761                                              "column": 32
18762                                            }
18763                                          }
18764                                        },
18765                                        "computed": true,
18766                                        "optional": false,
18767                                        "loc": {
18768                                          "start": {
18769                                            "line": 214,
18770                                            "column": 27
18771                                          },
18772                                          "end": {
18773                                            "line": 214,
18774                                            "column": 33
18775                                          }
18776                                        }
18777                                      },
18778                                      "loc": {
18779                                        "start": {
18780                                          "line": 214,
18781                                          "column": 21
18782                                        },
18783                                        "end": {
18784                                          "line": 214,
18785                                          "column": 33
18786                                        }
18787                                      }
18788                                    }
18789                                  ],
18790                                  "kind": "let",
18791                                  "loc": {
18792                                    "start": {
18793                                      "line": 214,
18794                                      "column": 17
18795                                    },
18796                                    "end": {
18797                                      "line": 214,
18798                                      "column": 34
18799                                    }
18800                                  }
18801                                },
18802                                {
18803                                  "type": "ExpressionStatement",
18804                                  "expression": {
18805                                    "type": "AssignmentExpression",
18806                                    "operator": "=",
18807                                    "left": {
18808                                      "type": "MemberExpression",
18809                                      "object": {
18810                                        "type": "Identifier",
18811                                        "name": "arr",
18812                                        "decorators": [],
18813                                        "loc": {
18814                                          "start": {
18815                                            "line": 215,
18816                                            "column": 17
18817                                          },
18818                                          "end": {
18819                                            "line": 215,
18820                                            "column": 20
18821                                          }
18822                                        }
18823                                      },
18824                                      "property": {
18825                                        "type": "Identifier",
18826                                        "name": "i",
18827                                        "decorators": [],
18828                                        "loc": {
18829                                          "start": {
18830                                            "line": 215,
18831                                            "column": 21
18832                                          },
18833                                          "end": {
18834                                            "line": 215,
18835                                            "column": 22
18836                                          }
18837                                        }
18838                                      },
18839                                      "computed": true,
18840                                      "optional": false,
18841                                      "loc": {
18842                                        "start": {
18843                                          "line": 215,
18844                                          "column": 17
18845                                        },
18846                                        "end": {
18847                                          "line": 215,
18848                                          "column": 23
18849                                        }
18850                                      }
18851                                    },
18852                                    "right": {
18853                                      "type": "MemberExpression",
18854                                      "object": {
18855                                        "type": "Identifier",
18856                                        "name": "arr",
18857                                        "decorators": [],
18858                                        "loc": {
18859                                          "start": {
18860                                            "line": 215,
18861                                            "column": 26
18862                                          },
18863                                          "end": {
18864                                            "line": 215,
18865                                            "column": 29
18866                                          }
18867                                        }
18868                                      },
18869                                      "property": {
18870                                        "type": "Identifier",
18871                                        "name": "lessInd",
18872                                        "decorators": [],
18873                                        "loc": {
18874                                          "start": {
18875                                            "line": 215,
18876                                            "column": 30
18877                                          },
18878                                          "end": {
18879                                            "line": 215,
18880                                            "column": 37
18881                                          }
18882                                        }
18883                                      },
18884                                      "computed": true,
18885                                      "optional": false,
18886                                      "loc": {
18887                                        "start": {
18888                                          "line": 215,
18889                                          "column": 26
18890                                        },
18891                                        "end": {
18892                                          "line": 215,
18893                                          "column": 38
18894                                        }
18895                                      }
18896                                    },
18897                                    "loc": {
18898                                      "start": {
18899                                        "line": 215,
18900                                        "column": 17
18901                                      },
18902                                      "end": {
18903                                        "line": 215,
18904                                        "column": 38
18905                                      }
18906                                    }
18907                                  },
18908                                  "loc": {
18909                                    "start": {
18910                                      "line": 215,
18911                                      "column": 17
18912                                    },
18913                                    "end": {
18914                                      "line": 215,
18915                                      "column": 39
18916                                    }
18917                                  }
18918                                },
18919                                {
18920                                  "type": "ExpressionStatement",
18921                                  "expression": {
18922                                    "type": "AssignmentExpression",
18923                                    "operator": "=",
18924                                    "left": {
18925                                      "type": "MemberExpression",
18926                                      "object": {
18927                                        "type": "Identifier",
18928                                        "name": "arr",
18929                                        "decorators": [],
18930                                        "loc": {
18931                                          "start": {
18932                                            "line": 216,
18933                                            "column": 17
18934                                          },
18935                                          "end": {
18936                                            "line": 216,
18937                                            "column": 20
18938                                          }
18939                                        }
18940                                      },
18941                                      "property": {
18942                                        "type": "Identifier",
18943                                        "name": "lessInd",
18944                                        "decorators": [],
18945                                        "loc": {
18946                                          "start": {
18947                                            "line": 216,
18948                                            "column": 21
18949                                          },
18950                                          "end": {
18951                                            "line": 216,
18952                                            "column": 28
18953                                          }
18954                                        }
18955                                      },
18956                                      "computed": true,
18957                                      "optional": false,
18958                                      "loc": {
18959                                        "start": {
18960                                          "line": 216,
18961                                          "column": 17
18962                                        },
18963                                        "end": {
18964                                          "line": 216,
18965                                          "column": 29
18966                                        }
18967                                      }
18968                                    },
18969                                    "right": {
18970                                      "type": "Identifier",
18971                                      "name": "tmp",
18972                                      "decorators": [],
18973                                      "loc": {
18974                                        "start": {
18975                                          "line": 216,
18976                                          "column": 32
18977                                        },
18978                                        "end": {
18979                                          "line": 216,
18980                                          "column": 35
18981                                        }
18982                                      }
18983                                    },
18984                                    "loc": {
18985                                      "start": {
18986                                        "line": 216,
18987                                        "column": 17
18988                                      },
18989                                      "end": {
18990                                        "line": 216,
18991                                        "column": 35
18992                                      }
18993                                    }
18994                                  },
18995                                  "loc": {
18996                                    "start": {
18997                                      "line": 216,
18998                                      "column": 17
18999                                    },
19000                                    "end": {
19001                                      "line": 216,
19002                                      "column": 36
19003                                    }
19004                                  }
19005                                }
19006                              ],
19007                              "loc": {
19008                                "start": {
19009                                  "line": 212,
19010                                  "column": 44
19011                                },
19012                                "end": {
19013                                  "line": 217,
19014                                  "column": 14
19015                                }
19016                              }
19017                            },
19018                            "alternate": null,
19019                            "loc": {
19020                              "start": {
19021                                "line": 212,
19022                                "column": 13
19023                              },
19024                              "end": {
19025                                "line": 217,
19026                                "column": 14
19027                              }
19028                            }
19029                          }
19030                        ],
19031                        "loc": {
19032                          "start": {
19033                            "line": 211,
19034                            "column": 40
19035                          },
19036                          "end": {
19037                            "line": 218,
19038                            "column": 10
19039                          }
19040                        }
19041                      },
19042                      "loc": {
19043                        "start": {
19044                          "line": 211,
19045                          "column": 9
19046                        },
19047                        "end": {
19048                          "line": 218,
19049                          "column": 10
19050                        }
19051                      }
19052                    },
19053                    {
19054                      "type": "VariableDeclaration",
19055                      "declarations": [
19056                        {
19057                          "type": "VariableDeclarator",
19058                          "id": {
19059                            "type": "Identifier",
19060                            "name": "tmp",
19061                            "decorators": [],
19062                            "loc": {
19063                              "start": {
19064                                "line": 219,
19065                                "column": 13
19066                              },
19067                              "end": {
19068                                "line": 219,
19069                                "column": 16
19070                              }
19071                            }
19072                          },
19073                          "init": {
19074                            "type": "MemberExpression",
19075                            "object": {
19076                              "type": "Identifier",
19077                              "name": "arr",
19078                              "decorators": [],
19079                              "loc": {
19080                                "start": {
19081                                  "line": 219,
19082                                  "column": 19
19083                                },
19084                                "end": {
19085                                  "line": 219,
19086                                  "column": 22
19087                                }
19088                              }
19089                            },
19090                            "property": {
19091                              "type": "BinaryExpression",
19092                              "operator": "+",
19093                              "left": {
19094                                "type": "Identifier",
19095                                "name": "lessInd",
19096                                "decorators": [],
19097                                "loc": {
19098                                  "start": {
19099                                    "line": 219,
19100                                    "column": 23
19101                                  },
19102                                  "end": {
19103                                    "line": 219,
19104                                    "column": 30
19105                                  }
19106                                }
19107                              },
19108                              "right": {
19109                                "type": "NumberLiteral",
19110                                "value": 1,
19111                                "loc": {
19112                                  "start": {
19113                                    "line": 219,
19114                                    "column": 33
19115                                  },
19116                                  "end": {
19117                                    "line": 219,
19118                                    "column": 34
19119                                  }
19120                                }
19121                              },
19122                              "loc": {
19123                                "start": {
19124                                  "line": 219,
19125                                  "column": 23
19126                                },
19127                                "end": {
19128                                  "line": 219,
19129                                  "column": 34
19130                                }
19131                              }
19132                            },
19133                            "computed": true,
19134                            "optional": false,
19135                            "loc": {
19136                              "start": {
19137                                "line": 219,
19138                                "column": 19
19139                              },
19140                              "end": {
19141                                "line": 219,
19142                                "column": 35
19143                              }
19144                            }
19145                          },
19146                          "loc": {
19147                            "start": {
19148                              "line": 219,
19149                              "column": 13
19150                            },
19151                            "end": {
19152                              "line": 219,
19153                              "column": 35
19154                            }
19155                          }
19156                        }
19157                      ],
19158                      "kind": "let",
19159                      "loc": {
19160                        "start": {
19161                          "line": 219,
19162                          "column": 9
19163                        },
19164                        "end": {
19165                          "line": 219,
19166                          "column": 36
19167                        }
19168                      }
19169                    },
19170                    {
19171                      "type": "ExpressionStatement",
19172                      "expression": {
19173                        "type": "AssignmentExpression",
19174                        "operator": "=",
19175                        "left": {
19176                          "type": "MemberExpression",
19177                          "object": {
19178                            "type": "Identifier",
19179                            "name": "arr",
19180                            "decorators": [],
19181                            "loc": {
19182                              "start": {
19183                                "line": 220,
19184                                "column": 9
19185                              },
19186                              "end": {
19187                                "line": 220,
19188                                "column": 12
19189                              }
19190                            }
19191                          },
19192                          "property": {
19193                            "type": "BinaryExpression",
19194                            "operator": "+",
19195                            "left": {
19196                              "type": "Identifier",
19197                              "name": "lessInd",
19198                              "decorators": [],
19199                              "loc": {
19200                                "start": {
19201                                  "line": 220,
19202                                  "column": 13
19203                                },
19204                                "end": {
19205                                  "line": 220,
19206                                  "column": 20
19207                                }
19208                              }
19209                            },
19210                            "right": {
19211                              "type": "NumberLiteral",
19212                              "value": 1,
19213                              "loc": {
19214                                "start": {
19215                                  "line": 220,
19216                                  "column": 23
19217                                },
19218                                "end": {
19219                                  "line": 220,
19220                                  "column": 24
19221                                }
19222                              }
19223                            },
19224                            "loc": {
19225                              "start": {
19226                                "line": 220,
19227                                "column": 13
19228                              },
19229                              "end": {
19230                                "line": 220,
19231                                "column": 24
19232                              }
19233                            }
19234                          },
19235                          "computed": true,
19236                          "optional": false,
19237                          "loc": {
19238                            "start": {
19239                              "line": 220,
19240                              "column": 9
19241                            },
19242                            "end": {
19243                              "line": 220,
19244                              "column": 25
19245                            }
19246                          }
19247                        },
19248                        "right": {
19249                          "type": "MemberExpression",
19250                          "object": {
19251                            "type": "Identifier",
19252                            "name": "arr",
19253                            "decorators": [],
19254                            "loc": {
19255                              "start": {
19256                                "line": 220,
19257                                "column": 28
19258                              },
19259                              "end": {
19260                                "line": 220,
19261                                "column": 31
19262                              }
19263                            }
19264                          },
19265                          "property": {
19266                            "type": "Identifier",
19267                            "name": "last",
19268                            "decorators": [],
19269                            "loc": {
19270                              "start": {
19271                                "line": 220,
19272                                "column": 32
19273                              },
19274                              "end": {
19275                                "line": 220,
19276                                "column": 36
19277                              }
19278                            }
19279                          },
19280                          "computed": true,
19281                          "optional": false,
19282                          "loc": {
19283                            "start": {
19284                              "line": 220,
19285                              "column": 28
19286                            },
19287                            "end": {
19288                              "line": 220,
19289                              "column": 37
19290                            }
19291                          }
19292                        },
19293                        "loc": {
19294                          "start": {
19295                            "line": 220,
19296                            "column": 9
19297                          },
19298                          "end": {
19299                            "line": 220,
19300                            "column": 37
19301                          }
19302                        }
19303                      },
19304                      "loc": {
19305                        "start": {
19306                          "line": 220,
19307                          "column": 9
19308                        },
19309                        "end": {
19310                          "line": 220,
19311                          "column": 38
19312                        }
19313                      }
19314                    },
19315                    {
19316                      "type": "ExpressionStatement",
19317                      "expression": {
19318                        "type": "AssignmentExpression",
19319                        "operator": "=",
19320                        "left": {
19321                          "type": "MemberExpression",
19322                          "object": {
19323                            "type": "Identifier",
19324                            "name": "arr",
19325                            "decorators": [],
19326                            "loc": {
19327                              "start": {
19328                                "line": 221,
19329                                "column": 9
19330                              },
19331                              "end": {
19332                                "line": 221,
19333                                "column": 12
19334                              }
19335                            }
19336                          },
19337                          "property": {
19338                            "type": "Identifier",
19339                            "name": "last",
19340                            "decorators": [],
19341                            "loc": {
19342                              "start": {
19343                                "line": 221,
19344                                "column": 13
19345                              },
19346                              "end": {
19347                                "line": 221,
19348                                "column": 17
19349                              }
19350                            }
19351                          },
19352                          "computed": true,
19353                          "optional": false,
19354                          "loc": {
19355                            "start": {
19356                              "line": 221,
19357                              "column": 9
19358                            },
19359                            "end": {
19360                              "line": 221,
19361                              "column": 18
19362                            }
19363                          }
19364                        },
19365                        "right": {
19366                          "type": "Identifier",
19367                          "name": "tmp",
19368                          "decorators": [],
19369                          "loc": {
19370                            "start": {
19371                              "line": 221,
19372                              "column": 21
19373                            },
19374                            "end": {
19375                              "line": 221,
19376                              "column": 24
19377                            }
19378                          }
19379                        },
19380                        "loc": {
19381                          "start": {
19382                            "line": 221,
19383                            "column": 9
19384                          },
19385                          "end": {
19386                            "line": 221,
19387                            "column": 24
19388                          }
19389                        }
19390                      },
19391                      "loc": {
19392                        "start": {
19393                          "line": 221,
19394                          "column": 9
19395                        },
19396                        "end": {
19397                          "line": 221,
19398                          "column": 25
19399                        }
19400                      }
19401                    },
19402                    {
19403                      "type": "ReturnStatement",
19404                      "argument": {
19405                        "type": "BinaryExpression",
19406                        "operator": "+",
19407                        "left": {
19408                          "type": "Identifier",
19409                          "name": "lessInd",
19410                          "decorators": [],
19411                          "loc": {
19412                            "start": {
19413                              "line": 222,
19414                              "column": 16
19415                            },
19416                            "end": {
19417                              "line": 222,
19418                              "column": 23
19419                            }
19420                          }
19421                        },
19422                        "right": {
19423                          "type": "NumberLiteral",
19424                          "value": 1,
19425                          "loc": {
19426                            "start": {
19427                              "line": 222,
19428                              "column": 26
19429                            },
19430                            "end": {
19431                              "line": 222,
19432                              "column": 27
19433                            }
19434                          }
19435                        },
19436                        "loc": {
19437                          "start": {
19438                            "line": 222,
19439                            "column": 16
19440                          },
19441                          "end": {
19442                            "line": 222,
19443                            "column": 27
19444                          }
19445                        }
19446                      },
19447                      "loc": {
19448                        "start": {
19449                          "line": 222,
19450                          "column": 9
19451                        },
19452                        "end": {
19453                          "line": 222,
19454                          "column": 28
19455                        }
19456                      }
19457                    }
19458                  ],
19459                  "loc": {
19460                    "start": {
19461                      "line": 207,
19462                      "column": 102
19463                    },
19464                    "end": {
19465                      "line": 223,
19466                      "column": 6
19467                    }
19468                  }
19469                },
19470                "loc": {
19471                  "start": {
19472                    "line": 207,
19473                    "column": 29
19474                  },
19475                  "end": {
19476                    "line": 223,
19477                    "column": 6
19478                  }
19479                }
19480              },
19481              "loc": {
19482                "start": {
19483                  "line": 207,
19484                  "column": 29
19485                },
19486                "end": {
19487                  "line": 223,
19488                  "column": 6
19489                }
19490              }
19491            },
19492            "overloads": [],
19493            "decorators": [],
19494            "loc": {
19495              "start": {
19496                "line": 207,
19497                "column": 5
19498              },
19499              "end": {
19500                "line": 223,
19501                "column": 6
19502              }
19503            }
19504          },
19505          {
19506            "type": "MethodDefinition",
19507            "key": {
19508              "type": "Identifier",
19509              "name": "bubbleSort",
19510              "decorators": [],
19511              "loc": {
19512                "start": {
19513                  "line": 225,
19514                  "column": 20
19515                },
19516                "end": {
19517                  "line": 225,
19518                  "column": 30
19519                }
19520              }
19521            },
19522            "kind": "method",
19523            "accessibility": "private",
19524            "static": true,
19525            "optional": false,
19526            "computed": false,
19527            "value": {
19528              "type": "FunctionExpression",
19529              "function": {
19530                "type": "ScriptFunction",
19531                "id": {
19532                  "type": "Identifier",
19533                  "name": "bubbleSort",
19534                  "decorators": [],
19535                  "loc": {
19536                    "start": {
19537                      "line": 225,
19538                      "column": 20
19539                    },
19540                    "end": {
19541                      "line": 225,
19542                      "column": 30
19543                    }
19544                  }
19545                },
19546                "generator": false,
19547                "async": false,
19548                "expression": false,
19549                "params": [
19550                  {
19551                    "type": "ETSParameterExpression",
19552                    "name": {
19553                      "type": "Identifier",
19554                      "name": "arr",
19555                      "typeAnnotation": {
19556                        "type": "TSArrayType",
19557                        "elementType": {
19558                          "type": "ETSTypeReference",
19559                          "part": {
19560                            "type": "ETSTypeReferencePart",
19561                            "name": {
19562                              "type": "Identifier",
19563                              "name": "T",
19564                              "decorators": [],
19565                              "loc": {
19566                                "start": {
19567                                  "line": 225,
19568                                  "column": 36
19569                                },
19570                                "end": {
19571                                  "line": 225,
19572                                  "column": 37
19573                                }
19574                              }
19575                            },
19576                            "loc": {
19577                              "start": {
19578                                "line": 225,
19579                                "column": 36
19580                              },
19581                              "end": {
19582                                "line": 225,
19583                                "column": 38
19584                              }
19585                            }
19586                          },
19587                          "loc": {
19588                            "start": {
19589                              "line": 225,
19590                              "column": 36
19591                            },
19592                            "end": {
19593                              "line": 225,
19594                              "column": 38
19595                            }
19596                          }
19597                        },
19598                        "loc": {
19599                          "start": {
19600                            "line": 225,
19601                            "column": 37
19602                          },
19603                          "end": {
19604                            "line": 225,
19605                            "column": 39
19606                          }
19607                        }
19608                      },
19609                      "decorators": [],
19610                      "loc": {
19611                        "start": {
19612                          "line": 225,
19613                          "column": 31
19614                        },
19615                        "end": {
19616                          "line": 225,
19617                          "column": 39
19618                        }
19619                      }
19620                    },
19621                    "loc": {
19622                      "start": {
19623                        "line": 225,
19624                        "column": 31
19625                      },
19626                      "end": {
19627                        "line": 225,
19628                        "column": 39
19629                      }
19630                    }
19631                  },
19632                  {
19633                    "type": "ETSParameterExpression",
19634                    "name": {
19635                      "type": "Identifier",
19636                      "name": "l",
19637                      "typeAnnotation": {
19638                        "type": "ETSPrimitiveType",
19639                        "loc": {
19640                          "start": {
19641                            "line": 225,
19642                            "column": 44
19643                          },
19644                          "end": {
19645                            "line": 225,
19646                            "column": 47
19647                          }
19648                        }
19649                      },
19650                      "decorators": [],
19651                      "loc": {
19652                        "start": {
19653                          "line": 225,
19654                          "column": 41
19655                        },
19656                        "end": {
19657                          "line": 225,
19658                          "column": 47
19659                        }
19660                      }
19661                    },
19662                    "loc": {
19663                      "start": {
19664                        "line": 225,
19665                        "column": 41
19666                      },
19667                      "end": {
19668                        "line": 225,
19669                        "column": 47
19670                      }
19671                    }
19672                  },
19673                  {
19674                    "type": "ETSParameterExpression",
19675                    "name": {
19676                      "type": "Identifier",
19677                      "name": "r",
19678                      "typeAnnotation": {
19679                        "type": "ETSPrimitiveType",
19680                        "loc": {
19681                          "start": {
19682                            "line": 225,
19683                            "column": 52
19684                          },
19685                          "end": {
19686                            "line": 225,
19687                            "column": 55
19688                          }
19689                        }
19690                      },
19691                      "decorators": [],
19692                      "loc": {
19693                        "start": {
19694                          "line": 225,
19695                          "column": 49
19696                        },
19697                        "end": {
19698                          "line": 225,
19699                          "column": 55
19700                        }
19701                      }
19702                    },
19703                    "loc": {
19704                      "start": {
19705                        "line": 225,
19706                        "column": 49
19707                      },
19708                      "end": {
19709                        "line": 225,
19710                        "column": 55
19711                      }
19712                    }
19713                  },
19714                  {
19715                    "type": "ETSParameterExpression",
19716                    "name": {
19717                      "type": "Identifier",
19718                      "name": "comparator",
19719                      "typeAnnotation": {
19720                        "type": "ETSFunctionType",
19721                        "params": [
19722                          {
19723                            "type": "ETSParameterExpression",
19724                            "name": {
19725                              "type": "Identifier",
19726                              "name": "lhs",
19727                              "typeAnnotation": {
19728                                "type": "ETSTypeReference",
19729                                "part": {
19730                                  "type": "ETSTypeReferencePart",
19731                                  "name": {
19732                                    "type": "Identifier",
19733                                    "name": "T",
19734                                    "decorators": [],
19735                                    "loc": {
19736                                      "start": {
19737                                        "line": 225,
19738                                        "column": 75
19739                                      },
19740                                      "end": {
19741                                        "line": 225,
19742                                        "column": 76
19743                                      }
19744                                    }
19745                                  },
19746                                  "loc": {
19747                                    "start": {
19748                                      "line": 225,
19749                                      "column": 75
19750                                    },
19751                                    "end": {
19752                                      "line": 225,
19753                                      "column": 77
19754                                    }
19755                                  }
19756                                },
19757                                "loc": {
19758                                  "start": {
19759                                    "line": 225,
19760                                    "column": 75
19761                                  },
19762                                  "end": {
19763                                    "line": 225,
19764                                    "column": 77
19765                                  }
19766                                }
19767                              },
19768                              "decorators": [],
19769                              "loc": {
19770                                "start": {
19771                                  "line": 225,
19772                                  "column": 70
19773                                },
19774                                "end": {
19775                                  "line": 225,
19776                                  "column": 77
19777                                }
19778                              }
19779                            },
19780                            "loc": {
19781                              "start": {
19782                                "line": 225,
19783                                "column": 70
19784                              },
19785                              "end": {
19786                                "line": 225,
19787                                "column": 77
19788                              }
19789                            }
19790                          },
19791                          {
19792                            "type": "ETSParameterExpression",
19793                            "name": {
19794                              "type": "Identifier",
19795                              "name": "rhs",
19796                              "typeAnnotation": {
19797                                "type": "ETSTypeReference",
19798                                "part": {
19799                                  "type": "ETSTypeReferencePart",
19800                                  "name": {
19801                                    "type": "Identifier",
19802                                    "name": "T",
19803                                    "decorators": [],
19804                                    "loc": {
19805                                      "start": {
19806                                        "line": 225,
19807                                        "column": 83
19808                                      },
19809                                      "end": {
19810                                        "line": 225,
19811                                        "column": 84
19812                                      }
19813                                    }
19814                                  },
19815                                  "loc": {
19816                                    "start": {
19817                                      "line": 225,
19818                                      "column": 83
19819                                    },
19820                                    "end": {
19821                                      "line": 225,
19822                                      "column": 85
19823                                    }
19824                                  }
19825                                },
19826                                "loc": {
19827                                  "start": {
19828                                    "line": 225,
19829                                    "column": 83
19830                                  },
19831                                  "end": {
19832                                    "line": 225,
19833                                    "column": 85
19834                                  }
19835                                }
19836                              },
19837                              "decorators": [],
19838                              "loc": {
19839                                "start": {
19840                                  "line": 225,
19841                                  "column": 78
19842                                },
19843                                "end": {
19844                                  "line": 225,
19845                                  "column": 85
19846                                }
19847                              }
19848                            },
19849                            "loc": {
19850                              "start": {
19851                                "line": 225,
19852                                "column": 78
19853                              },
19854                              "end": {
19855                                "line": 225,
19856                                "column": 85
19857                              }
19858                            }
19859                          }
19860                        ],
19861                        "returnType": {
19862                          "type": "ETSPrimitiveType",
19863                          "loc": {
19864                            "start": {
19865                              "line": 225,
19866                              "column": 89
19867                            },
19868                            "end": {
19869                              "line": 225,
19870                              "column": 96
19871                            }
19872                          }
19873                        },
19874                        "loc": {
19875                          "start": {
19876                            "line": 225,
19877                            "column": 69
19878                          },
19879                          "end": {
19880                            "line": 225,
19881                            "column": 96
19882                          }
19883                        }
19884                      },
19885                      "decorators": [],
19886                      "loc": {
19887                        "start": {
19888                          "line": 225,
19889                          "column": 57
19890                        },
19891                        "end": {
19892                          "line": 225,
19893                          "column": 96
19894                        }
19895                      }
19896                    },
19897                    "loc": {
19898                      "start": {
19899                        "line": 225,
19900                        "column": 57
19901                      },
19902                      "end": {
19903                        "line": 225,
19904                        "column": 96
19905                      }
19906                    }
19907                  }
19908                ],
19909                "returnType": {
19910                  "type": "ETSPrimitiveType",
19911                  "loc": {
19912                    "start": {
19913                      "line": 225,
19914                      "column": 99
19915                    },
19916                    "end": {
19917                      "line": 225,
19918                      "column": 103
19919                    }
19920                  }
19921                },
19922                "body": {
19923                  "type": "BlockStatement",
19924                  "statements": [
19925                    {
19926                      "type": "ForUpdateStatement",
19927                      "init": {
19928                        "type": "VariableDeclaration",
19929                        "declarations": [
19930                          {
19931                            "type": "VariableDeclarator",
19932                            "id": {
19933                              "type": "Identifier",
19934                              "name": "i",
19935                              "decorators": [],
19936                              "loc": {
19937                                "start": {
19938                                  "line": 226,
19939                                  "column": 18
19940                                },
19941                                "end": {
19942                                  "line": 226,
19943                                  "column": 19
19944                                }
19945                              }
19946                            },
19947                            "init": {
19948                              "type": "Identifier",
19949                              "name": "l",
19950                              "decorators": [],
19951                              "loc": {
19952                                "start": {
19953                                  "line": 226,
19954                                  "column": 22
19955                                },
19956                                "end": {
19957                                  "line": 226,
19958                                  "column": 23
19959                                }
19960                              }
19961                            },
19962                            "loc": {
19963                              "start": {
19964                                "line": 226,
19965                                "column": 18
19966                              },
19967                              "end": {
19968                                "line": 226,
19969                                "column": 23
19970                              }
19971                            }
19972                          }
19973                        ],
19974                        "kind": "let",
19975                        "loc": {
19976                          "start": {
19977                            "line": 226,
19978                            "column": 14
19979                          },
19980                          "end": {
19981                            "line": 226,
19982                            "column": 23
19983                          }
19984                        }
19985                      },
19986                      "test": {
19987                        "type": "BinaryExpression",
19988                        "operator": "<",
19989                        "left": {
19990                          "type": "Identifier",
19991                          "name": "i",
19992                          "decorators": [],
19993                          "loc": {
19994                            "start": {
19995                              "line": 226,
19996                              "column": 25
19997                            },
19998                            "end": {
19999                              "line": 226,
20000                              "column": 26
20001                            }
20002                          }
20003                        },
20004                        "right": {
20005                          "type": "Identifier",
20006                          "name": "r",
20007                          "decorators": [],
20008                          "loc": {
20009                            "start": {
20010                              "line": 226,
20011                              "column": 29
20012                            },
20013                            "end": {
20014                              "line": 226,
20015                              "column": 30
20016                            }
20017                          }
20018                        },
20019                        "loc": {
20020                          "start": {
20021                            "line": 226,
20022                            "column": 25
20023                          },
20024                          "end": {
20025                            "line": 226,
20026                            "column": 30
20027                          }
20028                        }
20029                      },
20030                      "update": {
20031                        "type": "UpdateExpression",
20032                        "operator": "++",
20033                        "prefix": true,
20034                        "argument": {
20035                          "type": "Identifier",
20036                          "name": "i",
20037                          "decorators": [],
20038                          "loc": {
20039                            "start": {
20040                              "line": 226,
20041                              "column": 34
20042                            },
20043                            "end": {
20044                              "line": 226,
20045                              "column": 35
20046                            }
20047                          }
20048                        },
20049                        "loc": {
20050                          "start": {
20051                            "line": 226,
20052                            "column": 32
20053                          },
20054                          "end": {
20055                            "line": 226,
20056                            "column": 35
20057                          }
20058                        }
20059                      },
20060                      "body": {
20061                        "type": "BlockStatement",
20062                        "statements": [
20063                          {
20064                            "type": "ForUpdateStatement",
20065                            "init": {
20066                              "type": "VariableDeclaration",
20067                              "declarations": [
20068                                {
20069                                  "type": "VariableDeclarator",
20070                                  "id": {
20071                                    "type": "Identifier",
20072                                    "name": "j",
20073                                    "decorators": [],
20074                                    "loc": {
20075                                      "start": {
20076                                        "line": 227,
20077                                        "column": 22
20078                                      },
20079                                      "end": {
20080                                        "line": 227,
20081                                        "column": 23
20082                                      }
20083                                    }
20084                                  },
20085                                  "init": {
20086                                    "type": "Identifier",
20087                                    "name": "i",
20088                                    "decorators": [],
20089                                    "loc": {
20090                                      "start": {
20091                                        "line": 227,
20092                                        "column": 26
20093                                      },
20094                                      "end": {
20095                                        "line": 227,
20096                                        "column": 27
20097                                      }
20098                                    }
20099                                  },
20100                                  "loc": {
20101                                    "start": {
20102                                      "line": 227,
20103                                      "column": 22
20104                                    },
20105                                    "end": {
20106                                      "line": 227,
20107                                      "column": 27
20108                                    }
20109                                  }
20110                                }
20111                              ],
20112                              "kind": "let",
20113                              "loc": {
20114                                "start": {
20115                                  "line": 227,
20116                                  "column": 18
20117                                },
20118                                "end": {
20119                                  "line": 227,
20120                                  "column": 27
20121                                }
20122                              }
20123                            },
20124                            "test": {
20125                              "type": "BinaryExpression",
20126                              "operator": "<",
20127                              "left": {
20128                                "type": "Identifier",
20129                                "name": "j",
20130                                "decorators": [],
20131                                "loc": {
20132                                  "start": {
20133                                    "line": 227,
20134                                    "column": 29
20135                                  },
20136                                  "end": {
20137                                    "line": 227,
20138                                    "column": 30
20139                                  }
20140                                }
20141                              },
20142                              "right": {
20143                                "type": "BinaryExpression",
20144                                "operator": "-",
20145                                "left": {
20146                                  "type": "Identifier",
20147                                  "name": "r",
20148                                  "decorators": [],
20149                                  "loc": {
20150                                    "start": {
20151                                      "line": 227,
20152                                      "column": 33
20153                                    },
20154                                    "end": {
20155                                      "line": 227,
20156                                      "column": 34
20157                                    }
20158                                  }
20159                                },
20160                                "right": {
20161                                  "type": "Identifier",
20162                                  "name": "i",
20163                                  "decorators": [],
20164                                  "loc": {
20165                                    "start": {
20166                                      "line": 227,
20167                                      "column": 37
20168                                    },
20169                                    "end": {
20170                                      "line": 227,
20171                                      "column": 38
20172                                    }
20173                                  }
20174                                },
20175                                "loc": {
20176                                  "start": {
20177                                    "line": 227,
20178                                    "column": 33
20179                                  },
20180                                  "end": {
20181                                    "line": 227,
20182                                    "column": 38
20183                                  }
20184                                }
20185                              },
20186                              "loc": {
20187                                "start": {
20188                                  "line": 227,
20189                                  "column": 29
20190                                },
20191                                "end": {
20192                                  "line": 227,
20193                                  "column": 38
20194                                }
20195                              }
20196                            },
20197                            "update": {
20198                              "type": "UpdateExpression",
20199                              "operator": "++",
20200                              "prefix": true,
20201                              "argument": {
20202                                "type": "Identifier",
20203                                "name": "j",
20204                                "decorators": [],
20205                                "loc": {
20206                                  "start": {
20207                                    "line": 227,
20208                                    "column": 42
20209                                  },
20210                                  "end": {
20211                                    "line": 227,
20212                                    "column": 43
20213                                  }
20214                                }
20215                              },
20216                              "loc": {
20217                                "start": {
20218                                  "line": 227,
20219                                  "column": 40
20220                                },
20221                                "end": {
20222                                  "line": 227,
20223                                  "column": 43
20224                                }
20225                              }
20226                            },
20227                            "body": {
20228                              "type": "BlockStatement",
20229                              "statements": [
20230                                {
20231                                  "type": "IfStatement",
20232                                  "test": {
20233                                    "type": "CallExpression",
20234                                    "callee": {
20235                                      "type": "Identifier",
20236                                      "name": "comparator",
20237                                      "decorators": [],
20238                                      "loc": {
20239                                        "start": {
20240                                          "line": 228,
20241                                          "column": 21
20242                                        },
20243                                        "end": {
20244                                          "line": 228,
20245                                          "column": 31
20246                                        }
20247                                      }
20248                                    },
20249                                    "arguments": [
20250                                      {
20251                                        "type": "MemberExpression",
20252                                        "object": {
20253                                          "type": "Identifier",
20254                                          "name": "arr",
20255                                          "decorators": [],
20256                                          "loc": {
20257                                            "start": {
20258                                              "line": 228,
20259                                              "column": 32
20260                                            },
20261                                            "end": {
20262                                              "line": 228,
20263                                              "column": 35
20264                                            }
20265                                          }
20266                                        },
20267                                        "property": {
20268                                          "type": "BinaryExpression",
20269                                          "operator": "+",
20270                                          "left": {
20271                                            "type": "Identifier",
20272                                            "name": "j",
20273                                            "decorators": [],
20274                                            "loc": {
20275                                              "start": {
20276                                                "line": 228,
20277                                                "column": 36
20278                                              },
20279                                              "end": {
20280                                                "line": 228,
20281                                                "column": 37
20282                                              }
20283                                            }
20284                                          },
20285                                          "right": {
20286                                            "type": "NumberLiteral",
20287                                            "value": 1,
20288                                            "loc": {
20289                                              "start": {
20290                                                "line": 228,
20291                                                "column": 40
20292                                              },
20293                                              "end": {
20294                                                "line": 228,
20295                                                "column": 41
20296                                              }
20297                                            }
20298                                          },
20299                                          "loc": {
20300                                            "start": {
20301                                              "line": 228,
20302                                              "column": 36
20303                                            },
20304                                            "end": {
20305                                              "line": 228,
20306                                              "column": 41
20307                                            }
20308                                          }
20309                                        },
20310                                        "computed": true,
20311                                        "optional": false,
20312                                        "loc": {
20313                                          "start": {
20314                                            "line": 228,
20315                                            "column": 32
20316                                          },
20317                                          "end": {
20318                                            "line": 228,
20319                                            "column": 42
20320                                          }
20321                                        }
20322                                      },
20323                                      {
20324                                        "type": "MemberExpression",
20325                                        "object": {
20326                                          "type": "Identifier",
20327                                          "name": "arr",
20328                                          "decorators": [],
20329                                          "loc": {
20330                                            "start": {
20331                                              "line": 228,
20332                                              "column": 44
20333                                            },
20334                                            "end": {
20335                                              "line": 228,
20336                                              "column": 47
20337                                            }
20338                                          }
20339                                        },
20340                                        "property": {
20341                                          "type": "Identifier",
20342                                          "name": "j",
20343                                          "decorators": [],
20344                                          "loc": {
20345                                            "start": {
20346                                              "line": 228,
20347                                              "column": 48
20348                                            },
20349                                            "end": {
20350                                              "line": 228,
20351                                              "column": 49
20352                                            }
20353                                          }
20354                                        },
20355                                        "computed": true,
20356                                        "optional": false,
20357                                        "loc": {
20358                                          "start": {
20359                                            "line": 228,
20360                                            "column": 44
20361                                          },
20362                                          "end": {
20363                                            "line": 228,
20364                                            "column": 50
20365                                          }
20366                                        }
20367                                      }
20368                                    ],
20369                                    "optional": false,
20370                                    "loc": {
20371                                      "start": {
20372                                        "line": 228,
20373                                        "column": 21
20374                                      },
20375                                      "end": {
20376                                        "line": 228,
20377                                        "column": 51
20378                                      }
20379                                    }
20380                                  },
20381                                  "consequent": {
20382                                    "type": "BlockStatement",
20383                                    "statements": [
20384                                      {
20385                                        "type": "VariableDeclaration",
20386                                        "declarations": [
20387                                          {
20388                                            "type": "VariableDeclarator",
20389                                            "id": {
20390                                              "type": "Identifier",
20391                                              "name": "tmp",
20392                                              "decorators": [],
20393                                              "loc": {
20394                                                "start": {
20395                                                  "line": 229,
20396                                                  "column": 25
20397                                                },
20398                                                "end": {
20399                                                  "line": 229,
20400                                                  "column": 28
20401                                                }
20402                                              }
20403                                            },
20404                                            "init": {
20405                                              "type": "MemberExpression",
20406                                              "object": {
20407                                                "type": "Identifier",
20408                                                "name": "arr",
20409                                                "decorators": [],
20410                                                "loc": {
20411                                                  "start": {
20412                                                    "line": 229,
20413                                                    "column": 31
20414                                                  },
20415                                                  "end": {
20416                                                    "line": 229,
20417                                                    "column": 34
20418                                                  }
20419                                                }
20420                                              },
20421                                              "property": {
20422                                                "type": "BinaryExpression",
20423                                                "operator": "+",
20424                                                "left": {
20425                                                  "type": "Identifier",
20426                                                  "name": "j",
20427                                                  "decorators": [],
20428                                                  "loc": {
20429                                                    "start": {
20430                                                      "line": 229,
20431                                                      "column": 35
20432                                                    },
20433                                                    "end": {
20434                                                      "line": 229,
20435                                                      "column": 36
20436                                                    }
20437                                                  }
20438                                                },
20439                                                "right": {
20440                                                  "type": "NumberLiteral",
20441                                                  "value": 1,
20442                                                  "loc": {
20443                                                    "start": {
20444                                                      "line": 229,
20445                                                      "column": 39
20446                                                    },
20447                                                    "end": {
20448                                                      "line": 229,
20449                                                      "column": 40
20450                                                    }
20451                                                  }
20452                                                },
20453                                                "loc": {
20454                                                  "start": {
20455                                                    "line": 229,
20456                                                    "column": 35
20457                                                  },
20458                                                  "end": {
20459                                                    "line": 229,
20460                                                    "column": 40
20461                                                  }
20462                                                }
20463                                              },
20464                                              "computed": true,
20465                                              "optional": false,
20466                                              "loc": {
20467                                                "start": {
20468                                                  "line": 229,
20469                                                  "column": 31
20470                                                },
20471                                                "end": {
20472                                                  "line": 229,
20473                                                  "column": 41
20474                                                }
20475                                              }
20476                                            },
20477                                            "loc": {
20478                                              "start": {
20479                                                "line": 229,
20480                                                "column": 25
20481                                              },
20482                                              "end": {
20483                                                "line": 229,
20484                                                "column": 41
20485                                              }
20486                                            }
20487                                          }
20488                                        ],
20489                                        "kind": "let",
20490                                        "loc": {
20491                                          "start": {
20492                                            "line": 229,
20493                                            "column": 21
20494                                          },
20495                                          "end": {
20496                                            "line": 229,
20497                                            "column": 42
20498                                          }
20499                                        }
20500                                      },
20501                                      {
20502                                        "type": "ExpressionStatement",
20503                                        "expression": {
20504                                          "type": "AssignmentExpression",
20505                                          "operator": "=",
20506                                          "left": {
20507                                            "type": "MemberExpression",
20508                                            "object": {
20509                                              "type": "Identifier",
20510                                              "name": "arr",
20511                                              "decorators": [],
20512                                              "loc": {
20513                                                "start": {
20514                                                  "line": 230,
20515                                                  "column": 21
20516                                                },
20517                                                "end": {
20518                                                  "line": 230,
20519                                                  "column": 24
20520                                                }
20521                                              }
20522                                            },
20523                                            "property": {
20524                                              "type": "BinaryExpression",
20525                                              "operator": "+",
20526                                              "left": {
20527                                                "type": "Identifier",
20528                                                "name": "j",
20529                                                "decorators": [],
20530                                                "loc": {
20531                                                  "start": {
20532                                                    "line": 230,
20533                                                    "column": 25
20534                                                  },
20535                                                  "end": {
20536                                                    "line": 230,
20537                                                    "column": 26
20538                                                  }
20539                                                }
20540                                              },
20541                                              "right": {
20542                                                "type": "NumberLiteral",
20543                                                "value": 1,
20544                                                "loc": {
20545                                                  "start": {
20546                                                    "line": 230,
20547                                                    "column": 29
20548                                                  },
20549                                                  "end": {
20550                                                    "line": 230,
20551                                                    "column": 30
20552                                                  }
20553                                                }
20554                                              },
20555                                              "loc": {
20556                                                "start": {
20557                                                  "line": 230,
20558                                                  "column": 25
20559                                                },
20560                                                "end": {
20561                                                  "line": 230,
20562                                                  "column": 30
20563                                                }
20564                                              }
20565                                            },
20566                                            "computed": true,
20567                                            "optional": false,
20568                                            "loc": {
20569                                              "start": {
20570                                                "line": 230,
20571                                                "column": 21
20572                                              },
20573                                              "end": {
20574                                                "line": 230,
20575                                                "column": 31
20576                                              }
20577                                            }
20578                                          },
20579                                          "right": {
20580                                            "type": "MemberExpression",
20581                                            "object": {
20582                                              "type": "Identifier",
20583                                              "name": "arr",
20584                                              "decorators": [],
20585                                              "loc": {
20586                                                "start": {
20587                                                  "line": 230,
20588                                                  "column": 34
20589                                                },
20590                                                "end": {
20591                                                  "line": 230,
20592                                                  "column": 37
20593                                                }
20594                                              }
20595                                            },
20596                                            "property": {
20597                                              "type": "Identifier",
20598                                              "name": "j",
20599                                              "decorators": [],
20600                                              "loc": {
20601                                                "start": {
20602                                                  "line": 230,
20603                                                  "column": 38
20604                                                },
20605                                                "end": {
20606                                                  "line": 230,
20607                                                  "column": 39
20608                                                }
20609                                              }
20610                                            },
20611                                            "computed": true,
20612                                            "optional": false,
20613                                            "loc": {
20614                                              "start": {
20615                                                "line": 230,
20616                                                "column": 34
20617                                              },
20618                                              "end": {
20619                                                "line": 230,
20620                                                "column": 40
20621                                              }
20622                                            }
20623                                          },
20624                                          "loc": {
20625                                            "start": {
20626                                              "line": 230,
20627                                              "column": 21
20628                                            },
20629                                            "end": {
20630                                              "line": 230,
20631                                              "column": 40
20632                                            }
20633                                          }
20634                                        },
20635                                        "loc": {
20636                                          "start": {
20637                                            "line": 230,
20638                                            "column": 21
20639                                          },
20640                                          "end": {
20641                                            "line": 230,
20642                                            "column": 41
20643                                          }
20644                                        }
20645                                      },
20646                                      {
20647                                        "type": "ExpressionStatement",
20648                                        "expression": {
20649                                          "type": "AssignmentExpression",
20650                                          "operator": "=",
20651                                          "left": {
20652                                            "type": "MemberExpression",
20653                                            "object": {
20654                                              "type": "Identifier",
20655                                              "name": "arr",
20656                                              "decorators": [],
20657                                              "loc": {
20658                                                "start": {
20659                                                  "line": 231,
20660                                                  "column": 21
20661                                                },
20662                                                "end": {
20663                                                  "line": 231,
20664                                                  "column": 24
20665                                                }
20666                                              }
20667                                            },
20668                                            "property": {
20669                                              "type": "Identifier",
20670                                              "name": "j",
20671                                              "decorators": [],
20672                                              "loc": {
20673                                                "start": {
20674                                                  "line": 231,
20675                                                  "column": 25
20676                                                },
20677                                                "end": {
20678                                                  "line": 231,
20679                                                  "column": 26
20680                                                }
20681                                              }
20682                                            },
20683                                            "computed": true,
20684                                            "optional": false,
20685                                            "loc": {
20686                                              "start": {
20687                                                "line": 231,
20688                                                "column": 21
20689                                              },
20690                                              "end": {
20691                                                "line": 231,
20692                                                "column": 27
20693                                              }
20694                                            }
20695                                          },
20696                                          "right": {
20697                                            "type": "Identifier",
20698                                            "name": "tmp",
20699                                            "decorators": [],
20700                                            "loc": {
20701                                              "start": {
20702                                                "line": 231,
20703                                                "column": 30
20704                                              },
20705                                              "end": {
20706                                                "line": 231,
20707                                                "column": 33
20708                                              }
20709                                            }
20710                                          },
20711                                          "loc": {
20712                                            "start": {
20713                                              "line": 231,
20714                                              "column": 21
20715                                            },
20716                                            "end": {
20717                                              "line": 231,
20718                                              "column": 33
20719                                            }
20720                                          }
20721                                        },
20722                                        "loc": {
20723                                          "start": {
20724                                            "line": 231,
20725                                            "column": 21
20726                                          },
20727                                          "end": {
20728                                            "line": 231,
20729                                            "column": 34
20730                                          }
20731                                        }
20732                                      }
20733                                    ],
20734                                    "loc": {
20735                                      "start": {
20736                                        "line": 228,
20737                                        "column": 53
20738                                      },
20739                                      "end": {
20740                                        "line": 232,
20741                                        "column": 18
20742                                      }
20743                                    }
20744                                  },
20745                                  "alternate": null,
20746                                  "loc": {
20747                                    "start": {
20748                                      "line": 228,
20749                                      "column": 17
20750                                    },
20751                                    "end": {
20752                                      "line": 232,
20753                                      "column": 18
20754                                    }
20755                                  }
20756                                }
20757                              ],
20758                              "loc": {
20759                                "start": {
20760                                  "line": 227,
20761                                  "column": 45
20762                                },
20763                                "end": {
20764                                  "line": 233,
20765                                  "column": 14
20766                                }
20767                              }
20768                            },
20769                            "loc": {
20770                              "start": {
20771                                "line": 227,
20772                                "column": 13
20773                              },
20774                              "end": {
20775                                "line": 233,
20776                                "column": 14
20777                              }
20778                            }
20779                          }
20780                        ],
20781                        "loc": {
20782                          "start": {
20783                            "line": 226,
20784                            "column": 37
20785                          },
20786                          "end": {
20787                            "line": 234,
20788                            "column": 10
20789                          }
20790                        }
20791                      },
20792                      "loc": {
20793                        "start": {
20794                          "line": 226,
20795                          "column": 9
20796                        },
20797                        "end": {
20798                          "line": 234,
20799                          "column": 10
20800                        }
20801                      }
20802                    }
20803                  ],
20804                  "loc": {
20805                    "start": {
20806                      "line": 225,
20807                      "column": 104
20808                    },
20809                    "end": {
20810                      "line": 235,
20811                      "column": 6
20812                    }
20813                  }
20814                },
20815                "loc": {
20816                  "start": {
20817                    "line": 225,
20818                    "column": 30
20819                  },
20820                  "end": {
20821                    "line": 235,
20822                    "column": 6
20823                  }
20824                }
20825              },
20826              "loc": {
20827                "start": {
20828                  "line": 225,
20829                  "column": 30
20830                },
20831                "end": {
20832                  "line": 235,
20833                  "column": 6
20834                }
20835              }
20836            },
20837            "overloads": [],
20838            "decorators": [],
20839            "loc": {
20840              "start": {
20841                "line": 225,
20842                "column": 5
20843              },
20844              "end": {
20845                "line": 235,
20846                "column": 6
20847              }
20848            }
20849          },
20850          {
20851            "type": "ClassProperty",
20852            "key": {
20853              "type": "Identifier",
20854              "name": "data",
20855              "decorators": [],
20856              "loc": {
20857                "start": {
20858                  "line": 238,
20859                  "column": 13
20860                },
20861                "end": {
20862                  "line": 238,
20863                  "column": 17
20864                }
20865              }
20866            },
20867            "value": {
20868              "type": "ArrayExpression",
20869              "elements": [],
20870              "loc": {
20871                "start": {
20872                  "line": 238,
20873                  "column": 25
20874                },
20875                "end": {
20876                  "line": 238,
20877                  "column": 27
20878                }
20879              }
20880            },
20881            "accessibility": "private",
20882            "static": false,
20883            "readonly": false,
20884            "declare": false,
20885            "optional": false,
20886            "computed": false,
20887            "typeAnnotation": {
20888              "type": "TSArrayType",
20889              "elementType": {
20890                "type": "ETSTypeReference",
20891                "part": {
20892                  "type": "ETSTypeReferencePart",
20893                  "name": {
20894                    "type": "Identifier",
20895                    "name": "T",
20896                    "decorators": [],
20897                    "loc": {
20898                      "start": {
20899                        "line": 238,
20900                        "column": 19
20901                      },
20902                      "end": {
20903                        "line": 238,
20904                        "column": 20
20905                      }
20906                    }
20907                  },
20908                  "loc": {
20909                    "start": {
20910                      "line": 238,
20911                      "column": 19
20912                    },
20913                    "end": {
20914                      "line": 238,
20915                      "column": 21
20916                    }
20917                  }
20918                },
20919                "loc": {
20920                  "start": {
20921                    "line": 238,
20922                    "column": 19
20923                  },
20924                  "end": {
20925                    "line": 238,
20926                    "column": 21
20927                  }
20928                }
20929              },
20930              "loc": {
20931                "start": {
20932                  "line": 238,
20933                  "column": 20
20934                },
20935                "end": {
20936                  "line": 238,
20937                  "column": 22
20938                }
20939              }
20940            },
20941            "definite": false,
20942            "decorators": [],
20943            "loc": {
20944              "start": {
20945                "line": 238,
20946                "column": 13
20947              },
20948              "end": {
20949                "line": 238,
20950                "column": 27
20951              }
20952            }
20953          },
20954          {
20955            "type": "ClassProperty",
20956            "key": {
20957              "type": "Identifier",
20958              "name": "curSize",
20959              "decorators": [],
20960              "loc": {
20961                "start": {
20962                  "line": 239,
20963                  "column": 13
20964                },
20965                "end": {
20966                  "line": 239,
20967                  "column": 20
20968                }
20969              }
20970            },
20971            "accessibility": "private",
20972            "static": false,
20973            "readonly": false,
20974            "declare": false,
20975            "optional": false,
20976            "computed": false,
20977            "typeAnnotation": {
20978              "type": "ETSPrimitiveType",
20979              "loc": {
20980                "start": {
20981                  "line": 239,
20982                  "column": 22
20983                },
20984                "end": {
20985                  "line": 239,
20986                  "column": 25
20987                }
20988              }
20989            },
20990            "definite": false,
20991            "decorators": [],
20992            "loc": {
20993              "start": {
20994                "line": 239,
20995                "column": 13
20996              },
20997              "end": {
20998                "line": 239,
20999                "column": 25
21000              }
21001            }
21002          }
21003        ],
21004        "loc": {
21005          "start": {
21006            "line": 37,
21007            "column": 43
21008          },
21009          "end": {
21010            "line": 240,
21011            "column": 2
21012          }
21013        }
21014      },
21015      "loc": {
21016        "start": {
21017          "line": 37,
21018          "column": 1
21019        },
21020        "end": {
21021          "line": 240,
21022          "column": 2
21023        }
21024      }
21025    },
21026    {
21027      "type": "ClassDeclaration",
21028      "definition": {
21029        "id": {
21030          "type": "Identifier",
21031          "name": "ETSGLOBAL",
21032          "decorators": [],
21033          "loc": {
21034            "start": {
21035              "line": 1,
21036              "column": 1
21037            },
21038            "end": {
21039              "line": 1,
21040              "column": 1
21041            }
21042          }
21043        },
21044        "superClass": null,
21045        "implements": [],
21046        "body": [
21047          {
21048            "type": "MethodDefinition",
21049            "key": {
21050              "type": "Identifier",
21051              "name": "_$init$_",
21052              "decorators": [],
21053              "loc": {
21054                "start": {
21055                  "line": 1,
21056                  "column": 1
21057                },
21058                "end": {
21059                  "line": 1,
21060                  "column": 1
21061                }
21062              }
21063            },
21064            "kind": "method",
21065            "accessibility": "public",
21066            "static": true,
21067            "optional": false,
21068            "computed": false,
21069            "value": {
21070              "type": "FunctionExpression",
21071              "function": {
21072                "type": "ScriptFunction",
21073                "id": {
21074                  "type": "Identifier",
21075                  "name": "_$init$_",
21076                  "decorators": [],
21077                  "loc": {
21078                    "start": {
21079                      "line": 1,
21080                      "column": 1
21081                    },
21082                    "end": {
21083                      "line": 1,
21084                      "column": 1
21085                    }
21086                  }
21087                },
21088                "generator": false,
21089                "async": false,
21090                "expression": false,
21091                "params": [],
21092                "body": {
21093                  "type": "BlockStatement",
21094                  "statements": [],
21095                  "loc": {
21096                    "start": {
21097                      "line": 1,
21098                      "column": 1
21099                    },
21100                    "end": {
21101                      "line": 1,
21102                      "column": 1
21103                    }
21104                  }
21105                },
21106                "loc": {
21107                  "start": {
21108                    "line": 1,
21109                    "column": 1
21110                  },
21111                  "end": {
21112                    "line": 1,
21113                    "column": 1
21114                  }
21115                }
21116              },
21117              "loc": {
21118                "start": {
21119                  "line": 1,
21120                  "column": 1
21121                },
21122                "end": {
21123                  "line": 1,
21124                  "column": 1
21125                }
21126              }
21127            },
21128            "overloads": [],
21129            "decorators": [],
21130            "loc": {
21131              "start": {
21132                "line": 1,
21133                "column": 1
21134              },
21135              "end": {
21136                "line": 1,
21137                "column": 1
21138              }
21139            }
21140          }
21141        ],
21142        "loc": {
21143          "start": {
21144            "line": 1,
21145            "column": 1
21146          },
21147          "end": {
21148            "line": 1,
21149            "column": 1
21150          }
21151        }
21152      },
21153      "loc": {
21154        "start": {
21155          "line": 1,
21156          "column": 1
21157        },
21158        "end": {
21159          "line": 1,
21160          "column": 1
21161        }
21162      }
21163    }
21164  ],
21165  "loc": {
21166    "start": {
21167      "line": 1,
21168      "column": 1
21169    },
21170    "end": {
21171      "line": 241,
21172      "column": 1
21173    }
21174  }
21175}
21176