1{
2  "type": "Program",
3  "statements": [
4    {
5      "type": "ClassDeclaration",
6      "definition": {
7        "id": {
8          "type": "Identifier",
9          "name": "BitopsNSieveBits",
10          "decorators": [],
11          "loc": {
12            "start": {
13              "line": 16,
14              "column": 14
15            },
16            "end": {
17              "line": 16,
18              "column": 30
19            }
20          }
21        },
22        "superClass": null,
23        "implements": [],
24        "body": [
25          {
26            "type": "MethodDefinition",
27            "key": {
28              "type": "Identifier",
29              "name": "primes",
30              "decorators": [],
31              "loc": {
32                "start": {
33                  "line": 17,
34                  "column": 10
35                },
36                "end": {
37                  "line": 17,
38                  "column": 16
39                }
40              }
41            },
42            "kind": "method",
43            "accessibility": "public",
44            "static": true,
45            "optional": false,
46            "computed": false,
47            "value": {
48              "type": "FunctionExpression",
49              "function": {
50                "type": "ScriptFunction",
51                "id": {
52                  "type": "Identifier",
53                  "name": "primes",
54                  "decorators": [],
55                  "loc": {
56                    "start": {
57                      "line": 17,
58                      "column": 10
59                    },
60                    "end": {
61                      "line": 17,
62                      "column": 16
63                    }
64                  }
65                },
66                "generator": false,
67                "async": false,
68                "expression": false,
69                "params": [
70                  {
71                    "type": "ETSParameterExpression",
72                    "name": {
73                      "type": "Identifier",
74                      "name": "isPrime",
75                      "typeAnnotation": {
76                        "type": "TSArrayType",
77                        "elementType": {
78                          "type": "ETSPrimitiveType",
79                          "loc": {
80                            "start": {
81                              "line": 17,
82                              "column": 26
83                            },
84                            "end": {
85                              "line": 17,
86                              "column": 29
87                            }
88                          }
89                        },
90                        "loc": {
91                          "start": {
92                            "line": 17,
93                            "column": 31
94                          },
95                          "end": {
96                            "line": 17,
97                            "column": 32
98                          }
99                        }
100                      },
101                      "decorators": [],
102                      "loc": {
103                        "start": {
104                          "line": 17,
105                          "column": 17
106                        },
107                        "end": {
108                          "line": 17,
109                          "column": 32
110                        }
111                      }
112                    },
113                    "loc": {
114                      "start": {
115                        "line": 17,
116                        "column": 17
117                      },
118                      "end": {
119                        "line": 17,
120                        "column": 32
121                      }
122                    }
123                  },
124                  {
125                    "type": "ETSParameterExpression",
126                    "name": {
127                      "type": "Identifier",
128                      "name": "n1",
129                      "typeAnnotation": {
130                        "type": "ETSPrimitiveType",
131                        "loc": {
132                          "start": {
133                            "line": 17,
134                            "column": 37
135                          },
136                          "end": {
137                            "line": 17,
138                            "column": 40
139                          }
140                        }
141                      },
142                      "decorators": [],
143                      "loc": {
144                        "start": {
145                          "line": 17,
146                          "column": 33
147                        },
148                        "end": {
149                          "line": 17,
150                          "column": 40
151                        }
152                      }
153                    },
154                    "loc": {
155                      "start": {
156                        "line": 17,
157                        "column": 33
158                      },
159                      "end": {
160                        "line": 17,
161                        "column": 40
162                      }
163                    }
164                  },
165                  {
166                    "type": "ETSParameterExpression",
167                    "name": {
168                      "type": "Identifier",
169                      "name": "n2",
170                      "typeAnnotation": {
171                        "type": "ETSPrimitiveType",
172                        "loc": {
173                          "start": {
174                            "line": 17,
175                            "column": 46
176                          },
177                          "end": {
178                            "line": 17,
179                            "column": 49
180                          }
181                        }
182                      },
183                      "decorators": [],
184                      "loc": {
185                        "start": {
186                          "line": 17,
187                          "column": 42
188                        },
189                        "end": {
190                          "line": 17,
191                          "column": 49
192                        }
193                      }
194                    },
195                    "loc": {
196                      "start": {
197                        "line": 17,
198                        "column": 42
199                      },
200                      "end": {
201                        "line": 17,
202                        "column": 49
203                      }
204                    }
205                  }
206                ],
207                "returnType": {
208                  "type": "ETSPrimitiveType",
209                  "loc": {
210                    "start": {
211                      "line": 17,
212                      "column": 52
213                    },
214                    "end": {
215                      "line": 17,
216                      "column": 56
217                    }
218                  }
219                },
220                "body": {
221                  "type": "BlockStatement",
222                  "statements": [
223                    {
224                      "type": "VariableDeclaration",
225                      "declarations": [
226                        {
227                          "type": "VariableDeclarator",
228                          "id": {
229                            "type": "Identifier",
230                            "name": "i",
231                            "typeAnnotation": {
232                              "type": "ETSPrimitiveType",
233                              "loc": {
234                                "start": {
235                                  "line": 18,
236                                  "column": 12
237                                },
238                                "end": {
239                                  "line": 18,
240                                  "column": 15
241                                }
242                              }
243                            },
244                            "decorators": [],
245                            "loc": {
246                              "start": {
247                                "line": 18,
248                                "column": 9
249                              },
250                              "end": {
251                                "line": 18,
252                                "column": 10
253                              }
254                            }
255                          },
256                          "init": null,
257                          "loc": {
258                            "start": {
259                              "line": 18,
260                              "column": 9
261                            },
262                            "end": {
263                              "line": 18,
264                              "column": 10
265                            }
266                          }
267                        }
268                      ],
269                      "kind": "let",
270                      "loc": {
271                        "start": {
272                          "line": 18,
273                          "column": 5
274                        },
275                        "end": {
276                          "line": 18,
277                          "column": 16
278                        }
279                      }
280                    },
281                    {
282                      "type": "VariableDeclaration",
283                      "declarations": [
284                        {
285                          "type": "VariableDeclarator",
286                          "id": {
287                            "type": "Identifier",
288                            "name": "m",
289                            "typeAnnotation": {
290                              "type": "ETSPrimitiveType",
291                              "loc": {
292                                "start": {
293                                  "line": 19,
294                                  "column": 12
295                                },
296                                "end": {
297                                  "line": 19,
298                                  "column": 15
299                                }
300                              }
301                            },
302                            "decorators": [],
303                            "loc": {
304                              "start": {
305                                "line": 19,
306                                "column": 9
307                              },
308                              "end": {
309                                "line": 19,
310                                "column": 10
311                              }
312                            }
313                          },
314                          "init": {
315                            "type": "BinaryExpression",
316                            "operator": "<<",
317                            "left": {
318                              "type": "Identifier",
319                              "name": "n2",
320                              "decorators": [],
321                              "loc": {
322                                "start": {
323                                  "line": 19,
324                                  "column": 18
325                                },
326                                "end": {
327                                  "line": 19,
328                                  "column": 20
329                                }
330                              }
331                            },
332                            "right": {
333                              "type": "Identifier",
334                              "name": "n1",
335                              "decorators": [],
336                              "loc": {
337                                "start": {
338                                  "line": 19,
339                                  "column": 24
340                                },
341                                "end": {
342                                  "line": 19,
343                                  "column": 26
344                                }
345                              }
346                            },
347                            "loc": {
348                              "start": {
349                                "line": 19,
350                                "column": 18
351                              },
352                              "end": {
353                                "line": 19,
354                                "column": 26
355                              }
356                            }
357                          },
358                          "loc": {
359                            "start": {
360                              "line": 19,
361                              "column": 9
362                            },
363                            "end": {
364                              "line": 19,
365                              "column": 26
366                            }
367                          }
368                        }
369                      ],
370                      "kind": "let",
371                      "loc": {
372                        "start": {
373                          "line": 19,
374                          "column": 5
375                        },
376                        "end": {
377                          "line": 19,
378                          "column": 27
379                        }
380                      }
381                    },
382                    {
383                      "type": "VariableDeclaration",
384                      "declarations": [
385                        {
386                          "type": "VariableDeclarator",
387                          "id": {
388                            "type": "Identifier",
389                            "name": "size",
390                            "typeAnnotation": {
391                              "type": "ETSPrimitiveType",
392                              "loc": {
393                                "start": {
394                                  "line": 20,
395                                  "column": 15
396                                },
397                                "end": {
398                                  "line": 20,
399                                  "column": 18
400                                }
401                              }
402                            },
403                            "decorators": [],
404                            "loc": {
405                              "start": {
406                                "line": 20,
407                                "column": 9
408                              },
409                              "end": {
410                                "line": 20,
411                                "column": 13
412                              }
413                            }
414                          },
415                          "init": {
416                            "type": "BinaryExpression",
417                            "operator": ">>",
418                            "left": {
419                              "type": "BinaryExpression",
420                              "operator": "+",
421                              "left": {
422                                "type": "Identifier",
423                                "name": "m",
424                                "decorators": [],
425                                "loc": {
426                                  "start": {
427                                    "line": 20,
428                                    "column": 21
429                                  },
430                                  "end": {
431                                    "line": 20,
432                                    "column": 22
433                                  }
434                                }
435                              },
436                              "right": {
437                                "type": "NumberLiteral",
438                                "value": 31,
439                                "loc": {
440                                  "start": {
441                                    "line": 20,
442                                    "column": 25
443                                  },
444                                  "end": {
445                                    "line": 20,
446                                    "column": 27
447                                  }
448                                }
449                              },
450                              "loc": {
451                                "start": {
452                                  "line": 20,
453                                  "column": 21
454                                },
455                                "end": {
456                                  "line": 20,
457                                  "column": 27
458                                }
459                              }
460                            },
461                            "right": {
462                              "type": "NumberLiteral",
463                              "value": 5,
464                              "loc": {
465                                "start": {
466                                  "line": 20,
467                                  "column": 31
468                                },
469                                "end": {
470                                  "line": 20,
471                                  "column": 32
472                                }
473                              }
474                            },
475                            "loc": {
476                              "start": {
477                                "line": 20,
478                                "column": 21
479                              },
480                              "end": {
481                                "line": 20,
482                                "column": 32
483                              }
484                            }
485                          },
486                          "loc": {
487                            "start": {
488                              "line": 20,
489                              "column": 9
490                            },
491                            "end": {
492                              "line": 20,
493                              "column": 32
494                            }
495                          }
496                        }
497                      ],
498                      "kind": "let",
499                      "loc": {
500                        "start": {
501                          "line": 20,
502                          "column": 5
503                        },
504                        "end": {
505                          "line": 20,
506                          "column": 33
507                        }
508                      }
509                    },
510                    {
511                      "type": "ForUpdateStatement",
512                      "init": {
513                        "type": "AssignmentExpression",
514                        "operator": "=",
515                        "left": {
516                          "type": "Identifier",
517                          "name": "i",
518                          "decorators": [],
519                          "loc": {
520                            "start": {
521                              "line": 22,
522                              "column": 10
523                            },
524                            "end": {
525                              "line": 22,
526                              "column": 11
527                            }
528                          }
529                        },
530                        "right": {
531                          "type": "NumberLiteral",
532                          "value": 0,
533                          "loc": {
534                            "start": {
535                              "line": 22,
536                              "column": 14
537                            },
538                            "end": {
539                              "line": 22,
540                              "column": 15
541                            }
542                          }
543                        },
544                        "loc": {
545                          "start": {
546                            "line": 22,
547                            "column": 10
548                          },
549                          "end": {
550                            "line": 22,
551                            "column": 15
552                          }
553                        }
554                      },
555                      "test": {
556                        "type": "BinaryExpression",
557                        "operator": "<",
558                        "left": {
559                          "type": "Identifier",
560                          "name": "i",
561                          "decorators": [],
562                          "loc": {
563                            "start": {
564                              "line": 22,
565                              "column": 17
566                            },
567                            "end": {
568                              "line": 22,
569                              "column": 18
570                            }
571                          }
572                        },
573                        "right": {
574                          "type": "Identifier",
575                          "name": "size",
576                          "decorators": [],
577                          "loc": {
578                            "start": {
579                              "line": 22,
580                              "column": 21
581                            },
582                            "end": {
583                              "line": 22,
584                              "column": 25
585                            }
586                          }
587                        },
588                        "loc": {
589                          "start": {
590                            "line": 22,
591                            "column": 17
592                          },
593                          "end": {
594                            "line": 22,
595                            "column": 25
596                          }
597                        }
598                      },
599                      "update": {
600                        "type": "UpdateExpression",
601                        "operator": "++",
602                        "prefix": false,
603                        "argument": {
604                          "type": "Identifier",
605                          "name": "i",
606                          "decorators": [],
607                          "loc": {
608                            "start": {
609                              "line": 22,
610                              "column": 27
611                            },
612                            "end": {
613                              "line": 22,
614                              "column": 28
615                            }
616                          }
617                        },
618                        "loc": {
619                          "start": {
620                            "line": 22,
621                            "column": 27
622                          },
623                          "end": {
624                            "line": 22,
625                            "column": 30
626                          }
627                        }
628                      },
629                      "body": {
630                        "type": "BlockStatement",
631                        "statements": [
632                          {
633                            "type": "ExpressionStatement",
634                            "expression": {
635                              "type": "AssignmentExpression",
636                              "operator": "=",
637                              "left": {
638                                "type": "MemberExpression",
639                                "object": {
640                                  "type": "Identifier",
641                                  "name": "isPrime",
642                                  "decorators": [],
643                                  "loc": {
644                                    "start": {
645                                      "line": 23,
646                                      "column": 7
647                                    },
648                                    "end": {
649                                      "line": 23,
650                                      "column": 14
651                                    }
652                                  }
653                                },
654                                "property": {
655                                  "type": "Identifier",
656                                  "name": "i",
657                                  "decorators": [],
658                                  "loc": {
659                                    "start": {
660                                      "line": 23,
661                                      "column": 15
662                                    },
663                                    "end": {
664                                      "line": 23,
665                                      "column": 16
666                                    }
667                                  }
668                                },
669                                "computed": true,
670                                "optional": false,
671                                "loc": {
672                                  "start": {
673                                    "line": 23,
674                                    "column": 7
675                                  },
676                                  "end": {
677                                    "line": 23,
678                                    "column": 17
679                                  }
680                                }
681                              },
682                              "right": {
683                                "type": "UnaryExpression",
684                                "operator": "-",
685                                "prefix": true,
686                                "argument": {
687                                  "type": "NumberLiteral",
688                                  "value": 1,
689                                  "loc": {
690                                    "start": {
691                                      "line": 23,
692                                      "column": 21
693                                    },
694                                    "end": {
695                                      "line": 23,
696                                      "column": 22
697                                    }
698                                  }
699                                },
700                                "loc": {
701                                  "start": {
702                                    "line": 23,
703                                    "column": 20
704                                  },
705                                  "end": {
706                                    "line": 23,
707                                    "column": 22
708                                  }
709                                }
710                              },
711                              "loc": {
712                                "start": {
713                                  "line": 23,
714                                  "column": 7
715                                },
716                                "end": {
717                                  "line": 23,
718                                  "column": 22
719                                }
720                              }
721                            },
722                            "loc": {
723                              "start": {
724                                "line": 23,
725                                "column": 7
726                              },
727                              "end": {
728                                "line": 23,
729                                "column": 23
730                              }
731                            }
732                          }
733                        ],
734                        "loc": {
735                          "start": {
736                            "line": 22,
737                            "column": 32
738                          },
739                          "end": {
740                            "line": 24,
741                            "column": 6
742                          }
743                        }
744                      },
745                      "loc": {
746                        "start": {
747                          "line": 22,
748                          "column": 5
749                        },
750                        "end": {
751                          "line": 24,
752                          "column": 6
753                        }
754                      }
755                    },
756                    {
757                      "type": "ForUpdateStatement",
758                      "init": {
759                        "type": "AssignmentExpression",
760                        "operator": "=",
761                        "left": {
762                          "type": "Identifier",
763                          "name": "i",
764                          "decorators": [],
765                          "loc": {
766                            "start": {
767                              "line": 26,
768                              "column": 10
769                            },
770                            "end": {
771                              "line": 26,
772                              "column": 11
773                            }
774                          }
775                        },
776                        "right": {
777                          "type": "NumberLiteral",
778                          "value": 2,
779                          "loc": {
780                            "start": {
781                              "line": 26,
782                              "column": 14
783                            },
784                            "end": {
785                              "line": 26,
786                              "column": 15
787                            }
788                          }
789                        },
790                        "loc": {
791                          "start": {
792                            "line": 26,
793                            "column": 10
794                          },
795                          "end": {
796                            "line": 26,
797                            "column": 15
798                          }
799                        }
800                      },
801                      "test": {
802                        "type": "BinaryExpression",
803                        "operator": "<",
804                        "left": {
805                          "type": "Identifier",
806                          "name": "i",
807                          "decorators": [],
808                          "loc": {
809                            "start": {
810                              "line": 26,
811                              "column": 17
812                            },
813                            "end": {
814                              "line": 26,
815                              "column": 18
816                            }
817                          }
818                        },
819                        "right": {
820                          "type": "Identifier",
821                          "name": "m",
822                          "decorators": [],
823                          "loc": {
824                            "start": {
825                              "line": 26,
826                              "column": 21
827                            },
828                            "end": {
829                              "line": 26,
830                              "column": 22
831                            }
832                          }
833                        },
834                        "loc": {
835                          "start": {
836                            "line": 26,
837                            "column": 17
838                          },
839                          "end": {
840                            "line": 26,
841                            "column": 22
842                          }
843                        }
844                      },
845                      "update": {
846                        "type": "UpdateExpression",
847                        "operator": "++",
848                        "prefix": false,
849                        "argument": {
850                          "type": "Identifier",
851                          "name": "i",
852                          "decorators": [],
853                          "loc": {
854                            "start": {
855                              "line": 26,
856                              "column": 24
857                            },
858                            "end": {
859                              "line": 26,
860                              "column": 25
861                            }
862                          }
863                        },
864                        "loc": {
865                          "start": {
866                            "line": 26,
867                            "column": 24
868                          },
869                          "end": {
870                            "line": 26,
871                            "column": 27
872                          }
873                        }
874                      },
875                      "body": {
876                        "type": "BlockStatement",
877                        "statements": [
878                          {
879                            "type": "IfStatement",
880                            "test": {
881                              "type": "BinaryExpression",
882                              "operator": "!=",
883                              "left": {
884                                "type": "BinaryExpression",
885                                "operator": "&",
886                                "left": {
887                                  "type": "MemberExpression",
888                                  "object": {
889                                    "type": "Identifier",
890                                    "name": "isPrime",
891                                    "decorators": [],
892                                    "loc": {
893                                      "start": {
894                                        "line": 27,
895                                        "column": 12
896                                      },
897                                      "end": {
898                                        "line": 27,
899                                        "column": 19
900                                      }
901                                    }
902                                  },
903                                  "property": {
904                                    "type": "BinaryExpression",
905                                    "operator": ">>",
906                                    "left": {
907                                      "type": "Identifier",
908                                      "name": "i",
909                                      "decorators": [],
910                                      "loc": {
911                                        "start": {
912                                          "line": 27,
913                                          "column": 20
914                                        },
915                                        "end": {
916                                          "line": 27,
917                                          "column": 21
918                                        }
919                                      }
920                                    },
921                                    "right": {
922                                      "type": "NumberLiteral",
923                                      "value": 5,
924                                      "loc": {
925                                        "start": {
926                                          "line": 27,
927                                          "column": 25
928                                        },
929                                        "end": {
930                                          "line": 27,
931                                          "column": 26
932                                        }
933                                      }
934                                    },
935                                    "loc": {
936                                      "start": {
937                                        "line": 27,
938                                        "column": 20
939                                      },
940                                      "end": {
941                                        "line": 27,
942                                        "column": 26
943                                      }
944                                    }
945                                  },
946                                  "computed": true,
947                                  "optional": false,
948                                  "loc": {
949                                    "start": {
950                                      "line": 27,
951                                      "column": 12
952                                    },
953                                    "end": {
954                                      "line": 27,
955                                      "column": 27
956                                    }
957                                  }
958                                },
959                                "right": {
960                                  "type": "BinaryExpression",
961                                  "operator": "<<",
962                                  "left": {
963                                    "type": "NumberLiteral",
964                                    "value": 1,
965                                    "loc": {
966                                      "start": {
967                                        "line": 27,
968                                        "column": 30
969                                      },
970                                      "end": {
971                                        "line": 27,
972                                        "column": 31
973                                      }
974                                    }
975                                  },
976                                  "right": {
977                                    "type": "BinaryExpression",
978                                    "operator": "&",
979                                    "left": {
980                                      "type": "Identifier",
981                                      "name": "i",
982                                      "decorators": [],
983                                      "loc": {
984                                        "start": {
985                                          "line": 27,
986                                          "column": 36
987                                        },
988                                        "end": {
989                                          "line": 27,
990                                          "column": 37
991                                        }
992                                      }
993                                    },
994                                    "right": {
995                                      "type": "NumberLiteral",
996                                      "value": 31,
997                                      "loc": {
998                                        "start": {
999                                          "line": 27,
1000                                          "column": 40
1001                                        },
1002                                        "end": {
1003                                          "line": 27,
1004                                          "column": 42
1005                                        }
1006                                      }
1007                                    },
1008                                    "loc": {
1009                                      "start": {
1010                                        "line": 27,
1011                                        "column": 35
1012                                      },
1013                                      "end": {
1014                                        "line": 27,
1015                                        "column": 43
1016                                      }
1017                                    }
1018                                  },
1019                                  "loc": {
1020                                    "start": {
1021                                      "line": 27,
1022                                      "column": 30
1023                                    },
1024                                    "end": {
1025                                      "line": 27,
1026                                      "column": 43
1027                                    }
1028                                  }
1029                                },
1030                                "loc": {
1031                                  "start": {
1032                                    "line": 27,
1033                                    "column": 11
1034                                  },
1035                                  "end": {
1036                                    "line": 27,
1037                                    "column": 44
1038                                  }
1039                                }
1040                              },
1041                              "right": {
1042                                "type": "NumberLiteral",
1043                                "value": 0,
1044                                "loc": {
1045                                  "start": {
1046                                    "line": 27,
1047                                    "column": 48
1048                                  },
1049                                  "end": {
1050                                    "line": 27,
1051                                    "column": 49
1052                                  }
1053                                }
1054                              },
1055                              "loc": {
1056                                "start": {
1057                                  "line": 27,
1058                                  "column": 11
1059                                },
1060                                "end": {
1061                                  "line": 27,
1062                                  "column": 49
1063                                }
1064                              }
1065                            },
1066                            "consequent": {
1067                              "type": "BlockStatement",
1068                              "statements": [
1069                                {
1070                                  "type": "ForUpdateStatement",
1071                                  "init": {
1072                                    "type": "VariableDeclaration",
1073                                    "declarations": [
1074                                      {
1075                                        "type": "VariableDeclarator",
1076                                        "id": {
1077                                          "type": "Identifier",
1078                                          "name": "j",
1079                                          "typeAnnotation": {
1080                                            "type": "ETSPrimitiveType",
1081                                            "loc": {
1082                                              "start": {
1083                                                "line": 28,
1084                                                "column": 21
1085                                              },
1086                                              "end": {
1087                                                "line": 28,
1088                                                "column": 24
1089                                              }
1090                                            }
1091                                          },
1092                                          "decorators": [],
1093                                          "loc": {
1094                                            "start": {
1095                                              "line": 28,
1096                                              "column": 18
1097                                            },
1098                                            "end": {
1099                                              "line": 28,
1100                                              "column": 19
1101                                            }
1102                                          }
1103                                        },
1104                                        "init": {
1105                                          "type": "BinaryExpression",
1106                                          "operator": "+",
1107                                          "left": {
1108                                            "type": "Identifier",
1109                                            "name": "i",
1110                                            "decorators": [],
1111                                            "loc": {
1112                                              "start": {
1113                                                "line": 28,
1114                                                "column": 27
1115                                              },
1116                                              "end": {
1117                                                "line": 28,
1118                                                "column": 28
1119                                              }
1120                                            }
1121                                          },
1122                                          "right": {
1123                                            "type": "Identifier",
1124                                            "name": "i",
1125                                            "decorators": [],
1126                                            "loc": {
1127                                              "start": {
1128                                                "line": 28,
1129                                                "column": 31
1130                                              },
1131                                              "end": {
1132                                                "line": 28,
1133                                                "column": 32
1134                                              }
1135                                            }
1136                                          },
1137                                          "loc": {
1138                                            "start": {
1139                                              "line": 28,
1140                                              "column": 27
1141                                            },
1142                                            "end": {
1143                                              "line": 28,
1144                                              "column": 32
1145                                            }
1146                                          }
1147                                        },
1148                                        "loc": {
1149                                          "start": {
1150                                            "line": 28,
1151                                            "column": 18
1152                                          },
1153                                          "end": {
1154                                            "line": 28,
1155                                            "column": 32
1156                                          }
1157                                        }
1158                                      }
1159                                    ],
1160                                    "kind": "let",
1161                                    "loc": {
1162                                      "start": {
1163                                        "line": 28,
1164                                        "column": 14
1165                                      },
1166                                      "end": {
1167                                        "line": 28,
1168                                        "column": 32
1169                                      }
1170                                    }
1171                                  },
1172                                  "test": {
1173                                    "type": "BinaryExpression",
1174                                    "operator": "<",
1175                                    "left": {
1176                                      "type": "Identifier",
1177                                      "name": "j",
1178                                      "decorators": [],
1179                                      "loc": {
1180                                        "start": {
1181                                          "line": 28,
1182                                          "column": 34
1183                                        },
1184                                        "end": {
1185                                          "line": 28,
1186                                          "column": 35
1187                                        }
1188                                      }
1189                                    },
1190                                    "right": {
1191                                      "type": "Identifier",
1192                                      "name": "m",
1193                                      "decorators": [],
1194                                      "loc": {
1195                                        "start": {
1196                                          "line": 28,
1197                                          "column": 38
1198                                        },
1199                                        "end": {
1200                                          "line": 28,
1201                                          "column": 39
1202                                        }
1203                                      }
1204                                    },
1205                                    "loc": {
1206                                      "start": {
1207                                        "line": 28,
1208                                        "column": 34
1209                                      },
1210                                      "end": {
1211                                        "line": 28,
1212                                        "column": 39
1213                                      }
1214                                    }
1215                                  },
1216                                  "update": {
1217                                    "type": "AssignmentExpression",
1218                                    "operator": "+=",
1219                                    "left": {
1220                                      "type": "Identifier",
1221                                      "name": "j",
1222                                      "decorators": [],
1223                                      "loc": {
1224                                        "start": {
1225                                          "line": 28,
1226                                          "column": 41
1227                                        },
1228                                        "end": {
1229                                          "line": 28,
1230                                          "column": 42
1231                                        }
1232                                      }
1233                                    },
1234                                    "right": {
1235                                      "type": "Identifier",
1236                                      "name": "i",
1237                                      "decorators": [],
1238                                      "loc": {
1239                                        "start": {
1240                                          "line": 28,
1241                                          "column": 46
1242                                        },
1243                                        "end": {
1244                                          "line": 28,
1245                                          "column": 47
1246                                        }
1247                                      }
1248                                    },
1249                                    "loc": {
1250                                      "start": {
1251                                        "line": 28,
1252                                        "column": 41
1253                                      },
1254                                      "end": {
1255                                        "line": 28,
1256                                        "column": 47
1257                                      }
1258                                    }
1259                                  },
1260                                  "body": {
1261                                    "type": "BlockStatement",
1262                                    "statements": [
1263                                      {
1264                                        "type": "ExpressionStatement",
1265                                        "expression": {
1266                                          "type": "AssignmentExpression",
1267                                          "operator": "&=",
1268                                          "left": {
1269                                            "type": "MemberExpression",
1270                                            "object": {
1271                                              "type": "Identifier",
1272                                              "name": "isPrime",
1273                                              "decorators": [],
1274                                              "loc": {
1275                                                "start": {
1276                                                  "line": 29,
1277                                                  "column": 11
1278                                                },
1279                                                "end": {
1280                                                  "line": 29,
1281                                                  "column": 18
1282                                                }
1283                                              }
1284                                            },
1285                                            "property": {
1286                                              "type": "BinaryExpression",
1287                                              "operator": ">>",
1288                                              "left": {
1289                                                "type": "Identifier",
1290                                                "name": "j",
1291                                                "decorators": [],
1292                                                "loc": {
1293                                                  "start": {
1294                                                    "line": 29,
1295                                                    "column": 19
1296                                                  },
1297                                                  "end": {
1298                                                    "line": 29,
1299                                                    "column": 20
1300                                                  }
1301                                                }
1302                                              },
1303                                              "right": {
1304                                                "type": "NumberLiteral",
1305                                                "value": 5,
1306                                                "loc": {
1307                                                  "start": {
1308                                                    "line": 29,
1309                                                    "column": 24
1310                                                  },
1311                                                  "end": {
1312                                                    "line": 29,
1313                                                    "column": 25
1314                                                  }
1315                                                }
1316                                              },
1317                                              "loc": {
1318                                                "start": {
1319                                                  "line": 29,
1320                                                  "column": 19
1321                                                },
1322                                                "end": {
1323                                                  "line": 29,
1324                                                  "column": 25
1325                                                }
1326                                              }
1327                                            },
1328                                            "computed": true,
1329                                            "optional": false,
1330                                            "loc": {
1331                                              "start": {
1332                                                "line": 29,
1333                                                "column": 11
1334                                              },
1335                                              "end": {
1336                                                "line": 29,
1337                                                "column": 26
1338                                              }
1339                                            }
1340                                          },
1341                                          "right": {
1342                                            "type": "UnaryExpression",
1343                                            "operator": "~",
1344                                            "prefix": true,
1345                                            "argument": {
1346                                              "type": "BinaryExpression",
1347                                              "operator": "<<",
1348                                              "left": {
1349                                                "type": "NumberLiteral",
1350                                                "value": 1,
1351                                                "loc": {
1352                                                  "start": {
1353                                                    "line": 29,
1354                                                    "column": 32
1355                                                  },
1356                                                  "end": {
1357                                                    "line": 29,
1358                                                    "column": 33
1359                                                  }
1360                                                }
1361                                              },
1362                                              "right": {
1363                                                "type": "BinaryExpression",
1364                                                "operator": "&",
1365                                                "left": {
1366                                                  "type": "Identifier",
1367                                                  "name": "j",
1368                                                  "decorators": [],
1369                                                  "loc": {
1370                                                    "start": {
1371                                                      "line": 29,
1372                                                      "column": 38
1373                                                    },
1374                                                    "end": {
1375                                                      "line": 29,
1376                                                      "column": 39
1377                                                    }
1378                                                  }
1379                                                },
1380                                                "right": {
1381                                                  "type": "NumberLiteral",
1382                                                  "value": 31,
1383                                                  "loc": {
1384                                                    "start": {
1385                                                      "line": 29,
1386                                                      "column": 42
1387                                                    },
1388                                                    "end": {
1389                                                      "line": 29,
1390                                                      "column": 44
1391                                                    }
1392                                                  }
1393                                                },
1394                                                "loc": {
1395                                                  "start": {
1396                                                    "line": 29,
1397                                                    "column": 37
1398                                                  },
1399                                                  "end": {
1400                                                    "line": 29,
1401                                                    "column": 45
1402                                                  }
1403                                                }
1404                                              },
1405                                              "loc": {
1406                                                "start": {
1407                                                  "line": 29,
1408                                                  "column": 31
1409                                                },
1410                                                "end": {
1411                                                  "line": 29,
1412                                                  "column": 46
1413                                                }
1414                                              }
1415                                            },
1416                                            "loc": {
1417                                              "start": {
1418                                                "line": 29,
1419                                                "column": 30
1420                                              },
1421                                              "end": {
1422                                                "line": 29,
1423                                                "column": 46
1424                                              }
1425                                            }
1426                                          },
1427                                          "loc": {
1428                                            "start": {
1429                                              "line": 29,
1430                                              "column": 11
1431                                            },
1432                                            "end": {
1433                                              "line": 29,
1434                                              "column": 46
1435                                            }
1436                                          }
1437                                        },
1438                                        "loc": {
1439                                          "start": {
1440                                            "line": 29,
1441                                            "column": 11
1442                                          },
1443                                          "end": {
1444                                            "line": 29,
1445                                            "column": 47
1446                                          }
1447                                        }
1448                                      }
1449                                    ],
1450                                    "loc": {
1451                                      "start": {
1452                                        "line": 28,
1453                                        "column": 49
1454                                      },
1455                                      "end": {
1456                                        "line": 30,
1457                                        "column": 10
1458                                      }
1459                                    }
1460                                  },
1461                                  "loc": {
1462                                    "start": {
1463                                      "line": 28,
1464                                      "column": 9
1465                                    },
1466                                    "end": {
1467                                      "line": 30,
1468                                      "column": 10
1469                                    }
1470                                  }
1471                                }
1472                              ],
1473                              "loc": {
1474                                "start": {
1475                                  "line": 27,
1476                                  "column": 51
1477                                },
1478                                "end": {
1479                                  "line": 31,
1480                                  "column": 8
1481                                }
1482                              }
1483                            },
1484                            "alternate": null,
1485                            "loc": {
1486                              "start": {
1487                                "line": 27,
1488                                "column": 7
1489                              },
1490                              "end": {
1491                                "line": 31,
1492                                "column": 8
1493                              }
1494                            }
1495                          }
1496                        ],
1497                        "loc": {
1498                          "start": {
1499                            "line": 26,
1500                            "column": 29
1501                          },
1502                          "end": {
1503                            "line": 32,
1504                            "column": 6
1505                          }
1506                        }
1507                      },
1508                      "loc": {
1509                        "start": {
1510                          "line": 26,
1511                          "column": 5
1512                        },
1513                        "end": {
1514                          "line": 32,
1515                          "column": 6
1516                        }
1517                      }
1518                    }
1519                  ],
1520                  "loc": {
1521                    "start": {
1522                      "line": 17,
1523                      "column": 57
1524                    },
1525                    "end": {
1526                      "line": 33,
1527                      "column": 4
1528                    }
1529                  }
1530                },
1531                "loc": {
1532                  "start": {
1533                    "line": 17,
1534                    "column": 16
1535                  },
1536                  "end": {
1537                    "line": 33,
1538                    "column": 4
1539                  }
1540                }
1541              },
1542              "loc": {
1543                "start": {
1544                  "line": 17,
1545                  "column": 16
1546                },
1547                "end": {
1548                  "line": 33,
1549                  "column": 4
1550                }
1551              }
1552            },
1553            "overloads": [],
1554            "decorators": [],
1555            "loc": {
1556              "start": {
1557                "line": 17,
1558                "column": 3
1559              },
1560              "end": {
1561                "line": 33,
1562                "column": 4
1563              }
1564            }
1565          },
1566          {
1567            "type": "MethodDefinition",
1568            "key": {
1569              "type": "Identifier",
1570              "name": "sieve",
1571              "decorators": [],
1572              "loc": {
1573                "start": {
1574                  "line": 35,
1575                  "column": 18
1576                },
1577                "end": {
1578                  "line": 35,
1579                  "column": 23
1580                }
1581              }
1582            },
1583            "kind": "method",
1584            "accessibility": "private",
1585            "static": true,
1586            "optional": false,
1587            "computed": false,
1588            "value": {
1589              "type": "FunctionExpression",
1590              "function": {
1591                "type": "ScriptFunction",
1592                "id": {
1593                  "type": "Identifier",
1594                  "name": "sieve",
1595                  "decorators": [],
1596                  "loc": {
1597                    "start": {
1598                      "line": 35,
1599                      "column": 18
1600                    },
1601                    "end": {
1602                      "line": 35,
1603                      "column": 23
1604                    }
1605                  }
1606                },
1607                "generator": false,
1608                "async": false,
1609                "expression": false,
1610                "params": [
1611                  {
1612                    "type": "ETSParameterExpression",
1613                    "name": {
1614                      "type": "Identifier",
1615                      "name": "n1",
1616                      "typeAnnotation": {
1617                        "type": "ETSPrimitiveType",
1618                        "loc": {
1619                          "start": {
1620                            "line": 35,
1621                            "column": 28
1622                          },
1623                          "end": {
1624                            "line": 35,
1625                            "column": 31
1626                          }
1627                        }
1628                      },
1629                      "decorators": [],
1630                      "loc": {
1631                        "start": {
1632                          "line": 35,
1633                          "column": 24
1634                        },
1635                        "end": {
1636                          "line": 35,
1637                          "column": 31
1638                        }
1639                      }
1640                    },
1641                    "loc": {
1642                      "start": {
1643                        "line": 35,
1644                        "column": 24
1645                      },
1646                      "end": {
1647                        "line": 35,
1648                        "column": 31
1649                      }
1650                    }
1651                  },
1652                  {
1653                    "type": "ETSParameterExpression",
1654                    "name": {
1655                      "type": "Identifier",
1656                      "name": "n2",
1657                      "typeAnnotation": {
1658                        "type": "ETSPrimitiveType",
1659                        "loc": {
1660                          "start": {
1661                            "line": 35,
1662                            "column": 37
1663                          },
1664                          "end": {
1665                            "line": 35,
1666                            "column": 40
1667                          }
1668                        }
1669                      },
1670                      "decorators": [],
1671                      "loc": {
1672                        "start": {
1673                          "line": 35,
1674                          "column": 33
1675                        },
1676                        "end": {
1677                          "line": 35,
1678                          "column": 40
1679                        }
1680                      }
1681                    },
1682                    "loc": {
1683                      "start": {
1684                        "line": 35,
1685                        "column": 33
1686                      },
1687                      "end": {
1688                        "line": 35,
1689                        "column": 40
1690                      }
1691                    }
1692                  }
1693                ],
1694                "returnType": {
1695                  "type": "TSArrayType",
1696                  "elementType": {
1697                    "type": "ETSPrimitiveType",
1698                    "loc": {
1699                      "start": {
1700                        "line": 35,
1701                        "column": 43
1702                      },
1703                      "end": {
1704                        "line": 35,
1705                        "column": 46
1706                      }
1707                    }
1708                  },
1709                  "loc": {
1710                    "start": {
1711                      "line": 35,
1712                      "column": 49
1713                    },
1714                    "end": {
1715                      "line": 35,
1716                      "column": 50
1717                    }
1718                  }
1719                },
1720                "body": {
1721                  "type": "BlockStatement",
1722                  "statements": [
1723                    {
1724                      "type": "VariableDeclaration",
1725                      "declarations": [
1726                        {
1727                          "type": "VariableDeclarator",
1728                          "id": {
1729                            "type": "Identifier",
1730                            "name": "isPrime",
1731                            "typeAnnotation": {
1732                              "type": "TSArrayType",
1733                              "elementType": {
1734                                "type": "ETSPrimitiveType",
1735                                "loc": {
1736                                  "start": {
1737                                    "line": 37,
1738                                    "column": 18
1739                                  },
1740                                  "end": {
1741                                    "line": 37,
1742                                    "column": 21
1743                                  }
1744                                }
1745                              },
1746                              "loc": {
1747                                "start": {
1748                                  "line": 37,
1749                                  "column": 24
1750                                },
1751                                "end": {
1752                                  "line": 37,
1753                                  "column": 25
1754                                }
1755                              }
1756                            },
1757                            "decorators": [],
1758                            "loc": {
1759                              "start": {
1760                                "line": 37,
1761                                "column": 9
1762                              },
1763                              "end": {
1764                                "line": 37,
1765                                "column": 16
1766                              }
1767                            }
1768                          },
1769                          "init": {
1770                            "type": "ETSNewArrayInstanceExpression",
1771                            "typeReference": {
1772                              "type": "ETSPrimitiveType",
1773                              "loc": {
1774                                "start": {
1775                                  "line": 37,
1776                                  "column": 30
1777                                },
1778                                "end": {
1779                                  "line": 37,
1780                                  "column": 33
1781                                }
1782                              }
1783                            },
1784                            "dimension": {
1785                              "type": "BinaryExpression",
1786                              "operator": ">>",
1787                              "left": {
1788                                "type": "BinaryExpression",
1789                                "operator": "+",
1790                                "left": {
1791                                  "type": "BinaryExpression",
1792                                  "operator": "<<",
1793                                  "left": {
1794                                    "type": "Identifier",
1795                                    "name": "n2",
1796                                    "decorators": [],
1797                                    "loc": {
1798                                      "start": {
1799                                        "line": 37,
1800                                        "column": 35
1801                                      },
1802                                      "end": {
1803                                        "line": 37,
1804                                        "column": 37
1805                                      }
1806                                    }
1807                                  },
1808                                  "right": {
1809                                    "type": "Identifier",
1810                                    "name": "n1",
1811                                    "decorators": [],
1812                                    "loc": {
1813                                      "start": {
1814                                        "line": 37,
1815                                        "column": 41
1816                                      },
1817                                      "end": {
1818                                        "line": 37,
1819                                        "column": 43
1820                                      }
1821                                    }
1822                                  },
1823                                  "loc": {
1824                                    "start": {
1825                                      "line": 37,
1826                                      "column": 34
1827                                    },
1828                                    "end": {
1829                                      "line": 37,
1830                                      "column": 44
1831                                    }
1832                                  }
1833                                },
1834                                "right": {
1835                                  "type": "NumberLiteral",
1836                                  "value": 31,
1837                                  "loc": {
1838                                    "start": {
1839                                      "line": 37,
1840                                      "column": 47
1841                                    },
1842                                    "end": {
1843                                      "line": 37,
1844                                      "column": 49
1845                                    }
1846                                  }
1847                                },
1848                                "loc": {
1849                                  "start": {
1850                                    "line": 37,
1851                                    "column": 34
1852                                  },
1853                                  "end": {
1854                                    "line": 37,
1855                                    "column": 49
1856                                  }
1857                                }
1858                              },
1859                              "right": {
1860                                "type": "NumberLiteral",
1861                                "value": 5,
1862                                "loc": {
1863                                  "start": {
1864                                    "line": 37,
1865                                    "column": 53
1866                                  },
1867                                  "end": {
1868                                    "line": 37,
1869                                    "column": 54
1870                                  }
1871                                }
1872                              },
1873                              "loc": {
1874                                "start": {
1875                                  "line": 37,
1876                                  "column": 34
1877                                },
1878                                "end": {
1879                                  "line": 37,
1880                                  "column": 54
1881                                }
1882                              }
1883                            },
1884                            "loc": {
1885                              "start": {
1886                                "line": 37,
1887                                "column": 26
1888                              },
1889                              "end": {
1890                                "line": 37,
1891                                "column": 55
1892                              }
1893                            }
1894                          },
1895                          "loc": {
1896                            "start": {
1897                              "line": 37,
1898                              "column": 9
1899                            },
1900                            "end": {
1901                              "line": 37,
1902                              "column": 55
1903                            }
1904                          }
1905                        }
1906                      ],
1907                      "kind": "let",
1908                      "loc": {
1909                        "start": {
1910                          "line": 37,
1911                          "column": 5
1912                        },
1913                        "end": {
1914                          "line": 37,
1915                          "column": 56
1916                        }
1917                      }
1918                    },
1919                    {
1920                      "type": "ExpressionStatement",
1921                      "expression": {
1922                        "type": "CallExpression",
1923                        "callee": {
1924                          "type": "MemberExpression",
1925                          "object": {
1926                            "type": "Identifier",
1927                            "name": "BitopsNSieveBits",
1928                            "decorators": [],
1929                            "loc": {
1930                              "start": {
1931                                "line": 38,
1932                                "column": 5
1933                              },
1934                              "end": {
1935                                "line": 38,
1936                                "column": 21
1937                              }
1938                            }
1939                          },
1940                          "property": {
1941                            "type": "Identifier",
1942                            "name": "primes",
1943                            "decorators": [],
1944                            "loc": {
1945                              "start": {
1946                                "line": 38,
1947                                "column": 22
1948                              },
1949                              "end": {
1950                                "line": 38,
1951                                "column": 28
1952                              }
1953                            }
1954                          },
1955                          "computed": false,
1956                          "optional": false,
1957                          "loc": {
1958                            "start": {
1959                              "line": 38,
1960                              "column": 5
1961                            },
1962                            "end": {
1963                              "line": 38,
1964                              "column": 28
1965                            }
1966                          }
1967                        },
1968                        "arguments": [
1969                          {
1970                            "type": "Identifier",
1971                            "name": "isPrime",
1972                            "decorators": [],
1973                            "loc": {
1974                              "start": {
1975                                "line": 38,
1976                                "column": 29
1977                              },
1978                              "end": {
1979                                "line": 38,
1980                                "column": 36
1981                              }
1982                            }
1983                          },
1984                          {
1985                            "type": "Identifier",
1986                            "name": "n1",
1987                            "decorators": [],
1988                            "loc": {
1989                              "start": {
1990                                "line": 38,
1991                                "column": 38
1992                              },
1993                              "end": {
1994                                "line": 38,
1995                                "column": 40
1996                              }
1997                            }
1998                          },
1999                          {
2000                            "type": "Identifier",
2001                            "name": "n2",
2002                            "decorators": [],
2003                            "loc": {
2004                              "start": {
2005                                "line": 38,
2006                                "column": 42
2007                              },
2008                              "end": {
2009                                "line": 38,
2010                                "column": 44
2011                              }
2012                            }
2013                          }
2014                        ],
2015                        "optional": false,
2016                        "loc": {
2017                          "start": {
2018                            "line": 38,
2019                            "column": 5
2020                          },
2021                          "end": {
2022                            "line": 38,
2023                            "column": 45
2024                          }
2025                        }
2026                      },
2027                      "loc": {
2028                        "start": {
2029                          "line": 38,
2030                          "column": 5
2031                        },
2032                        "end": {
2033                          "line": 38,
2034                          "column": 46
2035                        }
2036                      }
2037                    },
2038                    {
2039                      "type": "ReturnStatement",
2040                      "argument": {
2041                        "type": "Identifier",
2042                        "name": "isPrime",
2043                        "decorators": [],
2044                        "loc": {
2045                          "start": {
2046                            "line": 39,
2047                            "column": 12
2048                          },
2049                          "end": {
2050                            "line": 39,
2051                            "column": 19
2052                          }
2053                        }
2054                      },
2055                      "loc": {
2056                        "start": {
2057                          "line": 39,
2058                          "column": 5
2059                        },
2060                        "end": {
2061                          "line": 39,
2062                          "column": 20
2063                        }
2064                      }
2065                    }
2066                  ],
2067                  "loc": {
2068                    "start": {
2069                      "line": 35,
2070                      "column": 49
2071                    },
2072                    "end": {
2073                      "line": 40,
2074                      "column": 4
2075                    }
2076                  }
2077                },
2078                "loc": {
2079                  "start": {
2080                    "line": 35,
2081                    "column": 23
2082                  },
2083                  "end": {
2084                    "line": 40,
2085                    "column": 4
2086                  }
2087                }
2088              },
2089              "loc": {
2090                "start": {
2091                  "line": 35,
2092                  "column": 23
2093                },
2094                "end": {
2095                  "line": 40,
2096                  "column": 4
2097                }
2098              }
2099            },
2100            "overloads": [],
2101            "decorators": [],
2102            "loc": {
2103              "start": {
2104                "line": 35,
2105                "column": 3
2106              },
2107              "end": {
2108                "line": 40,
2109                "column": 4
2110              }
2111            }
2112          },
2113          {
2114            "type": "ClassProperty",
2115            "key": {
2116              "type": "Identifier",
2117              "name": "n1",
2118              "decorators": [],
2119              "loc": {
2120                "start": {
2121                  "line": 42,
2122                  "column": 3
2123                },
2124                "end": {
2125                  "line": 42,
2126                  "column": 5
2127                }
2128              }
2129            },
2130            "value": {
2131              "type": "NumberLiteral",
2132              "value": 4,
2133              "loc": {
2134                "start": {
2135                  "line": 42,
2136                  "column": 13
2137                },
2138                "end": {
2139                  "line": 42,
2140                  "column": 14
2141                }
2142              }
2143            },
2144            "accessibility": "public",
2145            "static": false,
2146            "readonly": false,
2147            "declare": false,
2148            "optional": false,
2149            "computed": false,
2150            "typeAnnotation": {
2151              "type": "ETSPrimitiveType",
2152              "loc": {
2153                "start": {
2154                  "line": 42,
2155                  "column": 7
2156                },
2157                "end": {
2158                  "line": 42,
2159                  "column": 10
2160                }
2161              }
2162            },
2163            "definite": false,
2164            "decorators": [],
2165            "loc": {
2166              "start": {
2167                "line": 42,
2168                "column": 3
2169              },
2170              "end": {
2171                "line": 42,
2172                "column": 14
2173              }
2174            }
2175          },
2176          {
2177            "type": "ClassProperty",
2178            "key": {
2179              "type": "Identifier",
2180              "name": "n2",
2181              "decorators": [],
2182              "loc": {
2183                "start": {
2184                  "line": 43,
2185                  "column": 3
2186                },
2187                "end": {
2188                  "line": 43,
2189                  "column": 5
2190                }
2191              }
2192            },
2193            "value": {
2194              "type": "NumberLiteral",
2195              "value": 10000,
2196              "loc": {
2197                "start": {
2198                  "line": 43,
2199                  "column": 13
2200                },
2201                "end": {
2202                  "line": 43,
2203                  "column": 18
2204                }
2205              }
2206            },
2207            "accessibility": "public",
2208            "static": false,
2209            "readonly": false,
2210            "declare": false,
2211            "optional": false,
2212            "computed": false,
2213            "typeAnnotation": {
2214              "type": "ETSPrimitiveType",
2215              "loc": {
2216                "start": {
2217                  "line": 43,
2218                  "column": 7
2219                },
2220                "end": {
2221                  "line": 43,
2222                  "column": 10
2223                }
2224              }
2225            },
2226            "definite": false,
2227            "decorators": [],
2228            "loc": {
2229              "start": {
2230                "line": 43,
2231                "column": 3
2232              },
2233              "end": {
2234                "line": 43,
2235                "column": 18
2236              }
2237            }
2238          },
2239          {
2240            "type": "ClassProperty",
2241            "key": {
2242              "type": "Identifier",
2243              "name": "expected",
2244              "decorators": [],
2245              "loc": {
2246                "start": {
2247                  "line": 44,
2248                  "column": 19
2249                },
2250                "end": {
2251                  "line": 44,
2252                  "column": 27
2253                }
2254              }
2255            },
2256            "value": {
2257              "type": "UnaryExpression",
2258              "operator": "-",
2259              "prefix": true,
2260              "argument": {
2261                "type": "NumberLiteral",
2262                "value": 1286749544853,
2263                "loc": {
2264                  "start": {
2265                    "line": 44,
2266                    "column": 37
2267                  },
2268                  "end": {
2269                    "line": 44,
2270                    "column": 50
2271                  }
2272                }
2273              },
2274              "loc": {
2275                "start": {
2276                  "line": 44,
2277                  "column": 36
2278                },
2279                "end": {
2280                  "line": 44,
2281                  "column": 50
2282                }
2283              }
2284            },
2285            "accessibility": "public",
2286            "static": true,
2287            "readonly": true,
2288            "declare": false,
2289            "optional": false,
2290            "computed": false,
2291            "typeAnnotation": {
2292              "type": "ETSPrimitiveType",
2293              "loc": {
2294                "start": {
2295                  "line": 44,
2296                  "column": 29
2297                },
2298                "end": {
2299                  "line": 44,
2300                  "column": 33
2301                }
2302              }
2303            },
2304            "definite": false,
2305            "decorators": [],
2306            "loc": {
2307              "start": {
2308                "line": 44,
2309                "column": 19
2310              },
2311              "end": {
2312                "line": 44,
2313                "column": 50
2314              }
2315            }
2316          },
2317          {
2318            "type": "MethodDefinition",
2319            "key": {
2320              "type": "Identifier",
2321              "name": "run",
2322              "decorators": [],
2323              "loc": {
2324                "start": {
2325                  "line": 46,
2326                  "column": 10
2327                },
2328                "end": {
2329                  "line": 46,
2330                  "column": 13
2331                }
2332              }
2333            },
2334            "kind": "method",
2335            "accessibility": "public",
2336            "static": false,
2337            "optional": false,
2338            "computed": false,
2339            "value": {
2340              "type": "FunctionExpression",
2341              "function": {
2342                "type": "ScriptFunction",
2343                "id": {
2344                  "type": "Identifier",
2345                  "name": "run",
2346                  "decorators": [],
2347                  "loc": {
2348                    "start": {
2349                      "line": 46,
2350                      "column": 10
2351                    },
2352                    "end": {
2353                      "line": 46,
2354                      "column": 13
2355                    }
2356                  }
2357                },
2358                "generator": false,
2359                "async": false,
2360                "expression": false,
2361                "params": [],
2362                "returnType": {
2363                  "type": "ETSPrimitiveType",
2364                  "loc": {
2365                    "start": {
2366                      "line": 46,
2367                      "column": 17
2368                    },
2369                    "end": {
2370                      "line": 46,
2371                      "column": 21
2372                    }
2373                  }
2374                },
2375                "body": {
2376                  "type": "BlockStatement",
2377                  "statements": [
2378                    {
2379                      "type": "VariableDeclaration",
2380                      "declarations": [
2381                        {
2382                          "type": "VariableDeclarator",
2383                          "id": {
2384                            "type": "Identifier",
2385                            "name": "result",
2386                            "typeAnnotation": {
2387                              "type": "TSArrayType",
2388                              "elementType": {
2389                                "type": "ETSPrimitiveType",
2390                                "loc": {
2391                                  "start": {
2392                                    "line": 47,
2393                                    "column": 17
2394                                  },
2395                                  "end": {
2396                                    "line": 47,
2397                                    "column": 20
2398                                  }
2399                                }
2400                              },
2401                              "loc": {
2402                                "start": {
2403                                  "line": 47,
2404                                  "column": 23
2405                                },
2406                                "end": {
2407                                  "line": 47,
2408                                  "column": 24
2409                                }
2410                              }
2411                            },
2412                            "decorators": [],
2413                            "loc": {
2414                              "start": {
2415                                "line": 47,
2416                                "column": 9
2417                              },
2418                              "end": {
2419                                "line": 47,
2420                                "column": 15
2421                              }
2422                            }
2423                          },
2424                          "init": {
2425                            "type": "CallExpression",
2426                            "callee": {
2427                              "type": "MemberExpression",
2428                              "object": {
2429                                "type": "Identifier",
2430                                "name": "BitopsNSieveBits",
2431                                "decorators": [],
2432                                "loc": {
2433                                  "start": {
2434                                    "line": 47,
2435                                    "column": 25
2436                                  },
2437                                  "end": {
2438                                    "line": 47,
2439                                    "column": 41
2440                                  }
2441                                }
2442                              },
2443                              "property": {
2444                                "type": "Identifier",
2445                                "name": "sieve",
2446                                "decorators": [],
2447                                "loc": {
2448                                  "start": {
2449                                    "line": 47,
2450                                    "column": 42
2451                                  },
2452                                  "end": {
2453                                    "line": 47,
2454                                    "column": 47
2455                                  }
2456                                }
2457                              },
2458                              "computed": false,
2459                              "optional": false,
2460                              "loc": {
2461                                "start": {
2462                                  "line": 47,
2463                                  "column": 25
2464                                },
2465                                "end": {
2466                                  "line": 47,
2467                                  "column": 47
2468                                }
2469                              }
2470                            },
2471                            "arguments": [
2472                              {
2473                                "type": "MemberExpression",
2474                                "object": {
2475                                  "type": "ThisExpression",
2476                                  "loc": {
2477                                    "start": {
2478                                      "line": 47,
2479                                      "column": 48
2480                                    },
2481                                    "end": {
2482                                      "line": 47,
2483                                      "column": 52
2484                                    }
2485                                  }
2486                                },
2487                                "property": {
2488                                  "type": "Identifier",
2489                                  "name": "n1",
2490                                  "decorators": [],
2491                                  "loc": {
2492                                    "start": {
2493                                      "line": 47,
2494                                      "column": 53
2495                                    },
2496                                    "end": {
2497                                      "line": 47,
2498                                      "column": 55
2499                                    }
2500                                  }
2501                                },
2502                                "computed": false,
2503                                "optional": false,
2504                                "loc": {
2505                                  "start": {
2506                                    "line": 47,
2507                                    "column": 48
2508                                  },
2509                                  "end": {
2510                                    "line": 47,
2511                                    "column": 55
2512                                  }
2513                                }
2514                              },
2515                              {
2516                                "type": "MemberExpression",
2517                                "object": {
2518                                  "type": "ThisExpression",
2519                                  "loc": {
2520                                    "start": {
2521                                      "line": 47,
2522                                      "column": 57
2523                                    },
2524                                    "end": {
2525                                      "line": 47,
2526                                      "column": 61
2527                                    }
2528                                  }
2529                                },
2530                                "property": {
2531                                  "type": "Identifier",
2532                                  "name": "n2",
2533                                  "decorators": [],
2534                                  "loc": {
2535                                    "start": {
2536                                      "line": 47,
2537                                      "column": 62
2538                                    },
2539                                    "end": {
2540                                      "line": 47,
2541                                      "column": 64
2542                                    }
2543                                  }
2544                                },
2545                                "computed": false,
2546                                "optional": false,
2547                                "loc": {
2548                                  "start": {
2549                                    "line": 47,
2550                                    "column": 57
2551                                  },
2552                                  "end": {
2553                                    "line": 47,
2554                                    "column": 64
2555                                  }
2556                                }
2557                              }
2558                            ],
2559                            "optional": false,
2560                            "loc": {
2561                              "start": {
2562                                "line": 47,
2563                                "column": 25
2564                              },
2565                              "end": {
2566                                "line": 47,
2567                                "column": 65
2568                              }
2569                            }
2570                          },
2571                          "loc": {
2572                            "start": {
2573                              "line": 47,
2574                              "column": 9
2575                            },
2576                            "end": {
2577                              "line": 47,
2578                              "column": 65
2579                            }
2580                          }
2581                        }
2582                      ],
2583                      "kind": "let",
2584                      "loc": {
2585                        "start": {
2586                          "line": 47,
2587                          "column": 5
2588                        },
2589                        "end": {
2590                          "line": 47,
2591                          "column": 66
2592                        }
2593                      }
2594                    },
2595                    {
2596                      "type": "VariableDeclaration",
2597                      "declarations": [
2598                        {
2599                          "type": "VariableDeclarator",
2600                          "id": {
2601                            "type": "Identifier",
2602                            "name": "sum",
2603                            "typeAnnotation": {
2604                              "type": "ETSPrimitiveType",
2605                              "loc": {
2606                                "start": {
2607                                  "line": 48,
2608                                  "column": 14
2609                                },
2610                                "end": {
2611                                  "line": 48,
2612                                  "column": 18
2613                                }
2614                              }
2615                            },
2616                            "decorators": [],
2617                            "loc": {
2618                              "start": {
2619                                "line": 48,
2620                                "column": 9
2621                              },
2622                              "end": {
2623                                "line": 48,
2624                                "column": 12
2625                              }
2626                            }
2627                          },
2628                          "init": {
2629                            "type": "NumberLiteral",
2630                            "value": 0,
2631                            "loc": {
2632                              "start": {
2633                                "line": 48,
2634                                "column": 21
2635                              },
2636                              "end": {
2637                                "line": 48,
2638                                "column": 22
2639                              }
2640                            }
2641                          },
2642                          "loc": {
2643                            "start": {
2644                              "line": 48,
2645                              "column": 9
2646                            },
2647                            "end": {
2648                              "line": 48,
2649                              "column": 22
2650                            }
2651                          }
2652                        }
2653                      ],
2654                      "kind": "let",
2655                      "loc": {
2656                        "start": {
2657                          "line": 48,
2658                          "column": 5
2659                        },
2660                        "end": {
2661                          "line": 48,
2662                          "column": 23
2663                        }
2664                      }
2665                    },
2666                    {
2667                      "type": "ForUpdateStatement",
2668                      "init": {
2669                        "type": "VariableDeclaration",
2670                        "declarations": [
2671                          {
2672                            "type": "VariableDeclarator",
2673                            "id": {
2674                              "type": "Identifier",
2675                              "name": "i",
2676                              "typeAnnotation": {
2677                                "type": "ETSPrimitiveType",
2678                                "loc": {
2679                                  "start": {
2680                                    "line": 49,
2681                                    "column": 17
2682                                  },
2683                                  "end": {
2684                                    "line": 49,
2685                                    "column": 20
2686                                  }
2687                                }
2688                              },
2689                              "decorators": [],
2690                              "loc": {
2691                                "start": {
2692                                  "line": 49,
2693                                  "column": 14
2694                                },
2695                                "end": {
2696                                  "line": 49,
2697                                  "column": 15
2698                                }
2699                              }
2700                            },
2701                            "init": {
2702                              "type": "NumberLiteral",
2703                              "value": 0,
2704                              "loc": {
2705                                "start": {
2706                                  "line": 49,
2707                                  "column": 23
2708                                },
2709                                "end": {
2710                                  "line": 49,
2711                                  "column": 24
2712                                }
2713                              }
2714                            },
2715                            "loc": {
2716                              "start": {
2717                                "line": 49,
2718                                "column": 14
2719                              },
2720                              "end": {
2721                                "line": 49,
2722                                "column": 24
2723                              }
2724                            }
2725                          }
2726                        ],
2727                        "kind": "let",
2728                        "loc": {
2729                          "start": {
2730                            "line": 49,
2731                            "column": 10
2732                          },
2733                          "end": {
2734                            "line": 49,
2735                            "column": 24
2736                          }
2737                        }
2738                      },
2739                      "test": {
2740                        "type": "BinaryExpression",
2741                        "operator": "<",
2742                        "left": {
2743                          "type": "Identifier",
2744                          "name": "i",
2745                          "decorators": [],
2746                          "loc": {
2747                            "start": {
2748                              "line": 49,
2749                              "column": 26
2750                            },
2751                            "end": {
2752                              "line": 49,
2753                              "column": 27
2754                            }
2755                          }
2756                        },
2757                        "right": {
2758                          "type": "MemberExpression",
2759                          "object": {
2760                            "type": "Identifier",
2761                            "name": "result",
2762                            "decorators": [],
2763                            "loc": {
2764                              "start": {
2765                                "line": 49,
2766                                "column": 30
2767                              },
2768                              "end": {
2769                                "line": 49,
2770                                "column": 36
2771                              }
2772                            }
2773                          },
2774                          "property": {
2775                            "type": "Identifier",
2776                            "name": "length",
2777                            "decorators": [],
2778                            "loc": {
2779                              "start": {
2780                                "line": 49,
2781                                "column": 37
2782                              },
2783                              "end": {
2784                                "line": 49,
2785                                "column": 43
2786                              }
2787                            }
2788                          },
2789                          "computed": false,
2790                          "optional": false,
2791                          "loc": {
2792                            "start": {
2793                              "line": 49,
2794                              "column": 30
2795                            },
2796                            "end": {
2797                              "line": 49,
2798                              "column": 43
2799                            }
2800                          }
2801                        },
2802                        "loc": {
2803                          "start": {
2804                            "line": 49,
2805                            "column": 26
2806                          },
2807                          "end": {
2808                            "line": 49,
2809                            "column": 43
2810                          }
2811                        }
2812                      },
2813                      "update": {
2814                        "type": "UpdateExpression",
2815                        "operator": "++",
2816                        "prefix": true,
2817                        "argument": {
2818                          "type": "Identifier",
2819                          "name": "i",
2820                          "decorators": [],
2821                          "loc": {
2822                            "start": {
2823                              "line": 49,
2824                              "column": 47
2825                            },
2826                            "end": {
2827                              "line": 49,
2828                              "column": 48
2829                            }
2830                          }
2831                        },
2832                        "loc": {
2833                          "start": {
2834                            "line": 49,
2835                            "column": 45
2836                          },
2837                          "end": {
2838                            "line": 49,
2839                            "column": 48
2840                          }
2841                        }
2842                      },
2843                      "body": {
2844                        "type": "BlockStatement",
2845                        "statements": [
2846                          {
2847                            "type": "ExpressionStatement",
2848                            "expression": {
2849                              "type": "AssignmentExpression",
2850                              "operator": "+=",
2851                              "left": {
2852                                "type": "Identifier",
2853                                "name": "sum",
2854                                "decorators": [],
2855                                "loc": {
2856                                  "start": {
2857                                    "line": 50,
2858                                    "column": 7
2859                                  },
2860                                  "end": {
2861                                    "line": 50,
2862                                    "column": 10
2863                                  }
2864                                }
2865                              },
2866                              "right": {
2867                                "type": "MemberExpression",
2868                                "object": {
2869                                  "type": "Identifier",
2870                                  "name": "result",
2871                                  "decorators": [],
2872                                  "loc": {
2873                                    "start": {
2874                                      "line": 50,
2875                                      "column": 14
2876                                    },
2877                                    "end": {
2878                                      "line": 50,
2879                                      "column": 20
2880                                    }
2881                                  }
2882                                },
2883                                "property": {
2884                                  "type": "Identifier",
2885                                  "name": "i",
2886                                  "decorators": [],
2887                                  "loc": {
2888                                    "start": {
2889                                      "line": 50,
2890                                      "column": 21
2891                                    },
2892                                    "end": {
2893                                      "line": 50,
2894                                      "column": 22
2895                                    }
2896                                  }
2897                                },
2898                                "computed": true,
2899                                "optional": false,
2900                                "loc": {
2901                                  "start": {
2902                                    "line": 50,
2903                                    "column": 14
2904                                  },
2905                                  "end": {
2906                                    "line": 50,
2907                                    "column": 23
2908                                  }
2909                                }
2910                              },
2911                              "loc": {
2912                                "start": {
2913                                  "line": 50,
2914                                  "column": 7
2915                                },
2916                                "end": {
2917                                  "line": 50,
2918                                  "column": 23
2919                                }
2920                              }
2921                            },
2922                            "loc": {
2923                              "start": {
2924                                "line": 50,
2925                                "column": 7
2926                              },
2927                              "end": {
2928                                "line": 50,
2929                                "column": 24
2930                              }
2931                            }
2932                          }
2933                        ],
2934                        "loc": {
2935                          "start": {
2936                            "line": 49,
2937                            "column": 50
2938                          },
2939                          "end": {
2940                            "line": 51,
2941                            "column": 6
2942                          }
2943                        }
2944                      },
2945                      "loc": {
2946                        "start": {
2947                          "line": 49,
2948                          "column": 5
2949                        },
2950                        "end": {
2951                          "line": 51,
2952                          "column": 6
2953                        }
2954                      }
2955                    },
2956                    {
2957                      "type": "AssertStatement",
2958                      "test": {
2959                        "type": "BinaryExpression",
2960                        "operator": "==",
2961                        "left": {
2962                          "type": "Identifier",
2963                          "name": "sum",
2964                          "decorators": [],
2965                          "loc": {
2966                            "start": {
2967                              "line": 53,
2968                              "column": 12
2969                            },
2970                            "end": {
2971                              "line": 53,
2972                              "column": 15
2973                            }
2974                          }
2975                        },
2976                        "right": {
2977                          "type": "MemberExpression",
2978                          "object": {
2979                            "type": "Identifier",
2980                            "name": "BitopsNSieveBits",
2981                            "decorators": [],
2982                            "loc": {
2983                              "start": {
2984                                "line": 53,
2985                                "column": 19
2986                              },
2987                              "end": {
2988                                "line": 53,
2989                                "column": 35
2990                              }
2991                            }
2992                          },
2993                          "property": {
2994                            "type": "Identifier",
2995                            "name": "expected",
2996                            "decorators": [],
2997                            "loc": {
2998                              "start": {
2999                                "line": 53,
3000                                "column": 36
3001                              },
3002                              "end": {
3003                                "line": 53,
3004                                "column": 44
3005                              }
3006                            }
3007                          },
3008                          "computed": false,
3009                          "optional": false,
3010                          "loc": {
3011                            "start": {
3012                              "line": 53,
3013                              "column": 19
3014                            },
3015                            "end": {
3016                              "line": 53,
3017                              "column": 44
3018                            }
3019                          }
3020                        },
3021                        "loc": {
3022                          "start": {
3023                            "line": 53,
3024                            "column": 12
3025                          },
3026                          "end": {
3027                            "line": 53,
3028                            "column": 44
3029                          }
3030                        }
3031                      },
3032                      "second": {
3033                        "type": "StringLiteral",
3034                        "value": "Incorrect result",
3035                        "loc": {
3036                          "start": {
3037                            "line": 53,
3038                            "column": 46
3039                          },
3040                          "end": {
3041                            "line": 53,
3042                            "column": 64
3043                          }
3044                        }
3045                      },
3046                      "loc": {
3047                        "start": {
3048                          "line": 53,
3049                          "column": 5
3050                        },
3051                        "end": {
3052                          "line": 53,
3053                          "column": 65
3054                        }
3055                      }
3056                    }
3057                  ],
3058                  "loc": {
3059                    "start": {
3060                      "line": 46,
3061                      "column": 22
3062                    },
3063                    "end": {
3064                      "line": 54,
3065                      "column": 4
3066                    }
3067                  }
3068                },
3069                "loc": {
3070                  "start": {
3071                    "line": 46,
3072                    "column": 13
3073                  },
3074                  "end": {
3075                    "line": 54,
3076                    "column": 4
3077                  }
3078                }
3079              },
3080              "loc": {
3081                "start": {
3082                  "line": 46,
3083                  "column": 13
3084                },
3085                "end": {
3086                  "line": 54,
3087                  "column": 4
3088                }
3089              }
3090            },
3091            "overloads": [],
3092            "decorators": [],
3093            "loc": {
3094              "start": {
3095                "line": 46,
3096                "column": 3
3097              },
3098              "end": {
3099                "line": 54,
3100                "column": 4
3101              }
3102            }
3103          },
3104          {
3105            "type": "MethodDefinition",
3106            "key": {
3107              "type": "Identifier",
3108              "name": "constructor",
3109              "decorators": [],
3110              "loc": {
3111                "start": {
3112                  "line": 1,
3113                  "column": 1
3114                },
3115                "end": {
3116                  "line": 1,
3117                  "column": 1
3118                }
3119              }
3120            },
3121            "kind": "constructor",
3122            "static": false,
3123            "optional": false,
3124            "computed": false,
3125            "value": {
3126              "type": "FunctionExpression",
3127              "function": {
3128                "type": "ScriptFunction",
3129                "id": {
3130                  "type": "Identifier",
3131                  "name": "constructor",
3132                  "decorators": [],
3133                  "loc": {
3134                    "start": {
3135                      "line": 1,
3136                      "column": 1
3137                    },
3138                    "end": {
3139                      "line": 1,
3140                      "column": 1
3141                    }
3142                  }
3143                },
3144                "generator": false,
3145                "async": false,
3146                "expression": false,
3147                "params": [],
3148                "body": {
3149                  "type": "BlockStatement",
3150                  "statements": [],
3151                  "loc": {
3152                    "start": {
3153                      "line": 1,
3154                      "column": 1
3155                    },
3156                    "end": {
3157                      "line": 1,
3158                      "column": 1
3159                    }
3160                  }
3161                },
3162                "loc": {
3163                  "start": {
3164                    "line": 1,
3165                    "column": 1
3166                  },
3167                  "end": {
3168                    "line": 1,
3169                    "column": 1
3170                  }
3171                }
3172              },
3173              "loc": {
3174                "start": {
3175                  "line": 1,
3176                  "column": 1
3177                },
3178                "end": {
3179                  "line": 1,
3180                  "column": 1
3181                }
3182              }
3183            },
3184            "overloads": [],
3185            "decorators": [],
3186            "loc": {
3187              "start": {
3188                "line": 55,
3189                "column": 2
3190              },
3191              "end": {
3192                "line": 55,
3193                "column": 2
3194              }
3195            }
3196          }
3197        ],
3198        "loc": {
3199          "start": {
3200            "line": 16,
3201            "column": 31
3202          },
3203          "end": {
3204            "line": 55,
3205            "column": 2
3206          }
3207        }
3208      },
3209      "loc": {
3210        "start": {
3211          "line": 16,
3212          "column": 8
3213        },
3214        "end": {
3215          "line": 55,
3216          "column": 2
3217        }
3218      }
3219    },
3220    {
3221      "type": "ClassDeclaration",
3222      "definition": {
3223        "id": {
3224          "type": "Identifier",
3225          "name": "ETSGLOBAL",
3226          "decorators": [],
3227          "loc": {
3228            "start": {
3229              "line": 1,
3230              "column": 1
3231            },
3232            "end": {
3233              "line": 1,
3234              "column": 1
3235            }
3236          }
3237        },
3238        "superClass": null,
3239        "implements": [],
3240        "body": [
3241          {
3242            "type": "MethodDefinition",
3243            "key": {
3244              "type": "Identifier",
3245              "name": "_$init$_",
3246              "decorators": [],
3247              "loc": {
3248                "start": {
3249                  "line": 1,
3250                  "column": 1
3251                },
3252                "end": {
3253                  "line": 1,
3254                  "column": 1
3255                }
3256              }
3257            },
3258            "kind": "method",
3259            "accessibility": "public",
3260            "static": true,
3261            "optional": false,
3262            "computed": false,
3263            "value": {
3264              "type": "FunctionExpression",
3265              "function": {
3266                "type": "ScriptFunction",
3267                "id": {
3268                  "type": "Identifier",
3269                  "name": "_$init$_",
3270                  "decorators": [],
3271                  "loc": {
3272                    "start": {
3273                      "line": 1,
3274                      "column": 1
3275                    },
3276                    "end": {
3277                      "line": 1,
3278                      "column": 1
3279                    }
3280                  }
3281                },
3282                "generator": false,
3283                "async": false,
3284                "expression": false,
3285                "params": [],
3286                "body": {
3287                  "type": "BlockStatement",
3288                  "statements": [],
3289                  "loc": {
3290                    "start": {
3291                      "line": 1,
3292                      "column": 1
3293                    },
3294                    "end": {
3295                      "line": 1,
3296                      "column": 1
3297                    }
3298                  }
3299                },
3300                "loc": {
3301                  "start": {
3302                    "line": 1,
3303                    "column": 1
3304                  },
3305                  "end": {
3306                    "line": 1,
3307                    "column": 1
3308                  }
3309                }
3310              },
3311              "loc": {
3312                "start": {
3313                  "line": 1,
3314                  "column": 1
3315                },
3316                "end": {
3317                  "line": 1,
3318                  "column": 1
3319                }
3320              }
3321            },
3322            "overloads": [],
3323            "decorators": [],
3324            "loc": {
3325              "start": {
3326                "line": 1,
3327                "column": 1
3328              },
3329              "end": {
3330                "line": 1,
3331                "column": 1
3332              }
3333            }
3334          },
3335          {
3336            "type": "MethodDefinition",
3337            "key": {
3338              "type": "Identifier",
3339              "name": "main",
3340              "decorators": [],
3341              "loc": {
3342                "start": {
3343                  "line": 57,
3344                  "column": 10
3345                },
3346                "end": {
3347                  "line": 57,
3348                  "column": 14
3349                }
3350              }
3351            },
3352            "kind": "method",
3353            "accessibility": "public",
3354            "static": true,
3355            "optional": false,
3356            "computed": false,
3357            "value": {
3358              "type": "FunctionExpression",
3359              "function": {
3360                "type": "ScriptFunction",
3361                "id": {
3362                  "type": "Identifier",
3363                  "name": "main",
3364                  "decorators": [],
3365                  "loc": {
3366                    "start": {
3367                      "line": 57,
3368                      "column": 10
3369                    },
3370                    "end": {
3371                      "line": 57,
3372                      "column": 14
3373                    }
3374                  }
3375                },
3376                "generator": false,
3377                "async": false,
3378                "expression": false,
3379                "params": [],
3380                "returnType": {
3381                  "type": "ETSPrimitiveType",
3382                  "loc": {
3383                    "start": {
3384                      "line": 57,
3385                      "column": 18
3386                    },
3387                    "end": {
3388                      "line": 57,
3389                      "column": 22
3390                    }
3391                  }
3392                },
3393                "body": {
3394                  "type": "BlockStatement",
3395                  "statements": [
3396                    {
3397                      "type": "VariableDeclaration",
3398                      "declarations": [
3399                        {
3400                          "type": "VariableDeclarator",
3401                          "id": {
3402                            "type": "Identifier",
3403                            "name": "a",
3404                            "decorators": [],
3405                            "loc": {
3406                              "start": {
3407                                "line": 58,
3408                                "column": 7
3409                              },
3410                              "end": {
3411                                "line": 58,
3412                                "column": 8
3413                              }
3414                            }
3415                          },
3416                          "init": {
3417                            "type": "ETSNewClassInstanceExpression",
3418                            "typeReference": {
3419                              "type": "ETSTypeReference",
3420                              "part": {
3421                                "type": "ETSTypeReferencePart",
3422                                "name": {
3423                                  "type": "Identifier",
3424                                  "name": "BitopsNSieveBits",
3425                                  "decorators": [],
3426                                  "loc": {
3427                                    "start": {
3428                                      "line": 58,
3429                                      "column": 15
3430                                    },
3431                                    "end": {
3432                                      "line": 58,
3433                                      "column": 31
3434                                    }
3435                                  }
3436                                },
3437                                "loc": {
3438                                  "start": {
3439                                    "line": 58,
3440                                    "column": 15
3441                                  },
3442                                  "end": {
3443                                    "line": 58,
3444                                    "column": 32
3445                                  }
3446                                }
3447                              },
3448                              "loc": {
3449                                "start": {
3450                                  "line": 58,
3451                                  "column": 15
3452                                },
3453                                "end": {
3454                                  "line": 58,
3455                                  "column": 32
3456                                }
3457                              }
3458                            },
3459                            "arguments": [],
3460                            "loc": {
3461                              "start": {
3462                                "line": 58,
3463                                "column": 11
3464                              },
3465                              "end": {
3466                                "line": 58,
3467                                "column": 32
3468                              }
3469                            }
3470                          },
3471                          "loc": {
3472                            "start": {
3473                              "line": 58,
3474                              "column": 7
3475                            },
3476                            "end": {
3477                              "line": 58,
3478                              "column": 32
3479                            }
3480                          }
3481                        }
3482                      ],
3483                      "kind": "let",
3484                      "loc": {
3485                        "start": {
3486                          "line": 58,
3487                          "column": 3
3488                        },
3489                        "end": {
3490                          "line": 58,
3491                          "column": 32
3492                        }
3493                      }
3494                    },
3495                    {
3496                      "type": "ExpressionStatement",
3497                      "expression": {
3498                        "type": "CallExpression",
3499                        "callee": {
3500                          "type": "MemberExpression",
3501                          "object": {
3502                            "type": "Identifier",
3503                            "name": "a",
3504                            "decorators": [],
3505                            "loc": {
3506                              "start": {
3507                                "line": 59,
3508                                "column": 3
3509                              },
3510                              "end": {
3511                                "line": 59,
3512                                "column": 4
3513                              }
3514                            }
3515                          },
3516                          "property": {
3517                            "type": "Identifier",
3518                            "name": "run",
3519                            "decorators": [],
3520                            "loc": {
3521                              "start": {
3522                                "line": 59,
3523                                "column": 5
3524                              },
3525                              "end": {
3526                                "line": 59,
3527                                "column": 8
3528                              }
3529                            }
3530                          },
3531                          "computed": false,
3532                          "optional": false,
3533                          "loc": {
3534                            "start": {
3535                              "line": 59,
3536                              "column": 3
3537                            },
3538                            "end": {
3539                              "line": 59,
3540                              "column": 8
3541                            }
3542                          }
3543                        },
3544                        "arguments": [],
3545                        "optional": false,
3546                        "loc": {
3547                          "start": {
3548                            "line": 59,
3549                            "column": 3
3550                          },
3551                          "end": {
3552                            "line": 59,
3553                            "column": 10
3554                          }
3555                        }
3556                      },
3557                      "loc": {
3558                        "start": {
3559                          "line": 59,
3560                          "column": 3
3561                        },
3562                        "end": {
3563                          "line": 59,
3564                          "column": 11
3565                        }
3566                      }
3567                    }
3568                  ],
3569                  "loc": {
3570                    "start": {
3571                      "line": 57,
3572                      "column": 23
3573                    },
3574                    "end": {
3575                      "line": 60,
3576                      "column": 2
3577                    }
3578                  }
3579                },
3580                "loc": {
3581                  "start": {
3582                    "line": 57,
3583                    "column": 14
3584                  },
3585                  "end": {
3586                    "line": 60,
3587                    "column": 2
3588                  }
3589                }
3590              },
3591              "loc": {
3592                "start": {
3593                  "line": 57,
3594                  "column": 14
3595                },
3596                "end": {
3597                  "line": 60,
3598                  "column": 2
3599                }
3600              }
3601            },
3602            "overloads": [],
3603            "decorators": [],
3604            "loc": {
3605              "start": {
3606                "line": 57,
3607                "column": 1
3608              },
3609              "end": {
3610                "line": 60,
3611                "column": 2
3612              }
3613            }
3614          }
3615        ],
3616        "loc": {
3617          "start": {
3618            "line": 1,
3619            "column": 1
3620          },
3621          "end": {
3622            "line": 1,
3623            "column": 1
3624          }
3625        }
3626      },
3627      "loc": {
3628        "start": {
3629          "line": 1,
3630          "column": 1
3631        },
3632        "end": {
3633          "line": 1,
3634          "column": 1
3635        }
3636      }
3637    }
3638  ],
3639  "loc": {
3640    "start": {
3641      "line": 1,
3642      "column": 1
3643    },
3644    "end": {
3645      "line": 61,
3646      "column": 1
3647    }
3648  }
3649}
3650