;0@`@@@@@@ @P@@@@@@@p@@@@0@`@@@@ @P@@@@@@@p@@@@ @@ @<@l@@ @@0@`@@@@ @P@@@@L@|@@ @@, @\ @!@L!@!@@@į@lz@@@ @z@@@@z@<@ H@ {@P@t@<{@@@l{@D@8.@L.@`.@t.@.@.@.@.@l@|!@<@d@,|@P,@ @<|@-*@t @@ @L@ @4@l @<@D @8k@p @ @(@$@ @@T@:@, @4@@RS,@S-@ @<}@-@,@@@SS~@Lp@x@x}@L}@@@@@@s@L@SLT /@q@x@.@\.@\@@TTTT0@@Ly@40@0@@@H@q@1@TT@@y@p^@D^@@`@@hI@_@U\U3@ @@{@L8@ 8@@@@TWW?@@lx@|>@P>@@@@E@?@W,X@@ @x@@@?@X@@4XtXB@@@@|G@4YYdH@D@\z@G@G@4@@YYI@@z@I@XI@@@YZK@Po@|{@J@J@@$@$ZdZL@D@{@8L@ L@p@@lZZN@ @L|@N@M@0@(@ZZP@4@|@O@O@@@@@@@8@TE@L@h@ @$@d@@@X@p@h@@|@;@@r@@N@@D@@4@@L8@ip@D@$@>@@@@s@@M@@@\ @\t@ @dM@@D@$@t@p@M@`@@@u@@M@@@l~@@R@@@@@@8R@0@\4@@@@R@P@@s@؄@@R@<@@K@؅@@R@@ @9@@I@T@x@0@ps@X@@HS@@t@d@؇@@hS@@p;@,\dlt|@,C@@0@@pM@@@,@\;@آ@1@4@ā $,4@ o@4LO@L@@ @d4@@@/@TA@@T6@@@Ă̂Ԃ܂@@@@_@@\@4<DLT\@8@@@0`@@,@@`@@@H@_@@@p@`@@l@@ `@@=@@@@@`@@8@dT\dlt|d@G@3@$@.@ȋ@ؠ@Ą̄Ԅ܄@J@d7@@L0@|@9@@0@T@6@Ġ@,0@@8@t@0@,@7@(@l0@@9@ą̅ԅ܅@4P@@@@@9@ԡ@1@ @DLT\dl@@L@9@ @ 1@X@x@tĆ̆Ԇ܆4@`@@h@d@$@t@@4<DLT\@.@@@@c@@@@@@hd@b@dԇ܇@@P@b@@,G@<DLT\dlt]@|t@ĈԈ܈@@@g@<%@X@$@@@4@f@@g@l%@@4@@xg@4@Hf@%@po@ȱ@`@8f@@,%@@f@ĉȲ@@f@@@4<DLT\o@@@@@%@$@@@ h@l@$@@@ @g@@@d 8@G@@d&@@P@<@4h@d@,@,@ h@0@$<@@ċd@@@@@@@e@K@܋`@x@@@T@p@$T\dlt|@G@@<@@@X&@x|@\@@@\@&@{@P@$,4<`@4;@D@pE@1@<@-@h@p@@\2@`@-@@̍ԍ܍ @@ @q@,4<DLT\dlt|ܾ@/@lp@@r@ @8l@@P@D@8@D@|@tt@ @@@,4<0@$@D\dl@n@t`,@ď̏ԏ܏@w@ @w@@ Z@H@ x@@LZ@@@ @,w@@|X@D@@@w@@ Z@Ly@$ԐܐE@@,@p@@o@@@@0@ly@@l\@8@@8y@@T\@u@Lđ̑|@4@@@ԑ@@u@(@U@@dr@@@h?@ĩ@@p@@t@@u@H@U@@P2@t@x@P@Z@y@ܒT@0<@l@y@@\@|@k@@y@8@\@ v@ |@@d@@@C@@ n@|@s@@@@u@X@hV@@@7@H@F@@v@,@W@м@ @h@H0@L\@\w@@X@Ľ@@@hk@@x@`@P[@0u@ܔ $,4@0 @@8?@<d@y@X@\@P@l@N@@@@@d@z@h@\@H@u@@hU@@tE@$@Tl@p@v@@,W@`@t@$$@v@<@W@u@\Խ@@1@@/@d@@s@<@x@p@t[@@ q@@H5@l@t@@0@@P@@@x@x@@[@\@I@@tu@@U@@4@!@ @ė@Pv@@V@w@ <DLT\d@ @@p @l@pw@@X@@8=@ @h@@@@@$@8@@w@@X@@@ @z@x@4]@̾@D@D@Pz@@x]@v@|ę̙ԙ8@P@@ @,@@E@D@@@ @ܙ@v@@hW@xz@<lt|@@@@dz@@]@ ~@ $,@4DLT\dl0q@@t@|:@t@}@@@_@@-@ԛ t~@,4<DLT`@p@\@ -@@~@T@`@t@~@D@h`@d@`~@@_@Ԝd@~@4@L`@$@@d@`@~@$T\dlt| @P@T@I@@@@~@@_@@xk@@~@@`@@ħ@$@~@$@0`@4/@<LT\dlt|@@T@t^@m@K@Գ@P7@4@^@ @^@ @^@@^@l@>@@3@@@D@T@d@t@@@@@@@@@8@ԣ@@0@@@(@0@o@@ @@@|@o@P@K@T@@,9@<@/@L9@$@@m@0@$@@H=@$@@@@8@Ls@4 @L@LA@@L@ؾ@8@@@@ı@@@|@0@ <DLT\d@$@4@l@@@}@D@IJ̲Բܲ@@@t}@0@T@T@L~@@7@4r@ @@Tq@@0@p@ |@@dij@@@X}@̳@@@<}@|@@@}@@@@D@0~@D$@@P@{@$@lĴ`@@`@{@̴0@ $,4<T@DT\dlt|@@$@d@0@0@Pm@@ e@:@@@@ @@@dq@@Xe@,8@T@@p@@@ܶh@ @ @<0@|@@@ f@@:@$@ @0@Pf@l@@@te@@ķ̷ԷܷH@Ա@X@t@@@Ђ@@e@x@lB@@@ @0f@T@@@e@4@|ĸ̸Ը@t@0@ @@@pf@ܸ3@$,4<DLT@\lt|@1@@1@,@@@m@L@B@@Ĺ@@@h@@Dr@ x@`@@0i@@2@D @H@H@i@s@| @@s@@|@8@@Pk@$@̺ $,x@@@k@40@@@i@\x@x@|@pm@@Ċ@@l@@@@h@Ի@@@j@h@`@l@k@@@$l@Ј@@i@@\@@(@i@x@ @ļ@$@@4k@@@@@@@@Pl@8@t@<@(@@ m@؇@tĽ̽<@/@L@ć@x@h@|@x5@<@L@@i@@1@@t@@Hi@@@@p@h@,j@,@:@Խ@@@tj@`@@Ԩ@n@d@T$@\@`(@l@)@&@@(@ȁ@@l7@#@@@(@$@@$T\dlt|T@@&@@(@t@<@l@!@@t'@D~@D @K@@$@#@Ԙ@(@@$@p@p(@@З@T\dlt|%@@(@܀@L@4@L@.@!@0@'@\~@@ԩ@T#@@ (@@@@ $@@(@@$6@T@,@4@%@@(@ @P'@,@@DT!@@@'@~@ @DL@,2@T@@h5@#@@0(@@@LT\dltD@d@4m@@|%@ԙ@(@H@\@$@@F@"@D@'@~@@@3@\@@@Ԯ@=@У@3@$@`@ J@B@@6@@@L|p2@2@2@2@2@2@2@3@43@T3@l3@x3@`=@@`2@0@D@DLT\dld @J@ @$K@F@ԯ@@>@@,A@t <@0@1@<@h0@ĝ@|@D@p>@<@3@@8@@TL@@@4@XA@@4@\@@l\<@t@,H@@6@6@6@7@7@07@@7@P7@`7@l7@7@@6@7@tC@@@6@X@d B@̥@d6@ș@@@@>@P@3@@@@\@4@Ж@@@d@3@@h8@8@D@@X8@T@8@8@8@8@ 9@9@,9@<9@L9@`9@t9@9@9@9@9@ E@@8@@@@| PE@̦@:@@ @|K@/@T@@@;@;@;@;@ @@:@:@\@@ F@0@:@@:@:@:@:@@Ԫ@t F@D@:@@D;@T;@h;@;@ G@@4;@@2@2@(2@82@D2@ <@@1@@G@@d A@p@4@0@ P<@X@1@p@=@@P2@ @=@@3@L@ ?@@44@H@, ?@@D4@d@@<@T ;@@1@@ @@ @T4@@ <@l@1@@ pG@l@;@\@,R@4DLT\dltH@|A@@(s@ @8 @M@@t@@ @l@H@@;@@H@̧@;@h@<lt|@R@DK@@<@@@L6@K@ب@<@@J@Ĩ@<@|@J@@<@d@=@,DL@L@x=@@L=@\L@8@<=@@\<@I@T@L<@@=@L@`@=@0@@$,4<D4:@ԥ@LK@@<@X@dH@ܧ@ <@@@J@x@<@@(@$,4<DL =@=@,=@TK@@<@@@tDJ@@<@H@I@@<@@DI@,@,<@Ģ@I@@@<<@Ԣ@\dlt|PT@L@ @D@@$L@@@L@t@=@D4@L@@>@@|@@|@S@8S@@@@Ī@@@R@@|@@@?@@@@ @,R@X@?@@8>@T>@@@tM@@(>@ԥ@p@@O@|@ ?@ا@P@@?@d@ @DLT\dltHO@@?@@@(0@>@(@B@|M@@|>@@L?@@hH@O@@@4@0@$,4<DH@@LR@@8@@T@A@\S@@A@@>@<@@M@@>@̦@@ $,Q@0@?@@@xI@Q@D@?@̩@2@@@xq@P@,o@4PM@̩@l>@ @N@h@>@@ <@D@?@@hP@@?@Ԩ@,pN@T@>@h@TP@@?@L@|O@@,?@@@V@ S@,4<DLT5@@\0@L@|@S@Ы@HA@o@@K@@<>o@l@K@L@(L@d>p@@L@@>n@0@K@@>o@D@K@@>Hb@ ??$?,?4?@@5@l@@\Ex@P@b@@@N@E@p@a@@@@E@@(b@h@$Fȩ@@8b@@H@ /@LF0@<@b@H@@FFFFFFFЧ@@a@@`@H@a@@F,G4G@@ @@@@S@@X@8@,m@@S@<@43@@mX@@S@@ @M@@@mX@\@T@@8@ԝ@d@;@4n،@@(U@@4@4@@Ԥ@U@ @Ĵ@|n@@U@@XV@@@V@V@ @@nX@(@HV@@ @@@$q؈@l@S@@؍@`@hU@@|qX@@U@@@@q@@T@@X@q,r4r@Ĩ@[@@@T@@[@P@Y@@Ī@@@Y@@@ 2@d@4@HZ@@Z@@$@ąT@@Z@T@[@@@4D@@[@@@H@XZ@@4@tĆ̆Ԇ܆@ @t\@@@,4<DLT9@@Z@<@@@@\(@@Y@T@Z@@@xZ@@D[@̛̇@@4[@@,\@@ @\@@p@,\dlt|ܚ@\@hZ@@4@D@\@ @@ @ġ@@@$[@@@@@@[@@@HI@N@@p@X@\@$@ @@@@Y@@܉ $,4<Dhv@L\dlt|@Ċ̊@@@l8@T@@h @,@&@|@@ 4@T@( @@x&@|@,T\dlt|Ě̚Ԛܚ`@ $,4<DLp@Tdlt|@ěԛܛ@ $,4<DLT\dlt@|@ĜԜܜ $,@4DLT\dlt@|ĝ̝ԝܝ@ $,@4DLT\dlt| @Ğ̞Ԟܞ0@ $,4<DLT@@\lt|P@ğ̟ԟܟ $,@4DLT\dlt@|Ġ̠Ԡܠ@ $,<@4DLT\dlt|\@ġ̡ԡܡ|@ $,4<DLT@\lt|@Ģ̢Ԣܢ @$,4<DLT\dlt|@ģ@̣ܣ $,4@<LT\dlt| @Ĥ̤Ԥܤ@ $,4,@<LT\dlt|@ĥ̥ԥܥ@$,4<DLT\dlt| @Ħ̦Ԧ,@ܦ $,4<DLTL@\lt|l@ħ̧ԧܧ $,@4DLT\dlt|@Į̃Ԩܨd@ T@,@4DLT\dl\x@tĩ̩ԩܩ $,4<DLT\dlt|Ī̪Ԫܪ $,4<DLT\dlt|ī̫ԫܫ $,4<DLT\dlt|Ĭ̬ԬܬS@ $ع@,<DLT\dlt|ĭ̭ԭܭ $,4<DLT\dlt|Į̮Ԯܮ $,4<DLT\dlt|į̯ԯܯ $,4<DLT\dlt|Ḭ̇԰ܰ $,4<DLT\dlt|ı̱Աܱ $,4<DLT\dlt|IJ̲Բܲ $,4<DLT\dlt|ij̳Գܳ $,4<DLT\dlt|Ĵ̴Դܴ $,4<DLT\dlt|ĵ̵Եܵ $,4<DLT\dlt|Ķ̶Զܶ $,4<DLT\dlt|ķ̷Էܷ $,4<DLT\dlt|ĸ̸Ըܸ $,4<DLT\dlt|Ĺ̹Թܹ $,4<DLT\dlt|ĺ̺Ժܺ $,4<DLT\dlt|Ļ̻Իܻ $,4<DLT\dlt|ļ̼Լܼ $,4<DLT\dlt|Ľ̽Խܽ $,4<DLT\dlt|ľ̾Ծܾ $,4<DLT\dlt|Ŀ̿Կܿ $,4<DLT\dlt| $,4<DLT\dlt| $,4<DLT\dlt| $,4<DLT\dlt| $,4<DLT\dlt| $,4<DLT\dlt| $,4<DLT\dlt| $,4<DLT\dlt| $,4<DLT\dlt| $,4<DLT\dlt| $,4<DLT\dlt| $,4<DLT\dlt| $,4<DLT\dlt| $,4<DLT\dlt| $,4<DLT\dlt| $,4<DLT\dlt| $,4<DLT\dlt|lR@ $,4<DLT\dlt| $,R@4DLT\dlt|PQ@ $,4<DLT\dlt| $,4<DLT\dlt| $,4<DLT\dlt|t@PD@z@z@@ ^@$,4<DLT\dlt| $,4<DLT\dlt| $,4<DLT\dlt| $,4<DLT\dlt| $,4<DLT\dlt| @tM@0@ $,4<DLT\dlt| $,4<DLT\dlt| $,4<DLT\dlt|D@t@z@{@D@4^@ $,4<DLT\dlt| $,4<DLT\dlt| $,4<DLT\dlt| $,4<DLT\dlt| $,4<DLT\dlt|@Է@@M@@ $,4<DLT\dlt| $,4<DLT\dlt| $,4<DLT\dlt|D@@z@z@$@$^@ $,4<DLT\dlt| $,4<DLT\dlt| $,4<DLT\dlt| $,4<DLT\dlt| $,4<DLT\dlt| $,4<DLT\dlt|Г@,$@w@ $,4<DLT\dlt| $,4<DLT\dlt| $,4<DLT\dlt|D@@z@z@@]@$,4<DLT\dlt| $,4<DLT\dlt| $,4<DLT\dlt| $,4<DLT\dlt| $,4<DLT\dlt| $,4<DLT\dlt|@ @q@@@ $,4<DLT\dlt|$Q@ $,4<DLT\dlt|T@ $,4<DLT\dlt| `U@$,4<DL@Tdlt|y@ $,4<DLT\dlt| $,4<DLT\dlt| $,4<DLT\dlt| $,4<*@DT\dlt| $,4<DLT\dlt| $,4<DLT\dlt| $,4<DLT\dlt| $,4<DLT\dlt| $,4<DLT\dlt| $,4<DLT\dlt| $,4<DLT\dlt| $,4<DLT\dlt| $,4<DLT\dlt| $,4<DLT\dlt| $,4<DLT\dlt| $,4<DLT\dlt|    $ , 4 < D L T \ d l t |              T@      $ , 4 < D L T \ d l t |                     $ , T@4 D L T \ d l t |  6@@ S@        @      $ \J@D@O@Ķ@|B@Ĭ@, t@ @h@@|@@ľ@d       J@@@4@ `@S@ @@@t@@ < D L T \ d 45@@l @@@t@        ,@@   $,4<DLT\dlt| $,4<DLT\dlt|f@ $,4@<LT\dlt| $,4<DLT\dlt| $,4<DLT\h@dt|@ $,4<DLT\dlt|{@ $,4<DLT\dlt|1@ $,4<DLT\dlt| $,4<DLT\dlt| $,4<DLT\dlt| $,4<DLT\dlt| $,4<DLT\dlt| $,4<DLT\dlt| $,4<DLT\dlt| $,4<DLT\dlt| $,4<DLT\dlt| $,4<DLT\dlt| $,4<DLT\dlt|    $ , 4 < D L T \ d l t |                 ! !!!)@T@|*@4@Q@ @$!\!d!l!t!|!!!!!!!!!!!!!!!!!" """$","4"<"D"L"T"\"d"l"t"|"""""""""""""""""# ###$#,#4#<#D#L#T#\#d#l#t#|############x@g@###$ $$$$$xG@԰@]@=@@@z@@,$@@t$$$$$$$*@$$$$$@`g@@@$pg@@t/@@lA@@\%@g@%\%d%l%t%|%%@e@@@g@L@8@%@d@@$@ @@%@L@@d/@d@@@f@@@X@ @@@(@@x@0@%&&&&&<@ԧ@@@@&@t@@0@8@@(@@Є@&@@h@@H@@4'\@@8@@l'@`@@T@@d@@̃@'@@@x@'\@@x@P@@@`@L@@@@(d(@@H@@l(@8@@@(@$@@@@(((`@( )))@t@@p@$)@@@@L)\@`@@@t)@@@$@@))))))))@@@@\@@@<@P@*T*\*d*l*t*|**\@<@@ @@*******K@D@*@@@L@p;@@<@@@`D@d@+@L@@@@d+++++++4L@@80@@+D@P@@l@T@l@p@+,,4,4@t@<,T,\,@\@l$@w@l@<@^@d,`@ܟ@@@,@X@!@s@@l@D@@@,-$-G@D@,-@@@\i@P@D-t-|-----<@-@<@,@(m@`````````(`4`@`L`X`d`p`|```````````` ``$`0`<`H`T```l`x`````````````` `,`8`D`P`\`h`t```````````````(`4`@`L`X`d`p`|```````````` ``$`0`<`H`T```l`x`````````````` `,`8`D`P`\`h`t```````````````(`4`@`L`X`d`p`|```````````` ``$`0`<`H`T```l`x`````````````` `,`8`D`P`\`h`t```````````````(`4`@`L`X`d`p`|```````````` ``$`0`<`H`T```l`x`````````````` `,`8`D`P`\`h`t````````` 0@p 0@Pp @P` 0@(p0p`h``PP 08@HPX`hpxHPX`hpx (08@    ( @    L0L    `XL@HK   7N    gXeH   x@a`V   0 jpi    (0  #s    p0hpPx     (    H8   ph@P   X=   PXHJ0hIx   0(    pX    @ x8 x ؚx    =     x 4     X P  8 h    X5     6     0 ( X     x p 2X    x  8    x xp PX     0    P pH 0 x    p P    (p XP   8p   p   PH-0hh   P    8   PHx0      0(0X   (p   09P   H@ (p         `     @P8H h   PX   h(   `X@        ( @   xpx>X,   H?  5   = :@   xpX3X`?   ( 3@          `    xC     D    (  C    ph FPE   H G   N] $.Xb PDxPpD4 ( H@G @ ?8 P <.[24@0f nGoK0GhAHHxXx 8b <#q~h8P&@2P#Z X0IxA0`{ `OxJ( н9&3z hX ȎX 8 XA h p! ,0Z +; p[`,5OX8?P; -`(0Y   Ax< (([B0 0'm70 Y   Юl6HG`x0P3X<<H+  ? h  0(<ehN 4 x4 \ظ ` `(@)Z5 @0 `Zx2 H"   8BXxH< ( qB( (   H0/6P @8B$08 (ГH@; .( ( p@  (x{p/ "`8 `Q`;pSP,78hBH ?!8X ; hf` <'hA#h8%pJH@r</ %p0@'7(:@70V0rhXxhh8\` )X @( & @ "Xh* h@SPxh>Ȁ8 x0P8/6П8<HX Z  Q `A zP[ !w@( ()X G/(<  |p(& 80 83%G؎ Xs  IE99p `  %G h1pHBP6h<x3     8 F8PDIO Y    @@PP h      8        0  @   `hp          (H8 HH X``hx VW0     0 @x  `h             Smalltalkh P#` p                         ` PXCFunctionDescsh PSmalltalk version 1.1Versionh 8P80Bigendianh PPP KernelInitializedh hPh SymbolTableh P                 `   hProcessorh PObjecth P 8    superClassh 0subClassesh @methodDictionaryh PinstanceSpech `nameh pcommenth instanceVariablesh categoryh classVariablesh sharedPoolsh  0@P`pMagnitudeh PH0(  ((     0@P`p Messageh @P@ (p   h  0@P`pselectorh xargsh xCharacterh P X7     0@P`pTimeh P  0@<   ( 0@P`psecondsh 88Dateh `P`( W    ( 0@P`pdaysh Numberh P0     0 0@P`pFloath P8 8`t   0 8 0@P`pIntegerh PPP@    x @ 0@P`pLookupKeyh PHP     H 0@P`pAssociationh PP     P 0@P`pkeyh valueh ((Linkh PPPXh` (Ѕ   x X 0@P`pPnextLinkh Processh P` p`    ` 0@P`psuspendedContexth priorityh myListh SymLinkh 0P0h p`   X h 0@P`psymbolh hhCollectionh Ppx (Љ    p 0@P`p( P SequenceableCollectionh Px      x 0@P`px  @ LinkedListh P  P    H  0@P`p firstLinkh X lastLinkh h X h Semaphoreh P  @    0@P`psignalsh X h ArrayedCollectionh P       0@P`px 0 X Arrayh 8 P8   h    `  0@P`pStringh P      0@P`p Symbolh P   h6    0@P`pByteArrayh  P   @    8  0@P`pCompiledMethodh X PX   (2    0@P`pdescriptorh methodHeaderh  Intervalh P   h    0@P`pstarth  stoph  steph (   ( OrderedCollectionh X PX      0@P`p firstIndexh lastIndexh  SortedCollectionh P  x    0@P`psortBlockh  Bagh 0 P0  ` X   X  0@P`pcontentsh h h MappedCollectionh P      0@P`pdomainh maph  Seth P 8   0 0@P`ptallyh @@Dictionaryh pPp (h8    0@P`pP@IdentityDictionaryh P     0@P`pvaluesh @SystemDictionaryh0P0 `   X  0@P`p@Streamh P@ (     0@P`pHPTokenStreamh P      0@P`pcharStreamh PositionableStreamh 0P0(  `   X  0@P`p0collectionh hptrh xendPtrh accessh hxReadStreamh P  P`     0@P`phxWriteStreamh P(0 P@   8 ( 0@P`pmaxSizeh HhxHReadWriteStreamh pPp08 0    0 0@P`phxHFileStreamh P8     8 0@P`pfileh  hxHpRandomh (P(@ Xp    P @ 0@P`pseedh ``UndefinedObjecth PH (    H 0@P`pBooleanh PP`X (    P 0@P`p@Falseh@ P X P   H X 0@P`ptruthValueh XXTrueh P`     ` 0@P`pXProcessorSchedulerh Ph (    h 0@P`pprocessListsh activeProcesshDelayh @P@p (pp   h p 0@P`pSharedQueueh Px (X    x 0@P`pqueueSemh valueReadyh queueh BehaviorhP (8    0  0@P`px0@P`ClassDescriptionhXPX (     0@P`p 0@P`pClassh`P( x     0@P`p 0@P`pMetaclassh P x(x;     0@P`pinstanceClassh 0 0@P`p0MethodContexth XPX (     0@P`psenderh iph sphXmethodh blockhXreceiverh  xBlockContexth P (8   0  0@P`pcallerh @numArgsh PinitialIPh `homeh p @P`xpCObjecthHP (     0@P`pYI am not part of the standard Smalltalk kernel class hierarchy. My instances contain values that are not interpreted by the Smalltalk system; they frequently hold "pointers" to data outside of the Smalltalk environment. The C callout mechanism allows my instances to be transformed into their corresponding C values for use in external routines.CFunctionDescriptorh P] (    ] 0@P`pcFunctionh cFunctionNameh 0returnTypeh @numFixedArgsh P 0@PMemoryh xPx (:     0@P`p(ByteMemoryh P ;     0@P`pWordMemoryh P 8D   0  0@P`pMethodInfohHPPP (   x  0@P`psourceCodeh FileSegmenth P (H     0@P`pfileNamehxstartPosh lengthh 2 8  0@   stdinstdinh HPH82 8  `p   stdoutstdouth xPxh2 8     stderrstderrh Pand:h &h at:put:hat:h atEndhXbitAnd:hbitOr:h bitShift:h 0blockCopy:h@byteArrayh Pcharh `classh pcObjecth /h do:h doesNotUnderstand:hdoubleh =h falseh >=hh>hifFalse:ifTrue:h ifFalse:h ifTrue:ifFalse:h 0ifTrue:h @//h Pinth`<=h p<h longh -h new:hnewhHnextPut:h nexth nilh ~=h ~~h or:h |h 0+h@\h P==h `selfhpsizeh smalltalkh stringOuthhstringhsuperh thisContexth *h truehunknownhvalue:hvalue:value:h value:value:value:h0valueWithArguments:h @variadich Pvoidh `whileFalse:h pwhileTrue:haCategoryStringh methodsFor:h` @0;   $ (    H0 X(X,   $ ( (0   0  $)    0%81     h!p1h%A  ! ! !%    *       @"HJH&    x&xBB  "&"   &  +#   8' H+  ` p#p'+   #'   #  methodsFor: aCategoryString  xexecuteStatementshbuilt insD;AF*H  (&0B8*@BHDP,X(@Hh*h"hF8J D F(*,@DHH*,@((+0-8)BEGHG`h)h+ppAAhC)CEEI)I> argh @retry:coercing:h PD3p|* z(" 8r@B PX"Pzh&pXxzj&"z|j$~~zHnB!w (o0~@HG8 `!h{ xm       { !y{MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.stx;P@p!|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st?;Pp!|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st};Pp!|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st; Pp!|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st = ( Ppp!|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st@ 9=H P Pp!|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.sth y;p x Pp!|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st =  Pp!|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st ;   Pp!|\\h!MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st!t > !(! P!p!|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st@! >H!P! PPp!|quo:h `!MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.stx! B!! P`!p!|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st!; !!xMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st!^ !!xbitXor:h !MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st! !!xMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st" """xasFloathH("MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st8" @"H"(xasObjecth X"primitiveFailedh8h"MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st" 6""Lh"pxasObjectNoFailh "MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st" $""Lxbuilt insD(0v* & ("  @B PXx h&p j & $ j& H$ B&!%uw('  @@%HGX'Xw p%  ' %  '  %  MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st(#l <0#"8#)P@p!|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.stP# <X#"`#*Pp!|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.stx# <#"#+Pp!|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st#) <#"#,Pp!|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st#h >#"#-Ppp!|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st# >#"$.Pp!|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st$ < $"($/Pp!|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st@$) >H$"P$0Pp!|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.sth$j <p$"x$1Pp!|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st$ <$"$2Pp!|truncatedh $MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st$ $"$3xfractionParthH$MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st$ !$"%4xexponenth %MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st %-(%"0%5xtimesTwoPower:h @%MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.stP%M'X%"`%6xexph p%MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st%w%"%xlnhx%%MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st%%"%xraisedTo:h%aNumberh %MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st%U&"&P%p!|sqrth &error:h%(&Primitive Sqrt failed!!!MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.stH&FP&"X&(&8&p!|ceilinghXh&MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.stx&O&"&xfloorh &MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st&o&"&xsinh &MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st&&"&xcoshh&MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st''"'xtanh ('MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st8'@'"H'xarcSinh@X'MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.sth'p'"x'xarcCosh 'MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st''"'xarcTanh 'MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st''"'xbuilt insindexh ((MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st8(d@('H(xbasicSizeh(MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st)$)')>xotherObjecth()become:h88)MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.stH)E(P)'X)HxinstVarAt:h h)MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st)p?)')Ih"p|instVarAt:put:h()MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st)J)')Jh"p|asOoph )MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st))')Kxhashh*MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st* *'(*KxnextInstanceh 8*MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.stH*8*P*'X*N{perform:h h*MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.stx*e&*'*Sxarg1hp**perform:with:h *MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st*1*'*Sxarg2h *perform:with:with:h *MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st*<+'+Sxarg3hH+perform:with:with:with:h (+MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st8+G@+'H+ SxargumentsArrayh X+perform:withArguments:h h+MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.stx+KD+'+TxMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st++'+nxMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st+d+'+nxMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st+4+'+oh"pxmessageh ,MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st,O0,' ,xMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st0,$8,'@,xbasicPrinth P,MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st`, h,'p,x primitive operation failedMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st,=,',(&,p!xshouldNotImplementhp+,should not implementMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st,5:,',(&,p!xsubclassResponsibilityh ,the method is the responsibility of the subclassMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st-rZ-' -(&-p!xnotYetImplementedh 0-not yet implementedMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.stP-9X-'`-(&@-p!xbuiltinsquitPrimitiveh -" 8. H P/ p./  . /    -./   /  $- .  (/(D @.HWPX/`  x. /    -./   .  MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st-:<-p--qh"pxaBooleanh-monitor:h .MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st .y@(.p-0.h"pxbacktraceh @.MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.stX.`.p-h.h"pxexecutionTrace:hx.MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st.CG.p-.h"pxdeclarationTrace:h.MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st.I.p-.h"pxsnapshoth.MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st./p-/xaStringh /snapshot:h(/MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st8/'@/p-H/xgcMessage:h X/MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.sth/$)p/p-x/xdebughH/MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st/P/p-/xverboseTrace:h /MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st/,/p-/xbuilt insMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st(0/00/80FxbasicNewh H0MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.stX0J`0/h0FxnumInstanceVariablesh(x0MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st0j.0/0GxbasicNew:hx0MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st030/0GxsomeInstanceh 0MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st0D0/0M{funcNameStringh 1returnTypeSymbolh`'1argsArrayh((1 makeDescriptorFor:returning:withArgs:h&81MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.stP1X1/`1h"p|compileString:h p1MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st1F1/1h"p|built insnumBytecodesh 1anIntegerh'1newMethod:header:h 2" H2                              $ 2 2                              MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st02X821@2Oh"p|built insobjectAt:h 2D11*(08J@B@PXX`PpH2   2HB        HGPXX`p   н MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st2>2P22Dh"p|objectAt:put:h 2MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st2I2P23Eh"p|built ins"        x3                       $P3        @                       MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st`3&h33p3Pxbuilt ins"(A0B(4 H44h4 34    @A@AB   C  @     $3AB (0 @@    ppAAxB   A  @     MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st3%333PxMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st3334QxMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st49 43 4QxMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st04\,843@4QxMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.stP48X43`4QxargArrayh p4MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st42434Rxbuilt ins" X      ȣ      5         X    $4 *     8D HG               H    MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st4*445>xbuilt ins"0H@ x5  Ц x5h   5    55$P5TT B 8@BHHGX(  p    ( T   HMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st`5kh55p5>xMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st5555?xMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st5#555?xMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st5)555@xMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st5/555@xbuilt ins Attempted to intern non-stringintern:h H6"h        6                      $`6U        H6                      MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.stp6XWx666(&@6p!|built ins" 6           0               ȫ $6 *           hC             H  T MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st6666Kxbuilt insinvalid argument type or integer out of range"  x7 POXP    OOP          O    Q P $ P7   O(P    PHXO`P          O    P O MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st`7$ h77p7(&@7p!|built ins"XR0S0UT   hS U Q  0RSR HT  S T R7UT 8R$7STT   8S HG XQ  ppS G  S T RHS 7MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st75!Y777nxasciiValueh,7MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st8!V878xbuilt ins"                        8       $`8                               MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.stp8"x8 88xD$*    8D88PX h xD      H E(  @HGP ``hx            built insioFuncIndexh01`9 FileStream primitive operation failedfileOp:h x9"8:x   x:    @9hX  H   9X  0$9:   8@:    h px9     9  MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st9"b9 99(&p9p!| FileStream primitive operation failedfileOp:with:h 9MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st98#m9 99(&9p!| FileStream primitive operation failedfileOp:with:with:h :MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st :#x(: 90:(&:p!|fileInh @:fileIn failed!!!MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st`:#$@h: 9p:(&P:p!|basicanObjecth :addressOfOOP:h(:"  8;                       ;     $:  ;                       :     MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st:$^::;xaddressOf:h ;MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st ;$q(;:0;xbasicaddressh ;"                            ; ; $;                              MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st;%Q;@;;xMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st;%v;@;;xbuiltinssecondClockh. <"    `<Xf      f<f    f          g $8<    <(f      `^h<`f    f          f MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.stH<&:P<;X<bh"p|millisecondClockhp)h<MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st<&><;<ch"p|builtinsresumeh&<"     X=                 (  =  $<     (=0                 ȇ  <  MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st=)'4=<=Wh"p|suspendh (=MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st@=`'5H=<P=Xh"p|builtinssignalh9="        p     Р     =        >  $=        @     p     =        =  MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st='5=`==Uh"p|waith=MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]builtins.st> (3>`=>Vh"p|comment:h`>"45   X1`/`0h21  -0@-/`--.1P.20.-/2x.344(0$p>44   (10/0082HJ  `>h0px/-.`1p20.-/2خ33p3/classNameStringh >stringInstVarNamesh >stringOfClassVarNamesh ?stringOfPoolNamesh%?categoryNameStringhh9 ?subclass:instanceVariableNames:classVariableNames:poolDictionaries:category:h 0?" 86  P: 8 h679   @869   p89 6 58p709:  $@? 6  : 0? @6HWHG   p?x6x9   ?9 6 5?H7  variableSubclass:instanceVariableNames:classVariableNames:poolDictionaries:category:h p?variableWordSubclass:instanceVariableNames:classVariableNames:poolDictionaries:category:h?variableByteSubclass:instanceVariableNames:classVariableNames:poolDictionaries:category:h?I am the root of the Smalltalk class system. All classes in the system are subclasses of me.Relational operatorsMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Object.st@,@@@@pr|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Object.st@.@@@@pr|isNilh @MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Object.st@ @@@@znotNilh @MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Object.stAA@@Aytesting functionalityaClasshp"`AisMemberOf:h/pAinheritsFrom:h,AisKindOf:hAMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Object.stAd]A A ApAApqp|BPF0*8H  H,pB`*BxDx,(H*,FJ D F(*,@EII+(-A@(@P( )P+h-`) CPExGH+)++(AAC)C(,E0FI+*I0K MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Object.stAuA AAp|copyingcopyh 0BshallowCopyh@BMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Object.stXB` `BAhB@Bp|isVariableh xBinstSizeh BaCopyhBto:do:h.Bih BMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Object.stB~ BAB xBH00(BB)h)(X(pLjhОpiшivՉvȤjp}ШsvpӉvȤkp}|deepCopyh?BMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Object.stC} CA C xBH00(BB)Bh)(X(pLjhОpiшivՉvȤ jp}ШsvpӉvȤ kp}|class type methodsspecieshhCMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Object.stxC C(CCp|yourselfh CMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Object.stC C(CCdependents accessDependenciesh Ddependenciesh:DdependenciesAt:h (Dadd:h 8DaddDependent:hxHDMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Object.st`DhDCpDF(D@D8D@piҨs C̈i@$pxremove:ifAbsent:h DremoveDependent:h0/DMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Object.stDDCDD(D@D@piҨs uȤ{xdependentshHDasOrderedCollectionhP0DMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Object.stDDCEE(D@D@phҨsC̈h|releaseh EremoveKey:h EMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Object.st8E@EC HED E@!pxchange and updatechangedhH%Echanged:h EMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Object.stEREXEEEppxaParameterh EdependenthXEupdate:h FMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Object.stFt FXE(F(D@F@piҨs vȤj}xMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Object.st8F@;@FXEHFxaSymbolh=XFbroadcast:hhFMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Object.stF~FXEF(D@h*@piҨs vȤj}xbroadcast:with:h FMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Object.stFGFXEF(D@*@pjҨs vȤk}xprintingprintStringh*Gstreamh(Gon:h 8GprintOn:hHGMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Object.st`GSxhGF pGE 8G HGh @Buhp|firsth GisVowelh GaStreamh Garticleh GnameStringh Ga an MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Object.stGGFG>GGGGHGpЈjљ$#ixprinth HMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Object.st H(HF0HHGpAxprintNlh @Hnlh:PHMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Object.sthH/pHF xHHPHpЇBxstoringstoreStringh HstoreOn:h@1HMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Object.stH&xHH IE 8G Hh @Buhp|hasSemih InextPutAll:h I basicNew basicNew:  instVarAt:  put:  basicAt:  yourselfMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Object.sthIpIH8xI @ I>xB0I8I(HGBB@IHIh)H PIX(XIH pLji ćprjӬ %p$vىvȤk*+p.ćqj}Өs%vp։vȤl/+p0.ćqj}s12xstoreh IMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Object.stI0IHIHpAxstoreNlh IMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Object.stIR/IH IIHPHpЇCxdebugginginspecth 8JinstVarNameshHJinstVarsh XJinstValhp&hJAn instance of  : MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Object.stJ!JIJHJHxJ@HBJJh)pLjhЈi"чӇv‰vȤk%чч&чp}xprivate,h J classMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Object.stK KJ(KDp@JKpЈhѨsp#h|KI am a virtually existent class. By that I mean that logically instances of my class are created whenever a message is sent to an object, but in reality my instances are only created to hold a message that has failed, so that error reporting methods can examine the sender and arguments.basicaReceiverh KreinvokeFor:hK"                            L   $K                            K   MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Message.stL%LLKLh+|&I am an abstract class. My objects represent things that are discrete and map to a number line. My instances can be compared with < and >.basicaMagnitudehGL"HM(N    XN     N pM M         L   M $LN    0N     `N p              MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Magnitude.stL-LxLL,pxMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Magnitude.stM-MxLM,pxMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Magnitude.st0M,-8MxL@M,pxMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Magnitude.stXM\=`MxLhM0pp|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Magnitude.stM=MxLM0pp|misc methodsminh0)Mmaxh Mbetween:and:h NMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Magnitude.stNNM Nprp|min:h0=0NMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Magnitude.st@NaHNMPNpx|xmax:h `NMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Magnitude.stpNaxNMNpx|x5My instances represent the 256 characters of the character set. I provide messages to translate between integers and character objects, and provide names for some of the common unprintable characters.constantsbackspaceh? OMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Character.st8O[J@ONHO@!|tabh XOMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Character.stpO>xONO @!|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Character.stO=ONO @!|newPageh)OMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Character.stO)GONO @!|crh OMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Character.stPs=PNP @!|esch=(PMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Character.st@P?HPNPP@!|spaceh `PMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Character.stxPZPNP @!|Instance creation value not in range 0 to 35digitValue:h PMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Character.stP mQPQ N 0 #A(&Pu!sB#|$%sB$&|p(|convertingdigitValueh XQInvalid digit characterMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Character.stxQ! aQQQ N  70  A (&hQp!"sp$|p%&sp'(|p*|comparingaCharacterh.QMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Character.stQ :QQR7pв|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Character.stR < RQ(R7pд|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Character.st@R* :HRQPR7pг|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Character.sthRg <pRQxR7pе|testingisDigithp RMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Character.stR HRR RN  p!"|isLetterhp SMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Character.stS~ SR (SN    p!"qp#$|isAlphaNumerich8SMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Character.stPSaXSR`SSRpЙqp|isLowercaseh pSMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Character.stSSSR SN  p!"|isUppercasehpFSMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Character.stSSJSR SN  p!"|isSeparatorhSMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Character.stSeTRT`POXOPHOpAгszpAжsypAҶsypAӶsypAԶsypAնsyzasLowercaseh TMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Character.st0T78TR@TFT ( H x  pЈh!sy"sy#sy$sy%syzCoercion methodsMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Character.stTrTPT TS7 pЙsxAp#|asUppercasehTMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Character.stTPTPT TpS7 pЙsxAp#|asSymbolh TinternCharacter:h UMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Character.stU.Y UPT(U U@p|printingMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Character.stxU+U8UUpxstoringMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Character.stUDUUU   ćpx3My instances represent dates. My base date is defined to be Jan 1, 1901. I provide methods for instance creation (including via "symbolic" dates, such as "Date newDay: 14 month: #Feb year: 1990"DayNameDicth XV# M M M HN N O HO O P     hK K L hL L PXVVMonthNameDicth V# V P`VPVHQ8WQWRXHRXRXS pS S (T T T PU UPVVbasicinitializehEHWinitDayNameDicth XWinitMonthNameDicth hW"        p\Wx[Yp]0[^(_p__x`]`     8^`^` (\$W        @\HWH[XW@]hW@^P^@__x_]]     ]_]_ [MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Date.stW@WWWXWhWpЇpxmondayh Wmonh WtuesdayhDWtueh Wwednesdayh8NWwedh Xthursdayh'Xthuh* Xfridayh80Xfrih @Xsaturdayh8PXsath<`Xsundayh0pXsunhXdayNamesh X XXXXXXXWWWWWXX X0X@XPX`XpXXdayIndexhBXMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Date.stXYWYXBV hv‰vȤivȤjB}}xjanuaryh Yjanh'(Yfebruaryhx18Yfebh HYmarchh XYmarh hYaprilhFxYaprh Ymayh@*Yjuneh Yjunh Yjulyh Yjulh`/Yaugusth YaughYseptemberh Zsephp<ZoctoberhD(Zocth 8ZnovemberhHZnovh XZdecemberh hZdech /xZmonthNameshhPZZZZZZZZZZZZZY(Y8YHYXYhYxYYYYYYYYYZZ(Z8ZHZXZhZxZmonthIndexhh[MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Date.st[] U [W([ZBW hv‰vȤivȤjB}}xdayNamehX8[dayOfWeek:h H[MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Date.st`[ Eh[W p[VTT@|Mondayh [Tuesdayh [Wednesdayh [ThursdayhW[Fridayh [Saturdayh [SundayhG[ [[[[[[[nameOfDay:hI[MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Date.st\ b\W \[ |monthNameh 0\indexOfMonth:h-@\MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Date.stX\c N`\W h\WTT@|Januaryh x\Februaryh \Marchh \Aprilh \Mayh\Juneh?\Julyh \Augusth \Septemberh!\OctoberhpZ]Novemberh ]Decemberh (]x\\\\\\\\\]](]nameOfMonth:h @]MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Date.stX] `]Wh]8] |yearIntegerhx] daysInMonthIndex:forYear:h]daysInMonth:forYear:h ]MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Date.st]a ]W ]B@\]pjp|leapYear:hx]daysInYear:h ]MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Date.st]@^W^m] p|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Date.st ^Q(^W0^!d!ur "uq#uv|u|xdateAndTimeNowhX@^todayh:P^nowhL`^with:with:h\p^MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Date.st^>^W ^H p^P^p`^@CE|instance creationdatehU^setDays:hH]^MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Date.st_h_^ _ <<^rbAЈh"##ip%|dayCounth 0_fromDays:h @_MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Date.stX_3`_^h_^p|yearAsDays:hHx_newDay:year:hZ_MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Date.st_-d_^ _^x_pp|dayh0+_daysUntilMonth:year:h8\_newDay:month:year:h _MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Date.st_`^ `^_x_pvpp|private methodsMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Date.st``|h``p`lmd hv!"#$|totalDaysh\`MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Date.st`X4```@\B]ukpjvvvȤ lpk}|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Date.st`4`` `B`] jwp||xbasicaddDays:hS(a"d@e  c`a   b   ahd @d  `c a    dc  dc$8a*  b(a   HG   hap    a    H  ^MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Date.stHa-Pa`Xa`xsubtractDays:h(haMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Date.stxa2a`a`xaDateh asubtractDate:h aMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Date.staK+a`aб|printingcomputeDateParts:h byearhB0bmonthh @bcopyFrom:to:h PbMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Date.sthbpbaxb bHGh p@]Pb!dp&Ȥkji"ćCv&"ć(}xstoring newDay:  month:  year: MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Date.stbbbb@ I> bbHbp@]bH  ćpp*Ȥkji$&G)}+xprivate methodsMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Date.stHcPccXcMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Date.sthc&pccxc`xaBlockh ctempDaysh`YcdaysInMonthh*cMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Date.stcicc)c P:mdm p]0 !"j#i#$%&vj'ivk(r Ilvkjsk|comparisonMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Date.st(dx 0dc8dв|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Date.stPd"Xdc`dд|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Date.stxd dcdж|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Date.std"dcdе|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Date.std dcdг|miscMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Date.st(eG0ed8e5My instances represent times of the day. I provide methods for instance creation, methods that access components (hours, minutes, and seconds) of a time value, and a block execution timing facility.basicsetSeconds:h eMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Time.ste/fe fe <pB|secondCounth ffromSeconds:h (fMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Time.st@f@ ?HfePfep|fromSecondsNow:hO`fMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Time.stxf efefe! <<pC$%%|millisecondClockValueh)fMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Time.stf 1fefh<p|timedBlockh]fstartTimehcfmillisecondsToRun:hHfMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Time.stg ge gAh<pЈiɇp|accessinghoursh@Dhg"       h h  hg     h  g     `i   $g       8 HG  `hhg     h  g     e   MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Time.stg &g(g g!<!!"|minuteshBgMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Time.stg #g(gg!<!!|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Time.stg' g(gh!<!|arithmetictimeAmounth PhaddTime:h;`hMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Time.stxhj Chhhe@|subtractTime:h hMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Time.sth Hhhhe@|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Time.sth hhhhgHG g  8p"ćp$s%ćp"ćp$s%ćpxprivatesecsh8iMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Time.stHi7 $PihXi`x3I am an abstract class that provides operations on numbers, both floating point and integer. I provide some generic predicates, and supply the implicit type coercing code for binary operations.convertingdegreesToRadianshi8eC.ӿD,Pq   &  0n  HjPHr`n    jn&l$Bj&nr  n&!  s (o(' @@mPX'`!Psp%xm ' o%q'mo oqiMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Number.st(j?0ji8jjp |radiansToDegreesh\Hj8eC.ӿMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Number.sthj.?pjixjXjp |coerce:h;jMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Number.stjp0jij,pxgeneralityhjMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Number.stj+jij,pxselfGenh8jaNumGenhGkretry:coercing: called with arguments of the same generalityMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Number.st(k0ki8kAj*j(&k ƨsBszpӈjӈkspp|sp|p'xarithmeticMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Number.stk *kHkk,pxMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Number.stk *kHkk,pxMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Number.stk- *kHkk,pxMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Number.stlZ *lHkl,pxMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Number.st0l +8lHk@l,pxMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Number.stXl +`lHkhl,pxMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Number.stl lHkl$p|rem:hplMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Number.stl{ lHkl$pp|truncation and round offMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Number.st mh +(ml0m,p|truncateTo:h @mMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Number.stXm >`mlhm$p|roundedh xm8@MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Number.stm Smlm$mp!|roundTo:hXmMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Number.stm- 9mlmxmp|testingnegativeh*0nMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Number.st@n HnmPnpu|positivehT`nMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Number.stpn xnmnpu|strictlyPositiveh nMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Number.stn nmnpu|signh nMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Number.stn onm npust|pusv|u|evenhnMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Number.stoUKomon$p|oddh@Z(oMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Number.st@oMHomPo(o$p|misc mathsquaredh &oMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Number.stoo`oopp|absh onegatedhjoMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Number.sto5>p`opopuxp|xMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Number.stpv p`o(pup|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Number.st@pHp`oPp&("p|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Number.sthppp`oxp&("p|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Number.stpp`op('("p|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Number.stp p`opX'("p|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Number.stp  p`op'("p|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Number.stq, q`oq'("p|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Number.st0qO8q`o@q&("p|B   Hq  Xn  jHlxrn    jnkl8msjXpns  oppl  Hs Xop kpm@kplxsxqm p l oqq qm(p k0p r@jMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Number.st`qnhq`opqp%("p|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Number.stqq`oq%("p|log:h(IqMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Number.stqUq`oq%pй|radixhjqfloorLog:hYqMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Number.str-r`or&qp|resulth (rtimesRepeat:h@Y8rraisedToInteger:hHrMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Number.st`r.hr`o prBj8rpviuȤpi}|Interval iteratorsfrom:to:h rto:h rMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Number.str+rrr r@p|from:to:by:hBsto:by:h9sMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Number.st0sD=8sr@s s@pa|to:by:do:h PsMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Number.st`s8hsrps@pku ʇks ʇksxMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Number.sts8srsPspv`|BMy instances represent floating point numbers that have 64 bits of precision (well, less than that in precision; they are precisely the same as C's "double" datatype). Besides the standard numerical operations, I provide transcendental operations too.basicpih8t8IA!h"       t                        $Xt       8t                        MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Float.sthtLptsxtHt |arithmeticMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Float.stt`ttt&p|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Float.sttttupp|integerParthAuMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Float.st(u *0ut8u$ppб|coercing methodsMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Float.stu %uHuu("|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Float.stu. uHuu |MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Float.stuC 7uHuuexpth suMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Float.stv} vHu vD%$pЈhu"p||xB#(v `& u  v tx &# #u &h# $ u& w% v 'X$u8%@uwP'  @#h%@w'@ %  '$ %  '  0$&$ $ copyingMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Float.stxv v8vvMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Float.stv v8vvprintingnumhvformat:h@ w%fMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Float.st(w M0wv 8wwwHGp!|formatStringhEHwformatDouble:value:h XwMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Float.stpw8 xwvwXwpp|storingMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Float.stwL+wwwHGpxprivatebh0'8xstrh HxrevDigitsBase:h_XxMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Float.stpx5xxwx 8G P&!u h @Bvipu(ĤpjuCć׈js|#I am the integer class of the GNU Smalltalk system. My instances can represent 31 bit integers and are as efficient as possible.Misc math operatorsMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Integer.st yO(yx0yOther iteratorsMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Integer.styxy@y y@vip ɇvisxbit operatorsbitAt:hyMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Integer.sty4 ;zyzopмv|bitInverth zMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Integer.st0zr 8zy@zopv|allMask:h TPzMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Integer.st`z whzypzp|anyMask:h zMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Integer.stzt rzyzpu|noMask:hx?zMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Integer.stz ozyzpu|highBith0zto:step:do:h@xzMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Integer.st{[ {y{Bzpust| vtvȤhpvus|}axMath methodsfactorialh!h{MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Integer.st{v Z{({ {h{pwv|ppvи|xselfIntegerh {temphx{gcd:hPj{MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Integer.st{ {({ {!piujihs|lcm:hW{MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Integer.st| D|({ |o{pp|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Integer.st0|68|({@|pvu|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Integer.stP|XX|({`|pvu|B 8y Hz@P" y~ X!"xzX}0 z}x}"z|8}}~ {H|8~ 0!!h!h| "0 !{ }       { " zX (| Coercion methods (heh heh heh)asCharacterh ]| Integer not convertible to characterMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Integer.st||x||(&|p rpuCp|p"|xMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Integer.st}{'}x|}$|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Integer.st }(}x|0}v|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Integer.st@}H}x|P}MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Integer.st`}h}x|p}MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Integer.st}}x|}MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Integer.st}}x|}copyingMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Integer.st~4~}~MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Integer.st ~M(~}0~printingradix:h ~printOn:base:h0a~MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Integer.st~A~@~~ I~pxbaseIntegerh ~ signedStringBase:showRadix:ha~MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Integer.st~K~@~~pq|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Integer.stS @~ (~ HGp!rxformatInt:value:h8MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Integer.stPtX@~`8pp|storingMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Integer.stLpHGpxasFractionhprivateshowRadixh revStringh(lenhpCreverseDo:hHMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Integer.st؀JP! oXx 8G HG h h pu qmpЈormpokBDvjs&ćs'ćvȤI}|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Integer.st@P 8G P! h @Bvipu&ĤpjuCćjs|+I am not sure why I exist. I believe that I am used some how differently from associations in the original Smalltalk-80, but that's idle speculation on my part.6My instances represent a mapping between two objects. Typically, my "key" object is a symbol, but I don't require this. My "value" object has no conventions associated with it; it can be any object at all.basicaKeyhpWHaValuehAXkey:value:h h"                               $             h                  MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Association.st>hp|accessing" X x      8                $ * (   HG   h            H    MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Association.st!axMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Association.st ;(0`axMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Association.st@ HPMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Association.st`hp@testinganAssociationhhMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Association.st؃6R жrɶ|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Association.st!*а|printing -> MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Association.stppx HG I`p#pxstoring(Association key:  value: MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Association.stv  IЄH؄H !p$p%x6I represent simple linked lists. Generally, I am not used by myself, but rather a subclass adds other instance variables that hold the information for each node, and I hold the glue that keeps them together.instance creationaLinkhȃnextLink:h"                               $ȅ                               MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Link.st؅/`p|basic"                 `             $8                              MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Link.stH"PXMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Link.sth<1px`|4I represent a unit of computation. My instances are independantly executable blocks that have a priority associated with them, and they can suspend themselves and resume themselves however they wish.basicaPriorityh onBlock:at:hpg0on:at:h @"                               $X        @                       MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Process.sthEpx0p|basicterminatehrȇprocessListh ؇processhcremove:hXMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Process.st @(=saШspscCpƨspxaccessingMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Process.stpx0priority:h MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Process.st-0bxprivateMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Process.stWabxMI am an abstract class. My instances are collections of objects. My subclasses may place some restrictions or add some definitions to how the objects are stored or organized; I say nothing about this. I merely provide some object creation and access routines for general collections of objects.instance creationwith:hv"             8    Ȋ           $ȉ          P   p^               MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Collection.st؉:5p8DCp̈|firstObjecth0&secondObjecth8_MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Collection.st ra(p 08DCp̈|thirdObjecth@with:with:with:hfPMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Collection.sthpp x8DCp̈|fourthObjecthwith:with:with:with:hx^MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Collection.st^p  8DCp̈|Adding to a collectionnewObjecthPr"(88H`H P x 0      `$(  8D HGPP`h xD     Ў؏D MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Collection.st8H /@ЊH,pxaCollectionh_XelementhxAhaddAll:h xMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Collection.stz [Њ A8DvȤip}ˇ| Removing from a collectionoldObjecth anExceptionBlockhMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Collection.st M (,pxFailed to remove objectMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Collection.stHc {P XD(&8puȤp"||removeAll:h{hMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Collection.st  AvȤip}ˇ|testing collectionsincludes:h MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Collection.st ` @pvȤ isy}ˇzisEmptyhMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Collection.st (0pu|counth @occurrencesOf:hPPMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Collection.st` h puipvȤjƨsvi}ˇ|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Collection.st [ uhpvȤivh}ˇ| enumerating the elements of a collectionMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Collection.stU+,pxnewCollectionh select:hXMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Collection.st0P8 @hC8Dp̈ipvȤ jʨs}ˇ|reject:h$PMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Collection.sthQp xhC8Dp̈ipvȤ jʙs}ˇ|collect:h_MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Collection.st*$ hC8Dp̈ipvȤj}ˇ|exceptionBlockh8Xdetect:ifNone:h ЎMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Collection.stQ @pvȤ jʨs|}ˇx Collection detect: faileddetect:h[MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Collection.st \( 0Ў(&puȤp"||thisValueh @binaryBlockh0(Pinject:into:h0]`MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Collection.stxD A pvȤjh}ˇ|convertingasBagh ؏aBaghsMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Collection.st` @ 8D@̈hpvȤi}ˇ|asSethX aSeth(b0MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Collection.stH}kP X8D@p͈hpvȤi}ˇ|anOrderedCollectionh` hMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Collection.st h 8D@p͈hpvȤi}ˇ|asSortedCollectionh aSortedCollectionhMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Collection.stȐА ؐ 8D@̈hpvȤi}ˇ|sortBlock:h asSortedCollection:h^MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Collection.stb  8D@ipvȤj}ˇ|printingfirstTimeh p (MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Collection.stRY0 I>`PHGH qip"pvȤjriDć}ˇ&xstoringnoElementsh` new add:  yourselfstore:h8MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Collection.st08@@ I>H H  ćp#qipvȤj$&ćri}ˇs'(xMy instances represent collections of objects that are ordered. I provide some access and manipulation methods.basicatAll:put:h "00( PX` P p Ȕș   p$ (0 @ PbX`XhxG  ȓȕ  JMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]SequenceableCollection.st_@vȤjp}xatAllPut:hH MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]SequenceableCollection.st8EU@ HABvp‰vȤip}xMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]SequenceableCollection.stX`hpv|lasthPwx last not defined with no elementsMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]SequenceableCollection.stm (&pvsp!|pp|anElementh DindexOf:ifAbsent:h ȓMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]SequenceableCollection.st& ABvp‰vȤ jps|}|indexOf:hMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]SequenceableCollection.stA (ȓpuȤu||nonpublic methodsaSubCollectionhhxanIndexh matchSubCollection:startingAt:hMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]SequenceableCollection.st` 8 ABw‰vȤjpvsz}yselfSizeh ДsubSizeh indexOfSubCollection:startingAt:ifAbsent:h MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]SequenceableCollection.st7 8Bˆlpˆks$vvȤmpvs ps|}| indexOfSubCollection:startingAt:hq(MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]SequenceableCollection.st@; H8 PpuȤu|`|replacementCollectionh `repStarth preplaceFrom:to:with:startingAt: called for in-place replacement, but starting index was not 1 replaceFrom:to:with:startingAt:h MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]SequenceableCollection.st 8C (&Bpƨrvsp!|vvvȤlpvv}xreplacement range does not equal size of replacement collectionreplaceFrom:to:with:h0ȕMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]SequenceableCollection.stp8(&v·sp!|pvx copying SequenceableCollectionsaSequenceableCollectionh[@MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]SequenceableCollection.stX[`hBhCȕpp°͈ivppapvp°a|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]SequenceableCollection.st8 hCvkp͈jvp|withh(?newSubCollectionholdSubCollectionh numOldhЖsizeDifferencehpnewSubSizeholdSubSizehЕnewStarth8oldStarthj copySizehE0 countSubCollectionOccurrencesOf:hD@replaceFrom:to:h8-PcopyReplaceAll:with:h `MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]SequenceableCollection.stx(G@hC(Ppjˆm±vlpp͈kvHopJu5vIvpvovձHosp|newSizeh`JrepSizeh0fcopyReplaceFrom:to:with:hMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]SequenceableCollection.stЗPؗhCȕˆmpvlp͈kvvpvvbpv|newElementh0DcopyWith:hMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]SequenceableCollection.st (hCȕpvjp͈ivppa|oldElementh 8numOccurrencesh HcopyWithout:h_XMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]SequenceableCollection.stpxA hCujpvȤlsvj}ˇpp͈ivkpvȤms vk}ˇ|enumeratingMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]SequenceableCollection.stؘ ABvp‰vȤip}xfindFirst:hMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]SequenceableCollection.stQ ABvp‰vȤ ipʨs|}u|findLast:h,0MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]SequenceableCollection.stH5yP XAPspvtvȤ ipʨs|}`u|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]SequenceableCollection.stpZx APspvtvȤip}`x sequenceable collections must have same sizewith:do:hkMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]SequenceableCollection.stD(&B p¶sp!|vp‰vȤ jp}xprivate methodscolIndexhPZsubColIndexhE MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]SequenceableCollection.st8kR@ЙH(viukpjuvk°is|growhH:XgrowSizeh\hMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]SequenceableCollection.st ЙEhC(hȕ8)pppҰ͈hvppcp|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]SequenceableCollection.st!0Й |6I provide methods that access and manipulate linked lists. I assume that the elements of the linked list are subclasses of Link, because I use the methods that class Link supplies to implement my methods.accessing index out of bounds in linked list"  (   P      X         ؛ 0$ p     8D HG X    D          MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]LinkedList.st) @(&`vijШs|viшjsp#|objecth] Do not store into a LinkedList using at:put:MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]LinkedList.st&Uț Л(&p!xaddingaddLast:hm MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]LinkedList.st8e@H p|addFirst:h`XMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]LinkedList.stp x @Шsa`|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]LinkedList.st @@Шs`Ѩsa|removeFirsthؔ attempted to remove from an empty listMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]LinkedList.st؜  D(&ȜpuȤp"||removeLasth(E attempted to remove from an empty listMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]LinkedList.stz  (D(&puȤp"||MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]LinkedList.st@N &HPC@Ƭш`Шssa,jШs|ƨшjsƨsas|enumeratingMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]LinkedList.st` B@iЬ ʇшisxtestingMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]LinkedList.stTPȝ @|printingMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]LinkedList.stx?0 I>pxZMy instances represent counting semaphores. I provide methods for signalling the semaphore's availability, and methods for waiting for its availability. I also provide some methods for implementing critical sections. I currently do not (because the underlying system does not) support asynchronous signals, such as might be generated by C signals.instance creationinitSemaphoreh p"                              $                              MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Semaphore.st%0pH0p|forMutualExclusionh semh ȟMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Semaphore.stL0A=p̈hЇ|mutual exclusioncritical:h @MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Semaphore.stXTg` hB==pЇɈipч|privateMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Semaphore.stxȠubx6My instances are objects that are generally fixed size, and are accessed by an integer index. The ordering of my instance's elements is determined externally; I will not rearrange the order of the elements.instance creationelement1hYhanArrayedCollectionhhx"                 P           $          P   p^               MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]ArrayedCollection.st(@pv͈iv|element2h2MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]ArrayedCollection.stȡС( ء@pw͈jvw|element3hYMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]ArrayedCollection.st( Ap ͈kvw |element4h MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]ArrayedCollection.st8 L@( HB p ͈lvw! |basicMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]ArrayedCollection.st 'X,pxcomparingMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]ArrayedCollection.sty 0ABp¶szvp‰vȤ ipsz}yhashValueh1(MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]ArrayedCollection.st@ HP!*uhpvȤ iv"h}ˇ|printing (MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]ArrayedCollection.st T` I>`PHGH p"qipvȤjriDć}ˇ&xstoring(( basicNew:  at:  put:  yourselfMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]ArrayedCollection.st@~HУ#P I>(HGH (H 0!p#p&ćvipvȤj'(*ćvi}ˇvs+&xHMy instances are objects that have array-like properties: they are directly indexable by integers starting at 1, and they are fixed in size. I inherit object creation behavior messages such as #with:, as well as iteration and general access behavior from SequenceableCollection.My instances represent string data types. I provide accessing and manipulation methods for string data types.basicfromString:h("                              $                          إ    MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]String.st2j@Pbv|newCharh ȥreadFrom:hWإMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]String.stt@ 8G 8 h @BuivȤk#ƬÈj#ƙs#ćĒ}ˇ|comparingMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]String.stP< X`pzyxMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]String.stp xpzyxc1h c2h MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]String.st ȦB0NTvpvȤ!kp҈i҈jsysz}p´|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]String.st B0NTvpvȤ!kp҈i҈jszsy}pµ|sameAs:hYMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]String.st% (BBTp·szvp‰vȤipѷsz}ymatchSubstring:in:at:h 8match:hHMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]String.st`h pA T8Aszpvvc|convertingnewStrhMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]String.stا\hCBTpp͈hvp‰vȤ ip}|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]String.st6hCBTpp͈hvp‰vȤ ip}|asStringhh^ MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]String.st0=8@MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]String.stp:x{MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]String.stW H6@p|copyingMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]String.stC hCBpp͈hvp‰vȤip}|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]String.st(08@Bp|printingMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]String.st%^H@pvȤi}|storingMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]String.st A8  ćpvȤi ƨsć}ˇ xprivateph.Psh[`pchpsshMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]String.st~$P B8 p³s³|pk svvȤlpvbsy}z³sz#s pvvb|s pvvb|zCMy instances are unique throughout the Smalltalk system. My instances behave for the most part like strings, except that they print differently, and I guarantee that any two instances that have the same printed representation are in fact the same instance.instance creationMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Symbol.stPQnX `B H6@v͈ivp|convertingMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Symbol.stpmiscMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Symbol.st  Ы( @|storing#MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Symbol.st[38 JxHG!px/My instances are similar to strings in that they are both represented as a sequence of bytes, but my individual elements are integers, where as a String's elements are characters.copyingnewArrayh~8"        x                      $P        @B                     B MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]ByteArray.st`h phCBpp͈hvp‰vȤip}|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]ByteArray.st] @Bp|8I represent methods that have been compiled. I can recompile methods from their source code, I can invoke Emacs to edit the source code for one of my instances, and I know how to access components of my instances.DebuggerhH\P basicmethodCategoryhXMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]CompiledMethod.stt(P|aCategoryh8Ȯcategory:h%خmethodCategory:hHMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]CompiledMethod.st>Pخ|methodSourceCodeh MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]CompiledMethod.st8,@PH|methodSourceStringh XsourceStringh hMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]CompiledMethod.st 0Ph|methodSourceFilehwsourceFilehMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]CompiledMethod.stȯB ,ЯPد|methodSourcePoshhsourcePoshMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]CompiledMethod.stq *P |getDescriptorhM0getHeaderh @numLiteralshXHPaMethodh `literalAt:hpbytecodeAt:h2MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]CompiledMethod.st P0@BPp1жszѶszvpӉvȤ ip䶙sz}vpՉvȤ jp涙sz}yMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]CompiledMethod.st! ȰPа*!ߨBPp1Јhv"hvpԉvȤivp"h}vp։vȤjvp"h}|method header accessorsflagshX MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]CompiledMethod.st85@H !|primitiveh XMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]CompiledMethod.stp:x !|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]CompiledMethod.stYE 0pЈhw"su|#$|numTempsh(XMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]CompiledMethod.stбaر  pusu|!"|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]CompiledMethod.stQU  ?pusu|!|copying shallowCopyMethodContents:hXMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]CompiledMethod.stpxx h 2(X@pp|deepCopyMethodContents:h MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]CompiledMethod.stPr h 2(@pp|debuggingAn instance of  :  Header Flags:  flags:  primitive index: number of arguments: number of temporaries:  number of literals:  literals: [  ]MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]CompiledMethod.stp}xȲ=HJH@HB2 ( 0X8P@HPPXIp`pLjhЈi"чӇvvvȤj%чч&чp}(Ӈ)чpӇ+чpӇ-чpӇ/чpӇ1чpӇpus!3ӇvpvȤk4чч&чp6}7xdebuggingdebugByteh\гbyteIndexh recordOldByte:atIndex:forMethod:hbytecodeAt:put:h breakpointAt:hpMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]CompiledMethod.st(0 8Hг@ppap@xlineNumberh\HbreakAtLine:hfXMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]CompiledMethod.stpx3x0-pxoldByteh origByteAt:forMethod:hHremoveBreakpointAt:h]MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]CompiledMethod.stȴд شDH@@piҨspxprintingprimIndexh (numLitsh 8Header Info: Primitive:  # Args:  # Temps:  # Literals: Literals-------- []: Byte codes----------printByteCodesOn:h a CompiledMethodMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]CompiledMethod.st ȵ<еHHGXPPXP`hPHpxBpHq5} p҈ius#pԈj%p'p)ڇus.+ڇ,ڇvvȤk./p01}2ڇ3ڇp4xMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]CompiledMethod.st+HGpxprivateliteralAt:put:h[HMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]CompiledMethod.st`Mhp0BPHp1Ј`v҉vȤip}vՉvȤjp}xMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]CompiledMethod.stJ[B0BPHp1Ј`vӉvȤ ip}v։vȤjp}xnumByteshXprintByteAt:on:h MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]CompiledMethod.stж ض 1vjpЈi pjsx@h2xh yhpbyteh nextByteh0skiph@ []: printIndexedAt:on:hY`emitSimplePop:on:h pemitBuiltin:on:hprint2BytePush:on:h print2ByteStackOp:at:on:h storepop and storeemitIndexedSend:on:hpop stack top duplicate stack toppush current contextILLEGAL bytecode printJump:on:h send arithmetic message "@p!0P "send special message "`p@(printSmallArgSend:on:h8(MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]CompiledMethod.st@V!HPHPHGX_`N`opp}зط (PHpj!ƨsBpjvl$&'sp*+sp-.sp0ƨs wlppvQ2ƨs wlp4s5ƨs wlp6s78spYl:ƨs;<ƨs=>ƨs?ssp%ls净v净s净v净sp23ć| pushIndexed:withIndex:on:h`Instance VariableTemporaryLiteralpush Global Variable[] = printAssociationKeyFor:on:hMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]CompiledMethod.st)m%`px?HGpj!s p#!b|$s p%!b|&s p'$b|($*p$xindexLabelhYиpush []MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]CompiledMethod.stR, HG "#x pop and store instance variable[pop and store Temporary[MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]CompiledMethod.st8-_@H N`g I HG ho(!"s $%'ć()s *%'xpush selfpush truepush falsepush nilpush -1push 0push 1push 2return selfreturn truereturn falsereturn nilreturn Message stack topreturn Block stack top ### ILLEGAL BYTE CODE 126 ###MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]CompiledMethod.stع~.MpXHGq`rhsptxuvwxyz{|}~ȹ ƨs!#ƨs$%ƨs&'ƨs()ƨs*+ƨs,-ƨs./ƨs01ƨs23ƨs45ƨs67ƨs89ƨs:;ƨs<=ƨs>x printIndexedPush:type:on:h MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]CompiledMethod.st22x ?p!"`xtypeIndexhc0typeNamehh@indexedLocationName:hH_Ppush [] = MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]CompiledMethod.st2OIPJ`hHGpxpk"#%&s'pxBذ@8PؼXxxȽ(2X   3     PP   صȸP  ( p@x (locIndexhXȺкغInstance VariableTemporaryLiteralGlobal VariableMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]CompiledMethod.st3t v|opNameh locationNameh ILLEGAL [] = MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]CompiledMethod.stXv4`!hP0HGJ8?@Hpvk!mplwƨs#&'()ƨs *p'xbyte1hPxbyte2h toSuperhHbto Super  emitGenericSend:index:args:on:hMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]CompiledMethod.stл6tػ" 0pj!jv#m"muwpvkp'(w|pvkpwlp&|xsend selector ,  args = printLiteralSymbolAt:on:hrMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]CompiledMethod.st(9#08 JHG!"$%pxjump to  if falsepop and jump to  if trueMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]CompiledMethod.stp&:x?OHHGPX`pj!s"$vvv|%s"$vv&v|'s"$()pvww|*s+,)pvw-w|.s+,)pvw&w|xsend selector ,  args arg = MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]CompiledMethod.st=ȼмJHG h!j"$%vƛ'&(p$xassoch MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]CompiledMethod.st? CpHGpvjxMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]CompiledMethod.st @](0pHGpvxMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]CompiledMethod.st@e@HPMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]CompiledMethod.st`@hp@MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]CompiledMethod.st@52pw|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]CompiledMethod.st@N2pwxbytecodeStarthPJнMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]CompiledMethod.st.A:(нppѱ|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]CompiledMethod.stkAF X(нppѰ|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]CompiledMethod.st8A^@H(нppѰ|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]CompiledMethod.st`B(hpP pѸ|.My instances represent ranges of objects, typically Magnitude type objects. I provide iteration/enumeration messages for producing all the members that my instance represents.instance creationstartIntegerh stopIntegerhPG(stepIntegerhP8initializeFrom:to:by:hسH"                              $` s                      r       MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Interval.stpxؾAHp`|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Interval.stl[ؾspv`|basic" h  0 hH    xX        `$ *   (  8D HGH  hC         H MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Interval.st @iu ʇis ʇisxjh f(MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Interval.st@ HPhCpp͈jvikukviskvisxMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Interval.st`g hpu v|u| v|u|xMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Interval.stQ H @|subscript out of boundsMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Interval.sth  (&vrp´ v|p!x you cannot store into an IntervalMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Interval.stL(&p!x elements cannot be add3ed to an IntervalMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Interval.stRJ ((&p!x elements canot be removed from an IntervalMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Interval.stHOPX(&8p!xtestinganIntervalh MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Interval.steh   ( ѶҶӶ|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Interval.st,h!|printingMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Interval.stPX` I>`PHG` pCć%ć%ćxstoring from:  to:  by: MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Interval.st'p@ I>HH  ćp#%&'xprivate methodsMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Interval.st0>8@`abxMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Interval.stPX`MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Interval.stpx@MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Interval.stAMy instances represent ordered collections of arbitrary typed objects which are not directly accessible by an index. They can be accessed indirectly through an index, and can be manipulated by adding to the end or based on content (such as add:after:)instance creationinitIndicesh`WP x "                              $                              MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]OrderedCollection.stM7@ p!|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]OrderedCollection.st@p |accessing index out of bounds for ordered collection"00@@`Xh(        p$H 088DPXXh        MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]OrderedCollection.stX`h(&8X(vhrp|p!x index out of bounds for ordered collectionMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]OrderedCollection.st (&x(vhrp|p!xno following objectobject not foundafter:h@iMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]OrderedCollection.st EBX((&vȤipspv|p#|}p$xno preceding objectobject not foundbefore:h]MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]OrderedCollection.stO  (EBX((&vȤipspv|p#|}p$xcopyEmptyh8MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]OrderedCollection.stP0X`hC(pp|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]OrderedCollection.stp:%xv|addingMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]OrderedCollection.st* p|at:insertObject:hХ object not found in collectionadd:after:hMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]OrderedCollection.st(08EBX((&vȤjps pv|}p$x object not found in collectionadd:before:h PMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]OrderedCollection.sthpxEBX((&HvȤjps pv|}p$xaddAllFirst:hMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]OrderedCollection.st BXvȤip}|addAllLast:hKMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]OrderedCollection.stO A vȤip}ˇ|growFirsth MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]OrderedCollection.st (vspЇv`p|growLasth0MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]OrderedCollection.stHtP X(0(pжspчvap|removing attempted to remove from an empty collectionMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]OrderedCollection.stCh (&X(sp!|v`pv| attempted to remove from an empty collectionMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]OrderedCollection.sth (&X(sp!|vapv|Invalid indexremoveIndex:hЇMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]OrderedCollection.st(\0h8N(&X((vhsp"|ipjppvvispsva|private methodsMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]OrderedCollection.st_XH (`Npwv`vaxfirstIndex:lastIndex:hMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]OrderedCollection.stOH`axnewOrderedCollectionhXdeltahgrowTo:hMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]OrderedCollection.st m H(h(B(X(8)pЈipphvȤ jvp}vvp|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]OrderedCollection.st@|HHP(hB(X(8)pppҰhvȤip}p|oldSizehؽ`newFirstIndexhxpMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]OrderedCollection.stlHI(h`NB(X(8)pЈhpѰipkwvjvp‰vȤlvpv}p°vp|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]OrderedCollection.st3HhCp|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]OrderedCollection.st?*H |MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]OrderedCollection.stlHE(0Ps(X(pжspчtvȤ jpvp}bp|lI am a collection of objects, stored and accessed according to some sorting criteria. I store things using a bubble sort. My instances have a comparison block associated with them; this block takes two arguments and is a predicate which returns true if the first argument should be sorted earlier than the second. The default block is [ :a :b | a <= b ], but I will accept any block that conforms to the above criteria.instance creationahhn"                            H  $                              MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]SortedCollection.st,x pwȤih}|aSortBlockhsetSortBlock:h(P MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]SortedCollection.st0N?8x @ p|basic"8`   `               (  $    8D8 PX                 MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]SortedCollection.st/P,pxMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]SortedCollection.st.P,pxMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]SortedCollection.st 4P,pxMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]SortedCollection.st V <(P0,pxMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]SortedCollection.stH =PPX,pxP MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]SortedCollection.stx PFXB X((hp vvȤip pvp pv|}p|instance protocolMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]SortedCollection.st newSortedCollectionhMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]SortedCollection.st K  8D8)@ipvȤj}ˇp|enumeratingMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]SortedCollection.stx 0 88DpЈipvȤj}ˇ|copyingP MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]SortedCollection.st9 8p|private methodsMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]SortedCollection.stH4PXbxP MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]SortedCollection.stx/ Chp i|6My instances are unordered collections of objects. You can think of me as a set with a memory; that is, if the same object is added to me twice, then I will report that that element has been stored twice.basicinitContentsh@0P P "                        x       $P                               MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Bag.st` h p0@p|Adding to a collectionadd:withOccurrences:h`"     ( h       p    h X $  *    08D HGP     D      H  MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Bag.stPp|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Bag.stK pv| at: is not allowed for a BagMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Bag.st@9HP(&0p!x at:put: is not allowed for a BagMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Bag.stp Hx(&`p!x Removing from a collectionMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Bag.stBP Epjus|vv|testing collectionsat:ifAbsent:h>8MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Bag.stP DX`8uȤu||MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Bag.stp fx uhvȤih}ˇ|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Bag.st *|keysDo:h`w occurrencesOf:occurrencesOf:ifFalse:h MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Bag.st  BvȤiuȤza}y enumerating the elements of a collectionassociationsDo:h`+@MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Bag.stXp 9` hC@8rvȤiɉuȤ}}xprinting (MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Bag.st x I>@`PH` H p"qivȤjriEć(ć})xstoring new add:  withOccurrences: ; yourselfMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Bag.stPX `@ I>(@0H8 @H  ćp#qivȤj%()ćri}s*+xprivateMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Bag.st,p@̈`x]I represent collections of objects that are indirectly indexed by names. There are really two collections involved: domain and a map. The map maps between external names and indices into domain, which contains the real association. In order to work properly, the domain and map objects must be instances of a subclass of SequenceableCollection or Dictionary. basicaMaphP[psetCollection:andMap:h0collection:map:hX"                              $                              MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]MappedCollection.stX0p|new not available for MappedCollections; use collection:map:MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]MappedCollection.stS0(&p!xbasic"           H@  h        p $ H      8D     h hC           MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]MappedCollection.stXb&`h|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]MappedCollection.stx<|domainKeyh)add:at:hPWMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]MappedCollection.stN |MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]MappedCollection.stg *,pxMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]MappedCollection.st0 k8 @@ 8D@̈hvȤi}ˇ|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]MappedCollection.stP EX`@vȤi}xMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]MappedCollection.stxJ  8GhCh @ppipvȤj}ˇ|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]MappedCollection.st  8GhCh @ppipvȤ jʨs}ˇ|privateMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]MappedCollection.st Q`axMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]MappedCollection.st(W 08hC|!I am the typical set object; I can store any objects uniquely. I use the = operator to determine duplication of objects.instance creation"                      P        $                              MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Set.stp |setTallyh P (MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Set.st84@ H(p!|accessingat: not allowed for Set"0H`  8 p   X     `( $*  8D HGPX h  D     H MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Set.st'4X(&p!x at:put: not allowed for SetMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Set.st^CX(&p!xfindObjectIndex:h MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Set.st (X0D@X((Шs|pipШs pv`| Removing from a collection findObjectIndexNoGrow:ifAbsent:hprehashObjectsAfter:h`MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Set.st@ BpuȤ|jv`p|testing collectionsMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Set.st P X(pps|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Set.st0< 8@u|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Set.stXW $` h@Шsv|pv|u|xMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Set.stx~ memberh +MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Set.st  `*pwȤihѰ}|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Set.st  A¶szpvȤ isz}ˇy enumerating the elements of a collectionMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Set.st@ HPDB(@X(vpщvȤipҨsp}xprinting ( MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Set.st$` IJpHH p#qipvȤjri$}ˇ&xstoringhasElementsh (Set new add:  yourselfMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Set.stHOPX I(0H 8H !ripvȤj"$ćqi}ˇs%&xprivate methodsMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Set.stG?hu`xMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Set.strh ((!X(@ipЈjkpsvkviplurԬpsppsxnewSethfindObjectIndex:ifFull:h0MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Set.stG h(E(!*X(@pЈlvjku%pnԙqs|vjvks| failed to grow a new empty element!!!MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Set.stHMPhXX(&8puȤpчpuȤp$}}|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Set.stpxh ApuȤu}ju||xMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Set.sthhC(h8D8)pppҰ͈hpvȤi}ˇp|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Set.sta:h(p|:I implement a dictionary, which is an object that is indexed by unique objects (typcially instances of Symbol), and associates another object with that index. I use the equality operator = to determine equality of indices.InitBlocksh 0P0HYaccessingfindKeyIndex:h`VMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Dictionary.st E@X((pipҨsv`p|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Dictionary.st @X((hpjpkѬpDv`ʇ|key not foundMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Dictionary.st0 E8 @8(& puȤp"||MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Dictionary.stX` hCX(@ppjқ||xassociationAt:ifAbsent:h 1xkey not foundassociationAt:hKMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Dictionary.st[ x(&puȤp"||MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Dictionary.st8 X(@pjpkқ||xkeyAtValue:ifAbsent:hxMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Dictionary.st B@pvȤ jɶs|}|keyAtValue:h (MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Dictionary.st@;HPpuȤ{|keysh Y`MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Dictionary.stxd 8D@͈hpvȤi}|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Dictionary.stN_ @ 8D@̈hpvȤi}ˇ|dictionary testingincludesAssociation:h MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Dictionary.st (BxpщuȤziɶ|includesKey:h 8MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Dictionary.stPMX`xpuȤzyMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Dictionary.stp`x @pvȤ isy}ˇzMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Dictionary.st9 uipvȤjsvi}ˇ|dictionary removingremoveKey:ifAbsent:hkremoveAssociation:h@MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Dictionary.st (pщuȤ{|key not foundMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Dictionary.stHSP X(&8puȤp"|| findKeyIndexNoGrow:ifAbsent:hhMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Dictionary.st hX((puȤ|jpkpsv`p| remove: not allowed in DictionaryMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Dictionary.st E(&p!x remove:ifAbsent: not allowed in DictionaryMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Dictionary.stQ_(&p!xdictionary enumeratingPpMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Dictionary.stPFX `B@pvȤi} xMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Dictionary.stxM B@pvȤi}xMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Dictionary.st K A@pvȤi}xMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Dictionary.stXz @ 8D@̈ipvȤj}ˇ|newDicthnMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Dictionary.sthC@8Dp̈ipvȤ jʨs}|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Dictionary.st(+08,pxMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Dictionary.stP7X`,pxmisc math methodsaDictionaryhHMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Dictionary.st,pC@8·szpvȤi҉uȤzsz}yMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Dictionary.st#p @*hpvȤiѰh}|printing (MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Dictionary.st` hpK IJpP@HG` `PH p#pvȤi'ćI}*xstoring( new at:  put:  yourselfMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Dictionary.st! IJp@H H "p$ripvȤj&)*ćqi}s+,xprivate methodsMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Dictionary.stX`h (!X(@*(ipЈjku:viplӨsxvs ppshvksxfindKeyIndex:ifFull:hxMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Dictionary.st!T(!*X(@pЈlvjku&pmԙqs|vjvks| failed to grow a new empty element!!!MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Dictionary.st#xXh(&puȤpчpuȤp$|}|B0    ph@0 X p      H0  `X  hx h            MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Dictionary.st% AxpuȤu}ju||xMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Dictionary.sto& (hC(h@8D8)pppҰ͈hpvȤi}p|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Dictionary.st@'HP |+I am similar to dictionary, except that my representation is different, and I use the object identity comparision message == to determine equivalence of indices.instance creation"                      h (       $                              MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]IdentityDictionary.st p |initValuesh@t0P MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]IdentityDictionary.stP7X `0@p!|accessing" h  `0 h0XX  @    $*   08D88@HG`Xhxx     H MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]IdentityDictionary.stZ_pp|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]IdentityDictionary.stpD@X((pjpѨsv`p|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]IdentityDictionary.st p (C@X(pjpѨs||MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]IdentityDictionary.st@L Hp Ph8@puȤ||indicesDo:h`MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]IdentityDictionary.stx p B`X(pvȤjᶨsp|}|dictionary testingMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]IdentityDictionary.st D@X(pipҨrɶ|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]IdentityDictionary.st F @X(pp|dictionary removingMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]IdentityDictionary.stp )x(hX((puȤ|jkpssv`p|dictionary enumeratingMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]IdentityDictionary.st  D`hX(pvȤ iAp}xMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]IdentityDictionary.stL B`X(pvȤip}xMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]IdentityDictionary.st(J0 8B`X(pvȤi}xMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]IdentityDictionary.stP%X`hC`X(8Dhp̈ipvȤjʨs Dp}|misc math methodsMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]IdentityDictionary.stupC`X(8·szpvȤipuȤzsz}yMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]IdentityDictionary.stxp`*X(hpvȤipѰhѰh}|printing (MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]IdentityDictionary.stPu$X`K IJp@PH`XOX(H` H p#ԇpvȤiևp)ć}*xstoring( new at:  put:  yourselfMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]IdentityDictionary.stp! IJp`X(H H "p$ripvȤj&p)*ćqi}s+,xprivate methodsMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]IdentityDictionary.stH2PXH (@p͈axMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]IdentityDictionary.stpxDB(@X(vpщvȤ ipҨs}xMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]IdentityDictionary.st! (!X(@*(ipЈjkuEviplӨsxvsppsshvksxMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]IdentityDictionary.stI(!*X(@pЈlvjku%pmԙqƨs|vjvks| failed to grow a new empty element!!!MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]IdentityDictionary.st?xXh(&puȤpчpuȤp$|}|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]IdentityDictionary.st (hC(h`X(8)pppҰ͈hpvȤ ip}p|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]IdentityDictionary.st@HP |HI am a special form of dictionary. Typically I only have one instance, called "Smalltalk", which is known to the Smalltalk interpreter. I define several methods that are "system" related, such as #quitPrimitive. My instance also helps keep track of dependencies between objects.basicMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]SystemDictionary.st h xD@́p"CxaddInit:h MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]SystemDictionary.st08@x8D@xdoInitshPMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]SystemDictionary.sthr pxAx@vȤh}xMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]SystemDictionary.st ID@!|SI am an abstract class that provides interruptable sequential access to objects. I can return successive objects from a source, or accept successive objects and store them sequentially on a sink. I provide some simple iteration over the contents of one of my instances, and provide for writing collections sequentially.accessing-reading"(                   hp   $ H   I        h  x          MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Stream.stX\%`h,pxnext:hxMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Stream.st,pxnextMatchFor:h MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Stream.stA 1pö|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Stream.stu ,pxaccessing-writingMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Stream.stP; 2X`,pxMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Stream.stpp cx@vȤip}ˇ|next:put:hMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Stream.st c 8ruȤp}|testingMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Stream.st` & ,pxenumeratingMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Stream.stp Ix0pŨpʇsxprintingprint:hMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Stream.st" +HGpxYMy instances represent streams where explicit positioning is permitted. Thus, my streams act in a manner to normal disk files: you can read or write sequentially, but also position the file to a particular place whenever you choose. Generally, you'll want to use ReadStream, WriteStream or ReadWriteStream instead of me to create and use streams.instance creationsubclassResponsiblityhC"                              $       8G                       MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]PositionableStream.st/`pxon:from:to:hPYMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]PositionableStream.sto`8GPbp|accessing-readingend of stream reached"X(x8  `h            (  $p  08     hh xp         MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]PositionableStream.st C,(&`vusp|pŨsp"|hva|newStreamh`MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]PositionableStream.st 6 E 8GhC8rh @uiuȤp}|peekh peekValueh skip:h MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]PositionableStream.st  ApŨs{pÈhpt|peekFor:h 0MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]PositionableStream.stH 4P XppÇyzxupTo:hhMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]PositionableStream.st  E 8GhCh @uipřqppćs|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]PositionableStream.st Pbv|reverseContentshXMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]PositionableStream.stxU hCB͈hvvȤ iv}|testingMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]PositionableStream.st@HP|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]PositionableStream.st`hpu|positioningpositionh MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]PositionableStream.st @position out of rangeposition:h z8MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]PositionableStream.stPX `N(&0vap"|xreseth0opMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]PositionableStream.stCvaxsetToEndh MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]PositionableStream.stXvaxMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]PositionableStream.sty? `N0NvaxcurPoshskipTo:hMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]PositionableStream.st (0C8pЈipŨ psyspzprivateaccess:h MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]PositionableStream.st{)@cxI implement the set of read-only stream objects. You may read from my objects, but you may not write to them.instance creationinitCollection:ha@"                               $X       8G                        MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]ReadStream.sthFpx@pv|accessing-readingnumEltsh"        h                      $        @                      MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]ReadStream.stAAhCˆj͈hvi vs|private methodsMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]ReadStream.stPeX``vaˆbxI am the class of writeable streams. I only allow write operations to my instances; reading is strictly forbidden.instance creation"       8             p         $       8G                      MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]WriteStream.st rF(0@pw|moveToEndhp@MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]WriteStream.stXf` hB8G@piч|fromFirstIndexhxon:to:hXzwith:from:to:hMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]WriteStream.st$ Cx@pk҇|accessing-writinggrowCollectionh"       `x@         P    $ (       @HPHXO`P@            O MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]WriteStream.st8@H,wusp|spчsbva|positioningMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]WriteStream.st+ Xvaxcharacter writingMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]WriteStream.st "OpAxMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]WriteStream.st( "08PHpAxcrTabhWHMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]WriteStream.st` hpOXOpЇpxnlTabhzMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]WriteStream.st PHXOpЇpxMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]WriteStream.st (`PpAxMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]WriteStream.st: $XOpAxprivate methodsMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]WriteStream.stH vP X`vaubˆdxMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]WriteStream.stp :xˆbpxworkingSizehzMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]WriteStream.stH ``N|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]WriteStream.st CXЇˆdx%I am the class of streams that may be read and written from simultaneously. In some sense, I am the best of both ReadStream and WriteStream.instance creationuseWholeStreamhHP "                               $       8G                        MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]ReadWriteStream.stv@ E8Gp "iӇ|private"                8               $                               MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]ReadWriteStream.st (0ˆbx3My instances are what conventional programmers think of as files. My instance creation methods accept the name of a disk file (or any named file object, such as /dev/rmt0 on UNIX or MTA0: on VMS).basicfileModeh_open:mode:h"           (              (  $          P `  x              MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]FileStream.sto B:@̈jua|commandNameh0directionhF@popen:dir:hPMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]FileStream.sthp xC:@̈j"a|closehaFileNamehYfileStreamh*rfileIn:hMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]FileStream.st D@:p!i҇xbasicMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]FileStream.st@) HPx9pvxMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]FileStream.sthE pxx9pw|aCharh MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]FileStream.sta .9p!xbytePositionh MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]FileStream.st =9p!xMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]FileStream.st x9p!|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]FileStream.st( 08 Bpˆi@͈hvvȤjp}|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]FileStream.stP NX`x9p!| overriding inherited methodsMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]FileStream.st) p8puxMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]FileStream.stG &p8ppxposh>MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]FileStream.stp v p (D`N0N8pupvipxMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]FileStream.st@ DHp P8Gh Ap|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]FileStream.st`0 hpppu|testingMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]FileStream.stv x9p!|-I am not a typical part of the Smalltalk kernel class hierarchy.\n\ I operate on a stream of characters and return distinct \n\ (whitespace-delimited) groups of characters.instance creationsetStream:h"                               $       8G                        MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]TokenStream.st?@ 8GpA|basicnoth tokStreamh "                      P X   $0            h               MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]TokenStream.st@iHP 8G @Sh pŨs{@BviӈhԨr՞ćs|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]TokenStream.sthb p xC@SЈhѨ ҙszÇsyMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]TokenStream.st KpŨpʇsxarrayStreamhȷaTokenhMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]TokenStream.stQ  8GH h @BuhpvȤi}ˇ|write methodsMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]TokenStream.st8$ .@H,pxprivateMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]TokenStream.st~ ,X`xMy instances are generator streams that produce random numbers, which are floating point values between 0 and 1.instance creationsetSeedhhP "                               $h                                MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Random.stx    P H0p|testingchiSquareh$ chiSquare:range:hX, "              p          H (     $          P     x             MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Random.st "W    dp!"|nh0 rh @ fhP th` MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Random.stx |d  & IH B8r ^!o(" lAv͈jvvvȤmu}uȤ$v%lkvvv}ukvvȤ nװk}|basicMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Random.st     z8OMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Random.st      C ^  v!`"|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Random.st0  +8  @ ,pxMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Random.stX  `   h Ch 8r8D@̈iuȤp}|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Random.stx  /   p|privateMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Random.st  $    <AЈ`x1I have the questionable distinction of being a class with only one instance, which is the object "nil". I suspect that I should be sent messages when errors occur, but currently I am not.testing"         H                    $          HG              @  H  @ MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]UndefinedObject.st  P  yMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]UndefinedObject.st % P  zprintingnilMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]UndefinedObject.st0 h,8  @  HG xstoringnilMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]UndefinedObject.st - P   HG xZI have two instances in the Smalltalk system: true and false. I provide methods that are conditional on boolean values, such as conditional execution and loops, and conditional testing, such as conditional and and conditional or. I should say that I appear to provide those operations; my subclasses True and False actually provide those operations.storing"                               $X                           H    MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Boolean.sthJpxHGpxI always tell lies. I have a single instance in the system, which represents the value false.basictrueBlockhH  falseBlockhx0"  h(`@                  $ @   00@0HG  h                MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]False.stP_<X`|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]False.stp<x|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]False.st{MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]False.st$|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]False.st"yMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]False.st3zMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]False.stL |eqv:h0MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]False.stHh PX|xor:hHhMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]False.stx|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]False.stzMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]False.st|printingfalseMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]False.st(/08HG xI represent truth and justice in the world. My motto is "semper veritatis".basic" ( hPH            0      $    00@0HG  h                MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]True.sth;|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]True.st; |MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]True.st0'8@|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]True.stPX`{MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]True.stp.xzMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]True.st@|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]True.st\yMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]True.stt|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]True.st |MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]True.st (|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]True.st8@HyprintingtrueMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]True.st/XHG xI provide methods that control the execution of processes.basic"0  H  h                 $ `    8  P   p            MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]ProcessorScheduler.stpr!x @terminateActivehMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]ProcessorScheduler.sts ȇxyieldhMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]ProcessorScheduler.st   (=ЈijљsxactivePriorityhMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]ProcessorScheduler.st0  (p|timingPriorityhp{8MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]ProcessorScheduler.stP5X ` xhighIOPriorityh pMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]ProcessorScheduler.stM  xlowIOPriorityhMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]ProcessorScheduler.ste  xuserInterruptPriorityh MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]ProcessorScheduler.st|  xuserSchedulingPriorityhXMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]ProcessorScheduler.st08 @ xuserBackgroundPriorityhȧPMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]ProcessorScheduler.sthp x xsystemBackgroundPriorityhoMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]ProcessorScheduler.st  wxinstance creationmillisecondCounth@forMilliseconds:hP"                  h          $h          P        f          MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Delay.stx#=0-pxforSeconds:hMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Delay.stc30-pxuntilMilliseconds:h MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Delay.st?0-pxgeneral inquiriesMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Delay.stP1X`0-pxaccessingresumptionTimehS"                            X  $                            =  MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Delay.stg*p0-pxprocess delayMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Delay.st@ HP0-px7My instances provide a guaranteed safe mechanism to allow for communication between processes. All access to the underlying data structures is controlled with critical sections so that things proceed smoothly.instance creationinith]0P "                        x       $P                               MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]SharedQueue.st`h p0@p|accessing"                             $      0                       MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]SharedQueue.stFl C=@ЇuȤ҈h}|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]SharedQueue.stb @ =uȤ}҇|privateMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]SharedQueue.sthCxp  xh @!͈bB̈aBӈ`xiI am the parent class of all "class" type methods. My instances know about the subclass/superclass relationships between classes, contain the description that instances are created from, and hold the method dictionary that's associated with each class. I provide methods for compiling methods, modifying the class inheritance hierarchy, examining the method dictionary, and iterating over the class hierarchy.CFunctionGensymh PC interfacecFuncNameStringhselectorAndArgsh8gensymhxXCFunction ^compile:hpYdefineCFunc:withSelectorArgs:forClass:returning:args:hȖ"@                               $                               MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Behavior.st({0p#8( H6JG`81( 8G  IHGh @#EnEvŇpfoGHJ+m-x creating method dictionarymethodDictionary:hHMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Behavior.st AHbxcompiledMethodh addSelector:withMethod:h MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Behavior.stgHxremoveSelector:hRMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Behavior.stzBH  ExcodehH0MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Behavior.stHPHXA@h pA p1As҈hDsՈhpxrequestorhHmhcompile:notifying:hxMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Behavior.st>H0-pxsourceCodeAt:hrecompile:h MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Behavior.stDHppxsourcehcompiledMethodAt:hPxdecompiler can't decompile methods without source (yet)decompile:h MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Behavior.st8 @HHX@(&piшjҜp$||xdecompiler can't decompile methods without source (yet)system:hn`emacs -l st -smalltalk  edit:hMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Behavior.st zH@(&X`JpxGpiшjҨsp$|ՈkF)*xcompileAllhMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Behavior.stQH BvȤhp}xcompileAllSubclasseshGallSubclassesDo:h subclasshP MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Behavior.st( S0 H 8 B pvȤh}x creating a class hierarchysuperclass:h8 MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Behavior.st m+ H  `xaddSubclass:h MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Behavior.st  H  @H XШsAu͈aaaxremoveSubclass:h`Z MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Behavior.st!fG!H !Xax accessing the methodDictionaryselectorshPh!MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Behavior.st!d!(! !@`ЛB||xallSelectorsh@!allSuperclassesDo:hH^!superclassh(O!MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Behavior.st!T!(! !h!!xpЈhpvȤi}|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Behavior.st!"(!"|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Behavior.st "s("(! 0"BXpi|sourceMethodAt:h@"MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Behavior.stX"p`"(!h",px accessing instances and variablesallInstancesh "allInstancesDo:h "anInstanceh "MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Behavior.st""x" #"8D@̈hpvȤi}|instanceCounth(#MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Behavior.st(#}0#x"8#0@8*uhpЈiѬ vh҈is|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Behavior.stP#_X#x"`#,pxsubclassInstVarNameshp#MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Behavior.st#5#x"#,pxallInstVarNamesh#MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Behavior.st#!0#x"#,pxclassVarNamesh#MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Behavior.st#T/$x"$,pxallClassVarNamesh$MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Behavior.st0$18$x"@$,pxMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Behavior.st`$,h$x"p$,pxallSharedPoolshX$MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Behavior.st$/$x"$,px accessing class hierarchysubclassesh0"$MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Behavior.st%SV%$ %@ ЛB||xallSubclassesh0%MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Behavior.stH%P%$X% x$@̈hpvȤi}|withAllSubclasseshh%MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Behavior.st%4%$% xh%@phpvȤi}|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Behavior.st%%$%allSuperclassesh_%supersh %MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Behavior.st%%$ %h ! @̈hpvȤi}| testing the method dictionaryhasMethodsh]H&MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Behavior.st`&Lh&&p&@Шru|includesSelector:ho&MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Behavior.st& && &@8Шr|canUnderstand:h &MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Behavior.st&&& &B&!psypvȤ isy}z whichClassIncludesSelector:h~&MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Behavior.st''& 'B!&pvȤ is|}{instVarNamehH('whichSelectorsAccess:h%8'MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Behavior.stP'R =X'&`'0-pxwhichSelectorsReferTo:hTp'MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Behavior.st' ;'&'0-pxscopeHas:ifTrue:h`F'MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Behavior.st' 9'&'0-px testing the form of the instancesisPointershH. (MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Behavior.st8(L!@(' H(`yp"u|isBitsh8X(MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Behavior.stp(! x('( (p|isByteshx(isWordshW(MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Behavior.st("4(' ( ((pp|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Behavior.st(R"H(' ( (`ypp%u|isFixedh )MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Behavior.st)"! )'()xBp|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Behavior.st@)"3H)' P)`yp"u|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Behavior.sth)"4p)'x)`p!| testing the class hierarchysch )MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Behavior.st)h#)) )B!@piЈiѨ ƨsyszkindOfSubclasshM*subclass: variableByteSubclass: variableWordSubclass: variableSubclass: MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Behavior.st8*G$@*)H*xB*(* ( *(*pЬpҨs#|pԚ&|%|!|xenumeratingMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Behavior.st*e%*X* *A@Шs vȤi}xMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Behavior.st* &*X* *!@piЈjiѝʇsxMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Behavior.st*&*X* +C0@8*pЈiѬ ʇ҈isxallSubinstancesDo:hXX+MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Behavior.st(+'i0+X* 8+B "pvȤi}xselectSubclasses:hH+MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Behavior.st`+(h+X*p+ 8D@̈ipvȤ jʨs}|selectSuperclasses:h8+MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Behavior.st+(+X*+!8D@̈ipvȤ jʨs}|privateMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Behavior.st+),+,variableBooleanh ,wordsBooleanh(,pointersBooleanh(8,anIntegerSizehP+H, setInstanceSpec:words:pointers:instVars:hfX,MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Behavior.stp,)^x,+, ucsv csv!csv"c#cx_My instances record information generally attributed to classes and metaclasses; namely, the class name, class comment (you wouldn't be reading this if it weren't for me), a list of the instance variables of the class, and the class category. I provide methods that access classes by category, and allow whole categories of classes to be filed out to external disk files. accessing class descriptionMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]ClassDescription.st(-50-,8-MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]ClassDescription.stH-GP-,X-@MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]ClassDescription.sth-_'p-,x-exaddInstVarName:h-MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]ClassDescription.st-T-,-fxremoveInstVarName:h-MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]ClassDescription.st-Z-,-Xfx organization of messages and classesMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]ClassDescription.st8. @.-H.MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]ClassDescription.st`. jh.- p.@TЛsgшgxremoveCategory:h@.MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]ClassDescription.st. 4.-. @T@ШsxшkvȤlӈjs}x whichCategoryIncludesSelector:h8.MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]ClassDescription.st.F .- .B@Шs{i|copyingcopy:from:hpa0/MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]ClassDescription.stH/' P/.X/AjxcategoryNamehHh/copy:from:classified:hh!x/MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]ClassDescription.st/ /. /CBЈkxarrayOfSelectorsh/copyAll:from:h /MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]ClassDescription.st/ v/. /A0/vȤjp}xcopyAll:from:classified:h!/MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]ClassDescription.st00. 0Ax/vȤkp`}xcopyAllCategoriesFrom:hp00MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]ClassDescription.stH0xP0. X0h!0/ЉvȤjp}xcopyCategory:from:h(h0MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]ClassDescription.st020.0h!0/ЉvȤkjsp}xnewCategoryNameh0 copyCategory:from:classified:h0MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]ClassDescription.st0!00.0h!x/ЉvȤlkspc}xcompilingcompile:classified:h-(1MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]ClassDescription.st@1QH10P1A0-px compile:classified:notifying:h`1MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]ClassDescription.stx1W1010-px accessing instances and variablesMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]ClassDescription.st1z$111printingclassVariableStringhX82MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]ClassDescription.stP24X21`2,pxinstanceVariableStringhp2 MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]ClassDescription.st2212@2 J2Шs!|Bu͈hvȤ i$h}ˇ|sharedVariableStringh@[2MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]ClassDescription.st25212,pxfilingaFileStreamh 03categoriesh @3'Filed out from  on   GMT'!emitCategory:toStream:h(p3fileOutOn:hu3MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]ClassDescription.st3`32+3 @8DP3HGHX3@^p`3h3PHp3@̈iѨsxvȤk}ˇ$F'I؈jv*w+MMމvȤlp}x-class./categories/.stwfileOutCategory:hh3MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]ClassDescription.st3 f324@Jp03333p3Лjp$j%&jG)ipxprivate! methodsFor: ''! ! MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]ClassDescription.st4444IP4HGX4`4@h4Xp4 p"#ԨsvȤjs & }ˇ(xsetName:h014MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]ClassDescription.st4k$444dxinstVariableArrayh 4setInstanceVariables:h24MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]ClassDescription.st4S445fxI am THE class object. My instances are the classes of the system accessing instances and variablessymh 5 class variable already presentaddClassVarName:h 5MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Class.st5^5p5 5DT8(&5Јip#|sx class variable not presentremoveClassVarName:hX^6MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Class.st 6_ ~(6p506ET8(&6 EЈip#xclassPoolhp%@6MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Class.stP6 X6p5`6Attempt to add an already-present shared pooladdSharedPool:hx6MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Class.st6 6p5 6(&p6 sp"|  x Attempt to remove non-existent shared poolremoveSharedPool:hp6MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Class.st6 6p5 6(&6X sp"|  xMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Class.st6 36p57testingMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Class.stX7 i`77h7pж|instance creationmetah 7cannot create a non-variable subclass of a variable classmetaclassFor:h\7$name:environment:subclassOf:instanceVariableNames:variable:words:pointers:classVariableNames:poolDictionaries:category:comment:changed:h 7MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Class.st7 8x78G(xxB(&777@s{pѨsp#|pmFprqqss |cannot create a variable subclass from a non-pointer variable parent classMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Class.st(8v"08x788K(xxB0(((&877@s{pppsp'|pmJpqqqss |cannot create a word subclass from a non-word variable parent classMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Class.stX8#`8x7h8K(xxB0 (((&H877@s{pppsp'|pmJpqqrss |Cannot create variable byte subclass from non-byte parent classMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Class.st88x78K(xxB0 (((&x877@s{pppsp'|pmJpqrrss |printingMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Class.st80889pHGpxMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Class.st9:+ 98(9HGpxprivatesetClassVariables:hGx9MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Class.st9@9899xsetSharedPools:h9MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Class.st9:9899 xclassNameh 9subclassOf:h89MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Class.st: :89:T89ЈiAuȤCp|j|setSuperclass:h :MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Class.st8:@:89H:!@   pƨsxpѨsppppxrI am the root of the class hierarchy. My instances are metaclasses, one for each real class. My instances have a single instance, which they hold onto, which is the class that they are the metaclass of. I provide methods for creation of actual class objects from metaclass object, and the creation of metaclass objects, which are my instances. If this is confusing to you, it should be...the Smalltalk metaclass system is strange and complex.instance creation*  H$P(    p0 (,   $ ( (00 @0  1  !`(%0)    `%h1     !1%)  ! * %&    (P*       p"h#x&    &X))  8"#&+   '  "@+@#P  h' x+  , #'+   #'x$   $ @  initMetaclassh8;superMetah`"H;newMetah1X;"                             ;  $p;                             9  MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Metaclass.st;;: ;C  8;p̈i҇|basicnewNamehxS;aSystemDictionaryhX;stringOfInstVarNamesh8<wordBooleanhX<pointerBooleanh@ <commentStringhx'0<variableStringh8@<variableArrayhyP<sharedPoolNameshؖ`<poolNameh<p<poolhD<classVarDicth<oldClassPoolhx<%newMeta:environment:subclassOf:instanceVariableNames:variable:words:pointers:classVariableNames:poolDictionaries:category:comment:changed:h<parseVariableString:h <Recompilation required!parseToDict:h <Recompilation required: different class variables!Pool name  does not exist"      => H>            x=  ? p>8=H?  $=      08; HG            <  < H7<  MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Metaclass.st =U (=;o0="cT8<xB( ( :@<p2J<BHJ@H<4X,<@6@@85x9`<(&<=9خЁRRuȤp |Lsp |؜ځM)MMpNv‰vȤ UUU}޶s0߇1ƒp3STTS:SvȤVTV7sV9}6Ss<߇pOv‰vȤ'WWЁPPuȤ p>P?=|QWQ} !|Pool name  does not existMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Metaclass.st`=[h=;Cp=b<BT8(&J@=H= 4@P= p24X,x9<9خ`>pOv‰vȤ&RRҁPPuȤ p&P'|QRQ}ṕLڬ ݁M+MMpNv‰vȤ SSS}ƒp10234|accessingMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Metaclass.st=7 !===printing classMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Metaclass.st0> S8>=@>HG >!xMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Metaclass.stX> +`>=h>HGpxprivateMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Metaclass.st>/!`>x> >HJ`AЈfA҈cxMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Metaclass.st>!g>x> >C8Gh @i|tokenArrayh?dicth?MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Metaclass.st0?!8?x>@?<TpiÄjvȤks}ˇ|*My instances represent an actively executing method. They record various bits of information about the execution environment, and contain the execution stack.vMy instances represent Smalltalk blocks, which are portions of executeable code that have access to the environment that they were declared in, take parameters, and can be passed around as objects to be executed by methods outside the current class. Block contexts are sent a message to compute their value; this property can be used in the construction of control flow methods. I also provide some methods that are used in the creation of Processes from blocks.basicMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]BlockContext.st@ K@P@@pɜɇs{MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]BlockContext.st@YM@P@@pɨɇs{whileTrueh @MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]BlockContext.st@,@P@@pɛss|whileFalseh8AMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]BlockContext.stA.AP@ Apɨss|multiple processforkh pAnewProcessh@,AMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]BlockContext.stA< A0AA<ApxinitBlockhH6AMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]BlockContext.stA_ A0AAFA@uȤpɇA}h҇CA|anArrayhHAnewProcessWith:hBMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]BlockContext.stB  B0A(BG@A@uȤpB}iӇDB|schedulingforkAt:h8xBMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]BlockContext.stB AB8B B<ApxprivateMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]BlockContext.stBy <BBCaubs`x/I provide access to actual machine addresses of OOPS and objects. I have no instances; you send messages to my class to map between an object and the address of its OOP or object.{I have no instances. I provide messages to my class that access real memory as 32-bit words (well, really 31 bit integers). An alternative implementation would be to have a single instance of word memory that represented all memory, and at: and at:put: accessor methods, but since you'd typically refer to that instance via a global variable, and since the global variable would probably be named WordMemory, the actual method invocations are exactly the same in either case.accessingI'm not preprared to handle little endian just yeterror:radix:hHDWord at is not representable yetaddrh8nhD"                            D D $D                              MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]WordMemory.stDDD D`(&@D@HDJXD`DB@3Ci$s p'()|v+vȤ j,Ci}|p"|xI'm not preprared to handle little endian just yetMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]WordMemory.stD DDDJ`(&DPs!o@@7#vtvȤjE''i}du؈i)iEEp"|xpI have no instances. I provide messages to my class that access real memory as bytes. An alternative implementation would be to have a single instance of byte memory that represented all memory, and at: and at:put: accessor methods, but since you'd typically refer to that instance via a global variable, and since the global variable would probably be named ByteMemory, the actual method invocations are exactly the same in either case.+I provide information about particular methods. I can produce the category that a method was filed under, and can be used to access the source code of the method.basic"             F   F  @F F    `F   G$F             h          خ   MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]MethodInfo.st(F0FE8F@MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]MethodInfo.stHF-PFEXFaxMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]MethodInfo.sthFpFExFMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]MethodInfo.stF&FEF |MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]MethodInfo.stFE$FEF|filePoshFMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]MethodInfo.stFl"FEGF|8My instances represent sections of files. I am primarily used by the compiler to record source code locations. I am not a part of the normal Smalltalk-80 kernel; I am specific to the GNU Smalltalk implementation.basicaFileh"GlengthIntegerh GsetFile:start:length:hgGon:startingAt:for:hG"                            H   $G                            G   MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]FileSegment.stHuHpGHGp`|basicr"    H                     PIH H  $xH                         GF   MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]FileSegment.stHH(HH hH8B@͈hA#ivvȤj}և|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]FileSegment.stHqH(HHMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]FileSegment.stHH(HH@privatestartingPosh<(IMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]FileSegment.st8I@IHHI`abx/I am used to implement the Smalltalk symbol table. My instances are links that contain symbols, and the symbol table basically a hash table that points to chains of my instances.iteration"         J          (J           $J         HG                     MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]SymLink.stJYJI J@ʇШsxprintingelthpJMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]SymLink.stJ(J0JJE HG`P  ćpvȤ iC}ˇ$xPWPWPWPWPWPXPXP XP0XP@XPPXP`XPpXPXPYP(YP8YPHYPXYPhYPxYPYPYPYPYPYPYPYPYPZ PZ P(Z P8Z PHZ PXZ PhZ PxZ                Y        PDxY   8 H] 0@P#                                GI am not part of the Smalltalk definition. My instances contain information about C functions that can be called from within Smalltalk, such as number and type of parameters. This information is used by the C callout mechanism to perform the actual call-out to C routines.CFunction1h4system (P0system: aString ^CFunction10Jp@|CFunction2hgetenvPgetenv:h@Jgetenv: aString ^CFunction20JX@|CFunction3h s formatIntPformatInt: aString value: aValue ^CFunction30JP@|CFunction4hH3`t formatDoubleP formatDouble: aString value: aValue ^CFunction400J8`@|Autoloadh0H ( ȼ    p(x(`p`   `HHpPHxphPHpX]9#                                Cool hacksh GI am not a part of the normal Smalltalk kernel class system. I provide the ability to do late-loading or "on demand loading" of class definitions. Through me, you can define any class to be loaded when any message is sent to the class itself (such as to create an instance).instance creationfileNameStringh autoloadInitClass:initFile:hclass:from:hh"                               $                               MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Autoload.stмؼH@|accessingaMessageh 0 Autoloaded file should have defined class "" but didn't"                              $X                              MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Autoload.sthpxK EK8(&J@H@B@uȤF)*||privateaClassNameh|ȽMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Autoload.st TЈ`ApaxFractionh<@  P    p( 0 @@ P@@81                                           1                                             .AxWbuild_image.stP numeratorh0,&p|denominatorhx5 smalltalk_image:akg-object.sthDrespondsTo: accessing the methodsDictionaryPp7 hpÈi"qpŨhs|X` smalltalk_image:akg-filestream.sthpthisCharhHlineStringh~nextLine#                                basicRS ШsyѨsy"syz`* I represent rational numbers in the form (p/q) where p and q are integers. The arithmetic operations *, +, -, /, on fractions, all return a reduced fraction.i smalltalk_image:akg-filestream.st h  30J p Pb x h Jh!ku iCu͈jvvivjvkvȤlDs&vk}ˇv'sv&vkvȤmDs&vk}ˇˆkus 's&)|8`@ smalltalk_image:akg-filestream.staccessingh`vmsFileName:.hxvalidVMSChar:hx#"(xx       x0 XP  $!*("  @HGP     j$j o  MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Fraction.stsH@MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Fraction.stHarithmetictypereducedhnumerator:denominator:h(MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Fraction.st@HPpA0P(A Aָ׸|p#|xFile NamesMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Fraction.sthqpxpA0P@(AAָָ|p#|xMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Fraction.stK pA0PoAp԰|p#|xreciprocalh"MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Fraction.st pA0PApԸ|p#|xMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Fraction.st&p|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Fraction.stI pp|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Fraction.st8M@ H0(o@|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Fraction.st`!h p0(ou@|@|xcoercingpɇɨpɇs{X%W smalltalk_image:akg-blockcontext.sthhdoUntil:MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Fraction.st )|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Fraction.st3 |MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Fraction.stE) (`!|comparingbasicMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Fraction.st8pA0PA ո|p#|xMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Fraction.stg 8pA0PA ո|p#|xMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Fraction.st5 8pA0PA ո|p#|xMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Fraction.st '8!|convertingMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Fraction.st`U 5hp("й|MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Fraction.st printingMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Fraction.st  @ HGx H  ć"ć#xprivategcdhHMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Fraction.st` _hpC{0(vsxvs|usu|sv|hvsxs|A|numIntegerhdenIntegerh/ The denominator can not be zero setNumerator:setDenominator:hMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Fraction.st/-(&ousp!|u ҈`҈a`axinstance creationnIntegerh  dIntegerh0"     p                          $H     (                          MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Fraction.stX`hp|built insh9TestMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Changes.st%xpA`0(PBpBsCp|p&|converting1                                            1                                          h`X@HP@uȤB$B%B&(}xibuild_image.stMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Changes.st(7080(@pv|truncation and round offLoaded VMS GNU SmallTalk V2.01-01 05-Apr-1991 smalltalk_image:akg-string.st smalltalk_image:akg-vmsfile.st smalltalk_image:vmsdynamicfunction.stselfTruncatedh MYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Changes.stMH A$pЈhpus|p|v|xarithmetic can not return the reciprocal of zeroMYRDDIN_USER:[MITS.SMALLTALK.smalltalk_1.1]Changes.stq (&pup!vp|x      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~H` X