Ċ // ĠK T - 4 2 0 2 5 Ċ Ċ open Ġclass ĠL < LL >( val Ġll : ĠLL ) Ċ Ċ class ĠRec < T >( val Ġrt : ĠT ) Ċ Ċ public Ġclass ĠO uter < OT >( val Ġot : ĠO T ) Ġ{ ĊĠĠĠ Ġfun Ġ< FT > Ġbar ( ft : ĠFT ): ĠO uter < FT > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġfoo 1 ( ft , Ġ:: Outer ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ< FT > Ġlocal 1 ( ft : ĠFT ): ĠL < FT > Ġ{ ĊĠĠĠĠĠĠĠ Ġclass ĠLocal 1 < LT >( val Ġlt : ĠLT , Ġval Ġo oot : ĠO T ): ĠL < LT >( lt ) ĊĠĠĠĠĠĠĠ Ġreturn Ġfoo 2 ( ft , Ġot , Ġ:: Local 1 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ< SS > Ġcreate S ( ss : ĠSS ): ĠStatic < SS > Ġ= Ġfoo 1 ( ss , Ġ:: Static ) ĊĊĠĠĠ Ġfun Ġ< II > Ġcreate I ( ii : ĠII ) Ġ= Ġfoo 2 ( ii , Ġot , Ġ:: Inner ) ĊĊĠĠĠ Ġpublic Ġclass ĠStatic < ST >( val Ġst : ĠST ) Ġ{ ĊĠĠĠĠĠĠĠ Ġpublic Ġfun Ġ< FT > Ġbar ( fft : ĠFT ): ĠStatic < FT > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfoo 1 ( fft , Ġ:: Static ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġpublic Ġfun Ġ< FT > Ġlocal 2 ( ft : ĠFT ): ĠL < FT > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclass ĠLocal 2 < LT >( val Ġlt : ĠLT , Ġval Ġs st : ĠST ): ĠL < LT >( lt ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfoo 2 ( ft , Ġst , Ġ:: Local 2 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġpublic Ġinner Ġclass ĠInner < IT >( val Ġit : ĠIT , Ġval Ġo ot : ĠO T ) Ġ{ ĊĠĠĠĠĠĠĠ Ġpublic Ġfun Ġ< FT > Ġbar ( fft : ĠFT ): ĠInner < FT > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfoo 2 ( fft , Ġot , Ġ:: Inner ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġpublic Ġfun Ġ< FT > Ġlocal 3 ( fft : ĠFT ): ĠL < FT > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclass ĠLocal 3 < LT >( val Ġlt : ĠLT , Ġval Ġi it : ĠIT , Ġval Ġo oot : ĠO T ): ĠL < LT >( lt ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfoo 3 ( fft , Ġit , Ġot , Ġ:: Local 3 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġpublic Ġfun Ġ< FT > Ġlocal 4 ( fft : ĠFT ): ĠL < FT > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclass ĠLocal 4 < LT >( val Ġlt : ĠLT , Ġval Ġi it : ĠIT , Ġval Ġo oot : ĠO T , Ġval Ġf fff : ĠFT ): ĠL < LT >( lt ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfoo 4 ( fft , Ġit , Ġot , Ġfft , Ġ:: Local 4 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġpublic Ġval Ġ< PT > ĠRec < PT >. p : ĠL < PT > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclass ĠP Local < LT >( lt : ĠLT , Ġval Ġpt : ĠPT ): ĠL < LT >( lt ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfoo 2 ( rt , Ġrt , Ġ:: P Local ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġ< PT > Ġread P ( r : ĠRec < PT >) Ġ= Ġr . p ĊĠĠĠ Ġ} Ċ Ċ } Ċ Ċ fun Ġ< T 1 , ĠR > Ġfoo 1 ( t 1 : ĠT 1 , Ġbb : Ġ( T 1 ) Ġ-> ĠR ): ĠR Ġ= Ġbb ( t 1 ) Ċ fun Ġ< T 1 , ĠT 2 , ĠR > Ġfoo 2 ( t 1 : ĠT 1 , Ġt 2 : ĠT 2 , Ġbb : Ġ( T 1 , ĠT 2 ) Ġ-> ĠR ): ĠR Ġ= Ġbb ( t 1 , Ġt 2 ) Ċ fun Ġ< T 1 , ĠT 2 , ĠT 3 , ĠR > Ġfoo 3 ( t 1 : ĠT 1 , Ġt 2 : ĠT 2 , Ġt 3 : ĠT 3 , Ġbb : Ġ( T 1 , ĠT 2 , ĠT 3 ) Ġ-> ĠR ): ĠR Ġ= Ġbb ( t 1 , Ġt 2 , Ġt 3 ) Ċ fun Ġ< T 1 , ĠT 2 , ĠT 3 , ĠT 4 , ĠR > Ġfoo 4 ( t 1 : ĠT 1 , Ġt 2 : ĠT 2 , Ġt 3 : ĠT 3 , Ġt 4 : ĠT 4 , Ġbb : Ġ( T 1 , ĠT 2 , ĠT 3 , ĠT 4 ) Ġ-> ĠR ): ĠR Ġ= Ġbb ( t 1 , Ġt 2 , Ġt 3 , Ġt 4 ) Ċ Ċ fun Ġbox (): ĠString Ġ{ ĊĊĠĠĠ Ġ// Ġouter ĊĠĠĠ Ġval Ġo Ġ= Ġfoo 1 ( 4 2 , Ġ:: Outer ) ĊĠĠĠ Ġif Ġ( o . ot Ġ!= Ġ 4 2 ) Ġreturn Ġ" FAIL 1 : Ġ${ o . ot }" ĊĠĠĠ Ġval Ġob Ġ= Ġo . bar (" 4 2 ") ĊĠĠĠ Ġif Ġ( ob . ot Ġ!= Ġ" 4 2 ") Ġreturn Ġ" FAIL 2 : Ġ${ ob . ot }" ĊĠĠĠ Ġval Ġl 1 Ġ= Ġo . local 1 ( 4 2 L ) ĊĠĠĠ Ġif Ġ( l 1 . ll Ġ!= Ġ 4 2 L ) Ġreturn Ġ" FAIL 3 : Ġ${ l 1 . ll }" ĊĊĠĠĠ Ġ// Ġstatic ĊĠĠĠ Ġval Ġs Ġ= Ġo . create S (" ST ") ĊĠĠĠ Ġif Ġ( s . st Ġ!= Ġ" ST ") Ġreturn Ġ" FAIL 4 : Ġ${ s . st }" ĊĠĠĠ Ġval Ġsb Ġ= Ġs . bar (" SB ") ĊĠĠĠ Ġif Ġ( sb . st Ġ!= Ġ" SB ") Ġreturn Ġ" FAIL 5 : Ġ${ sb . st }" ĊĠĠĠ Ġval Ġsl Ġ= Ġs . local 2 (" SL ") ĊĠĠĠ Ġif Ġ( sl . ll Ġ!= Ġ" SL ") Ġreturn Ġ" FAIL 6 : Ġ${ sl . ll }" ĊĊĠĠĠ Ġ// Ġinner ĊĠĠĠ Ġval Ġi Ġ= Ġo . create I (" II ") ĊĠĠĠ Ġif Ġ( i . it Ġ!= Ġ" II ") Ġreturn Ġ" FAIL 7 : Ġ${ i . it }" ĊĊĠĠĠ Ġval Ġib Ġ= Ġi . bar (" I Bar ") ĊĠĠĠ Ġif Ġ( ib . it Ġ!= Ġ" I Bar " Ġ&& Ġib . oot Ġ!= Ġ 4 2 ) Ġreturn Ġ" FAIL 8 : Ġ${ ib . it } Ġ&& Ġ${ ib . oot }" ĊĊĠĠĠ Ġval Ġil Ġ= Ġi . local 3 (" IL ") ĊĠĠĠ Ġif Ġ( il . ll Ġ!= Ġ" IL ") Ġreturn Ġ" FAIL 9 : Ġ${ il . ll }" ĊĊĠĠĠ Ġval Ġil 4 Ġ= Ġi . local 4 (" IL 4 ") ĊĠĠĠ Ġif Ġ( il 4 . ll Ġ!= Ġ" IL 4 ") Ġreturn Ġ" FAIL 1 0 : Ġ${ il 4 . ll }" ĊĊĠĠĠ Ġval Ġi pl Ġ= Ġi . read P ( Rec (" OK ")) ĊĊĠĠĠ Ġreturn Ġi pl . ll Ċ } Ċ