ProgramNode(0...913)(
  [],
  StatementsNode(0...913)(
    [DefNode(0...46)(
       (4...7),
       nil,
       nil,
       BeginNode(10...46)(
         nil,
         StatementsNode(10...11)(
           [CallNode(10...11)(nil, nil, (10...11), nil, nil, nil, nil, 0, "a")]
         ),
         RescueNode(12...22)(
           (12...18),
           [],
           nil,
           nil,
           StatementsNode(21...22)(
             [CallNode(21...22)(
                nil,
                nil,
                (21...22),
                nil,
                nil,
                nil,
                nil,
                0,
                "b"
              )]
           ),
           nil
         ),
         ElseNode(23...38)(
           (23...27),
           StatementsNode(30...31)(
             [CallNode(30...31)(
                nil,
                nil,
                (30...31),
                nil,
                nil,
                nil,
                nil,
                0,
                "c"
              )]
           ),
           (32...38)
         ),
         EnsureNode(32...46)(
           (32...38),
           StatementsNode(41...42)(
             [CallNode(41...42)(
                nil,
                nil,
                (41...42),
                nil,
                nil,
                nil,
                nil,
                0,
                "d"
              )]
           ),
           (43...46)
         ),
         (43...46)
       ),
       [],
       (0...3),
       nil,
       nil,
       nil,
       nil,
       (43...46)
     ),
     DefNode(48...103)(
       (52...55),
       nil,
       nil,
       BeginNode(58...103)(
         nil,
         StatementsNode(58...68)(
           [RescueModifierNode(58...68)(
              CallNode(58...59)(
                nil,
                nil,
                (58...59),
                nil,
                nil,
                nil,
                nil,
                0,
                "a"
              ),
              (60...66),
              CallNode(67...68)(
                nil,
                nil,
                (67...68),
                nil,
                nil,
                nil,
                nil,
                0,
                "b"
              )
            )]
         ),
         RescueNode(69...79)(
           (69...75),
           [],
           nil,
           nil,
           StatementsNode(78...79)(
             [CallNode(78...79)(
                nil,
                nil,
                (78...79),
                nil,
                nil,
                nil,
                nil,
                0,
                "b"
              )]
           ),
           nil
         ),
         ElseNode(80...95)(
           (80...84),
           StatementsNode(87...88)(
             [CallNode(87...88)(
                nil,
                nil,
                (87...88),
                nil,
                nil,
                nil,
                nil,
                0,
                "c"
              )]
           ),
           (89...95)
         ),
         EnsureNode(89...103)(
           (89...95),
           StatementsNode(98...99)(
             [CallNode(98...99)(
                nil,
                nil,
                (98...99),
                nil,
                nil,
                nil,
                nil,
                0,
                "d"
              )]
           ),
           (100...103)
         ),
         (100...103)
       ),
       [],
       (48...51),
       nil,
       nil,
       nil,
       nil,
       (100...103)
     ),
     DefNode(105...128)(
       (109...112),
       nil,
       ParametersNode(113...123)(
         [],
         [],
         [],
         nil,
         [KeywordParameterNode(113...117)((113...117), nil),
          KeywordParameterNode(119...123)((119...123), nil)],
         nil,
         nil
       ),
       nil,
       [:bar, :baz],
       (105...108),
       nil,
       (112...113),
       (123...124),
       nil,
       (125...128)
     ),
     DefNode(130...141)(
       (134...137),
       nil,
       nil,
       nil,
       [],
       (130...133),
       nil,
       nil,
       nil,
       nil,
       (138...141)
     ),
     DefNode(143...160)(
       (147...150),
       nil,
       nil,
       StatementsNode(153...156)(
         [CallNode(153...156)(
            nil,
            nil,
            (153...156),
            nil,
            nil,
            nil,
            nil,
            0,
            "bar"
          )]
       ),
       [],
       (143...146),
       nil,
       nil,
       nil,
       nil,
       (157...160)
     ),
     DefNode(162...205)(
       (166...169),
       nil,
       nil,
       BeginNode(172...205)(
         nil,
         StatementsNode(172...175)(
           [CallNode(172...175)(
              nil,
              nil,
              (172...175),
              nil,
              nil,
              nil,
              nil,
              0,
              "foo"
            )]
         ),
         RescueNode(176...188)(
           (176...182),
           [],
           nil,
           nil,
           StatementsNode(185...188)(
             [CallNode(185...188)(
                nil,
                nil,
                (185...188),
                nil,
                nil,
                nil,
                nil,
                0,
                "bar"
              )]
           ),
           nil
         ),
         nil,
         EnsureNode(189...205)(
           (189...195),
           StatementsNode(198...201)(
             [CallNode(198...201)(
                nil,
                nil,
                (198...201),
                nil,
                nil,
                nil,
                nil,
                0,
                "baz"
              )]
           ),
           (202...205)
         ),
         (202...205)
       ),
       [],
       (162...165),
       nil,
       nil,
       nil,
       nil,
       (202...205)
     ),
     DefNode(207...237)(
       (211...214),
       nil,
       nil,
       BeginNode(217...237)(
         nil,
         StatementsNode(217...220)(
           [CallNode(217...220)(
              nil,
              nil,
              (217...220),
              nil,
              nil,
              nil,
              nil,
              0,
              "bar"
            )]
         ),
         nil,
         nil,
         EnsureNode(221...237)(
           (221...227),
           StatementsNode(230...233)(
             [CallNode(230...233)(
                nil,
                nil,
                (230...233),
                nil,
                nil,
                nil,
                nil,
                0,
                "baz"
              )]
           ),
           (234...237)
         ),
         (234...237)
       ),
       [],
       (207...210),
       nil,
       nil,
       nil,
       nil,
       (234...237)
     ),
     DefNode(239...269)(
       (243...246),
       nil,
       nil,
       BeginNode(249...269)(
         nil,
         StatementsNode(249...252)(
           [CallNode(249...252)(
              nil,
              nil,
              (249...252),
              nil,
              nil,
              nil,
              nil,
              0,
              "bar"
            )]
         ),
         RescueNode(253...265)(
           (253...259),
           [],
           nil,
           nil,
           StatementsNode(262...265)(
             [CallNode(262...265)(
                nil,
                nil,
                (262...265),
                nil,
                nil,
                nil,
                nil,
                0,
                "baz"
              )]
           ),
           nil
         ),
         nil,
         nil,
         (266...269)
       ),
       [],
       (239...242),
       nil,
       nil,
       nil,
       nil,
       (266...269)
     ),
     DefNode(271...293)(
       (275...278),
       nil,
       ParametersNode(279...282)(
         [RequiredParameterNode(279...282)(:bar)],
         [],
         [],
         nil,
         [],
         nil,
         nil
       ),
       StatementsNode(286...289)([LocalVariableReadNode(286...289)(:bar, 0)]),
       [:bar],
       (271...274),
       nil,
       (278...279),
       (282...283),
       nil,
       (290...293)
     ),
     DefNode(295...322)(
       (299...302),
       nil,
       ParametersNode(303...311)(
         [RequiredParameterNode(303...306)(:bar),
          RequiredParameterNode(308...311)(:baz)],
         [],
         [],
         nil,
         [],
         nil,
         nil
       ),
       StatementsNode(315...318)([LocalVariableReadNode(315...318)(:bar, 0)]),
       [:bar, :baz],
       (295...298),
       nil,
       (302...303),
       (311...312),
       nil,
       (319...322)
     ),
     DefNode(324...351)(
       (328...331),
       nil,
       ParametersNode(332...340)(
         [],
         [OptionalParameterNode(332...340)(
            :bar,
            (332...335),
            (336...337),
            ParenthesesNode(338...340)(nil, (338...339), (339...340))
          )],
         [],
         nil,
         [],
         nil,
         nil
       ),
       StatementsNode(344...347)([LocalVariableReadNode(344...347)(:bar, 0)]),
       [:bar],
       (324...327),
       nil,
       (331...332),
       (340...341),
       nil,
       (348...351)
     ),
     DefNode(353...382)(
       (357...360),
       nil,
       ParametersNode(361...377)(
         [],
         [OptionalParameterNode(361...377)(
            :bar,
            (361...364),
            (365...366),
            ParenthesesNode(367...377)(
              StatementsNode(368...376)(
                [CallNode(368...371)(
                   nil,
                   nil,
                   (368...371),
                   nil,
                   nil,
                   nil,
                   nil,
                   0,
                   "baz"
                 ),
                 NilNode(373...376)()]
              ),
              (367...368),
              (376...377)
            )
          )],
         [],
         nil,
         [],
         nil,
         nil
       ),
       nil,
       [:bar],
       (353...356),
       nil,
       (360...361),
       (377...378),
       nil,
       (379...382)
     ),
     DefNode(384...413)(
       (388...391),
       nil,
       ParametersNode(392...402)(
         [],
         [OptionalParameterNode(392...402)(
            :bar,
            (392...395),
            (396...397),
            TrueNode(398...402)()
          )],
         [],
         nil,
         [],
         nil,
         nil
       ),
       StatementsNode(406...409)([LocalVariableReadNode(406...409)(:bar, 0)]),
       [:bar],
       (384...387),
       nil,
       (391...392),
       (402...403),
       nil,
       (410...413)
     ),
     DefNode(415...449)(
       (419...422),
       nil,
       ParametersNode(423...438)(
         [RequiredParameterNode(423...426)(:bar)],
         [OptionalParameterNode(428...438)(
            :baz,
            (428...431),
            (432...433),
            TrueNode(434...438)()
          )],
         [],
         nil,
         [],
         nil,
         nil
       ),
       StatementsNode(442...445)([LocalVariableReadNode(442...445)(:bar, 0)]),
       [:bar, :baz],
       (415...418),
       nil,
       (422...423),
       (438...439),
       nil,
       (446...449)
     ),
     DefNode(451...470)(
       (455...458),
       nil,
       ParametersNode(459...465)(
         [],
         [],
         [],
         nil,
         [KeywordParameterNode(459...465)(
            (459...463),
            IntegerNode(464...465)()
          )],
         nil,
         nil
       ),
       nil,
       [:bar],
       (451...454),
       nil,
       (458...459),
       (465...466),
       nil,
       (467...470)
     ),
     DefNode(472...493)(
       (476...479),
       nil,
       ParametersNode(480...488)(
         [],
         [],
         [],
         nil,
         [KeywordParameterNode(480...488)(
            (480...484),
            CallNode(485...488)(
              nil,
              nil,
              (485...488),
              nil,
              nil,
              nil,
              nil,
              0,
              "baz"
            )
          )],
         nil,
         nil
       ),
       nil,
       [:bar],
       (472...475),
       nil,
       (479...480),
       (488...489),
       nil,
       (490...493)
     ),
     DefNode(495...518)(
       (499...502),
       nil,
       ParametersNode(503...513)(
         [],
         [],
         [],
         nil,
         [KeywordParameterNode(503...513)(
            (503...507),
            CallNode(508...513)(
              nil,
              nil,
              (508...511),
              (511...512),
              nil,
              (512...513),
              nil,
              0,
              "bar"
            )
          )],
         nil,
         nil
       ),
       nil,
       [:bar],
       (495...498),
       nil,
       (502...503),
       (513...514),
       nil,
       (515...518)
     ),
     DefNode(520...540)(
       (524...527),
       nil,
       ParametersNode(528...529)(
         [],
         [],
         [],
         RestParameterNode(528...529)((528...529), nil),
         [],
         nil,
         nil
       ),
       StatementsNode(533...536)(
         [CallNode(533...536)(
            nil,
            nil,
            (533...536),
            nil,
            nil,
            nil,
            nil,
            0,
            "bar"
          )]
       ),
       [:*],
       (520...523),
       nil,
       (527...528),
       (529...530),
       nil,
       (537...540)
     ),
     DefNode(542...565)(
       (546...549),
       nil,
       ParametersNode(550...554)(
         [],
         [],
         [],
         RestParameterNode(550...554)((550...551), (551...554)),
         [],
         nil,
         nil
       ),
       StatementsNode(558...561)([LocalVariableReadNode(558...561)(:bar, 0)]),
       [:bar],
       (542...545),
       nil,
       (549...550),
       (554...555),
       nil,
       (562...565)
     ),
     DefNode(567...595)(
       (571...574),
       nil,
       ParametersNode(575...584)(
         [RequiredParameterNode(575...578)(:bar)],
         [],
         [],
         RestParameterNode(580...584)((580...581), (581...584)),
         [],
         nil,
         nil
       ),
       StatementsNode(588...591)([LocalVariableReadNode(588...591)(:bar, 0)]),
       [:bar, :baz],
       (567...570),
       nil,
       (574...575),
       (584...585),
       nil,
       (592...595)
     ),
     DefNode(597...632)(
       (601...604),
       nil,
       ParametersNode(605...621)(
         [],
         [OptionalParameterNode(605...615)(
            :baz,
            (605...608),
            (609...610),
            TrueNode(611...615)()
          )],
         [],
         RestParameterNode(617...621)((617...618), (618...621)),
         [],
         nil,
         nil
       ),
       StatementsNode(625...628)(
         [CallNode(625...628)(
            nil,
            nil,
            (625...628),
            nil,
            nil,
            nil,
            nil,
            0,
            "bar"
          )]
       ),
       [:baz, :bor],
       (597...600),
       nil,
       (604...605),
       (621...622),
       nil,
       (629...632)
     ),
     DefNode(634...677)(
       (638...641),
       nil,
       ParametersNode(642...666)(
         [],
         [OptionalParameterNode(642...652)(
            :baz,
            (642...645),
            (646...647),
            TrueNode(648...652)()
          )],
         [],
         RestParameterNode(654...658)((654...655), (655...658)),
         [],
         nil,
         BlockParameterNode(660...666)((661...666), (660...661))
       ),
       StatementsNode(670...673)(
         [CallNode(670...673)(
            nil,
            nil,
            (670...673),
            nil,
            nil,
            nil,
            nil,
            0,
            "bar"
          )]
       ),
       [:baz, :bor, :block],
       (634...637),
       nil,
       (641...642),
       (666...667),
       nil,
       (674...677)
     ),
     DefNode(679...719)(
       (683...686),
       nil,
       ParametersNode(687...708)(
         [RequiredParameterNode(687...690)(:bar)],
         [OptionalParameterNode(692...702)(
            :baz,
            (692...695),
            (696...697),
            TrueNode(698...702)()
          )],
         [],
         RestParameterNode(704...708)((704...705), (705...708)),
         [],
         nil,
         nil
       ),
       StatementsNode(712...715)([LocalVariableReadNode(712...715)(:bar, 0)]),
       [:bar, :baz, :bor],
       (679...682),
       nil,
       (686...687),
       (708...709),
       nil,
       (716...719)
     ),
     DefNode(721...746)(
       (725...728),
       nil,
       ParametersNode(729...735)(
         [],
         [],
         [],
         nil,
         [],
         nil,
         BlockParameterNode(729...735)((730...735), (729...730))
       ),
       StatementsNode(739...742)(
         [CallNode(739...742)(
            nil,
            nil,
            (739...742),
            nil,
            nil,
            nil,
            nil,
            0,
            "bar"
          )]
       ),
       [:block],
       (721...724),
       nil,
       (728...729),
       (735...736),
       nil,
       (743...746)
     ),
     DefNode(748...778)(
       (752...755),
       nil,
       ParametersNode(756...767)(
         [RequiredParameterNode(756...759)(:bar)],
         [],
         [],
         nil,
         [],
         nil,
         BlockParameterNode(761...767)((762...767), (761...762))
       ),
       StatementsNode(771...774)([LocalVariableReadNode(771...774)(:bar, 0)]),
       [:bar, :block],
       (748...751),
       nil,
       (755...756),
       (767...768),
       nil,
       (775...778)
     ),
     DefNode(780...803)(
       (784...787),
       nil,
       nil,
       StatementsNode(790...799)(
         [CallNode(790...793)(
            nil,
            nil,
            (790...793),
            nil,
            nil,
            nil,
            nil,
            0,
            "bar"
          ),
          CallNode(796...799)(
            nil,
            nil,
            (796...799),
            nil,
            nil,
            nil,
            nil,
            0,
            "baz"
          )]
       ),
       [],
       (780...783),
       nil,
       nil,
       nil,
       nil,
       (800...803)
     ),
     DefNode(805...821)(
       (809...810),
       nil,
       ParametersNode(811...816)(
         [RequiredDestructuredParameterNode(811...816)(
            [RequiredDestructuredParameterNode(812...815)(
               [RequiredParameterNode(813...814)(:a)],
               (812...813),
               (814...815)
             )],
            (811...812),
            (815...816)
          )],
         [],
         [],
         nil,
         [],
         nil,
         nil
       ),
       nil,
       [:a],
       (805...808),
       nil,
       (810...811),
       (816...817),
       nil,
       (818...821)
     ),
     DefNode(823...854)(
       (827...830),
       nil,
       ParametersNode(831...849)(
         [],
         [],
         [],
         nil,
         [KeywordParameterNode(831...835)((831...835), nil),
          KeywordParameterNode(837...849)(
            (837...841),
            StringNode(842...849)(
              (842...843),
              (843...848),
              (848...849),
              "value"
            )
          )],
         nil,
         nil
       ),
       nil,
       [:bar, :baz],
       (823...826),
       nil,
       (830...831),
       (849...850),
       nil,
       (851...854)
     ),
     DefNode(856...896)(
       (860...861),
       nil,
       nil,
       StatementsNode(864...893)(
         [InterpolatedStringNode(864...893)(
            (864...874),
            [StringNode(875...879)(nil, (875...879), nil, "    "),
             EmbeddedStatementsNode(879...882)((879...881), nil, (881...882)),
             StringNode(882...883)(nil, (882...883), nil, "\n")],
            (883...893)
          )]
       ),
       [],
       (856...859),
       nil,
       nil,
       nil,
       nil,
       (893...896)
     ),
     DefNode(898...913)(
       (902...903),
       nil,
       nil,
       StatementsNode(906...909)(
         [StringNode(906...909)((906...908), (908...908), (908...909), "")]
       ),
       [],
       (898...901),
       nil,
       nil,
       nil,
       nil,
       (910...913)
     )]
  )
)
