(If (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_CHARS -z]} {[DQ [VarSub __mal_types_included__]]} {[LIT_DBRACKET_LIKE "]"]} ) (List (= scope= flags=0 words=[] bindings=[('__mal_types_included', {[LIT_CHARS true]})]) (= scope= flags=0 words=[{[LIT_CHARS -A]}, {[LIT_CHARS ANON]}] bindings=[]) (= scope= flags=0 words=[] bindings=[('__obj_magic', {[LIT_CHARS __5bal7]})]) (= scope= flags=0 words=[] bindings=[('__keyw', {[ComSub (Com {[LIT_CHARS echo]} {[LIT_CHARS -en]} {[DQ [\ LIT_ESCAPED_CHAR "\\x"][LIT_CHARS CA][\ LIT_ESCAPED_CHAR "\\x"][LIT_CHARS 9E]]})]})]) (= scope= flags=0 words=[] bindings=[('__obj_hash_code', {[VarSub __obj_hash_code test_op=VS_TEST_COLON_HYPHEN {[LIT_CHARS 0]}]})]) (FunctionDef __new_obj_hash_code [] (List (= scope= flags=0 words=[] bindings=[('__obj_hash_code', {[ArithSub {A2 AS_OP_PLUS {A Atom NODE_ARITH_WORD {[VarSub __obj_hash_code]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}]})]) (= scope= flags=0 words=[] bindings=[('r', {[DQ [VarSub __obj_hash_code]]})]) ) ) (FunctionDef __new_obj [] (List (Com {[LIT_CHARS __new_obj_hash_code]} ) (= scope= flags=0 words=[] bindings=[('r', {[DQ [VarSub 1][LIT_CHARS _][VarSub r]]})]) ) ) (FunctionDef __new_obj_like [] (List (Com {[LIT_CHARS __new_obj_hash_code]} ) (= scope= flags=0 words=[] bindings=[('r', {[DQ [VarSub 1 transform_ops=[VS_UNARY_PERCENT {[LIT_CHARS "_*"]}]][LIT_CHARS _][VarSub r]]})]) ) ) (= scope= flags=0 words=[] bindings=[('__ERROR', {[SQ ]})]) (FunctionDef _error [] (List (Com {[LIT_CHARS _string]} {[DQ [VarSub 1]]} ) (= scope= flags=0 words=[] bindings=[('__ERROR', {[DQ [VarSub r]]})]) (= scope= flags=0 words=[] bindings=[('r', {[SQ ]})]) ) ) (FunctionDef _obj_type [] (List (= scope= flags=0 words=[] bindings=[('type', {[DQ [VarSub 1 transform_ops=[Slice {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 0]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 4]}}]]]})]) (= scope= flags=0 words=[] bindings=[('r', {[SQ ]})]) (Case to_match={[DQ [VarSub type]]}, pat_word_list=[[{[LIT_CHARS symb]}], [{[LIT_CHARS list]}], [{[LIT_CHARS numb]}], [{[LIT_CHARS func]}], [{[LIT_CHARS strn]}], [{[LIT_CHARS _nil]}], [{[LIT_CHARS true]}], [{[LIT_CHARS fals]}], [{[LIT_CHARS vect]}], [{[LIT_CHARS hmap]}], [{[LIT_CHARS atom]}], [{[LIT_CHARS undf]}], [{[LIT_OTHER "*"]}]] (= scope= flags=0 words=[] bindings=[('r', {[DQ [LIT_CHARS symbol]]})]) (= scope= flags=0 words=[] bindings=[('r', {[DQ [LIT_CHARS list]]})]) (= scope= flags=0 words=[] bindings=[('r', {[DQ [LIT_CHARS number]]})]) (= scope= flags=0 words=[] bindings=[('r', {[DQ [LIT_CHARS function]]})]) (List (= scope= flags=0 words=[] bindings=[('s', {[DQ [VarSub ANON bracket_op=(Index {A Atom NODE_ARITH_WORD {[DQ [VarSub 1]]}})]]})]) (If (AndOr OP_OR_IF (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub 1 transform_ops=[Slice {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 0]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}]]]} {[DQ [VarSub __keyw]]}}) (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub 1 transform_ops=[Slice {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 0]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 2]}}]]]} {[DQ [VarSub __keyw]]}}) ) (= scope= flags=0 words=[] bindings=[('r', {[DQ [LIT_CHARS keyword]]})]) (ElseTrue) (= scope= flags=0 words=[] bindings=[('r', {[DQ [LIT_CHARS string]]})]) ) ) (= scope= flags=0 words=[] bindings=[('r', {[DQ [LIT_CHARS nil]]})]) (= scope= flags=0 words=[] bindings=[('r', {[DQ [LIT_CHARS true]]})]) (= scope= flags=0 words=[] bindings=[('r', {[DQ [LIT_CHARS false]]})]) (= scope= flags=0 words=[] bindings=[('r', {[DQ [LIT_CHARS vector]]})]) (= scope= flags=0 words=[] bindings=[('r', {[DQ [LIT_CHARS hash_map]]})]) (= scope= flags=0 words=[] bindings=[('r', {[DQ [LIT_CHARS atom]]})]) (= scope= flags=0 words=[] bindings=[('r', {[DQ [LIT_CHARS undefined]]})]) (= scope= flags=0 words=[] bindings=[('r', {[DQ [LIT_CHARS bash]]})]) ) ) ) (FunctionDef _equal? [] (List (Com {[LIT_CHARS _obj_type]} {[DQ [VarSub 1]]} ) (= scope= flags=0 words=[] bindings=[('ot1', {[DQ [VarSub r]]})]) (Com {[LIT_CHARS _obj_type]} {[DQ [VarSub 2]]} ) (= scope= flags=0 words=[] bindings=[('ot2', {[DQ [VarSub r]]})]) (If (DBracket {B2 BINARY_STRING_NOT_EQUAL {[DQ [VarSub ot1]]} {[DQ [VarSub ot2]]}}) (If (AndOr OP_OR_IF (Pipeline! (Com {[LIT_CHARS _sequential] [LIT_OTHER "?"]} {[DQ [VarSub 1]]} ) ) (Pipeline! (Com {[LIT_CHARS _sequential] [LIT_OTHER "?"]} {[DQ [VarSub 2]]} ) ) ) (Com {[LIT_CHARS return]} {[LIT_CHARS 1]} ) ) ) (Case to_match={[DQ [VarSub ot1]]}, pat_word_list=[[{[LIT_CHARS string]}, {[LIT_CHARS symbol]}, {[LIT_CHARS keyword]}, {[LIT_CHARS number]}], [{[LIT_CHARS list]}, {[LIT_CHARS vector]}], [{[LIT_CHARS hash_map]}], [{[LIT_OTHER "*"]}]] (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub ANON bracket_op=(Index {A Atom NODE_ARITH_WORD {[DQ [VarSub 1]]}})]]} {[DQ [VarSub ANON bracket_op=(Index {A Atom NODE_ARITH_WORD {[DQ [VarSub 2]]}})]]}}) (List (Com {[LIT_CHARS _count]} {[DQ [VarSub 1]]} ) (= scope= flags=0 words=[] bindings=[('sz1', {[DQ [VarSub r]]})]) (Com {[LIT_CHARS _count]} {[DQ [VarSub 2]]} ) (= scope= flags=0 words=[] bindings=[('sz2', {[DQ [VarSub r]]})]) (AndOr OP_OR_IF (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub sz1]]} {[DQ [VarSub sz2]]}}) (Com {[LIT_CHARS return]} {[LIT_CHARS 1]} ) ) (= scope= flags=0 words=[] bindings=[('a1', {[Array {[VarSub ANON bracket_op=(Index {A Atom NODE_ARITH_WORD {[DQ [VarSub 1]]}})]}]})]) (= scope= flags=0 words=[] bindings=[('a2', {[Array {[VarSub ANON bracket_op=(Index {A Atom NODE_ARITH_WORD {[DQ [VarSub 2]]}})]}]})]) (ForExpr {A2 AS_OP_EQUAL {A Atom NODE_ARITH_WORD {[VarSub i]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 0]}}} {A2 AS_OP_LESS {A Atom NODE_ARITH_WORD {[VarSub i]}} {A Atom NODE_ARITH_WORD {[VarSub a1 bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_STAR "*"}}) transform_ops=[(#len)]]}}} {A1 AS_OP_DPLUS {A Atom NODE_ARITH_WORD {[VarSub i]}} } (AndOr OP_OR_IF (Com {[LIT_CHARS _equal] [LIT_OTHER "?"]} {[DQ [VarSub a1 bracket_op=(Index {A Atom NODE_ARITH_WORD {[VarSub i]}})]]} {[DQ [VarSub a2 bracket_op=(Index {A Atom NODE_ARITH_WORD {[VarSub i]}})]]} ) (Com {[LIT_CHARS return]} {[LIT_CHARS 1]} ) ) ) ) (List (= scope= flags=0 words=[] bindings=[('hm1', {[DQ [VarSub ANON bracket_op=(Index {A Atom NODE_ARITH_WORD {[DQ [VarSub 1]]}})]]})]) (Com {[LIT_CHARS eval]} {[LIT_CHARS local]} {[LIT_VAR_LIKE "ks1="] [DQ [\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "{!"][VarSub hm1][LIT_CHARS "[@]}"]] =} ) (= scope= flags=0 words=[] bindings=[('hm2', {[DQ [VarSub ANON bracket_op=(Index {A Atom NODE_ARITH_WORD {[DQ [VarSub 2]]}})]]})]) (Com {[LIT_CHARS eval]} {[LIT_CHARS local]} {[LIT_VAR_LIKE "ks2="] [DQ [\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "{!"][VarSub hm2][LIT_CHARS "[@]}"]] =} ) (AndOr OP_OR_IF (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub ks1 transform_ops=[(#len)]]]} {[DQ [VarSub ks2 transform_ops=[(#len)]]]}}) (Com {[LIT_CHARS return]} {[LIT_CHARS 1]} ) ) (For k [{[VarSub ks1]}]) (List (Com {[LIT_CHARS eval]} {[LIT_VAR_LIKE "v1="] [DQ [\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "{"][VarSub hm1][LIT_CHARS "["][\ LIT_ESCAPED_CHAR "\\\""][VarSub k][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "]}"]] =} ) (Com {[LIT_CHARS eval]} {[LIT_VAR_LIKE "v2="] [DQ [\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "{"][VarSub hm2][LIT_CHARS "["][\ LIT_ESCAPED_CHAR "\\\""][VarSub k][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "]}"]] =} ) (AndOr OP_OR_IF (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub v1]]} {[LIT_DBRACKET_LIKE "]"]} ) (Com {[LIT_CHARS return]} {[LIT_CHARS 1]} ) ) (AndOr OP_OR_IF (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub v2]]} {[LIT_DBRACKET_LIKE "]"]} ) (Com {[LIT_CHARS return]} {[LIT_CHARS 1]} ) ) (AndOr OP_OR_IF (Com {[LIT_CHARS _equal] [LIT_OTHER "?"]} {[DQ [VarSub v1]]} {[DQ [VarSub v2]]} ) (Com {[LIT_CHARS return]} {[LIT_CHARS 1]} ) ) ) ) ) (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub 1]]} {[DQ [VarSub 2]]}}) ) ) ) (= scope= flags=0 words=[] bindings=[('__nil', {[LIT_CHARS _nil_0]})]) (= scope= flags=0 words=[] bindings=[('__true', {[LIT_CHARS true_0]})]) (= scope= flags=0 words=[] bindings=[('__false', {[LIT_CHARS fals_0]})]) (FunctionDef _nil? [] (DBracket {B2 BINARY_STRING_TILDE_EQUAL {[VarSub 1]} {[LIT_OTHER "^"] [LIT_CHARS _nil_]}}) ) (FunctionDef _true? [] (DBracket {B2 BINARY_STRING_TILDE_EQUAL {[VarSub 1]} {[LIT_OTHER "^"] [LIT_CHARS true_]}}) ) (FunctionDef _false? [] (DBracket {B2 BINARY_STRING_TILDE_EQUAL {[VarSub 1]} {[LIT_OTHER "^"] [LIT_CHARS fals_]}}) ) (FunctionDef _symbol [] (List (Com {[LIT_CHARS __new_obj_hash_code]} ) (= scope= flags=0 words=[] bindings=[('r', {[DQ [LIT_CHARS symb_][VarSub r]]})]) (Com {[LIT_CHARS ANON] [LIT_DBRACKET_LIKE "["] [DQ [VarSub r]] [LIT_DBRACKET_LIKE "]="] [DQ [VarSub 1 transform_ops=[PatSub {[\ LIT_ESCAPED_CHAR "\\*"]} {[LIT_CHARS __STAR__]} do_all]]]} ) ) ) (FunctionDef _symbol? [] (DBracket {B2 BINARY_STRING_TILDE_EQUAL {[VarSub 1]} {[LIT_OTHER "^"] [LIT_CHARS symb_]}}) ) (FunctionDef _keyword [] (List (= scope= flags=0 words=[] bindings=[('k', {[DQ [VarSub 1]]})]) (Com {[LIT_CHARS __new_obj_hash_code]} ) (= scope= flags=0 words=[] bindings=[('r', {[DQ [LIT_CHARS strn_][VarSub r]]})]) (If (AndOr OP_OR_IF (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub 1 transform_ops=[Slice {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 0]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}]]]} {[DQ [VarSub __keyw]]}}) (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub 1 transform_ops=[Slice {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 0]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 2]}}]]]} {[DQ [VarSub __keyw]]}}) ) (Com {[LIT_CHARS true]} ) (ElseTrue) (= scope= flags=0 words=[] bindings=[('k', {[DQ [VarSub __keyw][VarSub 1]]})]) ) (Com {[LIT_CHARS ANON] [LIT_DBRACKET_LIKE "["] [DQ [VarSub r]] [LIT_DBRACKET_LIKE "]="] [DQ [VarSub k transform_ops=[PatSub {[\ LIT_ESCAPED_CHAR "\\*"]} {[LIT_CHARS __STAR__]} do_all]]]} ) ) ) (FunctionDef _keyword? [] (List (AndOr OP_OR_IF (DBracket {B2 BINARY_STRING_TILDE_EQUAL {[VarSub 1]} {[LIT_OTHER "^"] [LIT_CHARS strn_]}}) (Com {[LIT_CHARS return]} {[LIT_CHARS 1]} ) ) (= scope= flags=0 words=[] bindings=[('s', {[DQ [VarSub ANON bracket_op=(Index {A Atom NODE_ARITH_WORD {[DQ [VarSub 1]]}})]]})]) (AndOr OP_OR_IF (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub s transform_ops=[Slice {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 0]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}]]]} {[DQ [VarSub __keyw]]}}) (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub s transform_ops=[Slice {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 0]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 2]}}]]]} {[DQ [VarSub __keyw]]}}) ) ) ) (FunctionDef _number [] (List (Com {[LIT_CHARS __new_obj_hash_code]} ) (= scope= flags=0 words=[] bindings=[('r', {[DQ [LIT_CHARS numb_][VarSub r]]})]) (Com {[LIT_CHARS ANON] [LIT_DBRACKET_LIKE "["] [DQ [VarSub r]] [LIT_DBRACKET_LIKE "]="] [DQ [VarSub 1]]} ) ) ) (FunctionDef _number? [] (DBracket {B2 BINARY_STRING_TILDE_EQUAL {[VarSub 1]} {[LIT_OTHER "^"] [LIT_CHARS numb_]}}) ) (FunctionDef _string [] (List (Com {[LIT_CHARS __new_obj_hash_code]} ) (= scope= flags=0 words=[] bindings=[('r', {[DQ [LIT_CHARS strn_][VarSub r]]})]) (Com {[LIT_CHARS ANON] [LIT_DBRACKET_LIKE "["] [DQ [VarSub r]] [LIT_DBRACKET_LIKE "]="] [DQ [VarSub 1 transform_ops=[PatSub {[\ LIT_ESCAPED_CHAR "\\*"]} {[LIT_CHARS __STAR__]} do_all]]]} ) ) ) (FunctionDef _string? [] (DBracket {B2 BINARY_STRING_TILDE_EQUAL {[VarSub 1]} {[LIT_OTHER "^"] [LIT_CHARS strn_]}}) ) (FunctionDef _function [] (List (Com {[LIT_CHARS __new_obj_hash_code]} ) (Com {[LIT_CHARS eval]} {[DQ [LIT_CHARS "function "][VarSub __obj_magic][LIT_CHARS _func_][VarSub r][LIT_CHARS " () { "][VarSub 1 transform_ops=[VS_UNARY_PERCENT {[LIT_CHARS ";"]}]][LIT_CHARS " ; }"]]} ) (= scope= flags=0 words=[] bindings=[('r', {[DQ [LIT_CHARS func_][VarSub r]]})]) (If (DBracket {B1 UNARY_STRING_n {[DQ [VarSub 2]]}}) (Com {[LIT_CHARS ANON] [LIT_DBRACKET_LIKE "["] [DQ [VarSub r]] [LIT_DBRACKET_LIKE "]="] [DQ [VarSub __obj_magic][LIT_CHARS _][VarSub r][LIT_CHARS "@"][VarSub 2][LIT_CHARS "@"][VarSub 3][LIT_CHARS "@"][VarSub 4]]} ) (ElseTrue) (Com {[LIT_CHARS ANON] [LIT_DBRACKET_LIKE "["] [DQ [VarSub r]] [LIT_DBRACKET_LIKE "]="] [DQ [VarSub __obj_magic][LIT_CHARS _][VarSub r]]} ) ) ) ) (FunctionDef _function? [] (DBracket {B2 BINARY_STRING_TILDE_EQUAL {[VarSub 1]} {[LIT_OTHER "^"] [LIT_CHARS func_]}}) ) (FunctionDef _list [] (List (Com {[LIT_CHARS __new_obj_hash_code]} ) (= scope= flags=0 words=[] bindings=[('r', {[DQ [LIT_CHARS list_][VarSub r]]})]) (Com {[LIT_CHARS ANON] [LIT_DBRACKET_LIKE "["] [DQ [VarSub r]] [LIT_DBRACKET_LIKE "]="] [DQ [VarSub *]]} ) ) ) (FunctionDef _list? [] (DBracket {B2 BINARY_STRING_TILDE_EQUAL {[VarSub 1]} {[LIT_OTHER "^"] [LIT_CHARS list_]}}) ) (FunctionDef _vector [] (List (Com {[LIT_CHARS __new_obj_hash_code]} ) (= scope= flags=0 words=[] bindings=[('r', {[DQ [LIT_CHARS vector_][VarSub r]]})]) (Com {[LIT_CHARS ANON] [LIT_DBRACKET_LIKE "["] [DQ [VarSub r]] [LIT_DBRACKET_LIKE "]="] [DQ [VarSub *]]} ) ) ) (FunctionDef _vector? [] (DBracket {B2 BINARY_STRING_TILDE_EQUAL {[VarSub 1]} {[LIT_OTHER "^"] [LIT_CHARS vector_]}}) ) (FunctionDef _hash_map [] (List (Com {[LIT_CHARS __new_obj_hash_code]} ) (= scope= flags=0 words=[] bindings=[('name', {[DQ [LIT_CHARS hmap_][VarSub r]]})]) (= scope= flags=0 words=[] bindings=[('obj', {[DQ [VarSub __obj_magic][LIT_CHARS _][VarSub name]]})]) (= scope= flags=0 words=[{[LIT_CHARS -A]}, {[LIT_CHARS -g]}, {[VarSub obj]}] bindings=[]) (Com {[LIT_CHARS eval]} {[DQ [VarSub obj][LIT_CHARS "=()"]]} ) (Com {[LIT_CHARS ANON] [LIT_DBRACKET_LIKE "["] [DQ [VarSub name]] [LIT_DBRACKET_LIKE "]="] [DQ [VarSub obj]]} ) (While (DBracket {B1 UNARY_STRING_n {[DQ [VarSub 1]]}}) (List (Com {[LIT_CHARS eval]} {[VarSub obj] [LIT_DBRACKET_LIKE "["] [\ LIT_ESCAPED_CHAR "\\\""] [VarSub ANON bracket_op=(Index {A Atom NODE_ARITH_WORD {[DQ [VarSub 1]]}})] [\ LIT_ESCAPED_CHAR "\\\""] [LIT_DBRACKET_LIKE "]="] [\ LIT_ESCAPED_CHAR "\\\""] [VarSub 2] [\ LIT_ESCAPED_CHAR "\\\""]} ) (Com {[LIT_CHARS shift]} ) (Com {[LIT_CHARS shift]} ) ) ) (= scope= flags=0 words=[] bindings=[('r', {[DQ [VarSub name]]})]) ) ) (FunctionDef _hash_map? [] (DBracket {B2 BINARY_STRING_TILDE_EQUAL {[VarSub 1]} {[LIT_OTHER "^"] [LIT_CHARS hmap_]}}) ) (FunctionDef _contains? [] (List (= scope= flags=0 words=[] bindings=[('obj', {[DQ [VarSub ANON bracket_op=(Index {A Atom NODE_ARITH_WORD {[DQ [VarSub 1]]}})]]})]) (Com {[LIT_CHARS eval]} {[LIT_DBRACKET_LIKE "[["]} {[DQ [\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "{"][VarSub obj][LIT_CHARS "["][\ LIT_ESCAPED_CHAR "\\\""][VarSub 2][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "]+isset}"]]} {[LIT_DBRACKET_LIKE "]]"]} ) ) ) (FunctionDef _copy_hash_map [] (List (= scope= flags=0 words=[] bindings=[('orig_obj', {[DQ [VarSub ANON bracket_op=(Index {A Atom NODE_ARITH_WORD {[DQ [VarSub 1]]}})]]})]) (Com {[LIT_CHARS _hash_map]} ) (= scope= flags=0 words=[] bindings=[('name', {[DQ [VarSub r]]})]) (= scope= flags=0 words=[] bindings=[('obj', {[DQ [VarSub ANON bracket_op=(Index {A Atom NODE_ARITH_WORD {[DQ [VarSub name]]}})]]})]) (= scope= flags=0 words=[] bindings=[('temp', {[ComSub (Com {[LIT_CHARS typeset]} {[LIT_CHARS -p]} {[VarSub orig_obj]})]})]) (Com {[LIT_CHARS eval]} {[VarSub temp transform_ops=[PatSub {[LIT_CHARS "declare -A "] [VarSub orig_obj] [LIT_CHARS "="]} {[LIT_CHARS "declare -A -g "] [VarSub obj] [LIT_CHARS "="]} do_suffix]]} ) (= scope= flags=0 words=[] bindings=[('r', {[DQ [VarSub name]]})]) ) ) (FunctionDef _assoc! [] (List (= scope= flags=0 words=[] bindings=[('obj', {[VarSub ANON bracket_op=(Index {A Atom NODE_ARITH_WORD {[DQ [VarSub 1]]}})]})]) (Com {[LIT_CHARS shift]} ) (= scope= flags=0 words=[{[LIT_CHARS -A]}, {[LIT_CHARS -g]}, {[VarSub obj]}] bindings=[]) (While (DBracket {B1 UNARY_STRING_n {[DQ [VarSub 1]]}}) (List (Com {[LIT_CHARS eval]} {[VarSub obj] [LIT_DBRACKET_LIKE "["] [\ LIT_ESCAPED_CHAR "\\\""] [VarSub 1] [\ LIT_ESCAPED_CHAR "\\\""] [LIT_DBRACKET_LIKE "]="] [\ LIT_ESCAPED_CHAR "\\\""] [VarSub 2] [\ LIT_ESCAPED_CHAR "\\\""]} ) (Com {[LIT_CHARS shift]} ) (Com {[LIT_CHARS shift]} ) ) ) ) ) (FunctionDef _dissoc! [] (List (= scope= flags=0 words=[] bindings=[('obj', {[VarSub ANON bracket_op=(Index {A Atom NODE_ARITH_WORD {[DQ [VarSub 1]]}})]})]) (Com {[LIT_CHARS shift]} ) (= scope= flags=0 words=[{[LIT_CHARS -A]}, {[LIT_CHARS -g]}, {[VarSub obj]}] bindings=[]) (While (DBracket {B1 UNARY_STRING_n {[DQ [VarSub 1]]}}) (List (Com {[LIT_CHARS eval]} {[LIT_CHARS unset]} {[VarSub obj] [LIT_DBRACKET_LIKE "["] [\ LIT_ESCAPED_CHAR "\\\""] [VarSub 1] [\ LIT_ESCAPED_CHAR "\\\""] [LIT_DBRACKET_LIKE "]"]} ) (Com {[LIT_CHARS shift]} ) ) ) ) ) (FunctionDef _atom [] (List (Com {[LIT_CHARS __new_obj_hash_code]} ) (= scope= flags=0 words=[] bindings=[('r', {[DQ [LIT_CHARS atom_][VarSub r]]})]) (Com {[LIT_CHARS ANON] [LIT_DBRACKET_LIKE "["] [DQ [VarSub r]] [LIT_DBRACKET_LIKE "]="] [DQ [VarSub *]]} ) ) ) (FunctionDef _atom? [] (DBracket {B2 BINARY_STRING_TILDE_EQUAL {[VarSub 1]} {[LIT_OTHER "^"] [LIT_CHARS atom_]}}) ) (FunctionDef _sequential? [] (AndOr OP_OR_IF (Com {[LIT_CHARS _list] [LIT_OTHER "?"]} {[DQ [VarSub 1]]} ) (Com {[LIT_CHARS _vector] [LIT_OTHER "?"]} {[DQ [VarSub 1]]} ) ) ) (FunctionDef _nth [] (List (= scope= flags=0 words=[] bindings=[('temp', {[Array {[VarSub ANON bracket_op=(Index {A Atom NODE_ARITH_WORD {[DQ [VarSub 1]]}})]}]})]) (= scope= flags=0 words=[] bindings=[('r', {[DQ [VarSub temp bracket_op=(Index {A Atom NODE_ARITH_WORD {[VarSub 2]}})]]})]) ) ) (FunctionDef _first [] (List (= scope= flags=0 words=[] bindings=[('temp', {[DQ [VarSub ANON bracket_op=(Index {A Atom NODE_ARITH_WORD {[DQ [VarSub 1]]}})]]})]) (= scope= flags=0 words=[] bindings=[('r', {[DQ [VarSub temp transform_ops=[VS_UNARY_DPERCENT {[LIT_CHARS " *"]}]]]})]) (AndOr OP_OR_IF (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub r]]} {[LIT_DBRACKET_LIKE "]"]} ) (= scope= flags=0 words=[] bindings=[('r', {[DQ [VarSub __nil]]})]) ) ) ) (FunctionDef _last [] (List (= scope= flags=0 words=[] bindings=[('temp', {[DQ [VarSub ANON bracket_op=(Index {A Atom NODE_ARITH_WORD {[DQ [VarSub 1]]}})]]})]) (= scope= flags=0 words=[] bindings=[('r', {[DQ [VarSub temp transform_ops=[VS_UNARY_DPOUND {[LIT_CHARS "* "]}]]]})]) ) ) (FunctionDef _rest [] (List (= scope= flags=0 words=[] bindings=[('temp', {[DQ [VarSub ANON bracket_op=(Index {A Atom NODE_ARITH_WORD {[DQ [VarSub 1]]}})]]})]) (Com {[LIT_CHARS _list]} ) (If (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub temp transform_ops=[VS_UNARY_POUND {[LIT_CHARS "* "]}]]]} {[DQ [VarSub temp]]}}) (Com {[LIT_CHARS ANON] [LIT_DBRACKET_LIKE "["] [DQ [VarSub r]] [LIT_DBRACKET_LIKE "]="]} ) (ElseTrue) (Com {[LIT_CHARS ANON] [LIT_DBRACKET_LIKE "["] [DQ [VarSub r]] [LIT_DBRACKET_LIKE "]="] [DQ [VarSub temp transform_ops=[VS_UNARY_POUND {[LIT_CHARS "* "]}]]]} ) ) ) ) (FunctionDef _empty? [] (DBracket {B1 UNARY_STRING_z {[DQ [VarSub ANON bracket_op=(Index {A Atom NODE_ARITH_WORD {[DQ [VarSub 1]]}})]]}}) ) (FunctionDef _conj! [] (List (= scope= flags=0 words=[] bindings=[('obj', {[DQ [VarSub 1]]})]) (Com {[LIT_CHARS shift]} ) (= scope= flags=0 words=[] bindings=[('obj_data', {[DQ [VarSub ANON bracket_op=(Index {A Atom NODE_ARITH_WORD {[DQ [VarSub obj]]}})]]})]) (Com {[LIT_CHARS ANON] [LIT_DBRACKET_LIKE "["] [DQ [VarSub obj]] [LIT_DBRACKET_LIKE "]="] [DQ [VarSub obj_data test_op=VS_TEST_COLON_PLUS {[VarSub obj_data] [LIT_CHARS " "]}][VarSub *]]} ) (= scope= flags=0 words=[] bindings=[('r', {[DQ [VarSub 1]]})]) ) ) (FunctionDef _count [] (If (Com {[LIT_CHARS _nil] [LIT_OTHER "?"]} {[DQ [VarSub 1]]} ) (= scope= flags=0 words=[] bindings=[('r', {[DQ [LIT_CHARS 0]]})]) (ElseTrue) (List (= scope= flags=0 words=[] bindings=[('temp', {[Array {[VarSub ANON bracket_op=(Index {A Atom NODE_ARITH_WORD {[DQ [VarSub 1]]}})]}]})]) (= scope= flags=0 words=[] bindings=[('r', {[VarSub temp bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_STAR "*"}}) transform_ops=[(#len)]]})]) ) ) ) (FunctionDef _slice [] (List (= scope= flags=0 words=[] bindings=[('temp', {[Array {[VarSub ANON bracket_op=(Index {A Atom NODE_ARITH_WORD {[DQ [VarSub 1]]}})]}]})]) (Com {[LIT_CHARS __new_obj_like]} {[DQ [VarSub 1]]} ) (Com {[LIT_CHARS ANON] [LIT_DBRACKET_LIKE "["] [DQ [VarSub r]] [LIT_DBRACKET_LIKE "]="] [DQ [VarSub temp bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}}) transform_ops=[Slice {A Atom NODE_ARITH_WORD {[VarSub 2]}} {A Atom NODE_ARITH_WORD {[VarSub 3]}}]]]} ) ) ) (FunctionDef _map_with_type [] (List (= scope= flags=0 words=[] bindings=[('constructor', {[DQ [VarSub 1]]})]) (Com {[LIT_CHARS shift]} ) (= scope= flags=0 words=[] bindings=[('f', {[DQ [VarSub 1]]})]) (Com {[LIT_CHARS shift]} ) (= scope= flags=0 words=[] bindings=[('items', {[DQ [VarSub ANON bracket_op=(Index {A Atom NODE_ARITH_WORD {[DQ [VarSub 1]]}})]]})]) (Com {[LIT_CHARS shift]} ) (Com {[LIT_CHARS eval]} {[DQ [VarSub constructor]]} ) (= scope= flags=0 words=[] bindings=[('new_seq', {[DQ [VarSub r]]})]) (For v [{[VarSub items]}]) (List (Com {[LIT_CHARS eval]} {[VarSub f transform_ops=[VS_UNARY_DPERCENT {[LIT_CHARS "@*"]}]]} {[DQ [VarSub v]]} {[DQ [VarSub @]]} ) (AndOr OP_AND_IF (DBracket {B1 UNARY_STRING_n {[DQ [VarSub __ERROR]]}}) (AndOr OP_AND_IF (= scope= flags=0 words=[] bindings=[('r', {[SQ ]})]) (Com {[LIT_CHARS return]} {[LIT_CHARS 1]} ) ) ) (Com {[LIT_CHARS _conj] [LIT_OTHER "!"]} {[DQ [VarSub new_seq]]} {[DQ [VarSub r]]} ) ) ) (= scope= flags=0 words=[] bindings=[('r', {[DQ [VarSub new_seq]]})]) ) ) (FunctionDef _map [] (Com {[LIT_CHARS _map_with_type]} {[LIT_CHARS _list]} {[DQ [VarSub @]]} ) ) ) )