bplist00Ò    WversionWmindMapÓ     ÕYmainNodes_crossConnectionsUcolor¡ 	Ú 
          Ä ÆÇÊÎ  4ÓXsubnodesXlocation]isLeftAligned[layoutStyleYpathStyleZshapeStyleUtitle_hasFoldedSubnodes_decreasingStrokeWidthVnodeIDª  Ð6�”P¶
ÙqØ 
         Á  Ã Ç Ë  Ï]isLeftAligned¦  8 J [ Ž ŸØ 
            ' /  7]isLeftAligned _{386, -3005.2087499999998}Ò     !XpathType[strokeStyle Ó " # $   % &TdashUwidthUcolor#@      _({0.284000, 0.692000, 0.297000, 1.000000}Ó ( ) *   + .YshapeType_borderStrokeStyleYfillColorÓ " # $   , -#@      _({0.284000, 0.692000, 0.297000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 3 4 5XmaxWidth_allowToShrinkWidthTtext#@Ÿ@     	_­<p style='color: rgba(54, 52, 46, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Prepare for implementation of system model</p>_$E9A80763-3701-444A-BFC2-86BC14966BE8Ø 
  9       ;  = @ D  I]isLeftAligned _{386, -2968.2087499999998}Ò     >Ó " # $   % ?_({0.284000, 0.692000, 0.297000, 1.000000}Ó ( ) *   A CÓ " # $   , B_({0.284000, 0.692000, 0.297000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4 G#@rÀ     	_œ<p style='color: rgba(54, 52, 46, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Based on design decisions</p>_$23F62014-0AD2-4FC0-8D43-C8FA3691D309Ø 
  K       M  O R V  Z]isLeftAligned _{386, -2931.2087499999998}Ò     PÓ " # $   % Q_({0.284000, 0.692000, 0.297000, 1.000000}Ó ( ) *   S UÓ " # $   , T_({0.284000, 0.692000, 0.297000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4 X	_Ÿ<p style='color: rgba(54, 52, 46, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Optimize and transform model</p>_$231B01B2-0D9D-43C4-A041-EC5C1E3656A7Ø 
  \      ] €  ‚ … ‰  �]isLeftAligned¢ ^ oØ 
  _       a  c f j  n]isLeftAligned _{614, -2894.2087499999998}Ò     dÓ " # $   , e_({0.284000, 0.692000, 0.297000, 1.000000}Ó ( ) *   g iÓ " # $   , h_({0.284000, 0.692000, 0.297000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4 l	_‘<p style='color: rgba(54, 52, 46, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Execution time</p>_$E4E92919-6A5A-46B2-A63E-6B45FAC84563Ø 
  p       r  t w {  ]isLeftAligned _{614, -2857.2087499999998}Ò     uÓ " # $   , v_({0.284000, 0.692000, 0.297000, 1.000000}Ó ( ) *   x zÓ " # $   , y_({0.284000, 0.692000, 0.297000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4 }	_—<p style='color: rgba(54, 52, 46, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Minimize other costs</p>_$13E4E254-CCD4-4664-8ABA-0E8708A38DF3_{386, -2875.7087499999998}Ò     ƒÓ " # $   % „_({0.284000, 0.692000, 0.297000, 1.000000}Ó ( ) *   † ˆÓ " # $   , ‡_({0.284000, 0.692000, 0.297000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4 ‹	_“<p style='color: rgba(54, 52, 46, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Use design goals</p>_$D5731853-1DB9-4EF0-82ED-BD506435E364Ø 
  �       ‘  “ – š  ž]isLeftAligned _{386, -2820.2087499999998}Ò     ”Ó " # $   % •_({0.284000, 0.692000, 0.297000, 1.000000}Ó ( ) *   — ™Ó " # $   , ˜_({0.284000, 0.692000, 0.297000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 3 4 œ	_§<p style='color: rgba(54, 52, 46, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Add details to requirements analysis</p>_$B8D1CC62-EBE1-4012-9646-F5E88CA377B8Ø 
         ¡ ³  µ ¸ ¼  À]isLeftAligned¡ ¢Ø 
  £       ¥  § ª ®  ²]isLeftAligned _{756, -2783.2087499999998}Ò     ¨Ó " # $   , ©_({0.284000, 0.692000, 0.297000, 1.000000}Ó ( ) *   « ­Ó " # $   , ¬_({0.284000, 0.692000, 0.297000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 3 4 °	_–<p style='color: rgba(54, 52, 46, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Make impl decisions</p>_$4962CB5F-377D-4981-84FE-DE95A4311B07_{386, -2783.2087499999998}Ò     ¶Ó " # $   % ·_({0.284000, 0.692000, 0.297000, 1.000000}Ó ( ) *   ¹ »Ó " # $   , º_({0.284000, 0.692000, 0.297000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 3 4 ¾	_£<p style='color: rgba(54, 52, 46, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Serve as basis of implementation</p>_$3AF2CD65-0961-4037-9B07-E54D55222064_{238, -2894.2087499999998}Ò     ÄÓ " # $   Å Æ#@      _({0.284000, 0.692000, 0.297000, 1.000000}Ó ( ) *   È ÊÓ " # $   , É_({0.284000, 0.692000, 0.297000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4 Í	_Š<p style='color: rgba(54, 52, 46, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Purpose</p>_$17129481-78C4-4BF6-86FE-1767C26B58EDØ 
  Ñ      Ò( *-1 5]isLeftAligned£ Ó ä õØ 
  Ô       Ö  Ø Û ß  ã]isLeftAligned _{363, -2746.2087499999998}Ò     ÙÓ " # $   % Ú_({0.210000, 0.733000, 0.695000, 1.000000}Ó ( ) *   Ü ÞÓ " # $   , Ý_({0.210000, 0.733000, 0.695000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 3 4 á	_¢<p style='color: rgba(54, 52, 46, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Reuse knowledge from experience</p>_$2508992D-F69B-4CE0-84D3-3978E745310CØ 
  å       ç  é ì ð  ô]isLeftAligned _{363, -2709.2087499999998}Ò     êÓ " # $   % ë_({0.210000, 0.733000, 0.695000, 1.000000}Ó ( ) *   í ïÓ " # $   , î_({0.210000, 0.733000, 0.695000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 3 4 ò	_ª<p style='color: rgba(54, 52, 46, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Reuse already available functionalities</p>_$D314CF19-0113-44CD-B7B2-4C4723D3B2F8Ø 
  ö      ÷ # ']isLeftAligned¢ ø	Ø 
  ù       û  ý  ]isLeftAligned _{783, -2672.2087499999998}Ò     þÓ " # $   , ÿ_({0.210000, 0.733000, 0.695000, 1.000000}Ó ( ) *  Ó " # $   ,_({0.210000, 0.733000, 0.695000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4	_�<p style='color: rgba(54, 52, 46, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>robustness</p>_$00AB0960-76DC-4BA9-B2B5-063BA50A0828Ø 
 
        ]isLeftAligned _{783, -2635.2087499999998}Ò    Ó " # $   ,_({0.210000, 0.733000, 0.695000, 1.000000}Ó ( ) *  Ó " # $   ,_({0.210000, 0.733000, 0.695000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4	_�<p style='color: rgba(54, 52, 46, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>adaptability</p>_$B4A261D4-E805-4BDA-A736-23067D85CA59_{363, -2653.7087499999998}Ò    Ó " # $   %_({0.210000, 0.733000, 0.695000, 1.000000}Ó ( ) *   "Ó " # $   ,!_({0.210000, 0.733000, 0.695000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 3 4%	_¨<p style='color: rgba(54, 52, 46, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Define implementation that guarantees</p>_$59B6E129-0A7A-49B2-AEFF-DBA006596319_{238, -2690.7087499999998}Ò    +Ó " # $   Å,_({0.210000, 0.733000, 0.695000, 1.000000}Ó ( ) *  .0Ó " # $   ,/_({0.210000, 0.733000, 0.695000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 43	_ˆ<p style='color: rgba(54, 52, 46, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Goals</p>_$CB9440A0-50F4-4400-85EC-5704FFBFED24Ø 
 7     8� ƒ†Š Ž]isLeftAligned¢9*Ø 
 :     ;  $ )]isLeftAligned£<�’Ø 
 =     >s ux| €]isLeftAligned£?QbØ 
 @      B DHL P]isLeftAligned _{877, -2598.2087499999998}Ò    EÓ " # $  FG#@      _({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  IKÓ " # $   ,J_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4N	_Ž<p style='color: rgba(54, 52, 46, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Inheritance</p>_$70A5BD4D-5EF6-4EAA-9299-CD2706E2CE77Ø 
 R      T VY] a]isLeftAligned _{877, -2561.2087499999998}Ò    WÓ " # $  FX_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  Z\Ó " # $   ,[_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4_	_›<p style='color: rgba(54, 52, 46, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Off-the-shelf components</p>_$643AA020-E8AC-4890-B62A-F23C43E592E0Ø 
 c      e gjn r]isLeftAligned _{877, -2524.2087499999998}Ò    hÓ " # $  Fi_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  kmÓ " # $   ,l_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4p	_’<p style='color: rgba(54, 52, 46, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Design patterns</p>_$45BF3A63-437D-4054-8BBF-CA6FD614C1F1_{581, -2561.2087499999998}Ò    vÓ " # $   ,w_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  y{Ó " # $   ,z_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4~	_ž<p style='color: rgba(54, 52, 46, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Identify existing solutions</p>_$66FB4EDB-0CD3-4D2C-AD05-D4053F9BB453Ø 
 ‚      „ †‰� ‘]isLeftAligned _{581, -2487.2087499999998}Ò    ‡Ó " # $   ,ˆ_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  ŠŒÓ " # $   ,‹_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4�	_š<p style='color: rgba(54, 52, 46, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Interface specification</p>_$6903308D-F478-4F92-862D-5677C9B57B4CØ 
 “     ”  ]isLeftAligned¢•ÚØ 
 –     —Ì ÎÑÕ Ù]isLeftAligned£˜ª»Ø 
 ™      › �¡¥ ©]isLeftAligned _{1032, -2450.2087499999998}Ò    žÓ " # $  Ÿ #@       _({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  ¢¤Ó " # $   ,£_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4§	_•<p style='color: rgba(54, 52, 46, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Missing attributes</p>_$990E97BE-E514-4255-ABC3-40344D3987CEØ 
 «      ­ ¯²¶ º]isLeftAligned _{1032, -2413.2087499999998}Ò    °Ó " # $  Ÿ±_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  ³µÓ " # $   ,´_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4¸	_ <p style='color: rgba(54, 52, 46, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Visibility, types, signatures</p>_$11179D04-A937-4DE9-80E8-46ACE2A30A11Ø 
 ¼      ¾ ÀÃÇ Ë]isLeftAligned _{1032, -2376.2087499999998}Ò    ÁÓ " # $  ŸÂ_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  ÄÆÓ " # $   ,Å_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4É	_š<p style='color: rgba(54, 52, 46, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Constraints, exceptions</p>_$EE6FB4D3-D41D-44D2-B89E-C58CD5561EEB_{844, -2413.2087499999998}Ò    ÏÓ " # $  FÐ_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  ÒÔÓ " # $   ,Ó_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4×	_�<p style='color: rgba(54, 52, 46, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Specification</p>_$42F94A7F-578F-48A7-BE37-7C057CCB0A82Ø 
 Û     Üÿ  ]isLeftAligned¢ÝîØ 
 Þ      à âåé í]isLeftAligned _{974, -2339.2087499999998}Ò    ãÓ " # $  Ÿä_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  æèÓ " # $   ,ç_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4ë	_ž<p style='color: rgba(54, 52, 46, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Identify, adjust components</p>_$0F2E016B-4053-467D-96F9-2186DBD5740EØ 
 ï      ñ óöú þ]isLeftAligned _{974, -2302.2087499999998}Ò    ôÓ " # $  Ÿõ_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  ÷ùÓ " # $   ,ø_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4ü	_œ<p style='color: rgba(54, 52, 46, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Identify, adjust patterns</p>_$4872DAB7-C7FC-4DB0-BEA1-9263A2C6942C_{844, -2320.7087499999998}Ò    Ó " # $  F_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  Ó " # $   ,_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4
	_ˆ<p style='color: rgba(54, 52, 46, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Reuse</p>_$A11FD816-31D6-46E0-88C4-7C32F3291BEB_{581, -2376.2087499999998}Ò    Ó " # $   ,_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  Ó " # $   ,_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4	_–<p style='color: rgba(54, 52, 46, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>For every Subsystem</p>_$9BB95947-6F76-4360-B421-3D874D92B3E8_{389, -2462.7087499999998}Ò    Ó " # $   %_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  !#Ó " # $   ,"_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2% '#@`@     _š<p style='color: rgba(54, 52, 46, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Reuse and specification</p>_$580730B8-8A0F-416F-B9BA-4B1F4B65C3CEØ 
 +     ,r tw{ €]isLeftAligned¢-PØ 
 .     /B DGK O]isLeftAligned¡0Ø 
 1      3 58< A]isLeftAligned _{889, -2265.2087499999998}Ò    6Ó " # $  F7_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  9;Ó " # $   ,:_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2= ?#@n€     _®<p style='color: rgba(54, 52, 46, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Improve understandability and extensibility</p>_$369729A8-9527-46BC-97F4-E5051A475316_{576, -2252.7087499999998}Ò    EÓ " # $   ,F_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  HJÓ " # $   ,I_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4M	_�<p style='color: rgba(54, 52, 46, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Object model restructuring</p>_$D33B72A0-F4D8-4A03-8321-E9354A4BFCD7Ø 
 Q     Rd fim q]isLeftAligned¡SØ 
 T      V X[_ c]isLeftAligned _{885, -2203.2087499999998}Ò    YÓ " # $  FZ_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  \^Ó " # $   ,]_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4a	_Ÿ<p style='color: rgba(54, 52, 46, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Address performance criteria</p>_$6A9838C0-32E3-45A4-AFA9-54723E00D573_{576, -2203.2087499999998}Ò    gÓ " # $   ,h_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  jlÓ " # $   ,k_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4o	_œ<p style='color: rgba(54, 52, 46, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Object model optimization</p>_$F4C1EA4D-B944-41B2-87E0-7E8D6219DBF5_{389, -2246.7087499999998}Ò    uÓ " # $   %v_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  xzÓ " # $   ,y_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2| ~#@_@     _•<p style='color: rgba(54, 52, 46, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Map models to code</p>_$A5B28BC9-8F6E-4FB7-BDA7-466ED6E60FE4_{238, -2400.7087499999998}Ò    „Ó " # $   Å…_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  ‡‰Ó " # $   ,ˆ_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4Œ	_�<p style='color: rgba(54, 52, 46, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Activities</p>_$073AA591-5322-42F2-BDD6-E5A70BA1104BØ 
 �     ‘† ˆ‹� “]isLeftAligned£’í†Ø 
 “     ”ß áäè ì]isLeftAligned¥•¦·?Ø 
 –      ˜ š�¡ ¥]isLeftAligned _{643, -2166.2087499999998}Ò    ›Ó " # $   ,œ_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  ž Ó " # $   ,Ÿ_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4£	_’<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>White-box reuse</p>_$759B1D39-9AC5-494A-A12A-09ED44D14538Ø 
 §      © «®² ¶]isLeftAligned _{643, -2129.2087499999998}Ò    ¬Ó " # $   ,­_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  ¯±Ó " # $   ,°_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 3 4´	_£<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Must have access to dev products</p>_$CCE2DCC4-0311-45E5-B277-B301ADEF03A7Ø 
 ¸     ¹1 36: >]isLeftAligned¢ºíØ 
 »     ¼ß áäè ì]isLeftAligned¢½ÎØ 
 ¾      À ÂÅÉ Í]isLeftAligned _{947, -2092.2087499999998}Ò    ÃÓ " # $  ŸÄ_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  ÆÈÓ " # $   ,Ç_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4Ë	_’<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>During analysis</p>_$203454DB-EC6E-409C-B325-9C0F29A5E0A1Ø 
 Ï      Ñ ÓÖÚ Þ]isLeftAligned _{947, -2055.2087499999998}Ò    ÔÓ " # $  ŸÕ_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  ×ÙÓ " # $   ,Ø_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4Ü	_—<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Construct taxonomies</p>_$4F0DC790-55FF-46BA-8EFE-066AB4E5F83F_{761, -2073.7087499999998}Ò    âÓ " # $  Fã_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  åçÓ " # $   ,æ_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4ê	_�<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Organization</p>_$F7573A1A-994B-4AAD-98EE-3B1BC149EA66Ø 
 î     ï# %(, 0]isLeftAligned£ðØ 
 ñ      ó õøü  ]isLeftAligned _{891, -2018.2087499999998}Ò    öÓ " # $  Ÿ÷_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  ùûÓ " # $   ,ú_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4þ	_”<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>During obj design</p>_$85C351C9-47A5-4119-937F-DAFB029A665BØ 
        	 ]isLeftAligned _{891, -1981.2087499999998}Ò    Ó " # $  Ÿ_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  
Ó " # $   ,_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4	_˜<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Reuse models and code</p>_$EA186271-50CD-472C-A6B8-8D46E0D9D423Ø 
         "]isLeftAligned _{891, -1944.2087499999998}Ò    Ó " # $  Ÿ_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  Ó " # $   ,_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4 	_œ<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Deal with solution domain</p>_$EFA03372-ACC1-4961-A52E-B09FC41C3578_{761, -1981.2087499999998}Ò    &Ó " # $  F'_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  )+Ó " # $   ,*_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4.	_ˆ<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Reuse</p>_$83FDC632-135B-49BF-A8AD-DCAAB463598C_{643, -2018.2087499999998}Ò    4Ó " # $   ,5_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  79Ó " # $   ,8_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4<	_‡<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Uses</p>_$700C6BF0-12A5-4DA8-B77C-04A4D7C0DF3AØ 
 @     A 
 ]isLeftAligned¢B¼Ø 
 C     D® °³· »]isLeftAligned¤EVŠœØ 
 F      H JMQ U]isLeftAligned _{1075, -1907.2087499999998}Ò    KÓ " # $  ŸL_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  NPÓ " # $   ,O_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4S	_–<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>During req analysis</p>_$79254E56-C701-43D8-BA4E-E05C943E5C42Ø 
 W     X| ~�… ‰]isLeftAligned¢YkØ 
 Z      \ ^bf j]isLeftAligned _{1235, -1870.2087499999998}Ò    _Ó " # $  `a#?ð      _({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  ceÓ " # $   ,d_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4h	_‘<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Generalization</p>_$39F67496-1ED3-48F0-A0DE-26599B8A722BØ 
 l      n psw {]isLeftAligned _{1235, -1833.2087499999998}Ò    qÓ " # $  `r_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  tvÓ " # $   ,u_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4y	_‘<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Specialization</p>_$B71459E5-CF70-4DB0-876A-CA6F488FD483_{1075, -1851.7087499999998}Ò    Ó " # $  Ÿ€_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  ‚„Ó " # $   ,ƒ_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4‡	_Œ<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Discovery</p>_$9A334CFA-8B07-467E-9839-991B538FE4FDØ 
 ‹      � �’– ›]isLeftAligned _{1075, -1796.2087499999998}Ò    �Ó " # $  Ÿ‘_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  “•Ó " # $   ,”_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2— ™#@kà     _³<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Identify objects that are hierarchically related</p>_$168A182A-C49E-4BBF-9626-82F4AA015CC8Ø 
 �      Ÿ ¡¤¨ ­]isLeftAligned _{1075, -1734.2087499999998}Ò    ¢Ó " # $  Ÿ£_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  ¥§Ó " # $   ,¦_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2© «#@k      _ª<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Make analysis model more understandable</p>_$15801519-89F6-4163-8D03-5B317D861C61_{768, -1808.2087499999998}Ò    ±Ó " # $  F²_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  ´¶Ó " # $   ,µ_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4¹	_œ<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Description of taxonomies</p>_$2B97E11C-F95D-45FA-8323-E9E819722550Ø 
 ½     ¾ó õøü  ]isLeftAligned£¿ÐáØ 
 À      Â ÄÇË Ï]isLeftAligned _{1036, -1672.2087499999998}Ò    ÅÓ " # $  ŸÆ_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  ÈÊÓ " # $   ,É_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4Í	_—<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>During object design</p>_$27C07362-AD0E-4F46-AE5B-1E6048689D06Ø 
 Ñ      Ó ÕØÜ à]isLeftAligned _{1036, -1635.2087499999998}Ò    ÖÓ " # $  Ÿ×_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  ÙÛÓ " # $   ,Ú_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4Þ	_¡<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Identify signatures of objects</p>_$316F43A3-6414-4AD4-BA00-6A3C9BE48BE6Ø 
 â      ä æéí ò]isLeftAligned _{1036, -1598.2087499999998}Ò    çÓ " # $  Ÿè_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  êìÓ " # $   ,ë_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2î ð#@mÀ     _µ<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Increase reusability, modifiability, extensibility</p>_$65035CB7-F964-4DF4-9E2C-07F8E864178F_{768, -1622.7087499999998}Ò    öÓ " # $  F÷_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  ùûÓ " # $   ,ú_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4þ	_š<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Interface specification</p>_$72DC9983-6EE8-4B2D-A205-3092A2FF0951_{643, -1740.2087499999998}Ò    Ó " # $   ,_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  	Ó " # $   ,_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4	_ˆ<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Goals</p>_$C02C14CF-F4C4-436E-B50C-F78E37A2A5B1Ø 
      Ñ ÓÖÚ Þ]isLeftAligned¢ŒØ 
      ~ €ƒ‡ ‹]isLeftAligned£&7Ø 
        ! %]isLeftAligned _{979, -1536.2087499999998}Ò    Ó " # $  Ÿ_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *   Ó " # $   ,_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4#	_”<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Class inheritance</p>_$A503B8B1-DB6D-4A94-B593-84BA069F00C2Ø 
 '      ) +.2 6]isLeftAligned _{979, -1499.2087499999998}Ò    ,Ó " # $  Ÿ-_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  /1Ó " # $   ,0_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 44	_£<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Reuse superclass functionalities</p>_$B9FE0743-B594-496E-90C9-DDD335F5E430Ø 
 8     9p ruy }]isLeftAligned£:L^Ø 
 ;      = ?BF K]isLeftAligned _{1127, -1462.2087499999998}Ò    @Ó " # $  `A_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  CEÓ " # $   ,D_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2G I#@j`     _©<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Very similar class already implemented</p>_$5DFB2E6B-F57D-424F-9D51-C8FFA1BBD813Ø 
 M      O QTX ]]isLeftAligned _{1127, -1400.2087499999998}Ò    RÓ " # $  `S_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  UWÓ " # $   ,V_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2Y [#@o`     _Ì<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Some inherited operations not member of design interface of desired class</p>_$59A70E60-7AF4-4BBF-994E-210C9FB50F36Ø 
 _      a cfj o]isLeftAligned _{1127, -1314.2087499999998}Ò    dÓ " # $  `e_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  giÓ " # $   ,h_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2k m#@q€     _¾<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>E.g.: Stack =&gt; List, call to list methods makes no sense</p>_$E68340DE-1B87-46A7-9C8A-7F89607D7FB7_{979, -1375.7087499999998}Ò    sÓ " # $  Ÿt_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  vxÓ " # $   ,w_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4{	_Š<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Problem</p>_$0683B3D6-A3C9-40CB-9F59-9A32A3469582_{768, -1412.7087499999998}Ò    �Ó " # $  F‚_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  „†Ó " # $   ,…_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4‰	_‘<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Implementation</p>_$612CA6D2-E9AE-4E94-AAC5-31274BE0513BØ 
 �     ŽÃ ÅÈÌ Ð]isLeftAligned£� ±Ø 
 �      ’ ”—› Ÿ]isLeftAligned _{956, -1252.2087499999998}Ò    •Ó " # $  Ÿ–_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  ˜šÓ " # $   ,™_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4�	_Œ<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Subtyping</p>_$629BC2C8-ED0D-41D0-B3A3-A81EEF8B173DØ 
 ¡      £ ¥¨¬ °]isLeftAligned _{956, -1215.2087499999998}Ò    ¦Ó " # $  Ÿ§_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  ©«Ó " # $   ,ª_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4®	_�<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Inherit from specification</p>_$D1580B8F-19D8-4441-B5BB-C23E72F27E7FØ 
 ²      ´ ¶¹½ Â]isLeftAligned _{956, -1178.2087499999998}Ò    ·Ó " # $  Ÿ¸_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  º¼Ó " # $   ,»_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2¾ À#@pP     _¸<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Inherit from abstract class, operations not specified</p>_$07856621-BA8F-499B-ABEF-0215C0B3EB16_{768, -1202.7087499999998}Ò    ÆÓ " # $  FÇ_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  ÉËÓ " # $   ,Ê_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4Î	_�<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Specification</p>_$B1597BDC-79DF-4D11-AEA1-CA634956A7D5_{643, -1344.7087499999998}Ò    ÔÓ " # $   ,Õ_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  ×ÙÓ " # $   ,Ø_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4Ü	_ˆ<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Types</p>_$0D0D5277-92CF-4F01-893A-D5CCB5B4AC0B_{472, -1659.7087499999998}Ò    âÓ " # $   %ã_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  åçÓ " # $   ,æ_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4ê	_Ž<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Inheritance</p>_$B5C6CD36-F499-44F0-90DF-0020C855C469Ø 
 î     ïx z}� …]isLeftAligned£ð4EØ 
 ñ     ò& (+/ 3]isLeftAligned£óØ 
 ô      ö øûÿ ]isLeftAligned _{827, -1116.2087499999998}Ò    ùÓ " # $  Fú_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  üþÓ " # $   ,ý_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4	_’<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Black-box reuse</p>_$40228F0F-B19F-45E9-8450-BFADD64284DBØ 
        	 ]isLeftAligned _{827, -1079.2087499999998}Ò    
Ó " # $  F_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  Ó " # $   ,_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 3 4	_®<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>New functionalities obtained by aggregation</p>_$3B30E827-0C94-475F-9E68-C52CAD931273Ø 
        ! %]isLeftAligned _{827, -1042.2087499999998}Ò    Ó " # $  F_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *   Ó " # $   ,_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 3 4#	_¤<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Need only interface specification</p>_$0F048883-A161-4CAA-AD11-F28ADD2C5AD4_{640, -1079.2087499999998}Ò    )Ó " # $   ,*_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  ,.Ó " # $   ,-_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 41	_Ž<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Composition</p>_$E00C0DDB-E2E8-4495-92BF-A74EF942B5BAØ 
 5      7 9<@ D]isLeftAligned _{640, -1005.2087499999998}Ò    :Ó " # $   ,;_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  =?Ó " # $   ,>_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 3 4B	_«<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Two objects involved in handling request</p>_$95743120-0448-4665-9A84-4C972D750100Ø 
 F     Gj los w]isLeftAligned¢HYØ 
 I      K MPT X]isLeftAligned _{790, -968.20874999999978}Ò    NÓ " # $  FO_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  QSÓ " # $   ,R_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4V	_—<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>delegates operations</p>_$4C89C651-0DFE-45CB-A0F7-D32F1F6581E3Ø 
 Z      \ ^ae i]isLeftAligned _{790, -931.20874999999978}Ò    _Ó " # $  F`_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  bdÓ " # $   ,c_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4g	_º<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>makes sure that the client does not misuse the delegate</p>_$E365BC1C-E484-4623-8410-D4FC53BEE963_{640, -937.20874999999978}Ò    mÓ " # $   ,n_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  prÓ " # $   ,q_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4u	_‹<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Receiver</p>_$7DF82A0C-B031-4003-BCA1-B1EBE593FE15_{472, -1011.2087499999998}Ò    {Ó " # $   %|_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  ~€Ó " # $   ,_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4ƒ	_�<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Delegation</p>_$B4158B05-C213-41F8-9343-5C1AA296F0D5Ø 
 ‡     ˆw y|€ …]isLeftAligned¥‰«Í 3Ø 
 Š     ‹� Ÿ¢¦ ª]isLeftAligned¡ŒØ 
 �      � ‘”˜ œ]isLeftAligned _{947, -869.20874999999978}Ò    ’Ó " # $  F“_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  •—Ó " # $   ,–_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 3 4š	_¤<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>With signature, no implementation</p>_$8451B571-52DB-43C5-96BB-7A35A6ABF2B5_{737, -869.20874999999978}Ò     Ó " # $   ,¡_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  £¥Ó " # $   ,¤_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4¨	_‘<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Abstr. methods</p>_$C3995EC7-018F-4E64-A0A6-4630530EDEF0Ø 
 ¬     ­¿ ÁÄÈ Ì]isLeftAligned¡®Ø 
 ¯      ± ³¶º ¾]isLeftAligned _{913, -832.20874999999978}Ò    ´Ó " # $  Fµ_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  ·¹Ó " # $   ,¸_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4¼	_¢<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>With at least one abstr. method</p>_$B13ED571-6822-44AA-BC5A-4051839C0D06_{737, -832.20874999999978}Ò    ÂÓ " # $   ,Ã_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  ÅÇÓ " # $   ,Æ_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4Ê	_�<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Abstr. class</p>_$3093FA85-C995-4B92-8ADA-8377072E9ED8Ø 
 Î     Ïò ô÷û ÿ]isLeftAligned¢ÐáØ 
 Ñ      Ó ÕØÜ à]isLeftAligned _{887, -795.20874999999978}Ò    ÖÓ " # $  F×_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  ÙÛÓ " # $   ,Ú_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4Þ	_¡<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Class with only abstr. methods</p>_$2E6A1A4B-5B4E-4CDB-BA88-1BBCFAA3E7B4Ø 
 â      ä æéí ñ]isLeftAligned _{887, -758.20874999999978}Ò    çÓ " # $  Fè_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  êìÓ " # $   ,ë_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 3 4ï	_¦<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Implementation provided by subclass</p>_$29EACCB9-6BC9-4674-AE84-4EAC60819DCF_{737, -776.70874999999978}Ò    õÓ " # $   ,ö_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  øúÓ " # $   ,ù_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4ý	_Œ<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Interface</p>_$B5F72741-8C99-4312-A8E7-6F2218871E2DØ 
      % '*. 2]isLeftAligned¢Ø 
         ]isLeftAligned _{960, -721.20874999999978}Ò    	Ó " # $  F
_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  Ó " # $   ,_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4	_³<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Subclasses can only add new methods, no override</p>_$3339A9F7-369F-4A77-B28F-2887633043A6Ø 
          $]isLeftAligned _{960, -659.20874999999978}Ò    Ó " # $  F_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  Ó " # $   ,_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4"	_Ž<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Java: final</p>_$CABB917A-DAE8-4E96-B616-7392AE062BBF_{737, -690.20874999999978}Ò    (Ó " # $   ,)_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  +-Ó " # $   ,,_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 40	_•<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Strict inheritance</p>_$AED60E80-99C3-463A-AB0E-BFDF529E9E9DØ 
 4     5i knr v]isLeftAligned£6GXØ 
 7      9 ;>B F]isLeftAligned _{915, -622.20874999999978}Ò    <Ó " # $  F=_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  ?AÓ " # $   ,@_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4D	_ <p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Make superclass ops invisible</p>_$59ED91E5-E919-4507-9583-6DFB82DE15A9Ø 
 H      J LOS W]isLeftAligned _{915, -585.20874999999978}Ò    MÓ " # $  FN_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  PRÓ " # $   ,Q_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4U	_º<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Implementation of methods overwritten with empty bodies</p>_$4C5E9798-F949-4EA0-9B9B-C5FF454057D3Ø 
 Y      [ ]`d h]isLeftAligned _{915, -523.20874999999978}Ò    ^Ó " # $  F__({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  acÓ " # $   ,b_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4f	_�<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>DO NOT USE</p>_$1A3730BE-3322-4769-A292-4EC7E07A2977_{737, -572.70874999999978}Ò    lÓ " # $   ,m_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  oqÓ " # $   ,p_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4t	_Ž<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Contraction</p>_$6F3D29EF-A423-448E-A6D3-C5A5C35F7663_{472, -708.70874999999978}Ò    zÓ " # $   %{_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  }Ó " # $   ,~_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2� ƒ#@i`     _«<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Abstract classes, overriding, interfaces</p>_$AD2DB3F0-A89B-46A8-8476-25D249269A48_{238, -1344.7087499999998}Ò    ‰Ó " # $   ÅŠ_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  ŒŽÓ " # $   ,�_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4‘	_“<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Reuse techniques</p>_$0A4A3EE2-97A0-46B3-957C-6C66B85F1696Ø 
 •     –B DGK O]isLeftAligned¢—íØ 
 ˜     ™ß áäè ì]isLeftAligned¤š«¼ÎØ 
 ›      � Ÿ¢¦ ª]isLeftAligned _{574, -486.20874999999978}Ò     Ó " # $   ,¡_({0.935000, 0.411000, 0.371000, 1.000000}Ó ( ) *  £¥Ó " # $   ,¤_({0.935000, 0.411000, 0.371000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4¨	_—<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Need for defining UI</p>_$19796FE8-7FD8-4B3F-8FA0-A4C49F407CE0Ø 
 ¬      ® °³· »]isLeftAligned _{574, -449.20874999999978}Ò    ±Ó " # $   ,²_({0.935000, 0.411000, 0.371000, 1.000000}Ó ( ) *  ´¶Ó " # $   ,µ_({0.935000, 0.411000, 0.371000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4¹	_�<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Data management components</p>_$941FACA1-90D7-4814-B18F-9DA750EA0D36Ø 
 ½      ¿ ÁÄÈ Í]isLeftAligned _{574, -412.20874999999978}Ò    ÂÓ " # $   ,Ã_({0.935000, 0.411000, 0.371000, 1.000000}Ó ( ) *  ÅÇÓ " # $   ,Æ_({0.935000, 0.411000, 0.371000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2É Ë#@p     _±<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Impl of algorithms need objects to hold values</p>_$0FE8D719-C9A3-43F5-89E6-B4AD743F75C3Ø 
 Ï      Ñ ÓÖÚ Þ]isLeftAligned _{574, -350.20874999999978}Ò    ÔÓ " # $   ,Õ_({0.935000, 0.411000, 0.371000, 1.000000}Ó ( ) *  ×ÙÓ " # $   ,Ø_({0.935000, 0.411000, 0.371000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 3 4Ü	_¢<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Decompose high-level operations</p>_$555B8389-C573-424D-8F6E-0970EE4AF7DE_{423, -418.20874999999978}Ò    âÓ " # $   %ã_({0.935000, 0.411000, 0.371000, 1.000000}Ó ( ) *  åçÓ " # $   ,æ_({0.935000, 0.411000, 0.371000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4ê	_Š<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Reasons</p>_$7BB9C3F7-A4F0-4423-9661-E37A61A7EA82Ø 
 î     ï4 69= A]isLeftAligned¢ðØ 
 ñ     ò 	 ]isLeftAligned¡óØ 
 ô      ö øûÿ ]isLeftAligned _{971, -313.20874999999978}Ò    ùÓ " # $  Fú_({0.935000, 0.411000, 0.371000, 1.000000}Ó ( ) *  üþÓ " # $   ,ý_({0.935000, 0.411000, 0.371000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4	_�<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Req analysis</p>_$B304254F-709A-4D10-AF9E-09918BF37095_{609, -313.20874999999978}Ò    Ó " # $   ,_({0.935000, 0.411000, 0.371000, 1.000000}Ó ( ) *  
Ó " # $   ,_({0.935000, 0.411000, 0.371000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4	_¡<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Language of application domain</p>_$316D4C77-1CB6-49FE-9B9B-52E7FB849168Ø 
      & (+/ 3]isLeftAligned¡Ø 
        ! %]isLeftAligned _{943, -276.20874999999978}Ò    Ó " # $  F_({0.935000, 0.411000, 0.371000, 1.000000}Ó ( ) *   Ó " # $   ,_({0.935000, 0.411000, 0.371000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4#	_�<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Object design</p>_$B9B35085-F582-4D1A-9F10-79AF1B83ED6B_{609, -276.20874999999978}Ò    )Ó " # $   ,*_({0.935000, 0.411000, 0.371000, 1.000000}Ó ( ) *  ,.Ó " # $   ,-_({0.935000, 0.411000, 0.371000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 41	_ž<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Language of solution domain</p>_$64827824-64DD-4A17-AB8F-B14D57A46D31_{423, -294.70874999999978}Ò    7Ó " # $   %8_({0.935000, 0.411000, 0.371000, 1.000000}Ó ( ) *  :<Ó " # $   ,;_({0.935000, 0.411000, 0.371000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4?	_‘<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Identification</p>_$0C37FF61-C2FD-4CA5-85F0-1B1D28E673E9_{238, -381.20874999999978}Ò    EÓ " # $   ÅF_({0.935000, 0.411000, 0.371000, 1.000000}Ó ( ) *  HJÓ " # $   ,I_({0.935000, 0.411000, 0.371000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4M	_Ž<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>New objects</p>_$00B213F6-6873-43C3-81FB-215231BFF4D1Ø 
 Q     R¨ ª­± µ]isLeftAligned¤SìA|Ø 
 T     UÞ àãç ë]isLeftAligned¦Vgx«¼ÍØ 
 W      Y [^b f]isLeftAligned _{733, -239.20874999999978}Ò    \Ó " # $   ,]_({1.000000, 0.899000, 0.167000, 1.000000}Ó ( ) *  _aÓ " # $   ,`_({1.000000, 0.899000, 0.167000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 3 4d	_£<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Add multiplicites and role names</p>_$753F2E57-9293-470B-83BC-CDE2657FC880Ø 
 h      j los w]isLeftAligned _{733, -202.20874999999978}Ò    mÓ " # $   ,n_({1.000000, 0.899000, 0.167000, 1.000000}Ó ( ) *  prÓ " # $   ,q_({1.000000, 0.899000, 0.167000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4u	_·<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Decide which side is the whole and which is the part</p>_$F9F68451-98A9-4344-9844-E48DDB8611BDØ 
 y     z� Ÿ¢¦ ª]isLeftAligned¢{ŒØ 
 |      ~ €ƒ‡ ‹]isLeftAligned _{862, -140.20874999999978}Ò    �Ó " # $  F‚_({1.000000, 0.899000, 0.167000, 1.000000}Ó ( ) *  „†Ó " # $   ,…_({1.000000, 0.899000, 0.167000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4‰	_ž<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Multip. 1 =&gt; Composition</p>_$AC9B6B9B-5E89-4796-855B-86EFCD5F05ADØ 
 �      � ‘”˜ œ]isLeftAligned _{862, -103.20874999999978}Ò    ’Ó " # $  F“_({1.000000, 0.899000, 0.167000, 1.000000}Ó ( ) *  •—Ó " # $   ,–_({1.000000, 0.899000, 0.167000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4š	_Ÿ<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Multip. !1 =&gt; Aggregation</p>_$8CC813A2-0BDA-4C3C-A2A0-AE4C23CC80A3_{733, -121.70874999999978}Ò     Ó " # $   ,¡_({1.000000, 0.899000, 0.167000, 1.000000}Ó ( ) *  £¥Ó " # $   ,¤_({1.000000, 0.899000, 0.167000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4¨	_ˆ<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Whole</p>_$7B990EC9-36D7-4AB5-8B96-D0504498B459Ø 
 ¬      ® °³· »]isLeftAligned _{733, -66.208749999999782}Ò    ±Ó " # $   ,²_({1.000000, 0.899000, 0.167000, 1.000000}Ó ( ) *  ´¶Ó " # $   ,µ_({1.000000, 0.899000, 0.167000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 3 4¹	_¦<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Add navigability from whole to part</p>_$05874DC0-CCAB-40BA-A6F2-3D04049912E3Ø 
 ½      ¿ ÁÄÈ Ì]isLeftAligned _{733, -29.208749999999782}Ò    ÂÓ " # $   ,Ã_({1.000000, 0.899000, 0.167000, 1.000000}Ó ( ) *  ÅÇÓ " # $   ,Æ_({1.000000, 0.899000, 0.167000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4Ê	_�<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Avoid cycles</p>_$0AA4DB2D-0A00-4993-A98F-5E636735187BØ 
 Î      Ð ÒÕÙ Ý]isLeftAligned _{733, 7.7912500000002183}Ò    ÓÓ " # $   ,Ô_({1.000000, 0.899000, 0.167000, 1.000000}Ó ( ) *  ÖØÓ " # $   ,×_({1.000000, 0.899000, 0.167000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 3 4Û	_©<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Do not use composition for many-to-one</p>_$D74A550B-BD12-4F7A-9501-DB52117B635E_{551, -115.70874999999978}Ò    áÓ " # $   %â_({1.000000, 0.899000, 0.167000, 1.000000}Ó ( ) *  äæÓ " # $   ,å_({1.000000, 0.899000, 0.167000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4é	_Ž<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Aggregation</p>_$9F6F85A5-70B6-4110-8DCE-433AF73487B9Ø 
 í     î3 58< @]isLeftAligned¢ï Ø 
 ð      ò ô÷û ÿ]isLeftAligned _{716, 44.791250000000218}Ò    õÓ " # $   ,ö_({1.000000, 0.899000, 0.167000, 1.000000}Ó ( ) *  øúÓ " # $   ,ù_({1.000000, 0.899000, 0.167000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4ý	_µ<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Regard abstract thing as it had concrete existence</p>_$1E010054-450D-4C5C-BCFF-FE66EB015248Ø 
      % '*. 2]isLeftAligned¢Ø 
         ]isLeftAligned _{880, 106.79125000000022}Ò    	Ó " # $  F
_({1.000000, 0.899000, 0.167000, 1.000000}Ó ( ) *  Ó " # $   ,_({1.000000, 0.899000, 0.167000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4	_�<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>relationships</p>_$027F9194-9524-43AC-8DEB-7996BBF599BDØ 
          $]isLeftAligned _{880, 143.79125000000022}Ò    Ó " # $  F_({1.000000, 0.899000, 0.167000, 1.000000}Ó ( ) *  Ó " # $   ,_({1.000000, 0.899000, 0.167000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4"	_”<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>states of objects</p>_$C453C1B2-63DC-4C66-93F9-43C7FECD9EEC_{716, 125.29125000000022}Ò    (Ó " # $   ,)_({1.000000, 0.899000, 0.167000, 1.000000}Ó ( ) *  +-Ó " # $   ,,_({1.000000, 0.899000, 0.167000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 40	_�<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Applied to</p>_$952C7FF6-02F0-4803-A1EF-C3F023B40EFD_{551, 94.291250000000218}Ò    6Ó " # $   %7_({1.000000, 0.899000, 0.167000, 1.000000}Ó ( ) *  9;Ó " # $   ,:_({1.000000, 0.899000, 0.167000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4>	_Ž<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Reification</p>_$9B96BCCE-A775-4B85-B0E5-D97FF20A5DD0Ø 
 B     Cn psw {]isLeftAligned¡DÙ 
 E F     H JMTX m]isLeftAlignedZattachment _{733, 180.79125000000022}Ò    KÓ " # $   ,L_({1.000000, 0.899000, 0.167000, 1.000000}ÓNOPQRSTtypeXfileNameTsize_(454BEC1E-2241-41C6-9479-43D31B2E9064.png]{238, 180.88}Ó ( ) *  UWÓ " # $   ,V_({1.000000, 0.899000, 0.167000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ô 0Y 1 2îZ kYfontStyleØ[\ $]^_`a cd fg  VitalicXfontSize]strikethroughXfontNameYalignmentYunderlineTbold#@5      _({0.274532, 0.264473, 0.236909, 1.000000}_HelveticaNeue-LightP_$D0683F62-2073-47E7-A606-BC800DE6E840_{551, 262.73125000000022}Ò    qÓ " # $   %r_({1.000000, 0.899000, 0.167000, 1.000000}Ó ( ) *  tvÓ " # $   ,u_({1.000000, 0.899000, 0.167000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4y	_�<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Bidirectional</p>_$FA5D76CF-8746-43F9-B046-12A6ED204497Ø 
 }     ~š œŸ£ §]isLeftAligned¡Ù 
 € F     ‚ „‡ŠŽ ™]isLeftAligned _{800, 381.67125000000021}Ò    …Ó " # $   ,†_({1.000000, 0.899000, 0.167000, 1.000000}ÓNOPQˆ‰_(6FE1C42B-63AB-4478-BC9C-353A93D0F2CF.png_{330, 202.53749999999997}Ó ( ) *  ‹�Ó " # $   ,Œ_({1.000000, 0.899000, 0.167000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ô 0Y 1 2�� —#@t      Ø[\ $]^_`a c’ fg  _({0.274532, 0.264473, 0.236909, 1.000000}P_$C18812CD-6470-43D1-8242-FFEDB792C2A4_{551, 474.44000000000017}Ò    �Ó " # $   %ž_({1.000000, 0.899000, 0.167000, 1.000000}Ó ( ) *   ¢Ó " # $   ,¡_({1.000000, 0.899000, 0.167000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4¥	_–<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Association classes</p>_$506A3980-A073-4A4C-BFFB-729ADBBB3D5C_{238, 164.00000000000023}Ò    «Ó " # $   Å¬_({1.000000, 0.899000, 0.167000, 1.000000}Ó ( ) *  ®°Ó " # $   ,¯_({1.000000, 0.899000, 0.167000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4³	_ž<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Refine analysis association</p>_$B95D0DEE-0D97-4658-918E-A986498FAC81Ø 
 ·     ¸
Ë 
Í
Ð
Ô 
Ø]isLeftAligned¦¹ÊÛì	
1Ø 
 º      ¼ ¾ÁÅ É]isLeftAligned _{422, 604.20875000000024}Ò    ¿Ó " # $   %À_({0.284000, 0.692000, 0.297000, 1.000000}Ó ( ) *  ÂÄÓ " # $   ,Ã_({0.284000, 0.692000, 0.297000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4Ç	_Ÿ<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Reusable partial application</p>_$2E908393-0B35-4A74-B423-C0BD169638C6Ø 
 Ë      Í ÏÒÖ Ú]isLeftAligned _{422, 641.20875000000024}Ò    ÐÓ " # $   %Ñ_({0.284000, 0.692000, 0.297000, 1.000000}Ó ( ) *  ÓÕÓ " # $   ,Ô_({0.284000, 0.692000, 0.297000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 3 4Ø	_¬<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Can be specialized to produce custom apps</p>_$AF8240B6-D21D-4068-B251-DF3AF356E45AØ 
 Ü      Þ àãç ë]isLeftAligned _{422, 678.20875000000024}Ò    áÓ " # $   %â_({0.284000, 0.692000, 0.297000, 1.000000}Ó ( ) *  äæÓ " # $   ,å_({0.284000, 0.692000, 0.297000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4é	_—<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Reusable, extensible</p>_$D8F356FD-7DC0-445A-8801-223A84070166Ø 
 í     î	  				 	]isLeftAligned¡ïØ 
 ð      ò ô÷û ÿ]isLeftAligned _{848, 715.20875000000024}Ò    õÓ " # $   ,ö_({0.284000, 0.692000, 0.297000, 1.000000}Ó ( ) *  øúÓ " # $   ,ù_({0.284000, 0.692000, 0.297000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 3 4ý	_Ž<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Overwritten</p>_$2352AEE1-52D3-4277-BEA8-54EAA504D202_{422, 715.20875000000024}Ò    	Ó " # $   %	_({0.284000, 0.692000, 0.297000, 1.000000}Ó ( ) *  		Ó " # $   ,	_({0.284000, 0.692000, 0.297000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 3 4		_©<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Extensibility provided by hook methods</p>_$0387F5D1-F2CB-4E1C-96A0-BA59C253D2CAØ 
 	     	
# 
%
(
, 
0]isLeftAligned¢		«Ø 
 	     		� 	Ÿ	¢	¦ 	ª]isLeftAligned£		G	{Ø 
 	     		9 	;	>	B 	F]isLeftAligned¢		(Ø 
 	      	 			# 	']isLeftAligned _{1139, 752.20875000000024}Ò    	Ó " # $  Ÿ	_({0.284000, 0.692000, 0.297000, 1.000000}Ó ( ) *  	 	"Ó " # $   ,	!_({0.284000, 0.692000, 0.297000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4	%	_’<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Used internally</p>_$5CE9CDE6-1C0F-42A2-9D0E-69D4D02819E5Ø 
 	)      	+ 	-	0	4 	8]isLeftAligned _{1139, 789.20875000000024}Ò    	.Ó " # $  Ÿ	/_({0.284000, 0.692000, 0.297000, 1.000000}Ó ( ) *  	1	3Ó " # $   ,	2_({0.284000, 0.692000, 0.297000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4	6	_š<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Not delivered to client</p>_$5D001D14-DC20-4448-A7A3-04AB84FA0553_{921, 770.70875000000024}Ò    	<Ó " # $  F	=_({0.284000, 0.692000, 0.297000, 1.000000}Ó ( ) *  	?	AÓ " # $   ,	@_({0.284000, 0.692000, 0.297000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4	D	_”<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Infrastructure fw</p>_$133ECDF1-3126-4382-BD9C-A747B8A8AC97Ø 
 	H     	I	m 	o	r	v 	z]isLeftAligned¢	J	\Ø 
 	K      	M 	O	R	V 	[]isLeftAligned _{1124, 826.20875000000024}Ò    	PÓ " # $  Ÿ	Q_({0.284000, 0.692000, 0.297000, 1.000000}Ó ( ) *  	S	UÓ " # $   ,	T_({0.284000, 0.692000, 0.297000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2	W 	Y#@f€     _¦<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Integrate existing distributed apps</p>_$52BDE7FC-4450-454E-B537-822F4A34B294Ø 
 	]      	_ 	a	d	h 	l]isLeftAligned _{1124, 888.20875000000024}Ò    	bÓ " # $  Ÿ	c_({0.284000, 0.692000, 0.297000, 1.000000}Ó ( ) *  	e	gÓ " # $   ,	f_({0.284000, 0.692000, 0.297000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4	j	_œ<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>E.g.: DCOM, WebObjects...</p>_$8583BE20-A259-4246-BE53-2FF74C180739_{921, 857.20875000000024}Ò    	pÓ " # $  F	q_({0.284000, 0.692000, 0.297000, 1.000000}Ó ( ) *  	s	uÓ " # $   ,	t_({0.284000, 0.692000, 0.297000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4	x	_�<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Middleware fw</p>_$F9097002-A7E9-4D38-B437-496611793F3BØ 
 	|     	}	� 	‘	”	˜ 	œ]isLeftAligned¡	~Ø 
 	      	� 	ƒ	†	Š 	Ž]isLeftAligned _{1152, 925.20875000000024}Ò    	„Ó " # $  Ÿ	…_({0.284000, 0.692000, 0.297000, 1.000000}Ó ( ) *  	‡	‰Ó " # $   ,	ˆ_({0.284000, 0.692000, 0.297000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4	Œ	_›<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Specific focus on domain</p>_$03DDD8D3-B3D4-40AF-A4FF-D9ACA6BCADB8_{921, 925.20875000000024}Ò    	’Ó " # $  F	“_({0.284000, 0.692000, 0.297000, 1.000000}Ó ( ) *  	•	—Ó " # $   ,	–_({0.284000, 0.692000, 0.297000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4	š	_”<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Enterprise app fw</p>_$B3889D0A-D514-40AD-8470-207C46291848_{612, 838.70875000000024}Ò    	 Ó " # $   ,	¡_({0.284000, 0.692000, 0.297000, 1.000000}Ó ( ) *  	£	¥Ó " # $   ,	¤_({0.284000, 0.692000, 0.297000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4	¨	_�<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>by position in sw dev proc</p>_$446F7040-C97C-4BD4-B3AD-35C4A912E47BØ 
 	¬     	­
 


 
"]isLeftAligned¢	®	áØ 
 	¯     	°	Ó 	Õ	Ø	Ü 	à]isLeftAligned¢	±	ÂØ 
 	²      	´ 	¶	¹	½ 	Á]isLeftAligned _{1068, 962.20875000000024}Ò    	·Ó " # $  Ÿ	¸_({0.284000, 0.692000, 0.297000, 1.000000}Ó ( ) *  	º	¼Ó " # $   ,	»_({0.284000, 0.692000, 0.297000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4	¿	_Ÿ<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Inheritance, dynamic binding</p>_$96516730-6877-48DE-8C02-A8E15A8A0C2EØ 
 	Ã      	Å 	Ç	Ê	Î 	Ò]isLeftAligned _{1068, 999.20875000000024}Ò    	ÈÓ " # $  Ÿ	É_({0.284000, 0.692000, 0.297000, 1.000000}Ó ( ) *  	Ë	ÍÓ " # $   ,	Ì_({0.284000, 0.692000, 0.297000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4	Ð	_—<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Subclasses, override</p>_$544E7F7D-94CA-452F-907F-76F678431A91_{903, 980.70875000000024}Ò    	ÖÓ " # $  F	×_({0.284000, 0.692000, 0.297000, 1.000000}Ó ( ) *  	Ù	ÛÓ " # $   ,	Ú_({0.284000, 0.692000, 0.297000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4	Þ	_Œ<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>White-box</p>_$82B058B1-5924-466D-ABD3-23C7EF8F68A5Ø 
 	â     	ã
 
	

 
]isLeftAligned¢	ä	öØ 
 	å      	ç 	é	ì	ð 	õ]isLeftAligned _{1067, 1036.2087500000002}Ò    	êÓ " # $  Ÿ	ë_({0.284000, 0.692000, 0.297000, 1.000000}Ó ( ) *  	í	ïÓ " # $   ,	î_({0.284000, 0.692000, 0.297000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2	ñ 	ó#@t     _º<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Define interfaces for components that are plugged in fw</p>_$F605FF50-7DDA-4BBB-B5A0-2D96B27AA0C5Ø 
 	÷      	ù 	û	þ
 
]isLeftAligned _{1067, 1098.2087500000002}Ò    	üÓ " # $  Ÿ	ý_({0.284000, 0.692000, 0.297000, 1.000000}Ó ( ) *  	ÿ
Ó " # $   ,
 _({0.284000, 0.692000, 0.297000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4
	_·<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Define component that conform to interface, delegate</p>_$4055C04B-B1A1-45CE-9C3E-5B69C9BCC921_{903, 1079.7087500000002}Ò    

Ó " # $  F
_({0.284000, 0.692000, 0.297000, 1.000000}Ó ( ) *  

Ó " # $   ,
_({0.284000, 0.692000, 0.297000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4
	_Œ<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Black-box</p>_$46AFDA0D-A51B-4566-B0F1-9286B06A4662_{612, 1042.7087500000002}Ò    
Ó " # $   ,
_({0.284000, 0.692000, 0.297000, 1.000000}Ó ( ) *  

Ó " # $   ,
_({0.284000, 0.692000, 0.297000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4
 	_š<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>by extension techniques</p>_$2FF1BBE5-B3A2-4343-BE91-01E3FA3A6C7D_{422, 937.70875000000024}Ò    
&Ó " # $   %
'_({0.284000, 0.692000, 0.297000, 1.000000}Ó ( ) *  
)
+Ó " # $   ,
*_({0.284000, 0.692000, 0.297000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4
.	_‘<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Classification</p>_$2F1F0FAF-4424-44AA-BD17-79F4CF7C5BD9Ø 
 
2     
3
½ 
¿
Â
Æ 
Ê]isLeftAligned¢
4
yØ 
 
5     
6
k 
m
p
t 
x]isLeftAligned£
7
H
YØ 
 
8      
: 
<
?
C 
G]isLeftAligned _{729, 1160.2087500000002}Ò    
=Ó " # $  F
>_({0.284000, 0.692000, 0.297000, 1.000000}Ó ( ) *  
@
BÓ " # $   ,
A_({0.284000, 0.692000, 0.297000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4
E	_¡<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Smaller scope of reuse than fw</p>_$898E2457-B857-46D3-81FF-FF749244039BØ 
 
I      
K 
M
P
T 
X]isLeftAligned _{729, 1197.2087500000002}Ò    
NÓ " # $  F
O_({0.284000, 0.692000, 0.297000, 1.000000}Ó ( ) *  
Q
SÓ " # $   ,
R_({0.284000, 0.692000, 0.297000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4
V	_—<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Less domain specific</p>_$DF78E667-8F1C-4A2A-A55E-A1CC456655E7Ø 
 
Z      
\ 
^
a
e 
j]isLeftAligned _{729, 1234.2087500000002}Ò    
_Ó " # $  F
`_({0.284000, 0.692000, 0.297000, 1.000000}Ó ( ) *  
b
dÓ " # $   ,
c_({0.284000, 0.692000, 0.297000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2
f 
h#@wà     _¬<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Passive, no constraint on flow of control</p>_$756A0F8C-0FAA-4AAA-8626-24F89DB09EFC_{532, 1197.2087500000002}Ò    
nÓ " # $   ,
o_({0.284000, 0.692000, 0.297000, 1.000000}Ó ( ) *  
q
sÓ " # $   ,
r_({0.284000, 0.692000, 0.297000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4
v	_’<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Class libraries</p>_$1F6CD38B-B38B-49D6-8F6B-DCD4CEEEDEB8Ø 
 
z     
{
¯ 
±
´
¸ 
¼]isLeftAligned£
|
�
žØ 
 
}      
 
�
„
ˆ 
Œ]isLeftAligned _{722, 1271.2087500000002}Ò    
‚Ó " # $  F
ƒ_({0.284000, 0.692000, 0.297000, 1.000000}Ó ( ) *  
…
‡Ó " # $   ,
†_({0.284000, 0.692000, 0.297000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 3 4
Š	_¦<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Self-contained instances of classes</p>_$80A25FC0-9FEC-4C95-84F7-06E42D00E34DØ 
 
Ž      
� 
’
•
™ 
�]isLeftAligned _{722, 1308.2087500000002}Ò    
“Ó " # $  F
”_({0.284000, 0.692000, 0.297000, 1.000000}Ó ( ) *  
–
˜Ó " # $   ,
—_({0.284000, 0.692000, 0.297000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4
›	_Ÿ<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Plugged together to form app</p>_$90703902-A3D1-4FA5-B588-2C61B32DC6AAØ 
 
Ÿ      
¡ 
£
¦
ª 
®]isLeftAligned _{722, 1345.2087500000002}Ò    
¤Ó " # $  F
¥_({0.284000, 0.692000, 0.297000, 1.000000}Ó ( ) *  
§
©Ó " # $   ,
¨_({0.284000, 0.692000, 0.297000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 3 4
¬	_ <p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Fw are used to dev components</p>_$39DFA4B9-C6A2-4CEC-85D3-1F605F37CBA9_{532, 1308.2087500000002}Ò    
²Ó " # $   ,
³_({0.284000, 0.692000, 0.297000, 1.000000}Ó ( ) *  
µ
·Ó " # $   ,
¶_({0.284000, 0.692000, 0.297000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4
º	_�<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Components</p>_$3E5CFEED-DF5B-44E6-A0FF-A3739655715D_{422, 1252.7087500000002}Ò    
ÀÓ " # $   %
Á_({0.284000, 0.692000, 0.297000, 1.000000}Ó ( ) *  
Ã
ÅÓ " # $   ,
Ä_({0.284000, 0.692000, 0.297000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4
È	_†<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Vs.</p>_$067CDA0D-5E0A-43AD-A889-1356A205B589_{238, 974.70875000000024}Ò    
ÎÓ " # $   Å
Ï_({0.284000, 0.692000, 0.297000, 1.000000}Ó ( ) *  
Ñ
ÓÓ " # $   ,
Ò_({0.284000, 0.692000, 0.297000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4
Ö	_�<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Frameworks</p>_$A3DC4ADF-ACFA-429B-862C-D050894F2E1FØ 
 
Ú     
Ûc ehl p]isLeftAligned¥
Ü1B¹ÛØ 
 
Ý     
Þ# %(, 0]isLeftAligned¤
ß
ðØ 
 
à      
â 
ä
ç
ë 
ï]isLeftAligned _{850, 1382.2087500000002}Ò    
åÓ " # $   ,
æ_({0.210000, 0.733000, 0.695000, 1.000000}Ó ( ) *  
è
êÓ " # $   ,
é_({0.210000, 0.733000, 0.695000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 3 4
í	_‡<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Edit</p>_$3874887A-F5A1-476F-9F74-8A76A4FAA8C5Ø 
 
ñ      
ó 
õ
ø
ü  ]isLeftAligned _{850, 1419.2087500000002}Ò    
öÓ " # $   ,
÷_({0.210000, 0.733000, 0.695000, 1.000000}Ó ( ) *  
ù
ûÓ " # $   ,
ú_({0.210000, 0.733000, 0.695000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 3 4
þ	_Š<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Compile</p>_$662CFD69-CFC0-420C-AEE4-99E569E5C476Ø 
        	 ]isLeftAligned _{850, 1456.2087500000002}Ò    Ó " # $   ,_({0.210000, 0.733000, 0.695000, 1.000000}Ó ( ) *  
Ó " # $   ,_({0.210000, 0.733000, 0.695000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 3 4	_‡<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Link</p>_$545EDA3E-54EC-4938-99D1-D3051D0BDCF5Ø 
         "]isLeftAligned _{850, 1493.2087500000002}Ò    Ó " # $   ,_({0.210000, 0.733000, 0.695000, 1.000000}Ó ( ) *  Ó " # $   ,_({0.210000, 0.733000, 0.695000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 3 4 	_ˆ<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Reuse</p>_$52C60BBB-1CB8-460D-BF6A-E7DCAB4CA1E4_{471, 1437.7087500000002}Ò    &Ó " # $   %'_({0.210000, 0.733000, 0.695000, 1.000000}Ó ( ) *  )+Ó " # $   ,*_({0.210000, 0.733000, 0.695000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 3 4.	_¥<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Pack-up design into discrete units</p>_$3DEB5CFC-60FB-45DD-AA83-7E6FC260472BØ 
 2      4 69= A]isLeftAligned _{471, 1530.2087500000002}Ò    7Ó " # $   %8_({0.210000, 0.733000, 0.695000, 1.000000}Ó ( ) *  :<Ó " # $   ,;_({0.210000, 0.733000, 0.695000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 3 4?	_¦<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Ideally one package for each subsys</p>_$343AF0FA-13EE-40DA-96DC-5E933330551BØ 
 C     D« ­°´ ¸]isLeftAligned¢E‰Ø 
 F     G{ }€„ ˆ]isLeftAligned£HYjØ 
 I      K MPT X]isLeftAligned _{863, 1567.2087500000002}Ò    NÓ " # $  FO_({0.210000, 0.733000, 0.695000, 1.000000}Ó ( ) *  QSÓ " # $   ,R_({0.210000, 0.733000, 0.695000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4V	_•<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>OK client-supplier</p>_$2F29C38F-A928-4C0A-AA5D-9B4849736B4BØ 
 Z      \ ^ae i]isLeftAligned _{863, 1604.2087500000002}Ò    _Ó " # $  F`_({0.210000, 0.733000, 0.695000, 1.000000}Ó ( ) *  bdÓ " # $   ,c_({0.210000, 0.733000, 0.695000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4g	_ <p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Minimize number of parameters</p>_$92A76989-FBFD-4380-B026-C8B45043F566Ø 
 k      m orv z]isLeftAligned _{863, 1641.2087500000002}Ò    pÓ " # $  Fq_({0.210000, 0.733000, 0.695000, 1.000000}Ó ( ) *  suÓ " # $   ,t_({0.210000, 0.733000, 0.695000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4x	_�<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Avoid globals</p>_$934917B1-26D8-4DA1-B5DD-210528F57E69_{630, 1604.2087500000002}Ò    ~Ó " # $   ,_({0.210000, 0.733000, 0.695000, 1.000000}Ó ( ) *  �ƒÓ " # $   ,‚_({0.210000, 0.733000, 0.695000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4†	_”<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Minimize coupling</p>_$45B10D93-F9A5-4E87-BCAE-D928E9019207Ø 
 Š     ‹� Ÿ¢¦ ª]isLeftAligned¡ŒØ 
 �      � ‘”˜ œ]isLeftAligned _{874, 1678.2087500000002}Ò    ’Ó " # $  F“_({0.210000, 0.733000, 0.695000, 1.000000}Ó ( ) *  •—Ó " # $   ,–_({0.210000, 0.733000, 0.695000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4š	_´<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Classes connected by associations in same package</p>_$09AA4113-8E4C-4F2E-A6B2-82285DF7BC8F_{630, 1690.7087500000002}Ò     Ó " # $   ,¡_({0.210000, 0.733000, 0.695000, 1.000000}Ó ( ) *  £¥Ó " # $   ,¤_({0.210000, 0.733000, 0.695000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4¨	_”<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Maximize cohesion</p>_$AFD3A1B2-60A3-4953-91A0-0BF8FA9CEDDA_{471, 1635.2087500000002}Ò    ®Ó " # $   %¯_({0.210000, 0.733000, 0.695000, 1.000000}Ó ( ) *  ±³Ó " # $   ,²_({0.210000, 0.733000, 0.695000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4¶	_�<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Principles</p>_$90EEAA49-68B2-4CED-A384-FDBF2163EA2CØ 
 º     »Í ÏÒÖ Ú]isLeftAligned¡¼Ø 
 ½      ¿ ÁÄÈ Ì]isLeftAligned _{758, 1740.2087500000002}Ò    ÂÓ " # $   ,Ã_({0.210000, 0.733000, 0.695000, 1.000000}Ó ( ) *  ÅÇÓ " # $   ,Æ_({0.210000, 0.733000, 0.695000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4Ê	_�<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Limit number of operations</p>_$1AA32F64-02C8-4467-95D7-936C2D997A85_{471, 1740.2087500000002}Ò    ÐÓ " # $   %Ñ_({0.210000, 0.733000, 0.695000, 1.000000}Ó ( ) *  ÓÕÓ " # $   ,Ô_({0.210000, 0.733000, 0.695000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4Ø	_›<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Create interface objects</p>_$E0081765-1446-4FEA-885F-5768A2256E7AØ 
 Ü     ÝU WZ^ b]isLeftAligned£Þ "Ø 
 ß     àò ô÷û ÿ]isLeftAligned¡áØ 
 â      ä æéí ñ]isLeftAligned _{781, 1777.2087500000002}Ò    çÓ " # $  Fè_({0.210000, 0.733000, 0.695000, 1.000000}Ó ( ) *  êìÓ " # $   ,ë_({0.210000, 0.733000, 0.695000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4ï	_‹<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>+ public</p>_$D32FC903-CA93-462F-BC0A-E58925C2A6BC_{614, 1777.2087500000002}Ò    õÓ " # $   ,ö_({0.210000, 0.733000, 0.695000, 1.000000}Ó ( ) *  øúÓ " # $   ,ù_({0.210000, 0.733000, 0.695000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4ý	_�<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Class user</p>_$5DD419C0-2BFC-4059-9F76-ED0EAE51F791Ø 
        !]isLeftAligned¡Ø 
         ]isLeftAligned _{854, 1814.2087500000002}Ò    	Ó " # $  F
_({0.210000, 0.733000, 0.695000, 1.000000}Ó ( ) *  Ó " # $   ,_({0.210000, 0.733000, 0.695000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4	_Œ<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>- private</p>_$4863B3BB-B23F-473F-9598-B748C28A1790_{614, 1814.2087500000002}Ò    Ó " # $   ,_({0.210000, 0.733000, 0.695000, 1.000000}Ó ( ) *  Ó " # $   ,_({0.210000, 0.733000, 0.695000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4	_”<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Class implementer</p>_$B1F779B9-3343-4928-A8D0-9480E31B73FAØ 
 #     $G ILP T]isLeftAligned¢%6Ø 
 &      ( *-1 5]isLeftAligned _{821, 1851.2087500000002}Ò    +Ó " # $  F,_({0.210000, 0.733000, 0.695000, 1.000000}Ó ( ) *  .0Ó " # $   ,/_({0.210000, 0.733000, 0.695000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 43	_Ž<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '># protected</p>_$2728B15B-9980-43EC-A8F3-1AE80506EAB4Ø 
 7      9 ;>B F]isLeftAligned _{821, 1888.2087500000002}Ò    <Ó " # $  F=_({0.210000, 0.733000, 0.695000, 1.000000}Ó ( ) *  ?AÓ " # $   ,@_({0.210000, 0.733000, 0.695000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 3 4D	_¤<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>accessed by class and descendents</p>_$F626C03B-F0B0-4FAB-A41B-1019DE4F52EE_{614, 1869.7087500000002}Ò    JÓ " # $   ,K_({0.210000, 0.733000, 0.695000, 1.000000}Ó ( ) *  MOÓ " # $   ,N_({0.210000, 0.733000, 0.695000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4R	_‘<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Class extender</p>_$34B6D390-4962-41BE-9313-3CD3C369EEDA_{471, 1832.7087500000002}Ò    XÓ " # $   %Y_({0.210000, 0.733000, 0.695000, 1.000000}Ó ( ) *  []Ó " # $   ,\_({0.210000, 0.733000, 0.695000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4`	_�<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Visibility</p>_$6A2E39F6-B5EA-4614-BBCC-566C6F782C94_{238, 1635.2087500000002}Ò    fÓ " # $   Åg_({0.210000, 0.733000, 0.695000, 1.000000}Ó ( ) *  ikÓ " # $   ,j_({0.210000, 0.733000, 0.695000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4n	_“<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Packaging design</p>_$4390F0A7-AC20-4E63-954C-4BED83E3CEB5Ø 
 r     s  ]isLeftAligned¦t…–§¸ÉØ 
 u      w y|€ „]isLeftAligned _{472, 1925.2087500000002}Ò    zÓ " # $   %{_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  }Ó " # $   ,~_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4‚	o¤ < p   s t y l e = ' c o l o r :   r g b a ( 5 4 ,   5 1 ,   4 5 ,   1 . 0 0 0 0 0 0 ) ;   f o n t :   2 1 p x   " H e l v e t i c a   N e u e " ;   - c o c o a - f o n t - p o s t s c r i p t n a m e :   " H e l v e t i c a N e u e - L i g h t " ;   ' > D e f i n e   p u b l i c   i n t e r f a c e s   /   f a ç a d e < / p >_$0877FA4C-9A41-400A-BEE9-81447A35163DØ 
 †      ˆ Š�‘ •]isLeftAligned _{472, 1962.2087500000002}Ò    ‹Ó " # $   %Œ_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  Ž�Ó " # $   ,�_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4“	o¡ < p   s t y l e = ' c o l o r :   r g b a ( 5 4 ,   5 1 ,   4 5 ,   1 . 0 0 0 0 0 0 ) ;   f o n t :   2 1 p x   " H e l v e t i c a   N e u e " ;   - c o c o a - f o n t - p o s t s c r i p t n a m e :   " H e l v e t i c a N e u e - L i g h t " ;   ' > A p p l y    n e e d   t o   k n o w    p r i n c i p l e < / p >_$345DFE80-B734-4058-91A6-6B1AF7B438D2Ø 
 —      ™ ›ž¢ ¦]isLeftAligned _{472, 1999.2087500000002}Ò    œÓ " # $   %�_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  Ÿ¡Ó " # $   , _({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 3 4¤	_¥<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Provide well-documented interfaces</p>_$D1DD1DA2-1FF8-467F-A687-908A13781568Ø 
 ¨      ª ¬¯³ ·]isLeftAligned _{472, 2036.2087500000002}Ò    ­Ó " # $   %®_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  °²Ó " # $   ,±_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 3 4µ	_£<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>User should need minimal details</p>_$C628D468-B28D-49DF-9412-45B1BAD3D20FØ 
 ¹      » ½ÀÄ È]isLeftAligned _{472, 2073.2087500000002}Ò    ¾Ó " # $   %¿_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  ÁÃÓ " # $   ,Â_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 3 4Æ	_©<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Tradeoff between hiding and efficiency</p>_$2FB2798F-1D68-4D4C-811F-9F279D95629BØ 
 Ê     Ëÿ  ]isLeftAligned£ÌÝîØ 
 Í      Ï ÑÔØ Ü]isLeftAligned _{631, 2110.2087500000002}Ò    ÒÓ " # $   ,Ó_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  Õ×Ó " # $   ,Ö_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4Ú	_Â<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Only operations of class can edit attributes (getters, setters)</p>_$6E0BF4C6-5379-4E51-8780-3C331FEDBBC9Ø 
 Þ      à âåé í]isLeftAligned _{631, 2172.2087500000002}Ò    ãÓ " # $   ,ä_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  æèÓ " # $   ,ç_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4ë	_˜<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Hide external objects</p>_$778AD738-FCD5-49C6-ADBD-E94D8A4C1D25Ø 
 ï      ñ óöú þ]isLeftAligned _{631, 2209.2087500000002}Ò    ôÓ " # $   ,õ_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  ÷ùÓ " # $   ,ø_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4ü	_¸<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Do not apply operation to result of another operation</p>_$0C2DA825-70A2-4E02-A1E9-FFBD607911C9_{472, 2172.2087500000002}Ò    Ó " # $   %_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  Ó " # $   ,_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4
	_�<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Principles</p>_$332D94FB-EB9C-44C1-99E1-3F7B286AC9CA_{238, 2079.7087500000002}Ò    Ó " # $   Å_({0.148000, 0.610000, 0.733000, 1.000000}Ó ( ) *  Ó " # $   ,_({0.148000, 0.610000, 0.733000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4	_•<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Information hiding</p>_$D0BFB42A-809D-4B56-B8B0-9C87C553AD27Ø 
      ¶ ¸»¿ Ã]isLeftAligned¨/@QbsPØ 
       ! #&* .]isLeftAligned _{389, 2271.2087500000002}Ò    $Ó " # $   %%_({0.935000, 0.411000, 0.371000, 1.000000}Ó ( ) *  ')Ó " # $   ,(_({0.935000, 0.411000, 0.371000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4,	_ <p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Agreement between two parties</p>_$0503F6D1-B1D4-4FC7-B7CD-A67D12C6656FØ 
 0      2 47; ?]isLeftAligned _{389, 2308.2087500000002}Ò    5Ó " # $   %6_({0.935000, 0.411000, 0.371000, 1.000000}Ó ( ) *  8:Ó " # $   ,9_({0.935000, 0.411000, 0.371000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 3 4=	_@<p><span style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Both parties accept obligations, </span><span style='color: rgba(53, 51, 46, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>rights</span></p>_$83A04131-8A27-497F-9EC0-EDFCF32BC8E7Ø 
 A      C EHL P]isLeftAligned _{389, 2345.2087500000002}Ò    FÓ " # $   %G_({0.935000, 0.411000, 0.371000, 1.000000}Ó ( ) *  IKÓ " # $   ,J_({0.935000, 0.411000, 0.371000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4N	_º<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Services provided by object if conditions are fulfilled</p>_$5F3BC946-F9BB-4AF8-A34E-5D1D2F59520DØ 
 R      T VY] a]isLeftAligned _{389, 2407.2087500000002}Ò    WÓ " # $   %X_({0.935000, 0.411000, 0.371000, 1.000000}Ó ( ) *  Z\Ó " # $   ,[_({0.935000, 0.411000, 0.371000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 3 4_	_©<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Breach of contract generates exception</p>_$52401B14-D5F7-47F2-BF62-E580D76165E6Ø 
 c      e gjn r]isLeftAligned _{389, 2444.2087500000002}Ò    hÓ " # $   %i_({0.935000, 0.411000, 0.371000, 1.000000}Ó ( ) *  kmÓ " # $   ,l_({0.935000, 0.411000, 0.371000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4p	_¾<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Enable caller and provider to share assumptions about class</p>_$C26189A1-71D2-4D85-819E-1C483AF2F746Ø 
 t     u  ]isLeftAligned£v©ÜØ 
 w     x› � ¤ ¨]isLeftAligned¢yŠØ 
 z      | ~�… ‰]isLeftAligned _{713, 2506.2087500000002}Ò    Ó " # $  F€_({0.935000, 0.411000, 0.371000, 1.000000}Ó ( ) *  ‚„Ó " # $   ,ƒ_({0.935000, 0.411000, 0.371000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 3 4‡	_©<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Must be always true when instance idle</p>_$22A6CD52-4E57-466F-9DC7-A6F8CE523049Ø 
 ‹      � �’– š]isLeftAligned _{713, 2543.2087500000002}Ò    �Ó " # $  F‘_({0.935000, 0.411000, 0.371000, 1.000000}Ó ( ) *  “•Ó " # $   ,”_({0.935000, 0.411000, 0.371000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 3 4˜	_¢<p style='color: rgba(54, 51, 45, 1.000000); font: bold 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Bold"; '>Generates programming error</p>_$2553A2BE-45F2-4805-BAD2-814B587E4559_{565, 2525.2087500000002}Ò    žÓ " # $   ,Ÿ_({0.935000, 0.411000, 0.371000, 1.000000}Ó ( ) *  ¡£Ó " # $   ,¢_({0.935000, 0.411000, 0.371000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4¦	_Œ<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Invariant</p>_$FCAA8E82-9252-4133-813B-F9E03A66F38AØ 
 ª     «Î ÐÓ× Û]isLeftAligned¢¬½Ø 
 ­      ¯ ±´¸ ¼]isLeftAligned _{816, 2581.2087500000002}Ò    ²Ó " # $  F³_({0.935000, 0.411000, 0.371000, 1.000000}Ó ( ) *  µ·Ó " # $   ,¶_({0.935000, 0.411000, 0.371000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 3 4º	_ª<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Must be true before operation is called</p>_$1BC3BC7E-0DD5-4F38-8FA4-8F222A60031AØ 
 ¾      À ÂÅÉ Í]isLeftAligned _{816, 2618.2087500000002}Ò    ÃÓ " # $  FÄ_({0.935000, 0.411000, 0.371000, 1.000000}Ó ( ) *  ÆÈÓ " # $   ,Ç_({0.935000, 0.411000, 0.371000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4Ë	_¼<p style='color: rgba(54, 51, 45, 1.000000); font: bold 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Bold"; '>Responsibility of the caller to satisfy the condition</p>_$557BCCB2-D8B4-4FA1-9341-FF77C1A2F147_{565, 2613.2087500000002}Ò    ÑÓ " # $   ,Ò_({0.935000, 0.411000, 0.371000, 1.000000}Ó ( ) *  ÔÖÓ " # $   ,Õ_({0.935000, 0.411000, 0.371000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4Ù	_˜<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Precondition (rights)</p>_$5638A433-CC55-4A8A-8095-8929D57B43D0Ø 
 Ý     Þ 
 ]isLeftAligned¢ßðØ 
 à      â äçë ï]isLeftAligned _{865, 2682.2087500000002}Ò    åÓ " # $  Fæ_({0.935000, 0.411000, 0.371000, 1.000000}Ó ( ) *  èêÓ " # $   ,é_({0.935000, 0.411000, 0.371000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 3 4í	_§<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Must be true after calling operation</p>_$B9967AAA-D758-4CF3-B678-B2A97EE2FC37Ø 
 ñ      ó õøü  ]isLeftAligned _{865, 2719.2087500000002}Ò    öÓ " # $  F÷_({0.935000, 0.411000, 0.371000, 1.000000}Ó ( ) *  ùûÓ " # $   ,ú_({0.935000, 0.411000, 0.371000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 3 4þ	_´<p style='color: rgba(53, 51, 46, 1.000000); font: bold 21px "Helvetica Neue"; text-align: left; -cocoa-font-postscriptname: "HelveticaNeue-Bold"; '>Generates programming error</p>_$2F6D4717-F80C-411E-8D81-CC878474A115_{565, 2701.2087500000002}Ò    Ó " # $   ,_({0.935000, 0.411000, 0.371000, 1.000000}Ó ( ) *  	Ó " # $   ,_({0.935000, 0.411000, 0.371000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4	_�<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Postcondition (obligation)</p>_$9EDAD4DE-F016-4B8A-B6F2-D01065DB83DA_{389, 2613.2087500000002}Ò    Ó " # $   %_({0.935000, 0.411000, 0.371000, 1.000000}Ó ( ) *  Ó " # $   ,_({0.935000, 0.411000, 0.371000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4	_Ž<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Constraints</p>_$6980FEDC-E2AB-428D-9930-DAD910C671ADØ 
      B DGK O]isLeftAligned¢ 1Ø 
 !      # %(, 0]isLeftAligned _{518, 2757.2087500000002}Ò    &Ó " # $   ,'_({0.935000, 0.411000, 0.371000, 1.000000}Ó ( ) *  )+Ó " # $   ,*_({0.935000, 0.411000, 0.371000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4.	_·<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Constraint must be true before transaction can occur</p>_$3BC1DD8D-3FD6-4CDB-B376-544DE53B6A35Ø 
 2      4 69= A]isLeftAligned _{518, 2819.2087500000002}Ò    7Ó " # $   ,8_({0.935000, 0.411000, 0.371000, 1.000000}Ó ( ) *  :<Ó " # $   ,;_({0.935000, 0.411000, 0.371000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 3 4?	_¦<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Used in activity and state diagrams</p>_$DF351559-322C-448E-89C4-C1EF93968FF6_{389, 2788.2087500000002}Ò    EÓ " # $   %F_({0.935000, 0.411000, 0.371000, 1.000000}Ó ( ) *  HJÓ " # $   ,I_({0.935000, 0.411000, 0.371000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4M	_ˆ<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Guard</p>_$C85B85D8-36A7-482D-B66C-CD248EB2C960Ø 
 Q     R¨ ª­± µ]isLeftAligned¥Sdu†—Ø 
 T      V X[_ c]isLeftAligned _{652, 2856.2087500000002}Ò    YÓ " # $   ,Z_({0.935000, 0.411000, 0.371000, 1.000000}Ó ( ) *  \^Ó " # $   ,]_({0.935000, 0.411000, 0.371000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 3 4a	_±<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Constraints represent domain level information</p>_$BB604479-3A74-4646-884A-AE778D1B106EØ 
 e      g ilp t]isLeftAligned _{652, 2893.2087500000002}Ò    jÓ " # $   ,k_({0.935000, 0.411000, 0.371000, 1.000000}Ó ( ) *  moÓ " # $   ,n_({0.935000, 0.411000, 0.371000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 3 4r	_¥<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Increase precision of requirements</p>_$690CBB77-5910-4060-AF27-C8A4BF2885ABØ 
 v      x z}� …]isLeftAligned _{652, 2930.2087500000002}Ò    {Ó " # $   ,|_({0.935000, 0.411000, 0.371000, 1.000000}Ó ( ) *  ~€Ó " # $   ,_({0.935000, 0.411000, 0.371000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4ƒ	_˜<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Clarify relationships</p>_$FC8985F8-EB62-4082-91F3-4BEA5BDCB2F2Ø 
 ‡      ‰ ‹Ž’ –]isLeftAligned _{652, 2967.2087500000002}Ò    ŒÓ " # $   ,�_({0.935000, 0.411000, 0.371000, 1.000000}Ó ( ) *  �‘Ó " # $   ,�_({0.935000, 0.411000, 0.371000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4”	_¹<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Evaluate if will be discovered in object design anyway</p>_$F797C084-B1A9-4196-80AC-930BBDD3D28CØ 
 ˜      š œŸ£ §]isLeftAligned _{652, 3029.2087500000002}Ò    �Ó " # $   ,ž_({0.935000, 0.411000, 0.371000, 1.000000}Ó ( ) *   ¢Ó " # $   ,¡_({0.935000, 0.411000, 0.371000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 3 4¥	_Ã<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Evaluate precision of tests in early stage, may be not necessary</p>_$B556AAE9-D5EA-4B58-B368-C2C8CE9FF46C_{389, 2942.7087500000002}Ò    «Ó " # $   %¬_({0.935000, 0.411000, 0.371000, 1.000000}Ó ( ) *  ®°Ó " # $   ,¯_({0.935000, 0.411000, 0.371000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4³	_˜<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Usage in req analysis</p>_$670E49DA-18DD-4CCE-B93D-BC99F744B506_{238, 2650.2087500000002}Ò    ¹Ó " # $   Åº_({0.935000, 0.411000, 0.371000, 1.000000}Ó ( ) *  ¼¾Ó " # $   ,½_({0.935000, 0.411000, 0.371000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4Á	_‹<p style='color: rgba(54, 51, 45, 1.000000); font: 21px "Helvetica Neue"; -cocoa-font-postscriptname: "HelveticaNeue-Light"; '>Contract</p>_$4076490A-84BF-4ADB-841B-3F7809C80FA4X{-55, 0}Ò    ÈÓ " # $   ,É_({0.679000, 0.834000, 0.143000, 1.000000}Ó ( ) *QËÍÓ " # $   ,Ì_({0.679000, 0.834000, 0.143000, 1.000000}_({1.000000, 1.000000, 1.000000, 1.000000}Ó 0 1 2 E 4Ð	_®<p style='color: rgba(65, 82, 41, 1.000000); font: 18px "Helvetica Neue"; text-align: center; -cocoa-font-postscriptname: "HelveticaNeue-Medium"; '>Object Oriented Design</p>	_$7B7128AC-C15B-4175-A2CA-DDCB415CC820 _({1.000000, 1.000000, 1.000000, 1.000000}            !   #   0   :   M   S   V      ˆ   ‘   Ÿ   «   µ   À   Æ   Ú   ò   ù    /  =  J  k  y  z  —  ˜  ¡  ª  ¶  ¸  Å  Ê  Ð  Ö  ß  
    !  5  ?  L  U  €  «  ¸  Á  Ö  Û  ä  å  •  –  ½  Þ  ì  í  
      !  L  Y  f  ‘  ¼  É  Ò  Ó  r  s  š  »  É  Ê  ç  è  ñ  þ  )  6  C  n  ™  ¦  §  I  J  q  ’     ¥  Æ  Ô  Õ  ò  ó  ü  	  4  A  N  y  ¤  ±  ²  	F  	G  	n  	�  	�  	ž  	»  	¼  	Å  	Ò  	ý  

  
  
B  
m  
z  
{      =  Z  [  d  q  œ  ©  ¶  á        °  ±  Ø  ù      %  &  /  <  g  t  �  ¬  ×  ä  å  �  �  ·  Ø  æ  é  
      6  7  @  M  x  …  ’  ½  è  õ  ö  �  �  ·  Ô  Õ  Þ  ë    #  0  [  †  “  ”  :  ;  b    €  ‰  –  Ÿ  Ê  ×  ä    :  G  H  Õ  Ö  ý    ,  3  T  b  c  €  �  Š  —  Â  Ï  Ü    2  ?  @  å  æ    .  <  =  Z  [  d  q  œ  ©  ¶  á        Ç  È  ï      #  D  R  S  p  q  z  ‡  ²  ¿  Ì  ÷  "  /  0  À  Á  è  	      5  6  ?  L  w  „  ‘  ¼  ç  ô  õ  ‡  ˆ  ¯  Ì  Í  Ö  ã      (  S  ~  ‹  Œ  7  8  _  |  }  †  “  ¾  Ë  Ø    .  ;  <  Ç  È  ï      #  D  R  Y  z  ˆ  �  °  ¾  ¿  Ü  Ý  æ  ó  ü   '   4   A   l   —   ¤   ¥  !6  !7  !^  !  !�  !Ž  !«  !¬  !µ  !Â  !í  !ú  "  "2  "]  "j  "k  #	  #
  #1  #R  #`  #a  #~  #  #ˆ  #•  #À  #Í  #Ú  $  $0  $=  $>  $Ó  $Ô  $û  %  %  %"  %/  %Z  %g  %t  %Ÿ  %Ê  %×  %Ø  &y  &z  &¡  &Â  &Ð  &Ñ  &î  &ï  &ø  '  '0  '=  'J  'u  '   '­  '®  (K  (L  (s  (”  (¢  (§  (È  (Ö  (Ý  (þ  )  )  )+  ),  )5  )B  )K  )v  )ƒ  )�  )»  )æ  )ó  )ô  *Œ  *�  *´  *Õ  *ã  *ä  +  +  +  +  +D  +Q  +^  +‰  +´  +Á  +Â  ,e  ,f  ,�  ,®  ,¼  ,½  ,Û  ,Ü  ,å  ,ò  -  -*  -7  -b  -�  -š  -›  .8  .9  .`  .}  .~  .‡  .”  .¿  .Ì  .Ù  /  //  /<  /=  /Ð  /Ñ  /ø  0  0'  0,  0M  0[  0\  0y  0z  0ƒ  0�  0»  0È  0Õ  1   1+  18  19  1Ú  1Û  2  2#  21  22  2O  2P  2Y  2f  2‘  2ž  2«  2Ö  3  3  3  3®  3¯  3Ö  3ó  3ô  3ý  4
  45  4B  4O  4z  4¥  4²  4³  5>  5?  5f  5ƒ  5„  5�  5š  5Å  5Ò  5ß  6
  65  6B  6C  6Ü  6Ý  7  7!  7"  7+  78  7c  7p  7}  7¨  7Ó  7à  7é  7ê  8‡  8ˆ  8¯  8Ð  8Þ  8ã  9  9  9  96  9D  9E  9b  9c  9l  9y  9¤  9±  9¾  9é  :  :!  :*  :+  :Ü  :Ý  ;  ;!  ;"  ;+  ;8  ;c  ;p  ;}  ;¨  ;Ó  ;à  ;á  <�  <‚  <©  <Ê  <Ø  <Û  <ü  =
  =  =(  =)  =2  =?  =j  =w  =„  =¯  =Ú  =ç  =è  >Š  >‹  >²  >Ï  >Ð  >Ù  >æ  ?  ?  ?+  ?V  ?�  ?Ž  ?�  @.  @/  @V  @s  @t  @}  @Š  @µ  @Â  @Ï  @ú  A%  A2  A;  A<  AÔ  AÕ  Aü  B  B  B#  B0  B[  Bh  Bu  B   BË  BØ  BÙ  Ci  Cj  C‘  C²  CÀ  CÇ  Cè  Cö  D  D"  D0  D1  DN  DO  DX  De  D�  D�  Dª  DÕ  E   E  E  E£  E¤  EË  Eì  Eú  Eû  F  F  F"  F/  FZ  Fg  Ft  FŸ  FÊ  F×  FØ  G~  G  G¦  GÇ  GÕ  GÚ  Gû  H	  H  H/  H=  H>  H[  H\  He  Hr  H�  Hª  H·  Hâ  I  I  I  I°  I±  IØ  Iù  J  J  J%  J&  J/  J<  Jg  Jt  J�  J¬  J×  Jä  Jå  K  K€  K§  KÄ  KÅ  KÎ  KÛ  L  L  L   LK  Lv  Lƒ  L„  M  M  M>  M_  Mm  Mt  M•  M£  M¤  MÁ  MÂ  MË  MØ  N  N  N  NH  Ns  N€  N�  O  O  O@  Oa  Oo  Op  O�  OŽ  O—  O¤  OÏ  OÜ  Oé  P  P?  PL  PM  Pè  Pé  Q  Q1  Q?  Q@  Q]  Q^  Qg  Qt  QŸ  Q¬  Q¹  Qä  R  R  R  R¼  R½  Rä  S  S  S  S  SC  SP  S]  Sˆ  S³  SÀ  SÁ  TL  TM  Tt  T‘  T’  T›  T¨  TÓ  Tà  Tí  U  UC  UP  UQ  UÛ  UÜ  V  V$  V2  V7  VX  Vf  Vo  V�  Vž  VŸ  V½  V¾  VÇ  VÔ  Vÿ  W  W  WD  Wo  W|  W}  X  X  X>  X_  Xm  Xr  X“  X¡  X¢  XÀ  XÁ  XÊ  X×  Xà  Y  Y  Y%  YP  Y{  Yˆ  Y‰  Z  Z  ZE  Zf  Zt  Zu  Z“  Z”  Z�  Zª  ZÕ  Zâ  Zï  [  [E  [R  [S  [ç  [è  \  \-  \.  \7  \D  \o  \|  \‰  \´  \ß  \ì  \í  ]|  ]}  ]¤  ]Å  ]Ó  ]Ô  ]ò  ]ó  ]ü  ^	  ^4  ^A  ^N  ^y  ^¤  ^±  ^º  ^»  _q  _r  _™  _º  _È  _É  _ç  _è  _ñ  _þ  `)  `6  `C  `n  `™  `¦  `¯  `°  a]  a^  a…  a¢  a£  a¬  a¹  aä  añ  aþ  b)  bT  ba  bb  c  c  c)  cJ  cX  c_  c€  cŽ  c�  c­  c®  c·  cÄ  cï  cü  d	  d4  d_  dl  dm  e  e  e/  eP  e^  e_  e}  e~  e‡  e”  e¿  eÌ  eÙ  f  f/  f<  f=  fá  fâ  g	  g*  g8  g9  gW  gX  ga  gn  g™  g¦  g³  gÞ  h	  h  h  h   hØ  hÙ  i   i  i  i'  i4  i_  il  iy  i¤  iÏ  iÜ  iÝ  jz  j{  j¢  j¿  jÀ  jÉ  jÖ  k  k  k  kF  kq  k~  k  l
  l  l2  lS  la  lf  l‡  l•  lœ  l½  lË  lÌ  lé  lê  ló  m   m+  m8  mE  mp  m›  m¨  m©  n@  nA  nh  n‰  n—  n˜  nµ  n¶  n¿  nÌ  n÷  o  o  o<  og  ot  ou  p  p  pC  pd  pr  py  pš  p¨  p©  pÇ  pÈ  pÑ  pÞ  q	  q  q#  qN  qy  q†  q�  q�  r<  r=  rd  r…  r“  r”  r²  r³  r¼  rÉ  rô  s  s  s9  sd  sq  sz  s{  tJ  tK  tr  t“  t¡  t¢  tÀ  tÁ  tÊ  t×  u  u  u  uG  ur  u  uˆ  u‰  vJ  vK  vr  v�  v�  v™  v¦  vÑ  vÞ  vë  w  wA  wN  wO  wÜ  wÝ  x  x!  x"  x+  x8  xc  xp  x}  x¨  xÓ  xà  xá  yu  yv  y�  y¾  yÌ  yÓ  yô  z  z  z   z!  z*  z7  zb  zo  z|  z§  zÒ  zß  zà  {o  {p  {—  {¸  {Æ  {Ç  {ä  {å  {î  {û  |&  |3  |@  |k  |–  |£  |¤  }D  }E  }l  }�  }›  }œ  }¹  }º  }Ã  }Ð  }û  ~  ~  ~@  ~k  ~x  ~�  ~‚  =  >  e  ‚  ƒ  Œ  ™  Ä  Ñ  Þ  €	  €4  €A  €B  €Õ  €Ö  €ý  �  �  �$  �1  �\  �i  �v  �¡  �Ì  �Ù  �Ú  ‚e  ‚f  ‚�  ‚ª  ‚«  ‚´  ‚Á  ‚ì  ‚ù  ƒ  ƒ1  ƒ\  ƒi  ƒj  ƒû  ƒü  „#  „D  „R  „Y  „z  „ˆ  „�  „°  „¾  „¿  „Ü  „Ý  „æ  „ó  …  …+  …8  …c  …Ž  …›  …œ  †1  †2  †Y  †z  †ˆ  †‰  †¦  †§  †°  †½  †è  †õ  ‡  ‡-  ‡X  ‡e  ‡f  ˆ  ˆ  ˆ?  ˆ`  ˆn  ˆo  ˆŒ  ˆ�  ˆ–  ˆ£  ˆÎ  ˆÛ  ˆè  ‰  ‰>  ‰K  ‰L  ‰ó  ‰ô  Š  Š8  Š9  ŠB  ŠO  Šz  Š‡  Š”  Š¿  Šê  Š÷  Šø  ‹‰  ‹Š  ‹±  ‹Ò  ‹à  ‹á  ‹þ  ‹ÿ  Œ  Œ  Œ@  ŒM  ŒZ  Œ…  Œ°  Œ½  Œ¾  �l  �m  �”  �µ  �Ã  �È  �é  �÷  �ø  Ž  Ž  Ž  Ž,  ŽW  Žd  Žq  Žœ  ŽÇ  ŽÔ  ŽÕ  �o  �p  �—  �¸  �Æ  �Ç  �ä  �å  �î  �û  �&  �3  �@  �k  �–  �£  �¤  ‘a  ‘b  ‘‰  ‘¦  ‘§  ‘°  ‘½  ‘è  ‘õ  ’  ’-  ’X  ’e  ’f  ’ô  ’õ  “  “9  “:  “C  “P  “{  “ˆ  “•  “À  “ë  “ø  “ù  ”‰  ”Š  ”±  ”Ò  ”à  ”ë  •  •  •  •>  •L  •M  •j  •k  •t  •�  •¬  •¹  •Æ  •ñ  –  –)  –*  –Ñ  –Ò  –ù  —  —  —   —-  —X  —e  —r  —�  —È  —Õ  —Ö  ˜j  ˜k  ˜’  ˜³  ˜Á  ˜Ä  ˜å  ˜ó  ˜ô  ™  ™  ™  ™(  ™S  ™`  ™m  ™˜  ™Ã  ™Ð  ™Ñ  šv  šw  šž  š»  š¼  šÅ  šÒ  šý  ›
  ›  ›B  ›m  ›z  ›{  œ  œ  œ5  œV  œd  œi  œŠ  œ˜  œ™  œ¶  œ·  œÀ  œÍ  œø  �  �  �=  �h  �u  �v  ž  ž  žB  žc  žq  žr  ž�  ž�  ž™  ž¦  žÑ  žÞ  žë  Ÿ  ŸA  ŸN  ŸO  Ÿø  Ÿù       =   >   G   T      Œ   ™   Ä   ï   ü   ý  ¡Œ  ¡�  ¡´  ¡Õ  ¡ã  ¡è  ¢	  ¢  ¢  ¢5  ¢6  ¢?  ¢L  ¢w  ¢„  ¢‘  ¢¼  ¢ç  ¢ô  ¢õ  £«  £¬  £Ó  £ô  ¤  ¤  ¤   ¤!  ¤*  ¤7  ¤b  ¤o  ¤|  ¤§  ¤Ò  ¤ß  ¤à  ¥q  ¥r  ¥™  ¥¶  ¥·  ¥À  ¥Í  ¥ø  ¦  ¦  ¦=  ¦h  ¦u  ¦v  §  §  §6  §W  §e  §l  §�  §›  §œ  §¹  §º  §Ã  §Ð  §û  ¨  ¨  ¨@  ¨k  ¨x  ¨y  ©  ©  ©D  ©e  ©s  ©t  ©‘  ©’  ©›  ©¨  ©Ó  ©à  ©í  ª  ªC  ªP  ªQ  «  «  «6  «W  «e  «f  «ƒ  «„  «�  «š  «Å  «Ò  «ß  ¬
  ¬5  ¬B  ¬C  ¬Ó  ¬Ô  ¬û  ­  ­  ­"  ­/  ­Z  ­g  ­t  ­Ÿ  ­Ê  ­×  ­Ø  ®i  ®j  ®‘  ®®  ®¯  ®¸  ®Å  ®ð  ®ý  ¯
  ¯5  ¯`  ¯m  ¯v  ¯w  °%  °&  °M  °j  °k  °t  °�  °¬  °¹  °Æ  °ñ  ±  ±)  ±*  ±À  ±Á  ±è  ²	  ²  ²  ²=  ²K  ²T  ²u  ²ƒ  ²„  ²¡  ²¢  ²«  ²¸  ²ã  ²ð  ²ý  ³(  ³S  ³`  ³a  ³û  ³ü  ´#  ´D  ´R  ´S  ´p  ´q  ´z  ´‡  ´²  ´¿  ´Ì  ´÷  µ"  µ/  µ0  µÐ  µÑ  µø  ¶  ¶'  ¶(  ¶E  ¶F  ¶O  ¶\  ¶‡  ¶”  ¶¡  ¶Ì  ¶÷  ·  ·  ·  ·Â  ·Ã  ·ê  ¸  ¸  ¸  ¸7  ¸8  ¸A  ¸N  ¸y  ¸†  ¸“  ¸¾  ¸é  ¸ö  ¸÷  ¹œ  ¹�  ¹Ä  ¹á  ¹â  ¹ë  ¹ø  º#  º0  º=  ºh  º“  º   º¡  ».  »/  »V  »w  »…  »Š  »«  »¹  »¼  »Ý  »ë  »ì  ¼	  ¼
  ¼  ¼   ¼K  ¼X  ¼e  ¼�  ¼»  ¼È  ¼É  ½[  ½\  ½ƒ  ½   ½¡  ½ª  ½·  ½â  ½ï  ½ü  ¾'  ¾R  ¾_  ¾`  ¿  ¿  ¿,  ¿M  ¿[  ¿^  ¿  ¿�  ¿Ž  ¿«  ¿¬  ¿µ  ¿Â  ¿í  ¿ú  À  À2  À]  Àj  Àk  Àþ  Àÿ  Á&  ÁC  ÁD  ÁM  ÁZ  Á…  Á’  ÁŸ  ÁÊ  Áõ  Â  Â  Â¤  Â¥  ÂÌ  Âé  Âê  Âó  Ã   Ã+  Ã8  ÃE  Ãp  Ã›  Ã¨  Ã©  Ä=  Ä>  Äe  Ä‚  Äƒ  ÄŒ  Ä™  ÄÄ  ÄÑ  ÄÞ  Å	  Å4  ÅA  ÅB  ÅÓ  ÅÔ  Åû  Æ  Æ*  Æ3  ÆT  Æb  Æo  Æ�  Æž  ÆŸ  Æ¼  Æ½  ÆÆ  ÆÓ  Æþ  Ç  Ç  ÇC  Çn  Ç{  Ç|  È"  È#  ÈJ  Èk  Èy  Èz  È—  È˜  È¡  È®  ÈÙ  Èæ  Èó  É  ÉI  ÉV  ÉW  Ê  Ê  Ê9  ÊZ  Êh  Êm  ÊŽ  Êœ  Ê�  Êº  Ê»  ÊÄ  ÊÑ  Êü  Ë	  Ë  ËA  Ël  Ëy  Ëz  Ì  Ì  ÌC  Ìd  Ìr  Ìs  Ì�  Ì‘  Ìš  Ì§  ÌÒ  Ìß  Ìì  Í  ÍB  ÍO  ÍP  Íò  Íó  Î  Î7  Î8  ÎA  ÎN  Îy  Î†  Î“  Î¾  Îé  Îö  Î÷  Ï‚  Ïƒ  Ïª  ÏË  ÏÙ  ÏÚ  Ï÷  Ïø  Ð  Ð  Ð9  ÐF  ÐS  Ð~  Ð©  Ð¶  Ð·  Ñ`  Ña  Ñˆ  Ñ©  Ñ·  Ñ¸  ÑÕ  ÑÖ  Ñß  Ñì  Ò  Ò$  Ò1  Ò\  Ò‡  Ò”  Ò•  Ó'  Ó(  ÓO  Óp  Ó~  Ó  Ó›  Óœ  Ó¥  Ó²  ÓÝ  Óê  Ó÷  Ô"  ÔM  ÔZ  Ô[  Õ  Õ  Õ/  ÕL  ÕM  ÕV  Õc  ÕŽ  Õ›  Õ¨  ÕÓ  Õþ  Ö  Ö  Ö�  Öž  ÖÅ  Öæ  Öô  Öù  ×  ×(  ×)  ×E  ×F  ×O  ×\  ×‡  ×”  ×¡  ×Ì  ×÷  Ø  Ø  Ø½  Ø¾  Øå  Ù  Ù  Ù  Ù:  ÙH  ÙI  Ùe  Ùf  Ùo  Ù|  Ù§  Ù´  ÙÁ  Ùì  Ú  Ú$  Ú%  Ú¸  Ú¹  Úà  Û  Û  Û  Û,  Û-  Û6  ÛC  Ûn  Û{  Ûˆ  Û³  ÛÞ  Ûë  Ûì  Üƒ  Ü„  Ü«  ÜÇ  ÜÈ  ÜÑ  ÜÞ  Ý	  Ý  Ý#  ÝN  Ýy  Ý†  Ý‡  Þ  Þ  Þ?  Þ[  Þ\  Þe  Þr  Þ�  Þª  Þ·  Þâ  ß  ß  ß  ß¬  ß­  ßÔ  ßõ  à  à  à+  à9  àD  àE  àa  àb  àk  àx  à£  à°  àµ  à¾  àÃ  àÅ  àð  àþ  á  á  áC  án  á  á‰  áª  á±  áº  áÈ  áÑ  áÛ  áå  áê  áë  áô  â  â   â6  â8  â9  â:  â;  â<  â=  âd  â€  â�  âŠ  â—  âÂ  âÏ  âÜ  ã  ã2  ã?  ã@  ãÓ  ãÔ  ãû  ä  ä*  ä-  äR  ä`  äa  ä}  ä~  ä‡  ä”  ä¿  äÌ  ä÷  å  å   å-  åX  åƒ  å”  å�  å¾  å¿  åê  åë  åì  åí  åî  åï  åð  æ  æ3  æ4  æ=  æJ  æu  æ‚  æ�  æº  æå  æò  æó  çŒ  ç�  ç´  çÐ  çÑ  çÚ  çç  è  è  è,  èW  è‚  è�  è�  é1  é2  éY  éz  éˆ  é•  é¶  éÄ  éÅ  éá  éâ  éë  éø  ê#  ê0  ê=  êh  ê“  ê   ê¡  ëC  ëD  ëk  ëŒ  ëš  ë›  ë·  ë¸  ëÁ  ëÎ  ëù  ì  ì  ì>  ìi  ìv  ìw  í&  í'  íN  ío  í}  í~  íš  í›  í¤  í±  íÜ  íé  íö  î!  îL  îY  îZ  îô  îõ  ï  ï=  ïK  ïN  ïo  ï}  ï~  ïš  ï›  ï¤  ï±  ïÜ  ïé  ïö  ð!  ðL  ðY  ðZ  ðë  ðì  ñ  ñ/  ñ0  ñ9  ñF  ñq  ñ~  ñ‹  ñ¶  ñá  ñî  ñï  ò›  òœ  òÃ  òä  òò  ò÷  ó  ó&  ó-  óN  ó\  óa  ó‚  ó�  ó‘  ó®  ó¯  ó¸  óÅ  óð  óý  ô
  ô5  ô`  ôm  ôn  õ  õ  õ+  õL  õZ  õ[  õx  õy  õ‚  õ�  õº  õÇ  õÔ  õÿ  ö*  ö7  ö8  öÕ  öÖ  öý  ÷  ÷  ÷#  ÷0  ÷[  ÷h  ÷u  ÷   ÷Ë  ÷Ø  ÷Ù  øp  øq  ø˜  ø¹  øÇ  øÌ  øí  øû  øü  ù  ù  ù#  ù0  ù[  ùh  ùu  ù   ùË  ùØ  ùá  ùâ  ú‹  úŒ  ú³  úÔ  úâ  úã  û   û  û
  û  ûB  ûO  û\  û‡  û²  û¿  ûÀ  ü_  ü`  ü‡  ü£  ü¤  ü­  üº  üå  üò  üÿ  ý*  ýU  ýb  ýc  ýö  ý÷  þ  þ?  þM  þP  þq  þ  þ€  þ�  þž  þ§  þ´  þß  þì  þù  ÿ$  ÿO  ÿ\  ÿ]  ÿû  ÿü  #  ?  @  I  V  �  Ž  ›  Æ  ñ  þ  ÿ – — ¾ Ú Û ä ñ  ) 6 a Œ ™ š : ; b ƒ ‘ – · Å Ê ë ù ú   ! . Y f s ž É Ö × y z ¡ Â Ð Ñ î ï ø  0 = J u   ­ ® H I p Œ � – £ Î Û è  > K L Û Ü 	 	$ 	2 	7 	X 	f 	g 	„ 	… 	Ž 	› 	Æ 	Ó 	à 
 
6 
C 
L 
M 
  2 S a b  € ‰ – Á Î Û  1 > ? ù ú ! = > G T  Œ ™ Ä ï ü ý Œ � ´ Ð Ñ Ú ç   , W ‚ � � - . U q r { ˆ ³ À Í ø # 0 1 Å Æ í   ! B P W x † ‡ £ ¤ ­ º å ò ÿ * U b c   / P ^ _ { | … ’ ½ Ê ×  - : ; Õ Ö ý  , - I J S ` ‹ ˜ ¥ Ð û    Á Â é     G T a Œ · Ä Å Z [ ‚ £ ± ¸ Ù ç è     F S ` ‹ ¶ Ã Ä m n • ¶ Ä Å á â ë ø # 0 = h “   ¡ C D k Œ š › · ¸ Á Î ù   > i v w   B ^ _ h u   ­ º å        ®  ¯  Ö  ò  ó  ü !	 !4 !A !N !y !¤ !± !² "; "< "c " "€ "‰ "– "Á "Î "Û # #1 #> #? #Ï #Ð #÷ $ $& $1 $R $` $i $Š $˜ $™ $µ $¶ $¿ $Ì $÷ % % %< %g %t %u %ÿ &  &' &H &V &W &s &t &} &Š &µ &Â &Ï &ú '% '2 '3 'À 'Á 'è (	 ( ( (4 (5 (> (K (v (ƒ (� (» (æ (ó (ô )~ ) )¦ )Ç )Õ )Ö )ò )ó )ü *	 *4 *A *N *y *¤ *± *² += +> +e +� +‚ +‹ +˜ +Ã +Ð +Ý , ,3 ,@ ,A ,é ,ê - -2 -@ -A -] -^ -g -t -Ÿ -¬ -¹ -ä . . . .Æ .Ç .î / / /" /C /Q /X /y /‡ /ˆ /¤ /¥ /® /» /æ /ó 0  0+ 0V 0c 0d 0ü 0ý 1$ 1E 1S 1T 1p 1q 1z 1‡ 1² 1¿ 1Ì 1÷ 2" 2/ 20 2Ó 2Ô 2û 3 3* 3+ 3G 3H 3Q 3^ 3‰ 3– 3£ 3Î 3ù 4 4 4š 4› 4Â 4Þ 4ß 4è 4õ 5  5- 5: 5e 5� 5� 5ž 65 66 6] 6~ 6Œ 6� 6° 6¾ 6¿ 6Û 6Ü 6å 6ò 7 7* 77 7b 7� 7š 7› 8R 8S 8z 8– 8— 8  8­ 8Ø 8å 8ò 9 9H 9U 9V 9í 9î : :1 :2 :; :H :s :€ :� :¸ :ã :ð :ñ ;� ;‚ ;© ;Ê ;Ø ;Û ;ü <
 < <' <( <1 <> <i <v <ƒ <® <Ù <æ <ç =‡ =ˆ =¯ =Ë =Ì =Õ =â > > >' >R >} >Š >‹ ?) ?* ?Q ?r ?€ ?‡ ?¨ ?¶ ?¹ ?Ú ?è ?é @ @ @ @ @G @T @a @Œ @· @Ä @Å AS AT A{ A— A˜ A¡ A® AÙ Aæ Aó B BI BV BW Bç Bè C C0 C> CA Cb Cp Cq C� CŽ C— C¤ CÏ CÜ Cé D D? DL DM DÜ DÝ E E  E! E* E7 Eb Eo E| E§ EÒ Eß Eà Fw Fx FŸ FÀ FÎ FÓ Fô G G G G  G) G6 Ga Gn G{ G¦ GÑ GÞ Gß Hp Hq H˜ H¹ HÇ HÈ Hä Hå Hî Hû I& I3 I@ Ik I– I£ I¤ JK JL Js J� J� J™ J¦ JÑ JÞ Jë K KA KN KO Kã Kä L L' L( L1 L> Li Lv Lƒ L® LÙ Læ Lç Mw Mx MŸ M» M¼ MÅ MÒ Mý N
 N NB Nm Nz N{ O O O9 OZ Oh Ou O– O¤ O¥ OÁ OÂ OË OØ P P P PH Ps P€ P� QÌ QÍ Qô R R# R$ R@ RA RJ RW R‚ R� Rœ RÇ Rò Rÿ S  TE TF Tm TŽ Tœ T� T¹ Tº TÃ TÐ Tû U U U@ Uk Ux Uy V! V" VI Vj Vx Vy V• V– VŸ V¬ V× Vä Vñ W WG WT WU Wû Wü X# XD XR XS Xo Xp Xy X† X± X¾ XË Xö Y! Y. Y/ YÛ YÜ Z Z$ Z2 Z9 ZZ Zh Zi Z… Z† Z� Zœ ZÇ ZÔ Zá [ [7 [D [E \
 \ \2 \S \a \b \~ \ \ˆ \• \À \Í \Ú ] ]0 ]= ]> ]Ù ]Ú ^ ^" ^0 ^1 ^M ^N ^W ^d ^� ^œ ^© ^Ô ^ÿ _ _ _È _É _ð ` ` ` `# `N `[ `h `“ `¾ `Ë `Ì a\ a] a„ a  a¡ aª a· aâ aï aü b' bR b_ b` bø bù c  cA cO c` c� c� c� c¬ c­ c¶ cÃ cî cû d d3 d^ dk dl e e e7 eX ef eg eƒ e„ e� eš eÅ eÒ eß f
 f5 fB fC g‡ gˆ g¯ gÐ gÞ gß gû gü h h h= hJ hW h‚ h­ hº h» ix iy i  iÁ iÏ iÐ iì ií iö j j. j; jH js jž j« j¬ kX kY k€ k¡ k¯ k° kÌ kÍ kÖ kã l l l( lS l~ l‹ lŒ mM mN mu m– m¤ m« mÌ mÚ mß n  n n n+ n, n5 nB nm nz n‡ n² nÝ nê në o— o˜ o¿ oà oî oï p p p p" pM pZ pg p’ p½ pÊ pË qp qq q˜ q´ qµ q¾ qË qö r r r; rf rs rt s s s+ sL sZ s_ s€ sŽ s� s« s¬ sµ sÂ sí sú t t2 t] tj tk u u u@ ua uo up uŒ u� u– u£ uÎ uÛ uè v v> vK vL w w w3 wO wP wY wf w‘ wž w« wÖ x x x xª x« xÒ xó y y y' y5 y6 yR yS y\ yi y” y¡ y® yÙ z z z z¼ z½ zä { { { {0 {1 {: {G {r { {Œ {· {â {ï {ð |§ |¨ |Ï |ë |ì |õ } }- }: }G }r }� }ª }« ~K ~L ~s ~� ~� ~™ ~¦ ~Ñ ~Þ ~ë  A N O à á € €) €7 €< €] €k €l €ˆ €‰ €’ €Ÿ €Ê €× €ä � �: �G �H ‚ ‚ ‚* ‚K ‚Y ‚Z ‚v ‚w ‚€ ‚� ‚¸ ‚Å ‚Ò ‚ý ƒ( ƒ5 ƒ6 ƒß ƒà „ „# „$ „- „: „e „r „ „ª „Õ „â „ã …n …o …– …· …Å …Ð …ñ …ÿ †  † † †& †3 †^ †k †x †£ †Î †Û †Ü ‡� ‡‘ ‡¸ ‡Ù ‡ç ‡è ˆ ˆ ˆ ˆ ˆF ˆS ˆ` ˆ‹ ˆ¶ ˆÃ ˆÄ ‰l ‰m ‰” ‰µ ‰Ã ‰Ä ‰à ‰á ‰ê ‰÷ Š" Š/ Š< Šg Š’ ŠŸ Š  ‹; ‹< ‹c ‹„ ‹’ ‹“ ‹¯ ‹° ‹¹ ‹Æ ‹ñ ‹þ Œ Œ6 Œa Œn Œo �+ �, �S �t �‚ �ƒ �Ÿ �  �© �¶ �á �î �û Ž& ŽQ Ž^ Ž_ �% �& �M �i �j �s �€ �« �¸ �Å �ð � �( �) �Ä �Å �ì ‘ ‘	 ‘ ‘ ‘J ‘W ‘d ‘� ‘º ‘Ç ‘È ’V ’W ’~ ’‡ ’ˆ ’Š ’“ ’  ’Ë ’Ø ’å “ “; “H “I “ú “û “ü ”# ”$            Ö             ”O