ProgramNode(0...370)(
  [],
  StatementsNode(0...370)(
    [ClassNode(0...17)(
       [:a],
       (0...5),
       ConstantReadNode(6...7)(),
       nil,
       nil,
       StatementsNode(8...13)(
         [LocalVariableWriteNode(8...13)(
            :a,
            0,
            IntegerNode(12...13)(),
            (8...9),
            (10...11)
          )]
       ),
       (14...17)
     ),
     ClassNode(19...39)(
       [],
       (19...24),
       ConstantReadNode(25...26)(),
       nil,
       nil,
       BeginNode(28...39)(
         nil,
         nil,
         nil,
         nil,
         EnsureNode(28...39)((28...34), nil, (36...39)),
         (36...39)
       ),
       (36...39)
     ),
     ClassNode(41...75)(
       [],
       (41...46),
       ConstantReadNode(47...48)(),
       nil,
       nil,
       BeginNode(50...75)(
         nil,
         nil,
         RescueNode(50...56)((50...56), [], nil, nil, nil, nil),
         ElseNode(58...70)((58...62), nil, (64...70)),
         EnsureNode(64...75)((64...70), nil, (72...75)),
         (72...75)
       ),
       (72...75)
     ),
     ClassNode(77...98)(
       [:a],
       (77...82),
       ConstantReadNode(83...84)(),
       (85...86),
       ConstantReadNode(87...88)(),
       StatementsNode(89...94)(
         [LocalVariableWriteNode(89...94)(
            :a,
            0,
            IntegerNode(93...94)(),
            (89...90),
            (91...92)
          )]
       ),
       (95...98)
     ),
     SingletonClassNode(100...120)(
       [],
       (100...105),
       (106...108),
       CallNode(109...116)(
         CallNode(113...116)(
           nil,
           nil,
           (113...116),
           nil,
           nil,
           nil,
           nil,
           0,
           "foo"
         ),
         nil,
         (109...112),
         nil,
         nil,
         nil,
         nil,
         0,
         "!"
       ),
       nil,
       (117...120)
     ),
     ClassNode(122...162)(
       [],
       (122...127),
       ConstantReadNode(128...129)(),
       nil,
       nil,
       StatementsNode(131...157)(
         [SingletonClassNode(131...157)(
            [],
            (131...136),
            (137...139),
            SelfNode(140...144)(),
            BeginNode(146...157)(
              nil,
              nil,
              nil,
              nil,
              EnsureNode(146...157)((146...152), nil, (154...157)),
              (154...157)
            ),
            (154...157)
          )]
       ),
       (159...162)
     ),
     ClassNode(164...218)(
       [],
       (164...169),
       ConstantReadNode(170...171)(),
       nil,
       nil,
       StatementsNode(173...213)(
         [SingletonClassNode(173...213)(
            [],
            (173...178),
            (179...181),
            SelfNode(182...186)(),
            BeginNode(188...213)(
              nil,
              nil,
              RescueNode(188...194)((188...194), [], nil, nil, nil, nil),
              ElseNode(196...208)((196...200), nil, (202...208)),
              EnsureNode(202...213)((202...208), nil, (210...213)),
              (210...213)
            ),
            (210...213)
          )]
       ),
       (215...218)
     ),
     SingletonClassNode(220...240)(
       [],
       (220...225),
       (226...228),
       CallNode(229...236)(
         CallNode(229...232)(
           nil,
           nil,
           (229...232),
           nil,
           nil,
           nil,
           nil,
           0,
           "foo"
         ),
         (232...233),
         (233...236),
         nil,
         nil,
         nil,
         nil,
         0,
         "bar"
       ),
       nil,
       (237...240)
     ),
     SingletonClassNode(242...262)(
       [],
       (242...247),
       (248...250),
       CallNode(251...258)(
         CallNode(251...254)(
           nil,
           nil,
           (251...254),
           nil,
           nil,
           nil,
           nil,
           0,
           "foo"
         ),
         (254...255),
         (255...258),
         nil,
         nil,
         nil,
         nil,
         0,
         "bar"
       ),
       nil,
       (259...262)
     ),
     SingletonClassNode(264...281)(
       [],
       (264...269),
       (270...272),
       SelfNode(273...277)(),
       nil,
       (278...281)
     ),
     SingletonClassNode(283...300)(
       [],
       (283...288),
       (289...291),
       SelfNode(292...296)(),
       nil,
       (297...300)
     ),
     SingletonClassNode(302...325)(
       [],
       (302...307),
       (308...310),
       SelfNode(311...315)(),
       StatementsNode(316...321)(
         [CallNode(316...321)(
            IntegerNode(316...317)(),
            nil,
            (318...319),
            nil,
            ArgumentsNode(320...321)([IntegerNode(320...321)()]),
            nil,
            nil,
            0,
            "+"
          )]
       ),
       (322...325)
     ),
     SingletonClassNode(327...350)(
       [],
       (327...332),
       (333...335),
       SelfNode(336...340)(),
       StatementsNode(341...346)(
         [CallNode(341...346)(
            IntegerNode(341...342)(),
            nil,
            (343...344),
            nil,
            ArgumentsNode(345...346)([IntegerNode(345...346)()]),
            nil,
            nil,
            0,
            "+"
          )]
       ),
       (347...350)
     ),
     ClassNode(352...370)(
       [],
       (352...357),
       ConstantReadNode(358...359)(),
       (360...361),
       CallNode(362...366)(
         ConstantReadNode(362...363)(),
         nil,
         (363...366),
         (363...364),
         ArgumentsNode(364...365)([IntegerNode(364...365)()]),
         (365...366),
         nil,
         0,
         "[]"
       ),
       nil,
       (367...370)
     )]
  )
)
