Tir File: FILE(0,3447)
  TirClassDefImpl(TirElementType.CLASS_DEF)(0,3447)
    TirModifierClassImpl(TirElementType.MODIFIER_CLASS)(0,5)
      PsiElement(TirTokenType.FINAL)('final')(0,5)
    TirModifierClassImpl(TirElementType.MODIFIER_CLASS)(6,10)
      PsiElement(TirTokenType.ENUM)('enum')(6,10)
    PsiElement(TirTokenType.CLASS)('class')(11,16)
    TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(17,24)
      PsiElement(TirTokenType.IDENTIFIER)('Mahjong')(17,24)
    TirClassExtendsImpl(TirElementType.CLASS_EXTENDS)(25,47)
      PsiElement(TirTokenType.EXTENDS)('extends')(25,32)
      TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(33,47)
        PsiElement(TirTokenType.IDENTIFIER)('java.lang.Enum')(33,47)
    TirClassBodyImpl(TirElementType.CLASS_BODY)(48,3447)
      PsiElement(TirTokenType.LBRACE)('{')(48,49)
      TirClassMemberImpl(TirElementType.CLASS_MEMBER)(55,93)
        TirFieldDefImpl(TirElementType.FIELD_DEF)(55,93)
          TirModifierFieldImpl(TirElementType.MODIFIER_FIELD)(55,61)
            PsiElement(TirTokenType.PUBLIC)('public')(55,61)
          TirModifierFieldImpl(TirElementType.MODIFIER_FIELD)(62,68)
            PsiElement(TirTokenType.STATIC)('static')(62,68)
          TirModifierFieldImpl(TirElementType.MODIFIER_FIELD)(69,74)
            PsiElement(TirTokenType.FINAL)('final')(69,74)
          TirModifierFieldImpl(TirElementType.MODIFIER_FIELD)(75,79)
            PsiElement(TirTokenType.ENUM)('enum')(75,79)
          TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(80,87)
            TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(80,87)
              PsiElement(TirTokenType.IDENTIFIER)('Mahjong')(80,87)
          TirIdentifierFieldListImpl(TirElementType.IDENTIFIER_FIELD_LIST)(88,92)
            TirIdentifierFieldImpl(TirElementType.IDENTIFIER_FIELD)(88,92)
              PsiElement(TirTokenType.IDENTIFIER)('TIAO')(88,92)
          PsiElement(TirTokenType.SEMICOLON)(';')(92,93)
      TirClassMemberImpl(TirElementType.CLASS_MEMBER)(99,136)
        TirFieldDefImpl(TirElementType.FIELD_DEF)(99,136)
          TirModifierFieldImpl(TirElementType.MODIFIER_FIELD)(99,105)
            PsiElement(TirTokenType.PUBLIC)('public')(99,105)
          TirModifierFieldImpl(TirElementType.MODIFIER_FIELD)(106,112)
            PsiElement(TirTokenType.STATIC)('static')(106,112)
          TirModifierFieldImpl(TirElementType.MODIFIER_FIELD)(113,118)
            PsiElement(TirTokenType.FINAL)('final')(113,118)
          TirModifierFieldImpl(TirElementType.MODIFIER_FIELD)(119,123)
            PsiElement(TirTokenType.ENUM)('enum')(119,123)
          TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(124,131)
            TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(124,131)
              PsiElement(TirTokenType.IDENTIFIER)('Mahjong')(124,131)
          TirIdentifierFieldListImpl(TirElementType.IDENTIFIER_FIELD_LIST)(132,135)
            TirIdentifierFieldImpl(TirElementType.IDENTIFIER_FIELD)(132,135)
              PsiElement(TirTokenType.IDENTIFIER)('WAN')(132,135)
          PsiElement(TirTokenType.SEMICOLON)(';')(135,136)
      TirClassMemberImpl(TirElementType.CLASS_MEMBER)(142,180)
        TirFieldDefImpl(TirElementType.FIELD_DEF)(142,180)
          TirModifierFieldImpl(TirElementType.MODIFIER_FIELD)(142,148)
            PsiElement(TirTokenType.PUBLIC)('public')(142,148)
          TirModifierFieldImpl(TirElementType.MODIFIER_FIELD)(149,155)
            PsiElement(TirTokenType.STATIC)('static')(149,155)
          TirModifierFieldImpl(TirElementType.MODIFIER_FIELD)(156,161)
            PsiElement(TirTokenType.FINAL)('final')(156,161)
          TirModifierFieldImpl(TirElementType.MODIFIER_FIELD)(162,166)
            PsiElement(TirTokenType.ENUM)('enum')(162,166)
          TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(167,174)
            TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(167,174)
              PsiElement(TirTokenType.IDENTIFIER)('Mahjong')(167,174)
          TirIdentifierFieldListImpl(TirElementType.IDENTIFIER_FIELD_LIST)(175,179)
            TirIdentifierFieldImpl(TirElementType.IDENTIFIER_FIELD)(175,179)
              PsiElement(TirTokenType.IDENTIFIER)('TONG')(175,179)
          PsiElement(TirTokenType.SEMICOLON)(';')(179,180)
      TirClassMemberImpl(TirElementType.CLASS_MEMBER)(186,224)
        TirFieldDefImpl(TirElementType.FIELD_DEF)(186,224)
          TirModifierFieldImpl(TirElementType.MODIFIER_FIELD)(186,192)
            PsiElement(TirTokenType.PUBLIC)('public')(186,192)
          TirModifierFieldImpl(TirElementType.MODIFIER_FIELD)(193,199)
            PsiElement(TirTokenType.STATIC)('static')(193,199)
          TirModifierFieldImpl(TirElementType.MODIFIER_FIELD)(200,205)
            PsiElement(TirTokenType.FINAL)('final')(200,205)
          TirModifierFieldImpl(TirElementType.MODIFIER_FIELD)(206,210)
            PsiElement(TirTokenType.ENUM)('enum')(206,210)
          TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(211,218)
            TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(211,218)
              PsiElement(TirTokenType.IDENTIFIER)('Mahjong')(211,218)
          TirIdentifierFieldListImpl(TirElementType.IDENTIFIER_FIELD_LIST)(219,223)
            TirIdentifierFieldImpl(TirElementType.IDENTIFIER_FIELD)(219,223)
              PsiElement(TirTokenType.IDENTIFIER)('FENG')(219,223)
          PsiElement(TirTokenType.SEMICOLON)(';')(223,224)
      TirClassMemberImpl(TirElementType.CLASS_MEMBER)(230,268)
        TirFieldDefImpl(TirElementType.FIELD_DEF)(230,268)
          TirModifierFieldImpl(TirElementType.MODIFIER_FIELD)(230,236)
            PsiElement(TirTokenType.PUBLIC)('public')(230,236)
          TirModifierFieldImpl(TirElementType.MODIFIER_FIELD)(237,243)
            PsiElement(TirTokenType.STATIC)('static')(237,243)
          TirModifierFieldImpl(TirElementType.MODIFIER_FIELD)(244,249)
            PsiElement(TirTokenType.FINAL)('final')(244,249)
          TirModifierFieldImpl(TirElementType.MODIFIER_FIELD)(250,254)
            PsiElement(TirTokenType.ENUM)('enum')(250,254)
          TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(255,262)
            TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(255,262)
              PsiElement(TirTokenType.IDENTIFIER)('Mahjong')(255,262)
          TirIdentifierFieldListImpl(TirElementType.IDENTIFIER_FIELD_LIST)(263,267)
            TirIdentifierFieldImpl(TirElementType.IDENTIFIER_FIELD)(263,267)
              PsiElement(TirTokenType.IDENTIFIER)('JIAN')(263,267)
          PsiElement(TirTokenType.SEMICOLON)(';')(267,268)
      TirClassMemberImpl(TirElementType.CLASS_MEMBER)(274,323)
        TirFieldDefImpl(TirElementType.FIELD_DEF)(274,323)
          TirModifierFieldImpl(TirElementType.MODIFIER_FIELD)(274,281)
            PsiElement(TirTokenType.PRIVATE)('private')(274,281)
          TirModifierFieldImpl(TirElementType.MODIFIER_FIELD)(282,288)
            PsiElement(TirTokenType.STATIC)('static')(282,288)
          TirModifierFieldImpl(TirElementType.MODIFIER_FIELD)(289,294)
            PsiElement(TirTokenType.FINAL)('final')(289,294)
          TirModifierFieldImpl(TirElementType.MODIFIER_FIELD)(295,304)
            PsiElement(TirTokenType.SYNTHETIC)('synthetic')(295,304)
          TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(305,314)
            TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(305,312)
              PsiElement(TirTokenType.IDENTIFIER)('Mahjong')(305,312)
            PsiElement(TirTokenType.LBRACKET)('[')(312,313)
            PsiElement(TirTokenType.RBRACKET)(']')(313,314)
          TirIdentifierFieldListImpl(TirElementType.IDENTIFIER_FIELD_LIST)(315,322)
            TirIdentifierFieldImpl(TirElementType.IDENTIFIER_FIELD)(315,322)
              PsiElement(TirTokenType.IDENTIFIER)('$VALUES')(315,322)
          PsiElement(TirTokenType.SEMICOLON)(';')(322,323)
      TirClassMemberImpl(TirElementType.CLASS_MEMBER)(329,634)
        TirMethodDefImpl(TirElementType.METHOD_DEF)(329,634)
          TirModifierMethodImpl(TirElementType.MODIFIER_METHOD)(329,335)
            PsiElement(TirTokenType.PUBLIC)('public')(329,335)
          TirModifierMethodImpl(TirElementType.MODIFIER_METHOD)(336,342)
            PsiElement(TirTokenType.STATIC)('static')(336,342)
          TirMethodSigImpl(TirElementType.METHOD_SIG)(343,361)
            TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(343,352)
              TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(343,350)
                PsiElement(TirTokenType.IDENTIFIER)('Mahjong')(343,350)
              PsiElement(TirTokenType.LBRACKET)('[')(350,351)
              PsiElement(TirTokenType.RBRACKET)(']')(351,352)
            TirIdentifierMethodImpl(TirElementType.IDENTIFIER_METHOD)(353,359)
              PsiElement(TirTokenType.IDENTIFIER)('values')(353,359)
            PsiElement(TirTokenType.LPAREN)('(')(359,360)
            PsiElement(TirTokenType.RPAREN)(')')(360,361)
          TirMethodBodyImpl(TirElementType.METHOD_BODY)(362,634)
            PsiElement(TirTokenType.LBRACE)('{')(362,363)
            TirMethodBodyVarImpl(TirElementType.METHOD_BODY_VAR)(372,391)
              TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(372,381)
                TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(372,379)
                  PsiElement(TirTokenType.IDENTIFIER)('Mahjong')(372,379)
                PsiElement(TirTokenType.LBRACKET)('[')(379,380)
                PsiElement(TirTokenType.RBRACKET)(']')(380,381)
              TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(382,385)
                PsiElement(TirTokenType.IDENTIFIER)('$r0')(382,385)
              PsiElement(TirTokenType.COMMA)(',')(385,386)
              TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(387,390)
                PsiElement(TirTokenType.IDENTIFIER)('$r2')(387,390)
              PsiElement(TirTokenType.SEMICOLON)(';')(390,391)
            TirMethodBodyVarImpl(TirElementType.METHOD_BODY_VAR)(400,421)
              TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(400,416)
                TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(400,416)
                  PsiElement(TirTokenType.IDENTIFIER)('java.lang.Object')(400,416)
              TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(417,420)
                PsiElement(TirTokenType.IDENTIFIER)('$r1')(417,420)
              PsiElement(TirTokenType.SEMICOLON)(';')(420,421)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(430,473)
              PsiElement(TirTokenType.LINE_NUMBER)('[0@L54]')(430,437)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(438,472)
                TirLvalueImpl(TirElementType.LVALUE)(438,441)
                  TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(438,441)
                    PsiElement(TirTokenType.IDENTIFIER)('$r0')(438,441)
                PsiElement(TirTokenType.EQUAL)('=')(442,443)
                TirRvalueImpl(TirElementType.RVALUE)(444,472)
                  TirFieldSigImpl(TirElementType.FIELD_SIG)(444,472)
                    PsiElement(TirTokenType.LANGLE)('<')(444,445)
                    TirFieldRefImpl(TirElementType.FIELD_REF)(445,471)
                      PsiElement(TirTokenType.IDENTIFIER)('Mahjong')(445,452)
                      PsiElement(TirTokenType.COLON)(':')(452,453)
                      TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(454,463)
                        TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(454,461)
                          PsiElement(TirTokenType.IDENTIFIER)('Mahjong')(454,461)
                        PsiElement(TirTokenType.LBRACKET)('[')(461,462)
                        PsiElement(TirTokenType.RBRACKET)(']')(462,463)
                      PsiElement(TirTokenType.IDENTIFIER)('$VALUES')(464,471)
                    PsiElement(TirTokenType.RANGLE)('>')(471,472)
              PsiElement(TirTokenType.SEMICOLON)(';')(472,473)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(482,561)
              PsiElement(TirTokenType.LINE_NUMBER)('[1@L54]')(482,489)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(490,560)
                TirLvalueImpl(TirElementType.LVALUE)(490,493)
                  TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(490,493)
                    PsiElement(TirTokenType.IDENTIFIER)('$r1')(490,493)
                PsiElement(TirTokenType.EQUAL)('=')(494,495)
                TirRvalueImpl(TirElementType.RVALUE)(496,560)
                  TirInvokeExprImpl(TirElementType.INVOKE_EXPR)(496,560)
                    TirInvokeInstanceExprImpl(TirElementType.INVOKE_INSTANCE_EXPR)(496,560)
                      TirInvokeInstanceKeyImpl(TirElementType.INVOKE_INSTANCE_KEY)(496,509)
                        PsiElement(TirTokenType.INVOKE_VIRTUAL)('invokevirtual')(496,509)
                      TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(510,513)
                        PsiElement(TirTokenType.IDENTIFIER)('$r0')(510,513)
                      PsiElement(TirTokenType.DOT)('.')(513,514)
                      TirInvokeMethodRefImpl(TirElementType.INVOKE_METHOD_REF)(514,558)
                        PsiElement(TirTokenType.LANGLE)('<')(514,515)
                        TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(515,531)
                          PsiElement(TirTokenType.IDENTIFIER)('java.lang.Object')(515,531)
                        PsiElement(TirTokenType.COLON)(':')(531,532)
                        TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(533,549)
                          TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(533,549)
                            PsiElement(TirTokenType.IDENTIFIER)('java.lang.Object')(533,549)
                        TirIdentifierMethodImpl(TirElementType.IDENTIFIER_METHOD)(550,555)
                          PsiElement(TirTokenType.IDENTIFIER)('clone')(550,555)
                        PsiElement(TirTokenType.LPAREN)('(')(555,556)
                        PsiElement(TirTokenType.RPAREN)(')')(556,557)
                        PsiElement(TirTokenType.RANGLE)('>')(557,558)
                      PsiElement(TirTokenType.LPAREN)('(')(558,559)
                      PsiElement(TirTokenType.RPAREN)(')')(559,560)
              PsiElement(TirTokenType.SEMICOLON)(';')(560,561)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(570,600)
              PsiElement(TirTokenType.LINE_NUMBER)('[2@L54]')(570,577)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(578,599)
                TirLvalueImpl(TirElementType.LVALUE)(578,581)
                  TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(578,581)
                    PsiElement(TirTokenType.IDENTIFIER)('$r2')(578,581)
                PsiElement(TirTokenType.EQUAL)('=')(582,583)
                TirRvalueImpl(TirElementType.RVALUE)(584,599)
                  PsiElement(TirTokenType.LPAREN)('(')(584,585)
                  TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(585,594)
                    TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(585,592)
                      PsiElement(TirTokenType.IDENTIFIER)('Mahjong')(585,592)
                    PsiElement(TirTokenType.LBRACKET)('[')(592,593)
                    PsiElement(TirTokenType.RBRACKET)(']')(593,594)
                  PsiElement(TirTokenType.RPAREN)(')')(594,595)
                  TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(596,599)
                    PsiElement(TirTokenType.IDENTIFIER)('$r1')(596,599)
              PsiElement(TirTokenType.SEMICOLON)(';')(599,600)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(609,628)
              PsiElement(TirTokenType.LINE_NUMBER)('[3@L54]')(609,616)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(617,627)
                PsiElement(TirTokenType.RETURN)('return')(617,623)
                TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(624,627)
                  PsiElement(TirTokenType.IDENTIFIER)('$r2')(624,627)
              PsiElement(TirTokenType.SEMICOLON)(';')(627,628)
            PsiElement(TirTokenType.RBRACE)('}')(633,634)
      TirClassMemberImpl(TirElementType.CLASS_MEMBER)(640,1025)
        TirMethodDefImpl(TirElementType.METHOD_DEF)(640,1025)
          TirModifierMethodImpl(TirElementType.MODIFIER_METHOD)(640,646)
            PsiElement(TirTokenType.PUBLIC)('public')(640,646)
          TirModifierMethodImpl(TirElementType.MODIFIER_METHOD)(647,653)
            PsiElement(TirTokenType.STATIC)('static')(647,653)
          TirMethodSigImpl(TirElementType.METHOD_SIG)(654,690)
            TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(654,661)
              TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(654,661)
                PsiElement(TirTokenType.IDENTIFIER)('Mahjong')(654,661)
            TirIdentifierMethodImpl(TirElementType.IDENTIFIER_METHOD)(662,669)
              PsiElement(TirTokenType.IDENTIFIER)('valueOf')(662,669)
            PsiElement(TirTokenType.LPAREN)('(')(669,670)
            TirMethodSigParamsImpl(TirElementType.METHOD_SIG_PARAMS)(670,689)
              TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(670,686)
                TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(670,686)
                  PsiElement(TirTokenType.IDENTIFIER)('java.lang.String')(670,686)
              PsiElement(TirTokenType.IDENTIFIER)('r0')(687,689)
            PsiElement(TirTokenType.RPAREN)(')')(689,690)
          TirMethodBodyImpl(TirElementType.METHOD_BODY)(691,1025)
            PsiElement(TirTokenType.LBRACE)('{')(691,692)
            TirMethodBodyVarImpl(TirElementType.METHOD_BODY_VAR)(701,720)
              TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(701,715)
                TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(701,715)
                  PsiElement(TirTokenType.IDENTIFIER)('java.lang.Enum')(701,715)
              TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(716,719)
                PsiElement(TirTokenType.IDENTIFIER)('$r1')(716,719)
              PsiElement(TirTokenType.SEMICOLON)(';')(719,720)
            TirMethodBodyVarImpl(TirElementType.METHOD_BODY_VAR)(729,758)
              TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(729,744)
                TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(729,744)
                  PsiElement(TirTokenType.IDENTIFIER)('java.lang.Class')(729,744)
              TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(745,757)
                PsiElement(TirTokenType.CONSTANT_IDENTIFIER)('%classconst0')(745,757)
              PsiElement(TirTokenType.SEMICOLON)(';')(757,758)
            TirMethodBodyVarImpl(TirElementType.METHOD_BODY_VAR)(767,779)
              TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(767,774)
                TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(767,774)
                  PsiElement(TirTokenType.IDENTIFIER)('Mahjong')(767,774)
              TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(775,778)
                PsiElement(TirTokenType.IDENTIFIER)('$r2')(775,778)
              PsiElement(TirTokenType.SEMICOLON)(';')(778,779)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(788,825)
              PsiElement(TirTokenType.LINE_NUMBER)('[0@L54]')(788,795)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(796,824)
                TirLvalueImpl(TirElementType.LVALUE)(796,808)
                  TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(796,808)
                    PsiElement(TirTokenType.CONSTANT_IDENTIFIER)('%classconst0')(796,808)
                PsiElement(TirTokenType.EQUAL)('=')(809,810)
                TirRvalueImpl(TirElementType.RVALUE)(811,824)
                  TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(811,824)
                    PsiElement(TirTokenType.IDENTIFIER)('Mahjong.class')(811,824)
              PsiElement(TirTokenType.SEMICOLON)(';')(824,825)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(834,954)
              PsiElement(TirTokenType.LINE_NUMBER)('[1@L54]')(834,841)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(842,953)
                TirLvalueImpl(TirElementType.LVALUE)(842,845)
                  TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(842,845)
                    PsiElement(TirTokenType.IDENTIFIER)('$r1')(842,845)
                PsiElement(TirTokenType.EQUAL)('=')(846,847)
                TirRvalueImpl(TirElementType.RVALUE)(848,953)
                  TirInvokeExprImpl(TirElementType.INVOKE_EXPR)(848,953)
                    TirInvokeStaticExprImpl(TirElementType.INVOKE_STATIC_EXPR)(848,953)
                      PsiElement(TirTokenType.INVOKE_STATIC)('invokestatic')(848,860)
                      TirInvokeMethodRefImpl(TirElementType.INVOKE_METHOD_REF)(861,935)
                        PsiElement(TirTokenType.LANGLE)('<')(861,862)
                        TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(862,876)
                          PsiElement(TirTokenType.IDENTIFIER)('java.lang.Enum')(862,876)
                        PsiElement(TirTokenType.COLON)(':')(876,877)
                        TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(878,892)
                          TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(878,892)
                            PsiElement(TirTokenType.IDENTIFIER)('java.lang.Enum')(878,892)
                        TirIdentifierMethodImpl(TirElementType.IDENTIFIER_METHOD)(893,900)
                          PsiElement(TirTokenType.IDENTIFIER)('valueOf')(893,900)
                        PsiElement(TirTokenType.LPAREN)('(')(900,901)
                        TirInvokeArgumentTypeListImpl(TirElementType.INVOKE_ARGUMENT_TYPE_LIST)(901,933)
                          TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(901,916)
                            TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(901,916)
                              PsiElement(TirTokenType.IDENTIFIER)('java.lang.Class')(901,916)
                          PsiElement(TirTokenType.COMMA)(',')(916,917)
                          TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(917,933)
                            TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(917,933)
                              PsiElement(TirTokenType.IDENTIFIER)('java.lang.String')(917,933)
                        PsiElement(TirTokenType.RPAREN)(')')(933,934)
                        PsiElement(TirTokenType.RANGLE)('>')(934,935)
                      PsiElement(TirTokenType.LPAREN)('(')(935,936)
                      TirInvokeArgumentListImpl(TirElementType.INVOKE_ARGUMENT_LIST)(936,952)
                        TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(936,948)
                          PsiElement(TirTokenType.CONSTANT_IDENTIFIER)('%classconst0')(936,948)
                        PsiElement(TirTokenType.COMMA)(',')(948,949)
                        TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(950,952)
                          PsiElement(TirTokenType.IDENTIFIER)('r0')(950,952)
                      PsiElement(TirTokenType.RPAREN)(')')(952,953)
              PsiElement(TirTokenType.SEMICOLON)(';')(953,954)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(963,991)
              PsiElement(TirTokenType.LINE_NUMBER)('[2@L54]')(963,970)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(971,990)
                TirLvalueImpl(TirElementType.LVALUE)(971,974)
                  TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(971,974)
                    PsiElement(TirTokenType.IDENTIFIER)('$r2')(971,974)
                PsiElement(TirTokenType.EQUAL)('=')(975,976)
                TirRvalueImpl(TirElementType.RVALUE)(977,990)
                  PsiElement(TirTokenType.LPAREN)('(')(977,978)
                  TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(978,985)
                    TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(978,985)
                      PsiElement(TirTokenType.IDENTIFIER)('Mahjong')(978,985)
                  PsiElement(TirTokenType.RPAREN)(')')(985,986)
                  TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(987,990)
                    PsiElement(TirTokenType.IDENTIFIER)('$r1')(987,990)
              PsiElement(TirTokenType.SEMICOLON)(';')(990,991)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(1000,1019)
              PsiElement(TirTokenType.LINE_NUMBER)('[3@L54]')(1000,1007)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(1008,1018)
                PsiElement(TirTokenType.RETURN)('return')(1008,1014)
                TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(1015,1018)
                  PsiElement(TirTokenType.IDENTIFIER)('$r2')(1015,1018)
              PsiElement(TirTokenType.SEMICOLON)(';')(1018,1019)
            PsiElement(TirTokenType.RBRACE)('}')(1024,1025)
      TirClassMemberImpl(TirElementType.CLASS_MEMBER)(1031,1208)
        TirMethodDefImpl(TirElementType.METHOD_DEF)(1031,1208)
          TirModifierMethodImpl(TirElementType.MODIFIER_METHOD)(1031,1038)
            PsiElement(TirTokenType.PRIVATE)('private')(1031,1038)
          TirMethodSigImpl(TirElementType.METHOD_SIG)(1039,1079)
            TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(1039,1043)
              TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(1039,1043)
                PsiElement(TirTokenType.IDENTIFIER)('void')(1039,1043)
            TirIdentifierMethodImpl(TirElementType.IDENTIFIER_METHOD)(1044,1050)
              PsiElement(TirTokenType.LANGLE)('<')(1044,1045)
              PsiElement(TirTokenType.IDENTIFIER)('init')(1045,1049)
              PsiElement(TirTokenType.RANGLE)('>')(1049,1050)
            PsiElement(TirTokenType.LPAREN)('(')(1050,1051)
            TirMethodSigParamsImpl(TirElementType.METHOD_SIG_PARAMS)(1051,1078)
              TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(1051,1067)
                TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(1051,1067)
                  PsiElement(TirTokenType.IDENTIFIER)('java.lang.String')(1051,1067)
              PsiElement(TirTokenType.IDENTIFIER)('r1')(1068,1070)
              PsiElement(TirTokenType.COMMA)(',')(1070,1071)
              TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(1072,1075)
                TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(1072,1075)
                  PsiElement(TirTokenType.IDENTIFIER)('int')(1072,1075)
              PsiElement(TirTokenType.IDENTIFIER)('i0')(1076,1078)
            PsiElement(TirTokenType.RPAREN)(')')(1078,1079)
          TirMethodBodyImpl(TirElementType.METHOD_BODY)(1080,1208)
            PsiElement(TirTokenType.LBRACE)('{')(1080,1081)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(1090,1178)
              PsiElement(TirTokenType.LINE_NUMBER)('[0@L54]')(1090,1097)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(1098,1177)
                TirInvokeExprImpl(TirElementType.INVOKE_EXPR)(1098,1177)
                  TirInvokeInstanceExprImpl(TirElementType.INVOKE_INSTANCE_EXPR)(1098,1177)
                    TirInvokeInstanceKeyImpl(TirElementType.INVOKE_INSTANCE_KEY)(1098,1111)
                      PsiElement(TirTokenType.INVOKE_SPECIAL)('invokespecial')(1098,1111)
                    TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(1112,1117)
                      PsiElement(TirTokenType.CONSTANT_IDENTIFIER)('%this')(1112,1117)
                    PsiElement(TirTokenType.DOT)('.')(1117,1118)
                    TirInvokeMethodRefImpl(TirElementType.INVOKE_METHOD_REF)(1118,1169)
                      PsiElement(TirTokenType.LANGLE)('<')(1118,1119)
                      TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(1119,1133)
                        PsiElement(TirTokenType.IDENTIFIER)('java.lang.Enum')(1119,1133)
                      PsiElement(TirTokenType.COLON)(':')(1133,1134)
                      TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(1135,1139)
                        TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(1135,1139)
                          PsiElement(TirTokenType.IDENTIFIER)('void')(1135,1139)
                      TirIdentifierMethodImpl(TirElementType.IDENTIFIER_METHOD)(1140,1146)
                        PsiElement(TirTokenType.LANGLE)('<')(1140,1141)
                        PsiElement(TirTokenType.IDENTIFIER)('init')(1141,1145)
                        PsiElement(TirTokenType.RANGLE)('>')(1145,1146)
                      PsiElement(TirTokenType.LPAREN)('(')(1146,1147)
                      TirInvokeArgumentTypeListImpl(TirElementType.INVOKE_ARGUMENT_TYPE_LIST)(1147,1167)
                        TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(1147,1163)
                          TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(1147,1163)
                            PsiElement(TirTokenType.IDENTIFIER)('java.lang.String')(1147,1163)
                        PsiElement(TirTokenType.COMMA)(',')(1163,1164)
                        TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(1164,1167)
                          TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(1164,1167)
                            PsiElement(TirTokenType.IDENTIFIER)('int')(1164,1167)
                      PsiElement(TirTokenType.RPAREN)(')')(1167,1168)
                      PsiElement(TirTokenType.RANGLE)('>')(1168,1169)
                    PsiElement(TirTokenType.LPAREN)('(')(1169,1170)
                    TirInvokeArgumentListImpl(TirElementType.INVOKE_ARGUMENT_LIST)(1170,1176)
                      TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(1170,1172)
                        PsiElement(TirTokenType.IDENTIFIER)('r1')(1170,1172)
                      PsiElement(TirTokenType.COMMA)(',')(1172,1173)
                      TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(1174,1176)
                        PsiElement(TirTokenType.IDENTIFIER)('i0')(1174,1176)
                    PsiElement(TirTokenType.RPAREN)(')')(1176,1177)
              PsiElement(TirTokenType.SEMICOLON)(';')(1177,1178)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(1187,1202)
              PsiElement(TirTokenType.LINE_NUMBER)('[1@L54]')(1187,1194)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(1195,1201)
                PsiElement(TirTokenType.RETURN)('return')(1195,1201)
              PsiElement(TirTokenType.SEMICOLON)(';')(1201,1202)
            PsiElement(TirTokenType.RBRACE)('}')(1207,1208)
      TirClassMemberImpl(TirElementType.CLASS_MEMBER)(1214,3444)
        TirMethodDefImpl(TirElementType.METHOD_DEF)(1214,3444)
          TirModifierMethodImpl(TirElementType.MODIFIER_METHOD)(1214,1220)
            PsiElement(TirTokenType.STATIC)('static')(1214,1220)
          TirMethodSigImpl(TirElementType.METHOD_SIG)(1221,1236)
            TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(1221,1225)
              TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(1221,1225)
                PsiElement(TirTokenType.IDENTIFIER)('void')(1221,1225)
            TirIdentifierMethodImpl(TirElementType.IDENTIFIER_METHOD)(1226,1234)
              PsiElement(TirTokenType.LANGLE)('<')(1226,1227)
              PsiElement(TirTokenType.IDENTIFIER)('clinit')(1227,1233)
              PsiElement(TirTokenType.RANGLE)('>')(1233,1234)
            PsiElement(TirTokenType.LPAREN)('(')(1234,1235)
            PsiElement(TirTokenType.RPAREN)(')')(1235,1236)
          TirMethodBodyImpl(TirElementType.METHOD_BODY)(1237,3444)
            PsiElement(TirTokenType.LBRACE)('{')(1237,1238)
            TirMethodBodyVarImpl(TirElementType.METHOD_BODY_VAR)(1247,1305)
              TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(1247,1254)
                TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(1247,1254)
                  PsiElement(TirTokenType.IDENTIFIER)('Mahjong')(1247,1254)
              TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(1255,1258)
                PsiElement(TirTokenType.IDENTIFIER)('$r0')(1255,1258)
              PsiElement(TirTokenType.COMMA)(',')(1258,1259)
              TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(1260,1263)
                PsiElement(TirTokenType.IDENTIFIER)('$r1')(1260,1263)
              PsiElement(TirTokenType.COMMA)(',')(1263,1264)
              TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(1265,1268)
                PsiElement(TirTokenType.IDENTIFIER)('$r2')(1265,1268)
              PsiElement(TirTokenType.COMMA)(',')(1268,1269)
              TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(1270,1273)
                PsiElement(TirTokenType.IDENTIFIER)('$r3')(1270,1273)
              PsiElement(TirTokenType.COMMA)(',')(1273,1274)
              TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(1275,1278)
                PsiElement(TirTokenType.IDENTIFIER)('$r4')(1275,1278)
              PsiElement(TirTokenType.COMMA)(',')(1278,1279)
              TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(1280,1283)
                PsiElement(TirTokenType.IDENTIFIER)('$r6')(1280,1283)
              PsiElement(TirTokenType.COMMA)(',')(1283,1284)
              TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(1285,1288)
                PsiElement(TirTokenType.IDENTIFIER)('$r7')(1285,1288)
              PsiElement(TirTokenType.COMMA)(',')(1288,1289)
              TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(1290,1293)
                PsiElement(TirTokenType.IDENTIFIER)('$r8')(1290,1293)
              PsiElement(TirTokenType.COMMA)(',')(1293,1294)
              TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(1295,1298)
                PsiElement(TirTokenType.IDENTIFIER)('$r9')(1295,1298)
              PsiElement(TirTokenType.COMMA)(',')(1298,1299)
              TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(1300,1304)
                PsiElement(TirTokenType.IDENTIFIER)('$r10')(1300,1304)
              PsiElement(TirTokenType.SEMICOLON)(';')(1304,1305)
            TirMethodBodyVarImpl(TirElementType.METHOD_BODY_VAR)(1314,1405)
              TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(1314,1330)
                TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(1314,1330)
                  PsiElement(TirTokenType.IDENTIFIER)('java.lang.String')(1314,1330)
              TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(1331,1344)
                PsiElement(TirTokenType.CONSTANT_IDENTIFIER)('%stringconst0')(1331,1344)
              PsiElement(TirTokenType.COMMA)(',')(1344,1345)
              TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(1346,1359)
                PsiElement(TirTokenType.CONSTANT_IDENTIFIER)('%stringconst2')(1346,1359)
              PsiElement(TirTokenType.COMMA)(',')(1359,1360)
              TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(1361,1374)
                PsiElement(TirTokenType.CONSTANT_IDENTIFIER)('%stringconst4')(1361,1374)
              PsiElement(TirTokenType.COMMA)(',')(1374,1375)
              TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(1376,1389)
                PsiElement(TirTokenType.CONSTANT_IDENTIFIER)('%stringconst6')(1376,1389)
              PsiElement(TirTokenType.COMMA)(',')(1389,1390)
              TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(1391,1404)
                PsiElement(TirTokenType.CONSTANT_IDENTIFIER)('%stringconst8')(1391,1404)
              PsiElement(TirTokenType.SEMICOLON)(';')(1404,1405)
            TirMethodBodyVarImpl(TirElementType.METHOD_BODY_VAR)(1414,1490)
              TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(1414,1417)
                TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(1414,1417)
                  PsiElement(TirTokenType.IDENTIFIER)('int')(1414,1417)
              TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(1418,1428)
                PsiElement(TirTokenType.CONSTANT_IDENTIFIER)('%intconst1')(1418,1428)
              PsiElement(TirTokenType.COMMA)(',')(1428,1429)
              TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(1430,1440)
                PsiElement(TirTokenType.CONSTANT_IDENTIFIER)('%intconst3')(1430,1440)
              PsiElement(TirTokenType.COMMA)(',')(1440,1441)
              TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(1442,1452)
                PsiElement(TirTokenType.CONSTANT_IDENTIFIER)('%intconst5')(1442,1452)
              PsiElement(TirTokenType.COMMA)(',')(1452,1453)
              TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(1454,1464)
                PsiElement(TirTokenType.CONSTANT_IDENTIFIER)('%intconst7')(1454,1464)
              PsiElement(TirTokenType.COMMA)(',')(1464,1465)
              TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(1466,1476)
                PsiElement(TirTokenType.CONSTANT_IDENTIFIER)('%intconst9')(1466,1476)
              PsiElement(TirTokenType.COMMA)(',')(1476,1477)
              TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(1478,1489)
                PsiElement(TirTokenType.CONSTANT_IDENTIFIER)('%intconst10')(1478,1489)
              PsiElement(TirTokenType.SEMICOLON)(';')(1489,1490)
            TirMethodBodyVarImpl(TirElementType.METHOD_BODY_VAR)(1499,1513)
              TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(1499,1508)
                TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(1499,1506)
                  PsiElement(TirTokenType.IDENTIFIER)('Mahjong')(1499,1506)
                PsiElement(TirTokenType.LBRACKET)('[')(1506,1507)
                PsiElement(TirTokenType.RBRACKET)(']')(1507,1508)
              TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(1509,1512)
                PsiElement(TirTokenType.IDENTIFIER)('$r5')(1509,1512)
              PsiElement(TirTokenType.SEMICOLON)(';')(1512,1513)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(1522,1548)
              PsiElement(TirTokenType.LINE_NUMBER)('[0@L55]')(1522,1529)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(1530,1547)
                TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(1530,1533)
                  PsiElement(TirTokenType.IDENTIFIER)('$r0')(1530,1533)
                PsiElement(TirTokenType.EQUAL)('=')(1534,1535)
                PsiElement(TirTokenType.NEW)('new')(1536,1539)
                TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(1540,1547)
                  TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(1540,1547)
                    PsiElement(TirTokenType.IDENTIFIER)('Mahjong')(1540,1547)
              PsiElement(TirTokenType.SEMICOLON)(';')(1547,1548)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(1557,1588)
              PsiElement(TirTokenType.LINE_NUMBER)('[1@L55]')(1557,1564)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(1565,1587)
                TirLvalueImpl(TirElementType.LVALUE)(1565,1578)
                  TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(1565,1578)
                    PsiElement(TirTokenType.CONSTANT_IDENTIFIER)('%stringconst0')(1565,1578)
                PsiElement(TirTokenType.EQUAL)('=')(1579,1580)
                TirRvalueImpl(TirElementType.RVALUE)(1581,1587)
                  TirReferenceLiteralImpl(TirElementType.REFERENCE_LITERAL)(1581,1587)
                    TirStringLiteralImpl(TirElementType.STRING_LITERAL)(1581,1587)
                      PsiElement(TirTokenType.STRING)('"TIAO"')(1581,1587)
              PsiElement(TirTokenType.SEMICOLON)(';')(1587,1588)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(1597,1620)
              PsiElement(TirTokenType.LINE_NUMBER)('[2@L55]')(1597,1604)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(1605,1619)
                TirLvalueImpl(TirElementType.LVALUE)(1605,1615)
                  TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(1605,1615)
                    PsiElement(TirTokenType.CONSTANT_IDENTIFIER)('%intconst1')(1605,1615)
                PsiElement(TirTokenType.EQUAL)('=')(1616,1617)
                TirRvalueImpl(TirElementType.RVALUE)(1618,1619)
                  TirNumberLiteralImpl(TirElementType.NUMBER_LITERAL)(1618,1619)
                    TirIntegerLiteralImpl(TirElementType.INTEGER_LITERAL)(1618,1619)
                      PsiElement(TirTokenType.INTEGER)('0')(1618,1619)
              PsiElement(TirTokenType.SEMICOLON)(';')(1619,1620)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(1629,1727)
              PsiElement(TirTokenType.LINE_NUMBER)('[3@L55]')(1629,1636)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(1637,1726)
                TirInvokeExprImpl(TirElementType.INVOKE_EXPR)(1637,1726)
                  TirInvokeInstanceExprImpl(TirElementType.INVOKE_INSTANCE_EXPR)(1637,1726)
                    TirInvokeInstanceKeyImpl(TirElementType.INVOKE_INSTANCE_KEY)(1637,1650)
                      PsiElement(TirTokenType.INVOKE_SPECIAL)('invokespecial')(1637,1650)
                    TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(1651,1654)
                      PsiElement(TirTokenType.IDENTIFIER)('$r0')(1651,1654)
                    PsiElement(TirTokenType.DOT)('.')(1654,1655)
                    TirInvokeMethodRefImpl(TirElementType.INVOKE_METHOD_REF)(1655,1699)
                      PsiElement(TirTokenType.LANGLE)('<')(1655,1656)
                      TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(1656,1663)
                        PsiElement(TirTokenType.IDENTIFIER)('Mahjong')(1656,1663)
                      PsiElement(TirTokenType.COLON)(':')(1663,1664)
                      TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(1665,1669)
                        TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(1665,1669)
                          PsiElement(TirTokenType.IDENTIFIER)('void')(1665,1669)
                      TirIdentifierMethodImpl(TirElementType.IDENTIFIER_METHOD)(1670,1676)
                        PsiElement(TirTokenType.LANGLE)('<')(1670,1671)
                        PsiElement(TirTokenType.IDENTIFIER)('init')(1671,1675)
                        PsiElement(TirTokenType.RANGLE)('>')(1675,1676)
                      PsiElement(TirTokenType.LPAREN)('(')(1676,1677)
                      TirInvokeArgumentTypeListImpl(TirElementType.INVOKE_ARGUMENT_TYPE_LIST)(1677,1697)
                        TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(1677,1693)
                          TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(1677,1693)
                            PsiElement(TirTokenType.IDENTIFIER)('java.lang.String')(1677,1693)
                        PsiElement(TirTokenType.COMMA)(',')(1693,1694)
                        TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(1694,1697)
                          TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(1694,1697)
                            PsiElement(TirTokenType.IDENTIFIER)('int')(1694,1697)
                      PsiElement(TirTokenType.RPAREN)(')')(1697,1698)
                      PsiElement(TirTokenType.RANGLE)('>')(1698,1699)
                    PsiElement(TirTokenType.LPAREN)('(')(1699,1700)
                    TirInvokeArgumentListImpl(TirElementType.INVOKE_ARGUMENT_LIST)(1700,1725)
                      TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(1700,1713)
                        PsiElement(TirTokenType.CONSTANT_IDENTIFIER)('%stringconst0')(1700,1713)
                      PsiElement(TirTokenType.COMMA)(',')(1713,1714)
                      TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(1715,1725)
                        PsiElement(TirTokenType.CONSTANT_IDENTIFIER)('%intconst1')(1715,1725)
                    PsiElement(TirTokenType.RPAREN)(')')(1725,1726)
              PsiElement(TirTokenType.SEMICOLON)(';')(1726,1727)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(1736,1774)
              PsiElement(TirTokenType.LINE_NUMBER)('[4@L55]')(1736,1743)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(1744,1773)
                TirLvalueImpl(TirElementType.LVALUE)(1744,1767)
                  TirFieldSigImpl(TirElementType.FIELD_SIG)(1744,1767)
                    PsiElement(TirTokenType.LANGLE)('<')(1744,1745)
                    TirFieldRefImpl(TirElementType.FIELD_REF)(1745,1766)
                      PsiElement(TirTokenType.IDENTIFIER)('Mahjong')(1745,1752)
                      PsiElement(TirTokenType.COLON)(':')(1752,1753)
                      TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(1754,1761)
                        TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(1754,1761)
                          PsiElement(TirTokenType.IDENTIFIER)('Mahjong')(1754,1761)
                      PsiElement(TirTokenType.IDENTIFIER)('TIAO')(1762,1766)
                    PsiElement(TirTokenType.RANGLE)('>')(1766,1767)
                PsiElement(TirTokenType.EQUAL)('=')(1768,1769)
                TirRvalueImpl(TirElementType.RVALUE)(1770,1773)
                  TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(1770,1773)
                    PsiElement(TirTokenType.IDENTIFIER)('$r0')(1770,1773)
              PsiElement(TirTokenType.SEMICOLON)(';')(1773,1774)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(1783,1809)
              PsiElement(TirTokenType.LINE_NUMBER)('[5@L55]')(1783,1790)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(1791,1808)
                TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(1791,1794)
                  PsiElement(TirTokenType.IDENTIFIER)('$r1')(1791,1794)
                PsiElement(TirTokenType.EQUAL)('=')(1795,1796)
                PsiElement(TirTokenType.NEW)('new')(1797,1800)
                TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(1801,1808)
                  TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(1801,1808)
                    PsiElement(TirTokenType.IDENTIFIER)('Mahjong')(1801,1808)
              PsiElement(TirTokenType.SEMICOLON)(';')(1808,1809)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(1818,1848)
              PsiElement(TirTokenType.LINE_NUMBER)('[6@L55]')(1818,1825)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(1826,1847)
                TirLvalueImpl(TirElementType.LVALUE)(1826,1839)
                  TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(1826,1839)
                    PsiElement(TirTokenType.CONSTANT_IDENTIFIER)('%stringconst2')(1826,1839)
                PsiElement(TirTokenType.EQUAL)('=')(1840,1841)
                TirRvalueImpl(TirElementType.RVALUE)(1842,1847)
                  TirReferenceLiteralImpl(TirElementType.REFERENCE_LITERAL)(1842,1847)
                    TirStringLiteralImpl(TirElementType.STRING_LITERAL)(1842,1847)
                      PsiElement(TirTokenType.STRING)('"WAN"')(1842,1847)
              PsiElement(TirTokenType.SEMICOLON)(';')(1847,1848)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(1857,1880)
              PsiElement(TirTokenType.LINE_NUMBER)('[7@L55]')(1857,1864)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(1865,1879)
                TirLvalueImpl(TirElementType.LVALUE)(1865,1875)
                  TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(1865,1875)
                    PsiElement(TirTokenType.CONSTANT_IDENTIFIER)('%intconst3')(1865,1875)
                PsiElement(TirTokenType.EQUAL)('=')(1876,1877)
                TirRvalueImpl(TirElementType.RVALUE)(1878,1879)
                  TirNumberLiteralImpl(TirElementType.NUMBER_LITERAL)(1878,1879)
                    TirIntegerLiteralImpl(TirElementType.INTEGER_LITERAL)(1878,1879)
                      PsiElement(TirTokenType.INTEGER)('1')(1878,1879)
              PsiElement(TirTokenType.SEMICOLON)(';')(1879,1880)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(1889,1987)
              PsiElement(TirTokenType.LINE_NUMBER)('[8@L55]')(1889,1896)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(1897,1986)
                TirInvokeExprImpl(TirElementType.INVOKE_EXPR)(1897,1986)
                  TirInvokeInstanceExprImpl(TirElementType.INVOKE_INSTANCE_EXPR)(1897,1986)
                    TirInvokeInstanceKeyImpl(TirElementType.INVOKE_INSTANCE_KEY)(1897,1910)
                      PsiElement(TirTokenType.INVOKE_SPECIAL)('invokespecial')(1897,1910)
                    TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(1911,1914)
                      PsiElement(TirTokenType.IDENTIFIER)('$r1')(1911,1914)
                    PsiElement(TirTokenType.DOT)('.')(1914,1915)
                    TirInvokeMethodRefImpl(TirElementType.INVOKE_METHOD_REF)(1915,1959)
                      PsiElement(TirTokenType.LANGLE)('<')(1915,1916)
                      TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(1916,1923)
                        PsiElement(TirTokenType.IDENTIFIER)('Mahjong')(1916,1923)
                      PsiElement(TirTokenType.COLON)(':')(1923,1924)
                      TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(1925,1929)
                        TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(1925,1929)
                          PsiElement(TirTokenType.IDENTIFIER)('void')(1925,1929)
                      TirIdentifierMethodImpl(TirElementType.IDENTIFIER_METHOD)(1930,1936)
                        PsiElement(TirTokenType.LANGLE)('<')(1930,1931)
                        PsiElement(TirTokenType.IDENTIFIER)('init')(1931,1935)
                        PsiElement(TirTokenType.RANGLE)('>')(1935,1936)
                      PsiElement(TirTokenType.LPAREN)('(')(1936,1937)
                      TirInvokeArgumentTypeListImpl(TirElementType.INVOKE_ARGUMENT_TYPE_LIST)(1937,1957)
                        TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(1937,1953)
                          TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(1937,1953)
                            PsiElement(TirTokenType.IDENTIFIER)('java.lang.String')(1937,1953)
                        PsiElement(TirTokenType.COMMA)(',')(1953,1954)
                        TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(1954,1957)
                          TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(1954,1957)
                            PsiElement(TirTokenType.IDENTIFIER)('int')(1954,1957)
                      PsiElement(TirTokenType.RPAREN)(')')(1957,1958)
                      PsiElement(TirTokenType.RANGLE)('>')(1958,1959)
                    PsiElement(TirTokenType.LPAREN)('(')(1959,1960)
                    TirInvokeArgumentListImpl(TirElementType.INVOKE_ARGUMENT_LIST)(1960,1985)
                      TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(1960,1973)
                        PsiElement(TirTokenType.CONSTANT_IDENTIFIER)('%stringconst2')(1960,1973)
                      PsiElement(TirTokenType.COMMA)(',')(1973,1974)
                      TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(1975,1985)
                        PsiElement(TirTokenType.CONSTANT_IDENTIFIER)('%intconst3')(1975,1985)
                    PsiElement(TirTokenType.RPAREN)(')')(1985,1986)
              PsiElement(TirTokenType.SEMICOLON)(';')(1986,1987)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(1996,2033)
              PsiElement(TirTokenType.LINE_NUMBER)('[9@L55]')(1996,2003)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(2004,2032)
                TirLvalueImpl(TirElementType.LVALUE)(2004,2026)
                  TirFieldSigImpl(TirElementType.FIELD_SIG)(2004,2026)
                    PsiElement(TirTokenType.LANGLE)('<')(2004,2005)
                    TirFieldRefImpl(TirElementType.FIELD_REF)(2005,2025)
                      PsiElement(TirTokenType.IDENTIFIER)('Mahjong')(2005,2012)
                      PsiElement(TirTokenType.COLON)(':')(2012,2013)
                      TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(2014,2021)
                        TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(2014,2021)
                          PsiElement(TirTokenType.IDENTIFIER)('Mahjong')(2014,2021)
                      PsiElement(TirTokenType.IDENTIFIER)('WAN')(2022,2025)
                    PsiElement(TirTokenType.RANGLE)('>')(2025,2026)
                PsiElement(TirTokenType.EQUAL)('=')(2027,2028)
                TirRvalueImpl(TirElementType.RVALUE)(2029,2032)
                  TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(2029,2032)
                    PsiElement(TirTokenType.IDENTIFIER)('$r1')(2029,2032)
              PsiElement(TirTokenType.SEMICOLON)(';')(2032,2033)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(2042,2069)
              PsiElement(TirTokenType.LINE_NUMBER)('[10@L55]')(2042,2050)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(2051,2068)
                TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(2051,2054)
                  PsiElement(TirTokenType.IDENTIFIER)('$r2')(2051,2054)
                PsiElement(TirTokenType.EQUAL)('=')(2055,2056)
                PsiElement(TirTokenType.NEW)('new')(2057,2060)
                TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(2061,2068)
                  TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(2061,2068)
                    PsiElement(TirTokenType.IDENTIFIER)('Mahjong')(2061,2068)
              PsiElement(TirTokenType.SEMICOLON)(';')(2068,2069)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(2078,2110)
              PsiElement(TirTokenType.LINE_NUMBER)('[11@L55]')(2078,2086)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(2087,2109)
                TirLvalueImpl(TirElementType.LVALUE)(2087,2100)
                  TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(2087,2100)
                    PsiElement(TirTokenType.CONSTANT_IDENTIFIER)('%stringconst4')(2087,2100)
                PsiElement(TirTokenType.EQUAL)('=')(2101,2102)
                TirRvalueImpl(TirElementType.RVALUE)(2103,2109)
                  TirReferenceLiteralImpl(TirElementType.REFERENCE_LITERAL)(2103,2109)
                    TirStringLiteralImpl(TirElementType.STRING_LITERAL)(2103,2109)
                      PsiElement(TirTokenType.STRING)('"TONG"')(2103,2109)
              PsiElement(TirTokenType.SEMICOLON)(';')(2109,2110)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(2119,2143)
              PsiElement(TirTokenType.LINE_NUMBER)('[12@L55]')(2119,2127)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(2128,2142)
                TirLvalueImpl(TirElementType.LVALUE)(2128,2138)
                  TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(2128,2138)
                    PsiElement(TirTokenType.CONSTANT_IDENTIFIER)('%intconst5')(2128,2138)
                PsiElement(TirTokenType.EQUAL)('=')(2139,2140)
                TirRvalueImpl(TirElementType.RVALUE)(2141,2142)
                  TirNumberLiteralImpl(TirElementType.NUMBER_LITERAL)(2141,2142)
                    TirIntegerLiteralImpl(TirElementType.INTEGER_LITERAL)(2141,2142)
                      PsiElement(TirTokenType.INTEGER)('2')(2141,2142)
              PsiElement(TirTokenType.SEMICOLON)(';')(2142,2143)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(2152,2251)
              PsiElement(TirTokenType.LINE_NUMBER)('[13@L55]')(2152,2160)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(2161,2250)
                TirInvokeExprImpl(TirElementType.INVOKE_EXPR)(2161,2250)
                  TirInvokeInstanceExprImpl(TirElementType.INVOKE_INSTANCE_EXPR)(2161,2250)
                    TirInvokeInstanceKeyImpl(TirElementType.INVOKE_INSTANCE_KEY)(2161,2174)
                      PsiElement(TirTokenType.INVOKE_SPECIAL)('invokespecial')(2161,2174)
                    TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(2175,2178)
                      PsiElement(TirTokenType.IDENTIFIER)('$r2')(2175,2178)
                    PsiElement(TirTokenType.DOT)('.')(2178,2179)
                    TirInvokeMethodRefImpl(TirElementType.INVOKE_METHOD_REF)(2179,2223)
                      PsiElement(TirTokenType.LANGLE)('<')(2179,2180)
                      TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(2180,2187)
                        PsiElement(TirTokenType.IDENTIFIER)('Mahjong')(2180,2187)
                      PsiElement(TirTokenType.COLON)(':')(2187,2188)
                      TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(2189,2193)
                        TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(2189,2193)
                          PsiElement(TirTokenType.IDENTIFIER)('void')(2189,2193)
                      TirIdentifierMethodImpl(TirElementType.IDENTIFIER_METHOD)(2194,2200)
                        PsiElement(TirTokenType.LANGLE)('<')(2194,2195)
                        PsiElement(TirTokenType.IDENTIFIER)('init')(2195,2199)
                        PsiElement(TirTokenType.RANGLE)('>')(2199,2200)
                      PsiElement(TirTokenType.LPAREN)('(')(2200,2201)
                      TirInvokeArgumentTypeListImpl(TirElementType.INVOKE_ARGUMENT_TYPE_LIST)(2201,2221)
                        TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(2201,2217)
                          TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(2201,2217)
                            PsiElement(TirTokenType.IDENTIFIER)('java.lang.String')(2201,2217)
                        PsiElement(TirTokenType.COMMA)(',')(2217,2218)
                        TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(2218,2221)
                          TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(2218,2221)
                            PsiElement(TirTokenType.IDENTIFIER)('int')(2218,2221)
                      PsiElement(TirTokenType.RPAREN)(')')(2221,2222)
                      PsiElement(TirTokenType.RANGLE)('>')(2222,2223)
                    PsiElement(TirTokenType.LPAREN)('(')(2223,2224)
                    TirInvokeArgumentListImpl(TirElementType.INVOKE_ARGUMENT_LIST)(2224,2249)
                      TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(2224,2237)
                        PsiElement(TirTokenType.CONSTANT_IDENTIFIER)('%stringconst4')(2224,2237)
                      PsiElement(TirTokenType.COMMA)(',')(2237,2238)
                      TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(2239,2249)
                        PsiElement(TirTokenType.CONSTANT_IDENTIFIER)('%intconst5')(2239,2249)
                    PsiElement(TirTokenType.RPAREN)(')')(2249,2250)
              PsiElement(TirTokenType.SEMICOLON)(';')(2250,2251)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(2260,2299)
              PsiElement(TirTokenType.LINE_NUMBER)('[14@L55]')(2260,2268)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(2269,2298)
                TirLvalueImpl(TirElementType.LVALUE)(2269,2292)
                  TirFieldSigImpl(TirElementType.FIELD_SIG)(2269,2292)
                    PsiElement(TirTokenType.LANGLE)('<')(2269,2270)
                    TirFieldRefImpl(TirElementType.FIELD_REF)(2270,2291)
                      PsiElement(TirTokenType.IDENTIFIER)('Mahjong')(2270,2277)
                      PsiElement(TirTokenType.COLON)(':')(2277,2278)
                      TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(2279,2286)
                        TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(2279,2286)
                          PsiElement(TirTokenType.IDENTIFIER)('Mahjong')(2279,2286)
                      PsiElement(TirTokenType.IDENTIFIER)('TONG')(2287,2291)
                    PsiElement(TirTokenType.RANGLE)('>')(2291,2292)
                PsiElement(TirTokenType.EQUAL)('=')(2293,2294)
                TirRvalueImpl(TirElementType.RVALUE)(2295,2298)
                  TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(2295,2298)
                    PsiElement(TirTokenType.IDENTIFIER)('$r2')(2295,2298)
              PsiElement(TirTokenType.SEMICOLON)(';')(2298,2299)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(2308,2335)
              PsiElement(TirTokenType.LINE_NUMBER)('[15@L55]')(2308,2316)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(2317,2334)
                TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(2317,2320)
                  PsiElement(TirTokenType.IDENTIFIER)('$r3')(2317,2320)
                PsiElement(TirTokenType.EQUAL)('=')(2321,2322)
                PsiElement(TirTokenType.NEW)('new')(2323,2326)
                TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(2327,2334)
                  TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(2327,2334)
                    PsiElement(TirTokenType.IDENTIFIER)('Mahjong')(2327,2334)
              PsiElement(TirTokenType.SEMICOLON)(';')(2334,2335)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(2344,2376)
              PsiElement(TirTokenType.LINE_NUMBER)('[16@L55]')(2344,2352)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(2353,2375)
                TirLvalueImpl(TirElementType.LVALUE)(2353,2366)
                  TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(2353,2366)
                    PsiElement(TirTokenType.CONSTANT_IDENTIFIER)('%stringconst6')(2353,2366)
                PsiElement(TirTokenType.EQUAL)('=')(2367,2368)
                TirRvalueImpl(TirElementType.RVALUE)(2369,2375)
                  TirReferenceLiteralImpl(TirElementType.REFERENCE_LITERAL)(2369,2375)
                    TirStringLiteralImpl(TirElementType.STRING_LITERAL)(2369,2375)
                      PsiElement(TirTokenType.STRING)('"FENG"')(2369,2375)
              PsiElement(TirTokenType.SEMICOLON)(';')(2375,2376)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(2385,2409)
              PsiElement(TirTokenType.LINE_NUMBER)('[17@L55]')(2385,2393)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(2394,2408)
                TirLvalueImpl(TirElementType.LVALUE)(2394,2404)
                  TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(2394,2404)
                    PsiElement(TirTokenType.CONSTANT_IDENTIFIER)('%intconst7')(2394,2404)
                PsiElement(TirTokenType.EQUAL)('=')(2405,2406)
                TirRvalueImpl(TirElementType.RVALUE)(2407,2408)
                  TirNumberLiteralImpl(TirElementType.NUMBER_LITERAL)(2407,2408)
                    TirIntegerLiteralImpl(TirElementType.INTEGER_LITERAL)(2407,2408)
                      PsiElement(TirTokenType.INTEGER)('3')(2407,2408)
              PsiElement(TirTokenType.SEMICOLON)(';')(2408,2409)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(2418,2517)
              PsiElement(TirTokenType.LINE_NUMBER)('[18@L55]')(2418,2426)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(2427,2516)
                TirInvokeExprImpl(TirElementType.INVOKE_EXPR)(2427,2516)
                  TirInvokeInstanceExprImpl(TirElementType.INVOKE_INSTANCE_EXPR)(2427,2516)
                    TirInvokeInstanceKeyImpl(TirElementType.INVOKE_INSTANCE_KEY)(2427,2440)
                      PsiElement(TirTokenType.INVOKE_SPECIAL)('invokespecial')(2427,2440)
                    TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(2441,2444)
                      PsiElement(TirTokenType.IDENTIFIER)('$r3')(2441,2444)
                    PsiElement(TirTokenType.DOT)('.')(2444,2445)
                    TirInvokeMethodRefImpl(TirElementType.INVOKE_METHOD_REF)(2445,2489)
                      PsiElement(TirTokenType.LANGLE)('<')(2445,2446)
                      TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(2446,2453)
                        PsiElement(TirTokenType.IDENTIFIER)('Mahjong')(2446,2453)
                      PsiElement(TirTokenType.COLON)(':')(2453,2454)
                      TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(2455,2459)
                        TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(2455,2459)
                          PsiElement(TirTokenType.IDENTIFIER)('void')(2455,2459)
                      TirIdentifierMethodImpl(TirElementType.IDENTIFIER_METHOD)(2460,2466)
                        PsiElement(TirTokenType.LANGLE)('<')(2460,2461)
                        PsiElement(TirTokenType.IDENTIFIER)('init')(2461,2465)
                        PsiElement(TirTokenType.RANGLE)('>')(2465,2466)
                      PsiElement(TirTokenType.LPAREN)('(')(2466,2467)
                      TirInvokeArgumentTypeListImpl(TirElementType.INVOKE_ARGUMENT_TYPE_LIST)(2467,2487)
                        TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(2467,2483)
                          TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(2467,2483)
                            PsiElement(TirTokenType.IDENTIFIER)('java.lang.String')(2467,2483)
                        PsiElement(TirTokenType.COMMA)(',')(2483,2484)
                        TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(2484,2487)
                          TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(2484,2487)
                            PsiElement(TirTokenType.IDENTIFIER)('int')(2484,2487)
                      PsiElement(TirTokenType.RPAREN)(')')(2487,2488)
                      PsiElement(TirTokenType.RANGLE)('>')(2488,2489)
                    PsiElement(TirTokenType.LPAREN)('(')(2489,2490)
                    TirInvokeArgumentListImpl(TirElementType.INVOKE_ARGUMENT_LIST)(2490,2515)
                      TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(2490,2503)
                        PsiElement(TirTokenType.CONSTANT_IDENTIFIER)('%stringconst6')(2490,2503)
                      PsiElement(TirTokenType.COMMA)(',')(2503,2504)
                      TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(2505,2515)
                        PsiElement(TirTokenType.CONSTANT_IDENTIFIER)('%intconst7')(2505,2515)
                    PsiElement(TirTokenType.RPAREN)(')')(2515,2516)
              PsiElement(TirTokenType.SEMICOLON)(';')(2516,2517)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(2526,2565)
              PsiElement(TirTokenType.LINE_NUMBER)('[19@L55]')(2526,2534)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(2535,2564)
                TirLvalueImpl(TirElementType.LVALUE)(2535,2558)
                  TirFieldSigImpl(TirElementType.FIELD_SIG)(2535,2558)
                    PsiElement(TirTokenType.LANGLE)('<')(2535,2536)
                    TirFieldRefImpl(TirElementType.FIELD_REF)(2536,2557)
                      PsiElement(TirTokenType.IDENTIFIER)('Mahjong')(2536,2543)
                      PsiElement(TirTokenType.COLON)(':')(2543,2544)
                      TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(2545,2552)
                        TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(2545,2552)
                          PsiElement(TirTokenType.IDENTIFIER)('Mahjong')(2545,2552)
                      PsiElement(TirTokenType.IDENTIFIER)('FENG')(2553,2557)
                    PsiElement(TirTokenType.RANGLE)('>')(2557,2558)
                PsiElement(TirTokenType.EQUAL)('=')(2559,2560)
                TirRvalueImpl(TirElementType.RVALUE)(2561,2564)
                  TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(2561,2564)
                    PsiElement(TirTokenType.IDENTIFIER)('$r3')(2561,2564)
              PsiElement(TirTokenType.SEMICOLON)(';')(2564,2565)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(2574,2601)
              PsiElement(TirTokenType.LINE_NUMBER)('[20@L55]')(2574,2582)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(2583,2600)
                TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(2583,2586)
                  PsiElement(TirTokenType.IDENTIFIER)('$r4')(2583,2586)
                PsiElement(TirTokenType.EQUAL)('=')(2587,2588)
                PsiElement(TirTokenType.NEW)('new')(2589,2592)
                TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(2593,2600)
                  TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(2593,2600)
                    PsiElement(TirTokenType.IDENTIFIER)('Mahjong')(2593,2600)
              PsiElement(TirTokenType.SEMICOLON)(';')(2600,2601)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(2610,2642)
              PsiElement(TirTokenType.LINE_NUMBER)('[21@L55]')(2610,2618)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(2619,2641)
                TirLvalueImpl(TirElementType.LVALUE)(2619,2632)
                  TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(2619,2632)
                    PsiElement(TirTokenType.CONSTANT_IDENTIFIER)('%stringconst8')(2619,2632)
                PsiElement(TirTokenType.EQUAL)('=')(2633,2634)
                TirRvalueImpl(TirElementType.RVALUE)(2635,2641)
                  TirReferenceLiteralImpl(TirElementType.REFERENCE_LITERAL)(2635,2641)
                    TirStringLiteralImpl(TirElementType.STRING_LITERAL)(2635,2641)
                      PsiElement(TirTokenType.STRING)('"JIAN"')(2635,2641)
              PsiElement(TirTokenType.SEMICOLON)(';')(2641,2642)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(2651,2675)
              PsiElement(TirTokenType.LINE_NUMBER)('[22@L55]')(2651,2659)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(2660,2674)
                TirLvalueImpl(TirElementType.LVALUE)(2660,2670)
                  TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(2660,2670)
                    PsiElement(TirTokenType.CONSTANT_IDENTIFIER)('%intconst9')(2660,2670)
                PsiElement(TirTokenType.EQUAL)('=')(2671,2672)
                TirRvalueImpl(TirElementType.RVALUE)(2673,2674)
                  TirNumberLiteralImpl(TirElementType.NUMBER_LITERAL)(2673,2674)
                    TirIntegerLiteralImpl(TirElementType.INTEGER_LITERAL)(2673,2674)
                      PsiElement(TirTokenType.INTEGER)('4')(2673,2674)
              PsiElement(TirTokenType.SEMICOLON)(';')(2674,2675)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(2684,2783)
              PsiElement(TirTokenType.LINE_NUMBER)('[23@L55]')(2684,2692)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(2693,2782)
                TirInvokeExprImpl(TirElementType.INVOKE_EXPR)(2693,2782)
                  TirInvokeInstanceExprImpl(TirElementType.INVOKE_INSTANCE_EXPR)(2693,2782)
                    TirInvokeInstanceKeyImpl(TirElementType.INVOKE_INSTANCE_KEY)(2693,2706)
                      PsiElement(TirTokenType.INVOKE_SPECIAL)('invokespecial')(2693,2706)
                    TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(2707,2710)
                      PsiElement(TirTokenType.IDENTIFIER)('$r4')(2707,2710)
                    PsiElement(TirTokenType.DOT)('.')(2710,2711)
                    TirInvokeMethodRefImpl(TirElementType.INVOKE_METHOD_REF)(2711,2755)
                      PsiElement(TirTokenType.LANGLE)('<')(2711,2712)
                      TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(2712,2719)
                        PsiElement(TirTokenType.IDENTIFIER)('Mahjong')(2712,2719)
                      PsiElement(TirTokenType.COLON)(':')(2719,2720)
                      TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(2721,2725)
                        TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(2721,2725)
                          PsiElement(TirTokenType.IDENTIFIER)('void')(2721,2725)
                      TirIdentifierMethodImpl(TirElementType.IDENTIFIER_METHOD)(2726,2732)
                        PsiElement(TirTokenType.LANGLE)('<')(2726,2727)
                        PsiElement(TirTokenType.IDENTIFIER)('init')(2727,2731)
                        PsiElement(TirTokenType.RANGLE)('>')(2731,2732)
                      PsiElement(TirTokenType.LPAREN)('(')(2732,2733)
                      TirInvokeArgumentTypeListImpl(TirElementType.INVOKE_ARGUMENT_TYPE_LIST)(2733,2753)
                        TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(2733,2749)
                          TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(2733,2749)
                            PsiElement(TirTokenType.IDENTIFIER)('java.lang.String')(2733,2749)
                        PsiElement(TirTokenType.COMMA)(',')(2749,2750)
                        TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(2750,2753)
                          TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(2750,2753)
                            PsiElement(TirTokenType.IDENTIFIER)('int')(2750,2753)
                      PsiElement(TirTokenType.RPAREN)(')')(2753,2754)
                      PsiElement(TirTokenType.RANGLE)('>')(2754,2755)
                    PsiElement(TirTokenType.LPAREN)('(')(2755,2756)
                    TirInvokeArgumentListImpl(TirElementType.INVOKE_ARGUMENT_LIST)(2756,2781)
                      TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(2756,2769)
                        PsiElement(TirTokenType.CONSTANT_IDENTIFIER)('%stringconst8')(2756,2769)
                      PsiElement(TirTokenType.COMMA)(',')(2769,2770)
                      TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(2771,2781)
                        PsiElement(TirTokenType.CONSTANT_IDENTIFIER)('%intconst9')(2771,2781)
                    PsiElement(TirTokenType.RPAREN)(')')(2781,2782)
              PsiElement(TirTokenType.SEMICOLON)(';')(2782,2783)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(2792,2831)
              PsiElement(TirTokenType.LINE_NUMBER)('[24@L55]')(2792,2800)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(2801,2830)
                TirLvalueImpl(TirElementType.LVALUE)(2801,2824)
                  TirFieldSigImpl(TirElementType.FIELD_SIG)(2801,2824)
                    PsiElement(TirTokenType.LANGLE)('<')(2801,2802)
                    TirFieldRefImpl(TirElementType.FIELD_REF)(2802,2823)
                      PsiElement(TirTokenType.IDENTIFIER)('Mahjong')(2802,2809)
                      PsiElement(TirTokenType.COLON)(':')(2809,2810)
                      TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(2811,2818)
                        TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(2811,2818)
                          PsiElement(TirTokenType.IDENTIFIER)('Mahjong')(2811,2818)
                      PsiElement(TirTokenType.IDENTIFIER)('JIAN')(2819,2823)
                    PsiElement(TirTokenType.RANGLE)('>')(2823,2824)
                PsiElement(TirTokenType.EQUAL)('=')(2825,2826)
                TirRvalueImpl(TirElementType.RVALUE)(2827,2830)
                  TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(2827,2830)
                    PsiElement(TirTokenType.IDENTIFIER)('$r4')(2827,2830)
              PsiElement(TirTokenType.SEMICOLON)(';')(2830,2831)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(2840,2865)
              PsiElement(TirTokenType.LINE_NUMBER)('[25@L54]')(2840,2848)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(2849,2864)
                TirLvalueImpl(TirElementType.LVALUE)(2849,2860)
                  TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(2849,2860)
                    PsiElement(TirTokenType.CONSTANT_IDENTIFIER)('%intconst10')(2849,2860)
                PsiElement(TirTokenType.EQUAL)('=')(2861,2862)
                TirRvalueImpl(TirElementType.RVALUE)(2863,2864)
                  TirNumberLiteralImpl(TirElementType.NUMBER_LITERAL)(2863,2864)
                    TirIntegerLiteralImpl(TirElementType.INTEGER_LITERAL)(2863,2864)
                      PsiElement(TirTokenType.INTEGER)('5')(2863,2864)
              PsiElement(TirTokenType.SEMICOLON)(';')(2864,2865)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(2874,2919)
              PsiElement(TirTokenType.LINE_NUMBER)('[26@L54]')(2874,2882)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(2883,2918)
                TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(2883,2886)
                  PsiElement(TirTokenType.IDENTIFIER)('$r5')(2883,2886)
                PsiElement(TirTokenType.EQUAL)('=')(2887,2888)
                PsiElement(TirTokenType.NEW_ARRAY)('newarray')(2889,2897)
                TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(2898,2905)
                  TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(2898,2905)
                    PsiElement(TirTokenType.IDENTIFIER)('Mahjong')(2898,2905)
                PsiElement(TirTokenType.LBRACKET)('[')(2905,2906)
                TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(2906,2917)
                  PsiElement(TirTokenType.CONSTANT_IDENTIFIER)('%intconst10')(2906,2917)
                PsiElement(TirTokenType.RBRACKET)(']')(2917,2918)
              PsiElement(TirTokenType.SEMICOLON)(';')(2918,2919)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(2928,2967)
              PsiElement(TirTokenType.LINE_NUMBER)('[27@L54]')(2928,2936)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(2937,2966)
                TirLvalueImpl(TirElementType.LVALUE)(2937,2940)
                  TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(2937,2940)
                    PsiElement(TirTokenType.IDENTIFIER)('$r6')(2937,2940)
                PsiElement(TirTokenType.EQUAL)('=')(2941,2942)
                TirRvalueImpl(TirElementType.RVALUE)(2943,2966)
                  TirFieldSigImpl(TirElementType.FIELD_SIG)(2943,2966)
                    PsiElement(TirTokenType.LANGLE)('<')(2943,2944)
                    TirFieldRefImpl(TirElementType.FIELD_REF)(2944,2965)
                      PsiElement(TirTokenType.IDENTIFIER)('Mahjong')(2944,2951)
                      PsiElement(TirTokenType.COLON)(':')(2951,2952)
                      TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(2953,2960)
                        TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(2953,2960)
                          PsiElement(TirTokenType.IDENTIFIER)('Mahjong')(2953,2960)
                      PsiElement(TirTokenType.IDENTIFIER)('TIAO')(2961,2965)
                    PsiElement(TirTokenType.RANGLE)('>')(2965,2966)
              PsiElement(TirTokenType.SEMICOLON)(';')(2966,2967)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(2976,3007)
              PsiElement(TirTokenType.LINE_NUMBER)('[28@L54]')(2976,2984)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(2985,3006)
                TirLvalueImpl(TirElementType.LVALUE)(2985,3000)
                  TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(2985,2988)
                    PsiElement(TirTokenType.IDENTIFIER)('$r5')(2985,2988)
                  PsiElement(TirTokenType.LBRACKET)('[')(2988,2989)
                  TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(2989,2999)
                    PsiElement(TirTokenType.CONSTANT_IDENTIFIER)('%intconst1')(2989,2999)
                  PsiElement(TirTokenType.RBRACKET)(']')(2999,3000)
                PsiElement(TirTokenType.EQUAL)('=')(3001,3002)
                TirRvalueImpl(TirElementType.RVALUE)(3003,3006)
                  TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(3003,3006)
                    PsiElement(TirTokenType.IDENTIFIER)('$r6')(3003,3006)
              PsiElement(TirTokenType.SEMICOLON)(';')(3006,3007)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(3016,3054)
              PsiElement(TirTokenType.LINE_NUMBER)('[29@L54]')(3016,3024)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(3025,3053)
                TirLvalueImpl(TirElementType.LVALUE)(3025,3028)
                  TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(3025,3028)
                    PsiElement(TirTokenType.IDENTIFIER)('$r7')(3025,3028)
                PsiElement(TirTokenType.EQUAL)('=')(3029,3030)
                TirRvalueImpl(TirElementType.RVALUE)(3031,3053)
                  TirFieldSigImpl(TirElementType.FIELD_SIG)(3031,3053)
                    PsiElement(TirTokenType.LANGLE)('<')(3031,3032)
                    TirFieldRefImpl(TirElementType.FIELD_REF)(3032,3052)
                      PsiElement(TirTokenType.IDENTIFIER)('Mahjong')(3032,3039)
                      PsiElement(TirTokenType.COLON)(':')(3039,3040)
                      TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(3041,3048)
                        TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(3041,3048)
                          PsiElement(TirTokenType.IDENTIFIER)('Mahjong')(3041,3048)
                      PsiElement(TirTokenType.IDENTIFIER)('WAN')(3049,3052)
                    PsiElement(TirTokenType.RANGLE)('>')(3052,3053)
              PsiElement(TirTokenType.SEMICOLON)(';')(3053,3054)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(3063,3094)
              PsiElement(TirTokenType.LINE_NUMBER)('[30@L54]')(3063,3071)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(3072,3093)
                TirLvalueImpl(TirElementType.LVALUE)(3072,3087)
                  TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(3072,3075)
                    PsiElement(TirTokenType.IDENTIFIER)('$r5')(3072,3075)
                  PsiElement(TirTokenType.LBRACKET)('[')(3075,3076)
                  TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(3076,3086)
                    PsiElement(TirTokenType.CONSTANT_IDENTIFIER)('%intconst3')(3076,3086)
                  PsiElement(TirTokenType.RBRACKET)(']')(3086,3087)
                PsiElement(TirTokenType.EQUAL)('=')(3088,3089)
                TirRvalueImpl(TirElementType.RVALUE)(3090,3093)
                  TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(3090,3093)
                    PsiElement(TirTokenType.IDENTIFIER)('$r7')(3090,3093)
              PsiElement(TirTokenType.SEMICOLON)(';')(3093,3094)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(3103,3142)
              PsiElement(TirTokenType.LINE_NUMBER)('[31@L54]')(3103,3111)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(3112,3141)
                TirLvalueImpl(TirElementType.LVALUE)(3112,3115)
                  TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(3112,3115)
                    PsiElement(TirTokenType.IDENTIFIER)('$r8')(3112,3115)
                PsiElement(TirTokenType.EQUAL)('=')(3116,3117)
                TirRvalueImpl(TirElementType.RVALUE)(3118,3141)
                  TirFieldSigImpl(TirElementType.FIELD_SIG)(3118,3141)
                    PsiElement(TirTokenType.LANGLE)('<')(3118,3119)
                    TirFieldRefImpl(TirElementType.FIELD_REF)(3119,3140)
                      PsiElement(TirTokenType.IDENTIFIER)('Mahjong')(3119,3126)
                      PsiElement(TirTokenType.COLON)(':')(3126,3127)
                      TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(3128,3135)
                        TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(3128,3135)
                          PsiElement(TirTokenType.IDENTIFIER)('Mahjong')(3128,3135)
                      PsiElement(TirTokenType.IDENTIFIER)('TONG')(3136,3140)
                    PsiElement(TirTokenType.RANGLE)('>')(3140,3141)
              PsiElement(TirTokenType.SEMICOLON)(';')(3141,3142)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(3151,3182)
              PsiElement(TirTokenType.LINE_NUMBER)('[32@L54]')(3151,3159)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(3160,3181)
                TirLvalueImpl(TirElementType.LVALUE)(3160,3175)
                  TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(3160,3163)
                    PsiElement(TirTokenType.IDENTIFIER)('$r5')(3160,3163)
                  PsiElement(TirTokenType.LBRACKET)('[')(3163,3164)
                  TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(3164,3174)
                    PsiElement(TirTokenType.CONSTANT_IDENTIFIER)('%intconst5')(3164,3174)
                  PsiElement(TirTokenType.RBRACKET)(']')(3174,3175)
                PsiElement(TirTokenType.EQUAL)('=')(3176,3177)
                TirRvalueImpl(TirElementType.RVALUE)(3178,3181)
                  TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(3178,3181)
                    PsiElement(TirTokenType.IDENTIFIER)('$r8')(3178,3181)
              PsiElement(TirTokenType.SEMICOLON)(';')(3181,3182)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(3191,3230)
              PsiElement(TirTokenType.LINE_NUMBER)('[33@L54]')(3191,3199)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(3200,3229)
                TirLvalueImpl(TirElementType.LVALUE)(3200,3203)
                  TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(3200,3203)
                    PsiElement(TirTokenType.IDENTIFIER)('$r9')(3200,3203)
                PsiElement(TirTokenType.EQUAL)('=')(3204,3205)
                TirRvalueImpl(TirElementType.RVALUE)(3206,3229)
                  TirFieldSigImpl(TirElementType.FIELD_SIG)(3206,3229)
                    PsiElement(TirTokenType.LANGLE)('<')(3206,3207)
                    TirFieldRefImpl(TirElementType.FIELD_REF)(3207,3228)
                      PsiElement(TirTokenType.IDENTIFIER)('Mahjong')(3207,3214)
                      PsiElement(TirTokenType.COLON)(':')(3214,3215)
                      TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(3216,3223)
                        TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(3216,3223)
                          PsiElement(TirTokenType.IDENTIFIER)('Mahjong')(3216,3223)
                      PsiElement(TirTokenType.IDENTIFIER)('FENG')(3224,3228)
                    PsiElement(TirTokenType.RANGLE)('>')(3228,3229)
              PsiElement(TirTokenType.SEMICOLON)(';')(3229,3230)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(3239,3270)
              PsiElement(TirTokenType.LINE_NUMBER)('[34@L54]')(3239,3247)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(3248,3269)
                TirLvalueImpl(TirElementType.LVALUE)(3248,3263)
                  TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(3248,3251)
                    PsiElement(TirTokenType.IDENTIFIER)('$r5')(3248,3251)
                  PsiElement(TirTokenType.LBRACKET)('[')(3251,3252)
                  TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(3252,3262)
                    PsiElement(TirTokenType.CONSTANT_IDENTIFIER)('%intconst7')(3252,3262)
                  PsiElement(TirTokenType.RBRACKET)(']')(3262,3263)
                PsiElement(TirTokenType.EQUAL)('=')(3264,3265)
                TirRvalueImpl(TirElementType.RVALUE)(3266,3269)
                  TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(3266,3269)
                    PsiElement(TirTokenType.IDENTIFIER)('$r9')(3266,3269)
              PsiElement(TirTokenType.SEMICOLON)(';')(3269,3270)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(3279,3319)
              PsiElement(TirTokenType.LINE_NUMBER)('[35@L54]')(3279,3287)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(3288,3318)
                TirLvalueImpl(TirElementType.LVALUE)(3288,3292)
                  TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(3288,3292)
                    PsiElement(TirTokenType.IDENTIFIER)('$r10')(3288,3292)
                PsiElement(TirTokenType.EQUAL)('=')(3293,3294)
                TirRvalueImpl(TirElementType.RVALUE)(3295,3318)
                  TirFieldSigImpl(TirElementType.FIELD_SIG)(3295,3318)
                    PsiElement(TirTokenType.LANGLE)('<')(3295,3296)
                    TirFieldRefImpl(TirElementType.FIELD_REF)(3296,3317)
                      PsiElement(TirTokenType.IDENTIFIER)('Mahjong')(3296,3303)
                      PsiElement(TirTokenType.COLON)(':')(3303,3304)
                      TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(3305,3312)
                        TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(3305,3312)
                          PsiElement(TirTokenType.IDENTIFIER)('Mahjong')(3305,3312)
                      PsiElement(TirTokenType.IDENTIFIER)('JIAN')(3313,3317)
                    PsiElement(TirTokenType.RANGLE)('>')(3317,3318)
              PsiElement(TirTokenType.SEMICOLON)(';')(3318,3319)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(3328,3360)
              PsiElement(TirTokenType.LINE_NUMBER)('[36@L54]')(3328,3336)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(3337,3359)
                TirLvalueImpl(TirElementType.LVALUE)(3337,3352)
                  TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(3337,3340)
                    PsiElement(TirTokenType.IDENTIFIER)('$r5')(3337,3340)
                  PsiElement(TirTokenType.LBRACKET)('[')(3340,3341)
                  TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(3341,3351)
                    PsiElement(TirTokenType.CONSTANT_IDENTIFIER)('%intconst9')(3341,3351)
                  PsiElement(TirTokenType.RBRACKET)(']')(3351,3352)
                PsiElement(TirTokenType.EQUAL)('=')(3353,3354)
                TirRvalueImpl(TirElementType.RVALUE)(3355,3359)
                  TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(3355,3359)
                    PsiElement(TirTokenType.IDENTIFIER)('$r10')(3355,3359)
              PsiElement(TirTokenType.SEMICOLON)(';')(3359,3360)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(3369,3413)
              PsiElement(TirTokenType.LINE_NUMBER)('[37@L54]')(3369,3377)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(3378,3412)
                TirLvalueImpl(TirElementType.LVALUE)(3378,3406)
                  TirFieldSigImpl(TirElementType.FIELD_SIG)(3378,3406)
                    PsiElement(TirTokenType.LANGLE)('<')(3378,3379)
                    TirFieldRefImpl(TirElementType.FIELD_REF)(3379,3405)
                      PsiElement(TirTokenType.IDENTIFIER)('Mahjong')(3379,3386)
                      PsiElement(TirTokenType.COLON)(':')(3386,3387)
                      TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(3388,3397)
                        TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(3388,3395)
                          PsiElement(TirTokenType.IDENTIFIER)('Mahjong')(3388,3395)
                        PsiElement(TirTokenType.LBRACKET)('[')(3395,3396)
                        PsiElement(TirTokenType.RBRACKET)(']')(3396,3397)
                      PsiElement(TirTokenType.IDENTIFIER)('$VALUES')(3398,3405)
                    PsiElement(TirTokenType.RANGLE)('>')(3405,3406)
                PsiElement(TirTokenType.EQUAL)('=')(3407,3408)
                TirRvalueImpl(TirElementType.RVALUE)(3409,3412)
                  TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(3409,3412)
                    PsiElement(TirTokenType.IDENTIFIER)('$r5')(3409,3412)
              PsiElement(TirTokenType.SEMICOLON)(';')(3412,3413)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(3422,3438)
              PsiElement(TirTokenType.LINE_NUMBER)('[38@L54]')(3422,3430)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(3431,3437)
                PsiElement(TirTokenType.RETURN)('return')(3431,3437)
              PsiElement(TirTokenType.SEMICOLON)(';')(3437,3438)
            PsiElement(TirTokenType.RBRACE)('}')(3443,3444)
      PsiElement(TirTokenType.RBRACE)('}')(3446,3447)