DIRECTORY ImagerFont USING [Font], TextLooks USING [Looks]; NodeStyle: CEDAR DEFINITIONS ~ BEGIN Style: TYPE ~ REF StyleBody; StyleBody: TYPE ~ RECORD [ fontFace: FontFace _ Regular, -- 2 bits fontAlphabets: FontAlphabets _ CapsAndLower, -- 2 bits strikeout: FontUnderlining _ None, -- 2 bits underlining: FontUnderlining _ None, -- 2 bits lineFormatting: LineFormatting _ FlushLeft, -- 2 bits lastLineFormatting: LineFormatting _ FlushLeft, -- 2 bits pathType: PathType _ Filled, -- 2 bits print: BOOL _ FALSE, -- true if using the hardcopy style rules isComment: BOOL _ FALSE, -- set to node.comment; readonly for style rules fixedTabs: BOOL _ FALSE, -- true if stops at fixed locations. else relative to left margin nestingLevel: [0..MaxNestingLevel] _ 0, -- node level in tree; readonly for style rules numTabStops: [0..MaxTabStops) _ 0, -- length of the tabStops list name: ARRAY NameParam OF ATOM, real: PACKED ARRAY RealParam OF RealCode, defaultTabStops: TabStop, -- if NIL, use 0.5 in flushLeft blank defaultTabStops tabStops: LIST OF TabStop, -- kept sorted by decreasing location, i.e., from right to left on page font: ImagerFont.Font, -- function of fontPrefix, fontFamily, fontFace, and fontSize dataList: DataList -- for special parameters ]; MaxNestingLevel: INTEGER ~ 31; -- 5 bits MaxTabStops: INTEGER ~ 64; -- 6 bits NameParam: TYPE ~ { style, -- name of the style, such as "TechnicalNote" fontPrefix, -- prefix of Interpress hierarchical name for font, e.g. Xerox/xc1-1-1/ fontFamily -- name of the font family, such as "Helvetica" }; RealParam: TYPE ~ { freeVar, fontSize, -- in points letterspacing, -- distance added between each character letterspacingStretch, letterspacingShrink, hshift, -- distance to offset text, positive to the right vshift, -- distance to raise text above baseline (can be negative) tabStops, -- tab spacing in points (for typewriter-style tab stops) textRotation, textHue, -- color for text textSaturation, textBrightness, leftIndent, -- all lines indent this much on left rightIndent, -- all lines indent this much on right firstIndent, -- first line indent this much more on left firstIndentRight, -- first line indent this much more on the right restIndent, -- other lines indent this much more on left runaroundLeft, -- depth of first indent on the left runaroundRight, -- depth of first indent on the right topIndent, -- top line at least this much down from top of viewer/page bottomIndent, -- bottom baseline at least this up from bottom of page minLineGap, -- min distance between line top and previous bottom (can be negative) leading, -- distance between baselines leadingStretch, leadingShrink, topLeading, -- min distance from first baseline to previous topLeadingStretch, topLeadingShrink, bottomLeading, -- min distance from last baseline to next bottomLeadingStretch, bottomLeadingShrink, areaHue, -- color for filled areas areaSaturation, areaBrightness, outlineHue, -- color for outlines outlineSaturation, outlineBrightness, lineWeight, -- width of graphics lines pageWidth, pageLength, leftMargin, rightMargin, topMargin, bottomMargin, headerMargin, footerMargin, bindingMargin, lineLength, columns, -- number of columns pagebreak, -- glue added between pages (well sort of) pagebreakStretch, pagebreakShrink, pageBreakPenalty, -- penalty for breaking inside node pageBreakAfterFirstLinePenalty, -- penalty for breaking node after its first line pageBreakBeforeLastLinePenalty, -- penalty for breaking node before its last line pageBreakBeforeFirstLinePenalty, -- penalty for breaking before first line of node pageBreakAfterLastLinePenalty, -- penalty for breaking after last line of node underlineThickness, -- width of the rule drawn under characters underlineDescent, -- positive offset to position bottom of underline below the baseline underlineHue, -- color for underlines underlineSaturation, underlineBrightness, strikeoutThickness, -- width of the rule drawn through characters strikeoutAscent, -- positive offset to position bottom of strikeout above the baseline strikeoutHue, -- color for strikeouts strikeoutSaturation, strikeoutBrightness, outlineboxThickness, -- width of the rule drawn around text outlineboxBearoff, -- positive distance between the font box for text and the outline outlineboxHue, -- color for outlinebox outlineboxSaturation, outlineboxBrightness, backgroundAscent, -- positive offset to position top of background above the baseline backgroundDescent, -- positive offset to position bottom of background below the baseline backgroundHue, -- color for backgrounds backgroundSaturation, backgroundBrightness }; RealCode: TYPE ~ [0..255] _ 0; zero: RealCode ~ 0; overflow: RealCode ~ RealCode.LAST; DataList: TYPE ~ REF DataEntry; DataEntryKind: TYPE ~ { object, real, tab }; DataEntry: TYPE ~ RECORD [ next: DataList, data: SELECT kind: DataEntryKind FROM object => [ name: ATOM, -- name of the parameter object: REF -- value of the parameter ], real => [ -- for real values which overflow the table of common values param: RealParam, -- which one it is value: REAL -- the value ], tab => [ -- for real values from tabspecs which overflow the table of common values tabStop: TabStop, -- which tab stop it is which: TabRealParam, -- which value for the tab stop it is value: REAL -- the value ] ENDCASE ]; TabRealParam: TYPE ~ { loc, spacing, weight, vshift }; TabStop: TYPE ~ REF TabStopRec; LeaderTabStop: TYPE ~ REF leaders TabStopRec; RuleTabStop: TYPE ~ REF rule TabStopRec; RulesTabStop: TYPE ~ REF rules TabStopRec; TabStopRec: TYPE ~ RECORD [ looks: TextLooks.Looks, -- the default looks for the stop loc: RealCode, -- the location of the stop alignment: TabAlign _ FlushLeft, -- how the tab is aligned alignmentChar: CHAR _ 0C, -- only of interest if alignment = Character breakIfPast: BOOL _ FALSE, -- what to do if you are already beyond the tab stop fill: SELECT fillKind: TabFillKind FROM blank => [], leaders => [ congruent: BOOL _ TRUE, -- otherwise, centered char: CHAR _ 0C, -- the character to be repeated spacing: RealCode -- the distance between repetitions ], rule => [ weight: RealCode, -- the thickness of the rule vshift: RealCode -- the distance up from the baseline to the bottom of the rule ], rules => [ rules: TabArray -- array of records with weight and vshift for each rule ], ENDCASE ]; TabAlign: TYPE ~ { FlushLeft, FlushRight, Centered, Character }; TabFillKind: TYPE ~ { blank, leaders, rule, rules }; TabInfo: TYPE ~ RECORD [weight, vshift: RealCode]; TabArray: TYPE ~ REF TabArrayRec; TabArrayRec: TYPE ~ RECORD [array: SEQUENCE length: NAT OF TabInfo]; FontFace: TYPE ~ { Regular, Bold, Italic, BoldItalic }; FontAlphabets: TYPE ~ { CapsAndLower, CapsAndSmallCaps, LowerOnly, CapsOnly }; FontUnderlining: TYPE ~ { None, LettersAndDigits, Visible, All }; LineFormatting: TYPE ~ { FlushLeft, FlushRight, Justified, Centered }; PathType: TYPE ~ { Filled, Outlined, FilledAndOutlined }; pointsPerPica: REAL; pointsPerInch: REAL; pointsPerCentimeter: REAL; pointsPerMillimeter: REAL; pointsPerDidot: REAL; pointsPerFil: REAL; pointsPerFill: REAL; pointsPerFilll: REAL; IntegerValue: PROC [value: REAL _ 0.0] RETURNS [INT]; SetReal: PROC [s: Style, param: RealParam, value: REAL _ 0.0]; GetReal: PROC [s: Style, param: RealParam] RETURNS [REAL]; GetStyleName: PROC [s: Style] RETURNS [ATOM] ~ INLINE { RETURN [s.name[style]] }; GetFontPrefix: PROC [s: Style] RETURNS [ATOM] ~ INLINE { RETURN [s.name[fontPrefix]] }; GetFontFamily: PROC [s: Style] RETURNS [ATOM] ~ INLINE { RETURN [s.name[fontFamily]] }; GetFontFace: PROC [s: Style] RETURNS [FontFace] ~ INLINE { RETURN [s.fontFace] }; GetFontAlphabets: PROC [s: Style] RETURNS [FontAlphabets] ~ INLINE { RETURN [s.fontAlphabets] }; GetUnderlining: PROC [s: Style] RETURNS [FontUnderlining] ~ INLINE { RETURN [s.underlining] }; GetStrikeout: PROC [s: Style] RETURNS [FontUnderlining] ~ INLINE { RETURN [s.strikeout] }; GetLineFormatting: PROC [s: Style] RETURNS [LineFormatting] ~ INLINE { RETURN [s.lineFormatting] }; GetLastLineFormatting: PROC [s: Style] RETURNS [LineFormatting] ~ INLINE { RETURN [s.lastLineFormatting] }; GetPathType: PROC [s: Style] RETURNS [PathType] ~ INLINE { RETURN [s.pathType] }; GetFontSize: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,fontSize]] }; GetLetterspacing: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,letterspacing]] }; GetLetterspacingStretch: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,letterspacingStretch]] }; GetLetterspacingShrink: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,letterspacingShrink]] }; GetHShift: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,hshift]] }; GetVShift: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,vshift]] }; GetTabStops: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,tabStops]] }; GetTextRotation: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,textRotation]] }; GetTextHue: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,textHue]] }; GetTextSaturation: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,textSaturation]] }; GetTextBrightness: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,textBrightness]] }; GetLeftIndent: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,leftIndent]] }; GetRightIndent: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,rightIndent]] }; GetFirstIndent: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,firstIndent]] }; GetRestIndent: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,restIndent]] }; GetRunaroundLeft: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,runaroundLeft]] }; GetRunaroundRight: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,runaroundRight]] }; GetTopIndent: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,topIndent]] }; GetBottomIndent: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,bottomIndent]] }; GetMinLineGap: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,minLineGap]] }; GetLeading: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,leading]] }; GetLeadingStretch: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,leadingStretch]] }; GetLeadingShrink: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,leadingShrink]] }; GetTopLeading: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,topLeading]] }; GetTopLeadingStretch: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,topLeadingStretch]] }; GetTopLeadingShrink: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,topLeadingShrink]] }; GetBottomLeading: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,bottomLeading]] }; GetBottomLeadingStretch: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,bottomLeadingStretch]] }; GetBottomLeadingShrink: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,bottomLeadingShrink]] }; GetAreaHue: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,areaHue]] }; GetAreaSaturation: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,areaSaturation]] }; GetAreaBrightness: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,areaBrightness]] }; GetOutlineHue: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,outlineHue]] }; GetOutlineSaturation: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,outlineSaturation]] }; GetOutlineBrightness: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,outlineBrightness]] }; GetLineWeight: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,lineWeight]] }; GetPageWidth: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,pageWidth]] }; GetPageLength: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,pageLength]] }; GetLeftMargin: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,leftMargin]] }; GetRightMargin: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,rightMargin]] }; GetTopMargin: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,topMargin]] }; GetBottomMargin: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,bottomMargin]] }; GetHeaderMargin: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,headerMargin]] }; GetFooterMargin: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,footerMargin]] }; GetBindingMargin: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,bindingMargin]] }; GetLineLength: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,lineLength]] }; GetColumns: PROC [s: Style] RETURNS [INT] ~ INLINE { RETURN [GetInt[s,columns]] }; GetPageBreak: PROC [s: Style] RETURNS [INT] ~ INLINE { RETURN [GetInt[s,pagebreak]] }; GetPageBreakStretch: PROC [s: Style] RETURNS [INT] ~ INLINE { RETURN [GetInt[s,pagebreakStretch]] }; GetPageBreakShrink: PROC [s: Style] RETURNS [INT] ~ INLINE { RETURN [GetInt[s,pagebreakShrink]] }; GetPageBreakPenalty: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,pageBreakPenalty]] }; GetPageBreakAfterFirstLinePenalty: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,pageBreakAfterFirstLinePenalty]] }; GetPageBreakBeforeLastLinePenalty: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,pageBreakBeforeLastLinePenalty]] }; GetPageBreakBeforeFirstLinePenalty: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,pageBreakBeforeFirstLinePenalty]] }; GetPageBreakAfterLastLinePenalty: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,pageBreakAfterLastLinePenalty]] }; GetUnderlineThickness: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,underlineThickness]] }; GetUnderlineDescent: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,underlineDescent]] }; GetUnderlineHue: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,underlineHue]] }; GetUnderlineSaturation: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,underlineSaturation]] }; GetUnderlineBrightness: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,underlineBrightness]] }; GetStrikeoutThickness: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,strikeoutThickness]] }; GetStrikeoutAscent: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,strikeoutAscent]] }; GetStrikeoutHue: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,strikeoutHue]] }; GetStrikeoutSaturation: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,strikeoutSaturation]] }; GetStrikeoutBrightness: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,strikeoutBrightness]] }; GetOutlineboxThickness: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,outlineboxThickness]] }; GetOutlineboxBearoff: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,outlineboxBearoff]] }; GetOutlineboxHue: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,outlineboxHue]] }; GetOutlineboxSaturation: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,outlineboxSaturation]] }; GetOutlineboxBrightness: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,outlineboxBrightness]] }; GetBackgroundAscent: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,backgroundAscent]] }; GetBackgroundDescent: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,backgroundDescent]] }; GetBackgroundHue: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,backgroundHue]] }; GetBackgroundSaturation: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,backgroundSaturation]] }; GetBackgroundBrightness: PROC [s: Style] RETURNS [REAL] ~ INLINE { RETURN [GetReal[s,backgroundBrightness]] }; GetTabLoc: PROC [stop: TabStop, s: Style] RETURNS [REAL]; GetTabLeaderSpacing: PROC [stop: LeaderTabStop, s: Style] RETURNS [REAL]; GetTabRuleWeight: PROC [stop: RuleTabStop, s: Style] RETURNS [REAL]; GetTabRuleVShift: PROC [stop: RuleTabStop, s: Style] RETURNS [REAL]; GetTabRealCode: PROC [s: Style, stop: TabStop, which: TabRealParam, value: REAL _ 0.0] RETURNS [code: RealCode]; GetRulesTabCount: PROC [stop: RulesTabStop] RETURNS [count: INT]; -- number of rules GetRulesTabInfo: PROC [stop: RulesTabStop, num: INT] RETURNS [weight, vshift: REAL]; GetScreenSpaceWidth: PROC[style: Style] RETURNS [REAL]; GetPrintSpaceWidth: PROC[style: Style] RETURNS [REAL]; END. zNodeStyle.mesa Copyright c 1985, 1986 by Xerox Corporation. All rights reserved. Written by Bill Paxton, January 1981 Last changed by Bill Paxton, December 1, 1982 8:37 am Plass, March 14, 1985 4:47:24 pm PST Beach, March 23, 1985 5:16:53 pm PST Michael Plass, May 20, 1985 8:01:47 pm PDT Doug Wyatt, September 25, 1986 12:07:30 pm PDT Style Record Definitions this order substantially reduces allocations during the creation of the list since styles tend to define tab stops in increasing order, so can add to start of list and list additions must be non-destructive of the previous list. since length of list is given, can easily find the nth stop. special variable used for extensions miscellaneous font and positioning indent parameters leading parameters graphics page layout parameters penalty parameters for page layout underline strikeout outlinebox background Generic Numeric Style Parameter routines safely rounds the real value to an integer set the parameter to have this real value Non-numeric style parameters Numeric Style Parameters Indents Leadings Graphics Page Layout Penalties Underline, Strikeout, Outlines, and Backgrounds Tab stop info For num in [0..RulesTabCount), returns the weight and vshift values for that rule. Spaces Returns the width of a space in the screen font for the given style. Returns the width of a space in the printing font for the given style. Κν˜codešœ™Kšœ Οmœ7™BKšœ$™$Kšœ5™5K™$J™$K™*K™.—K™šΟk ˜ Kšœ žœ˜Kšœ žœ ˜—K˜KšΠbl œžœž ˜Kšœž˜head™Kšœžœžœ ˜šœ žœžœ˜KšœΟc ˜'Kšœ-  ˜6Kšœ#  ˜,Kšœ%  ˜.Kšœ,  ˜5Kšœ0  ˜9Kšœ  ˜&Kšœžœžœ )˜>Kšœ žœžœ 0˜IKšœ žœžœ A˜ZKšœ( /˜WKšœ# ˜AKšœžœ žœžœ˜Kšœžœžœ žœ ˜)Kšœ 5˜Ošœ žœžœ  G˜bKšœ’™’—Kšœ =˜TKšœ ˜,K˜K˜—Kšœžœ  ˜(Kšœ žœ  ˜$K˜šœ žœ˜Kšœ -˜4Kšœ  G˜SKšœ  /˜:K˜K˜—šœ žœ˜šœ%™%Kšœ˜—šœ#™#Kšœ   ˜Kšœ (˜7Kšœ˜Kšœ˜Kšœ 1˜9Kšœ :˜BKšœ  9˜CK˜ Kšœ  ˜K˜K˜—šœ™Kšœ  %˜1Kšœ  &˜3Kšœ  +˜8Kšœ 0˜BKšœ  ,˜8Kšœ $˜4Kšœ %˜6Kšœ  ;˜FKšœ 7˜E—šœ™Kšœ  F˜RKšœ  ˜&K˜K˜Kšœ  /˜;K˜K˜Kšœ *˜9K˜K˜—šœ™Kšœ  ˜"K˜K˜Kšœ  ˜!K˜K˜Kšœ  ˜&—šœ™K˜ K˜ K˜ K˜ K˜ K˜ K˜ K˜ K˜K˜ Kšœ  ˜Kšœ  *˜6K˜K˜—šœ"™"Kšœ #˜5Kšœ  1˜QKšœ  1˜QKšœ! 1˜RKšœ /˜N—™ Kšœ +˜?Kšœ E˜WKšœ ˜%Kšœ˜Kšœ˜—™ Kšœ -˜AKšœ E˜VKšœ ˜%Kšœ˜Kšœ˜—™ Kšœ &˜;Kšœ B˜UKšœ ˜&Kšœ˜Kšœ˜—™ Kšœ C˜UKšœ F˜YKšœ ˜'Kšœ˜Kšœ˜—K˜K˜—Kšœ žœ˜K˜Kšœžœ˜#K˜Kšœ žœžœ ˜Kšœžœ˜,šœ žœžœ˜K˜šœžœž˜%˜ Kšœžœ ˜$Kšœžœ ˜%Kšœ˜—šœ  <˜FKšœ ˜$Kšœžœ  ˜Kšœ˜—šœ  J˜SKšœ ˜)Kšœ %˜:Kšœžœ  ˜Kšœ˜—Kšž˜—šœ˜K˜——Kšœžœ$˜6K˜Kšœ žœžœ ˜Kšœžœžœ˜-Kšœ žœžœ˜(Kšœžœžœ˜*K˜šœ žœžœ˜Kšœ !˜9Kšœ ˜*Kšœ! ˜:Kšœžœ ,˜FKšœ žœžœ 4˜Ošœžœž˜'K˜ ˜ Kšœ žœžœ ˜.Kšœžœ ˜0Kšœ #˜5K˜—˜ Kšœ ˜.Kšœ >˜OK˜—˜ Kšœ 8˜HK˜—Kšž˜—K˜K˜—Kšœ žœ2˜@Kšœ žœ#˜4Kšœ žœžœ˜2Kšœ žœžœ ˜!Kš œ žœžœ žœ žœžœ ˜DK˜Kšœ žœ)˜7Kšœžœ;˜NKšœžœ,˜AKšœžœ2˜FKšœ žœ+˜9K˜Kšœžœ˜Kšœžœ˜Kšœžœ˜Kšœžœ˜Kšœžœ˜Kšœžœ˜Kšœžœ˜Kšœžœ˜—šœ(™(š Οn œžœ žœžœžœ˜5Kšœ*™*K˜—š‘œžœ%žœ˜>Kšœ)™)K˜—š‘œžœžœžœ˜:K˜——šœ™š‘ œžœ žœžœ˜,Kšœžœžœ˜$K˜—š‘ œžœ žœžœ˜-Kšœžœžœ˜)K˜—š‘ œžœ žœžœ˜-Kšœžœžœ˜)K˜—š‘ œžœ žœ ˜/Kšœžœžœ˜!K˜—š‘œžœ žœ˜9Kšœžœžœ˜&K˜—š‘œžœ žœ˜9Kšœžœžœ˜$K˜—š‘ œžœ žœ˜7Kšœžœžœ˜"K˜—š‘œžœ žœ˜;Kšœžœžœ˜'K˜—š‘œžœ žœ˜?Kšœžœžœ˜+K˜—š‘ œžœ žœ ˜/Kšœžœžœ˜!K˜——šœ™š‘ œžœ žœžœ˜+Kšœžœžœ˜*K˜—š‘œžœ žœžœ˜0Kšœžœžœ˜/K˜—š‘œžœ žœžœ˜7Kšœžœžœ%˜6K˜—š‘œžœ žœžœ˜6Kšœžœžœ$˜5K˜—š‘ œžœ žœžœ˜)Kšœžœžœ˜(K˜—š‘ œžœ žœžœ˜)Kšœžœžœ˜(K˜—š‘ œžœ žœžœ˜+Kšœžœžœ˜*K˜—š‘œžœ žœžœ˜/Kšœžœžœ˜.K˜—š‘ œžœ žœžœ˜*Kšœžœžœ˜)K˜—š‘œžœ žœžœ˜1Kšœžœžœ˜0K˜—š‘œžœ žœžœ˜1Kšœžœžœ˜0K˜——šœ™š‘ œžœ žœžœ˜-Kšœžœžœ˜,K˜—š‘œžœ žœžœ˜.Kšœžœžœ˜-K˜—š‘œžœ žœžœ˜.Kšœžœžœ˜-K˜—š‘ œžœ žœžœ˜-Kšœžœžœ˜,K˜—š‘œžœ žœžœ˜0Kšœžœžœ˜/K˜—š‘œžœ žœžœ˜1Kšœžœžœ˜0K˜—š‘ œžœ žœžœ˜,Kšœžœžœ˜+K˜—š‘œžœ žœžœ˜/Kšœžœžœ˜.K˜——šœ™š‘ œžœ žœžœ˜-Kšœžœžœ˜,K˜—š‘ œžœ žœžœ˜*Kšœžœžœ˜)K˜—š‘œžœ žœžœ˜1Kšœžœžœ˜0K˜—š‘œžœ žœžœ˜0Kšœžœžœ˜/K˜—š‘ œžœ žœžœ˜-Kšœžœžœ˜,K˜—š‘œžœ žœžœ˜4Kšœžœžœ"˜3K˜—š‘œžœ žœžœ˜3Kšœžœžœ!˜2K˜—š‘œžœ žœžœ˜0Kšœžœžœ˜/K˜—š‘œžœ žœžœ˜7Kšœžœžœ%˜6K˜—š‘œžœ žœžœ˜6Kšœžœžœ$˜5K˜——™š‘ œžœ žœžœ˜*Kšœžœžœ˜)K˜—š‘œžœ žœžœ˜1Kšœžœžœ˜0K˜—š‘œžœ žœžœ˜1Kšœžœžœ˜0K˜—š‘ œžœ žœžœ˜-Kšœžœžœ˜,K˜—š‘œžœ žœžœ˜4Kšœžœžœ"˜3K˜—š‘œžœ žœžœ˜4Kšœžœžœ"˜3K˜—š‘ œžœ žœžœ˜-Kšœžœžœ˜,K˜——šœ ™ š‘ œžœ žœžœ˜,Kšœžœžœ˜+K˜—š‘ œžœ žœžœ˜-Kšœžœžœ˜,K˜—š‘ œžœ žœžœ˜-Kšœžœžœ˜,K˜—š‘œžœ žœžœ˜.Kšœžœžœ˜-K˜—š‘ œžœ žœžœ˜,Kšœžœžœ˜+K˜—š‘œžœ žœžœ˜/Kšœžœžœ˜.K˜—š‘œžœ žœžœ˜/Kšœžœžœ˜.K˜—š‘œžœ žœžœ˜/Kšœžœžœ˜.K˜—š‘œžœ žœžœ˜0Kšœžœžœ˜/K˜—š‘ œžœ žœžœ˜-Kšœžœžœ˜,K˜—š‘ œžœ žœžœ˜)Kšœžœžœ˜(K˜—š‘ œžœ žœžœ˜+Kšœžœžœ˜*K˜—š‘œžœ žœžœ˜2Kšœžœžœ ˜1K˜—š‘œžœ žœžœ˜1Kšœžœžœ˜0K˜——šœ ™ š‘œžœ žœžœ˜3Kšœžœžœ!˜2K˜—š‘!œžœ žœžœ˜AKšœžœžœ/˜@K˜—š‘!œžœ žœžœ˜AKšœžœžœ/˜@K˜—š‘"œžœ žœžœ˜BKšœžœžœ0˜AK˜—š‘ œžœ žœžœ˜@Kšœžœžœ.˜?K˜——™/š‘œžœ žœžœ˜5Kšœžœžœ#˜4K˜—š‘œžœ žœžœ˜3Kšœžœžœ!˜2K˜—š‘œžœ žœžœ˜/Kšœžœžœ˜.K˜—š‘œžœ žœžœ˜6Kšœžœžœ$˜5K˜—š‘œžœ žœžœ˜6Kšœžœžœ$˜5K˜—š‘œžœ žœžœ˜5Kšœžœžœ#˜4K˜—š‘œžœ žœžœ˜2Kšœžœžœ ˜1K˜—š‘œžœ žœžœ˜/Kšœžœžœ˜.K˜—š‘œžœ žœžœ˜6Kšœžœžœ$˜5K˜—š‘œžœ žœžœ˜6Kšœžœžœ$˜5K˜—š‘œžœ žœžœ˜6Kšœžœžœ$˜5K˜—š‘œžœ žœžœ˜4Kšœžœžœ"˜3K˜—š‘œžœ žœžœ˜0Kšœžœžœ˜/K˜—š‘œžœ žœžœ˜7Kšœžœžœ%˜6K˜—š‘œžœ žœžœ˜7Kšœžœžœ%˜6K˜—š‘œžœ žœžœ˜3Kšœžœžœ!˜2K˜—š‘œžœ žœžœ˜4Kšœžœžœ"˜3K˜—š‘œžœ žœžœ˜0Kšœžœžœ˜/K˜—š‘œžœ žœžœ˜7Kšœžœžœ%˜6K˜—š‘œžœ žœžœ˜7Kšœžœžœ%˜6K˜——šœ ™ š‘ œžœžœžœ˜9K˜—š‘œžœ!žœžœ˜IK˜—š‘œžœžœžœ˜DK˜—š‘œžœžœžœ˜DK˜—š‘œžœ7žœžœ˜pK˜—š ‘œžœžœ žœ ˜TK˜—š ‘œžœžœžœžœ˜TK™RK˜——šœ™š‘œžœžœžœ˜7K™DK™—š‘œžœžœžœ˜6K™FK˜——K˜Kšžœ˜—…—@B[©