Discussions of the Parallel Programming book
 help / color / mirror / Atom feed
From: Akira Yokosawa <akiyks@gmail.com>
To: "Paul E. McKenney" <paulmck@linux.ibm.com>
Cc: perfbook@vger.kernel.org, Akira Yokosawa <akiyks@gmail.com>
Subject: [PATCH 1/4] CodeSamples/count: Restore atomic125.eps
Date: Wed, 5 Dec 2018 00:28:50 +0900	[thread overview]
Message-ID: <d194c2cc-225d-bf55-e585-aadfaa5ca9d9@gmail.com> (raw)
In-Reply-To: <b5e1d894-aed2-0171-7cbc-12a46d67bfb6@gmail.com>

From 01e55591da491ee4b42839383b567e98f051285c Mon Sep 17 00:00:00 2001
From: Akira Yokosawa <akiyks@gmail.com>
Date: Tue, 4 Dec 2018 23:34:53 +0900
Subject: [PATCH 1/4] CodeSamples/count: Restore atomic125.eps

Commit 3b62f67a76e1 ("Regenerating the atomic counter graph on
a more modern CPU") accidentally overwrote atomic125.eps.
Restore it and restore old atomic.eps (of Nehalem) as
atomic_nehalem.eps.
Also restore .png files.

Signed-off-by: Akira Yokosawa <akiyks@gmail.com>
---
 CodeSamples/count/atomic125.eps      |  856 +++++++------
 CodeSamples/count/atomic125.png      |  Bin 3189 -> 3337 bytes
 CodeSamples/count/atomic_nehalem.eps | 2266 ++++++++++++++++++++++++++++++++++
 3 files changed, 2752 insertions(+), 370 deletions(-)
 create mode 100644 CodeSamples/count/atomic_nehalem.eps

diff --git a/CodeSamples/count/atomic125.eps b/CodeSamples/count/atomic125.eps
index 1e28a27..179f3d4 100644
--- a/CodeSamples/count/atomic125.eps
+++ b/CodeSamples/count/atomic125.eps
@@ -1,7 +1,7 @@
 %!PS-Adobe-2.0
 %%Title: Is Parallel Programming Hard, And, If So, What Can You Do About It?
-%%Creator: gnuplot 5.0 patchlevel 3
-%%CreationDate: Mon Jul 16 22:02:17 2018
+%%Creator: gnuplot 4.4 patchlevel 0
+%%CreationDate: Wed Jan  5 07:20:51 2011
 %%DocumentFonts: (atend)
 %%BoundingBox: 50 95 302 355
 %%Orientation: Portrait
@@ -20,29 +20,42 @@ gnudict begin
 /Dashlength 1 def
 /Landscape false def
 /Level1 false def
-/Level3 false def
 /Rounded false def
 /ClipToBoundingBox false def
-/SuppressPDFMark false def
 /TransparentPatterns false def
 /gnulinewidth 5.000 def
 /userlinewidth gnulinewidth def
 /Gamma 1.0 def
-/BackgroundColor {-1.000 -1.000 -1.000} def
 %
 /vshift -33 def
 /dl1 {
-  10.0 Dashlength userlinewidth gnulinewidth div mul mul mul
+  10.0 Dashlength mul mul
   Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if
 } def
 /dl2 {
-  10.0 Dashlength userlinewidth gnulinewidth div mul mul mul
+  10.0 Dashlength mul mul
   Rounded { currentlinewidth 0.75 mul add } if
 } def
 /hpt_ 31.5 def
 /vpt_ 31.5 def
 /hpt hpt_ def
 /vpt vpt_ def
+Level1 {} {
+/SDict 10 dict def
+systemdict /pdfmark known not {
+  userdict /pdfmark systemdict /cleartomark get put
+} if
+SDict begin [
+  /Title (Is Parallel Programming Hard, And, If So, What Can You Do About It?)
+  /Subject (gnuplot plot)
+  /Creator (gnuplot 4.4 patchlevel 0)
+  /Author (paulmck)
+%  /Producer (gnuplot)
+%  /Keywords ()
+  /CreationDate (Wed Jan  5 07:20:51 2011)
+  /DOCINFO pdfmark
+end
+} ifelse
 /doclip {
   ClipToBoundingBox {
     newpath 50 50 moveto 302 50 lineto 302 410 lineto 50 410 lineto closepath
@@ -50,7 +63,7 @@ gnudict begin
   } if
 } def
 %
-% Gnuplot Prolog Version 5.1 (Oct 2015)
+% Gnuplot Prolog Version 4.4 (January 2010)
 %
 %/SuppressPDFMark true def
 %
@@ -62,16 +75,15 @@ gnudict begin
 /Z {closepath} bind def
 /C {setrgbcolor} bind def
 /f {rlineto fill} bind def
-/g {setgray} bind def
 /Gshow {show} def   % May be redefined later in the file to support UTF-8
 /vpt2 vpt 2 mul def
 /hpt2 hpt 2 mul def
 /Lshow {currentpoint stroke M 0 vshift R 
-	Blacktext {gsave 0 setgray textshow grestore} {textshow} ifelse} def
+	Blacktext {gsave 0 setgray show grestore} {show} ifelse} def
 /Rshow {currentpoint stroke M dup stringwidth pop neg vshift R
-	Blacktext {gsave 0 setgray textshow grestore} {textshow} ifelse} def
+	Blacktext {gsave 0 setgray show grestore} {show} ifelse} def
 /Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 
-	Blacktext {gsave 0 setgray textshow grestore} {textshow} ifelse} def
+	Blacktext {gsave 0 setgray show grestore} {show} ifelse} def
 /UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def
   /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def
 /DL {Color {setrgbcolor Solid {pop []} if 0 setdash}
@@ -84,8 +96,7 @@ gnudict begin
 	dup 1 lt {pop 1} if 10 mul /udl exch def} def
 /PL {stroke userlinewidth setlinewidth
 	Rounded {1 setlinejoin 1 setlinecap} if} def
-3.8 setmiterlimit
-% Classic Line colors (version 5.0)
+% Default Line colors
 /LCw {1 1 1} def
 /LCb {0 0 0} def
 /LCa {0 0 0} def
@@ -98,21 +109,19 @@ gnudict begin
 /LC6 {0 0 0} def
 /LC7 {1 0.3 0} def
 /LC8 {0.5 0.5 0.5} def
-% Default dash patterns (version 5.0)
-/LTB {BL [] LCb DL} def
+% Default Line Types
 /LTw {PL [] 1 setgray} def
-/LTb {PL [] LCb DL} def
+/LTb {BL [] LCb DL} def
 /LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def
 /LT0 {PL [] LC0 DL} def
-/LT1 {PL [2 dl1 3 dl2] LC1 DL} def
-/LT2 {PL [1 dl1 1.5 dl2] LC2 DL} def
-/LT3 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC3 DL} def
-/LT4 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def
-/LT5 {PL [4 dl1 2 dl2] LC5 DL} def
-/LT6 {PL [1.5 dl1 1.5 dl2 1.5 dl1 1.5 dl2 1.5 dl1 6 dl2] LC6 DL} def
-/LT7 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC7 DL} def
-/LT8 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC8 DL} def
-/SL {[] 0 setdash} def
+/LT1 {PL [4 dl1 2 dl2] LC1 DL} def
+/LT2 {PL [2 dl1 3 dl2] LC2 DL} def
+/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def
+/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def
+/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def
+/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def
+/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def
+/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def
 /Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def
 /Dia {stroke [] 0 setdash 2 copy vpt add M
   hpt neg vpt neg V hpt vpt neg V
@@ -319,8 +328,7 @@ gnudict begin
 /PatternFill {gsave /PFa [ 9 2 roll ] def
   PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate
   PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec
-  TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse
-  clip
+  gsave 1 setgray fill grestore clip
   currentlinewidth 0.5 mul setlinewidth
   /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def
   0 0 M PFa 5 get rotate PFs -2 div dup translate
@@ -334,14 +342,9 @@ gnudict begin
 %
 /languagelevel where
  {pop languagelevel} {1} ifelse
-dup 2 lt
-	{/InterpretLevel1 true def
-	 /InterpretLevel3 false def}
-	{/InterpretLevel1 Level1 def
-	 2 gt
-	    {/InterpretLevel3 Level3 def}
-	    {/InterpretLevel3 false def}
-	 ifelse }
+ 2 lt
+	{/InterpretLevel1 true def}
+	{/InterpretLevel1 Level1 def}
  ifelse
 %
 % PostScript level 2 pattern fill definitions
@@ -430,17 +433,16 @@ Level1 {Level1PatternFill} {Level2PatternFill} ifelse
 /Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont
 dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall
 currentdict end definefont pop
-%
 /MFshow {
    { dup 5 get 3 ge
      { 5 get 3 eq {gsave} {grestore} ifelse }
      {dup dup 0 get findfont exch 1 get scalefont setfont
      [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6
-     get exch 4 get {textshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq
+     get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq
      {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5
      get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div
      dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get
-     textshow 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop
+     show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop
      pop aload pop M} ifelse }ifelse }ifelse }
      ifelse }
    forall} def
@@ -1848,51 +1850,6 @@ ba6d2a8e73b10c6de72a8e8f3bfeab8344fe6622fadd5d01457e31e8facd74cb
 cleartomark
 {restore}if
 %%EndProcSet
-Level1 SuppressPDFMark or 
-{} {
-/SDict 10 dict def
-systemdict /pdfmark known not {
-  userdict /pdfmark systemdict /cleartomark get put
-} if
-SDict begin [
-  /Title (Is Parallel Programming Hard, And, If So, What Can You Do About It?)
-  /Subject (gnuplot plot)
-  /Creator (gnuplot 5.0 patchlevel 3)
-  /Author (imre)
-%  /Producer (gnuplot)
-%  /Keywords ()
-  /CreationDate (Mon Jul 16 22:02:17 2018)
-  /DOCINFO pdfmark
-end
-} ifelse
-%
-% Support for boxed text - Ethan A Merritt May 2005
-%
-/InitTextBox { userdict /TBy2 3 -1 roll put userdict /TBx2 3 -1 roll put
-           userdict /TBy1 3 -1 roll put userdict /TBx1 3 -1 roll put
-	   /Boxing true def } def
-/ExtendTextBox { Boxing
-    { gsave dup false charpath pathbbox
-      dup TBy2 gt {userdict /TBy2 3 -1 roll put} {pop} ifelse
-      dup TBx2 gt {userdict /TBx2 3 -1 roll put} {pop} ifelse
-      dup TBy1 lt {userdict /TBy1 3 -1 roll put} {pop} ifelse
-      dup TBx1 lt {userdict /TBx1 3 -1 roll put} {pop} ifelse
-      grestore } if } def
-/PopTextBox { newpath TBx1 TBxmargin sub TBy1 TBymargin sub M
-               TBx1 TBxmargin sub TBy2 TBymargin add L
-	       TBx2 TBxmargin add TBy2 TBymargin add L
-	       TBx2 TBxmargin add TBy1 TBymargin sub L closepath } def
-/DrawTextBox { PopTextBox stroke /Boxing false def} def
-/FillTextBox { gsave PopTextBox 1 1 1 setrgbcolor fill grestore /Boxing false def} def
-0 0 0 0 InitTextBox
-/TBxmargin 20 def
-/TBymargin 20 def
-/Boxing false def
-/textshow { ExtendTextBox Gshow } def
-%
-% redundant definitions for compatibility with prologue.ps older than 5.0.2
-/LTB {BL [] LCb DL} def
-/LTb {PL [] LCb DL} def
 end
 %%EndProlog
 %%Page: 1 1
@@ -1904,436 +1861,595 @@ doclip
 0 setgray
 newpath
 (NimbusSanL-Regu) findfont 100 scalefont setfont
-BackgroundColor 0 lt 3 1 roll 0 lt exch 0 lt or or not {gsave BackgroundColor C clippath fill grestore} if
 1.000 UL
 LTb
-LCb setrgbcolor
-490 975 M
+670 1050 M
 63 0 V
-1786 0 R
+1636 0 R
 -63 0 V
 stroke
-430 975 M
+610 1050 M
 [ [(NimbusSanL-Regu) 100.0 0.0 true true 0 ( 0)]
 ] -33.3 MRshow
 1.000 UL
 LTb
-LCb setrgbcolor
-490 1181 M
+670 1239 M
 63 0 V
-1786 0 R
+1636 0 R
 -63 0 V
 stroke
-430 1181 M
-[ [(NimbusSanL-Regu) 100.0 0.0 true true 0 ( 20)]
+610 1239 M
+[ [(NimbusSanL-Regu) 100.0 0.0 true true 0 ( 5000)]
 ] -33.3 MRshow
 1.000 UL
 LTb
-LCb setrgbcolor
-490 1386 M
+670 1428 M
 63 0 V
-1786 0 R
+1636 0 R
 -63 0 V
 stroke
-430 1386 M
-[ [(NimbusSanL-Regu) 100.0 0.0 true true 0 ( 40)]
+610 1428 M
+[ [(NimbusSanL-Regu) 100.0 0.0 true true 0 ( 10000)]
 ] -33.3 MRshow
 1.000 UL
 LTb
-LCb setrgbcolor
-490 1592 M
+670 1617 M
 63 0 V
-1786 0 R
+1636 0 R
 -63 0 V
 stroke
-430 1592 M
-[ [(NimbusSanL-Regu) 100.0 0.0 true true 0 ( 60)]
+610 1617 M
+[ [(NimbusSanL-Regu) 100.0 0.0 true true 0 ( 15000)]
 ] -33.3 MRshow
 1.000 UL
 LTb
-LCb setrgbcolor
-490 1797 M
+670 1806 M
 63 0 V
-1786 0 R
+1636 0 R
 -63 0 V
 stroke
-430 1797 M
-[ [(NimbusSanL-Regu) 100.0 0.0 true true 0 ( 80)]
+610 1806 M
+[ [(NimbusSanL-Regu) 100.0 0.0 true true 0 ( 20000)]
 ] -33.3 MRshow
 1.000 UL
 LTb
-LCb setrgbcolor
-490 2003 M
+670 1994 M
 63 0 V
-1786 0 R
+1636 0 R
 -63 0 V
 stroke
-430 2003 M
-[ [(NimbusSanL-Regu) 100.0 0.0 true true 0 ( 100)]
+610 1994 M
+[ [(NimbusSanL-Regu) 100.0 0.0 true true 0 ( 25000)]
 ] -33.3 MRshow
 1.000 UL
 LTb
-LCb setrgbcolor
-490 2208 M
+670 2183 M
 63 0 V
-1786 0 R
+1636 0 R
 -63 0 V
 stroke
-430 2208 M
-[ [(NimbusSanL-Regu) 100.0 0.0 true true 0 ( 120)]
+610 2183 M
+[ [(NimbusSanL-Regu) 100.0 0.0 true true 0 ( 30000)]
 ] -33.3 MRshow
 1.000 UL
 LTb
-LCb setrgbcolor
-490 2414 M
+670 2372 M
 63 0 V
-1786 0 R
+1636 0 R
 -63 0 V
 stroke
-430 2414 M
-[ [(NimbusSanL-Regu) 100.0 0.0 true true 0 ( 140)]
+610 2372 M
+[ [(NimbusSanL-Regu) 100.0 0.0 true true 0 ( 35000)]
 ] -33.3 MRshow
 1.000 UL
 LTb
-LCb setrgbcolor
-490 2619 M
+670 2561 M
 63 0 V
-1786 0 R
+1636 0 R
 -63 0 V
 stroke
-430 2619 M
-[ [(NimbusSanL-Regu) 100.0 0.0 true true 0 ( 160)]
+610 2561 M
+[ [(NimbusSanL-Regu) 100.0 0.0 true true 0 ( 40000)]
 ] -33.3 MRshow
 1.000 UL
 LTb
-LCb setrgbcolor
-490 2825 M
+670 2750 M
 63 0 V
-1786 0 R
+1636 0 R
 -63 0 V
 stroke
-430 2825 M
-[ [(NimbusSanL-Regu) 100.0 0.0 true true 0 ( 180)]
+610 2750 M
+[ [(NimbusSanL-Regu) 100.0 0.0 true true 0 ( 45000)]
 ] -33.3 MRshow
 1.000 UL
 LTb
-LCb setrgbcolor
-490 975 M
+670 1050 M
 0 63 V
-0 1787 R
+0 1637 R
 0 -63 V
 stroke
-490 875 M
-[ [(NimbusSanL-Regu) 100.0 0.0 true true 0 ( 1)]
+670 950 M
+[ [(NimbusSanL-Regu) 100.0 0.0 true true 0 ( 0)]
 ] -33.3 MCshow
 1.000 UL
 LTb
-LCb setrgbcolor
-754 975 M
+913 1050 M
 0 63 V
-0 1787 R
+0 1637 R
 0 -63 V
 stroke
-754 875 M
-[ [(NimbusSanL-Regu) 100.0 0.0 true true 0 ( 2)]
+913 950 M
+[ [(NimbusSanL-Regu) 100.0 0.0 true true 0 ( 20)]
 ] -33.3 MCshow
 1.000 UL
 LTb
-LCb setrgbcolor
-1018 975 M
+1155 1050 M
 0 63 V
-0 1787 R
+0 1637 R
 0 -63 V
 stroke
-1018 875 M
-[ [(NimbusSanL-Regu) 100.0 0.0 true true 0 ( 3)]
+1155 950 M
+[ [(NimbusSanL-Regu) 100.0 0.0 true true 0 ( 40)]
 ] -33.3 MCshow
 1.000 UL
 LTb
-LCb setrgbcolor
-1282 975 M
+1398 1050 M
 0 63 V
-0 1787 R
+0 1637 R
 0 -63 V
 stroke
-1282 875 M
-[ [(NimbusSanL-Regu) 100.0 0.0 true true 0 ( 4)]
+1398 950 M
+[ [(NimbusSanL-Regu) 100.0 0.0 true true 0 ( 60)]
 ] -33.3 MCshow
 1.000 UL
 LTb
-LCb setrgbcolor
-1547 975 M
+1641 1050 M
 0 63 V
-0 1787 R
+0 1637 R
 0 -63 V
 stroke
-1547 875 M
-[ [(NimbusSanL-Regu) 100.0 0.0 true true 0 ( 5)]
+1641 950 M
+[ [(NimbusSanL-Regu) 100.0 0.0 true true 0 ( 80)]
 ] -33.3 MCshow
 1.000 UL
 LTb
-LCb setrgbcolor
-1811 975 M
+1884 1050 M
 0 63 V
-0 1787 R
+0 1637 R
 0 -63 V
 stroke
-1811 875 M
-[ [(NimbusSanL-Regu) 100.0 0.0 true true 0 ( 6)]
+1884 950 M
+[ [(NimbusSanL-Regu) 100.0 0.0 true true 0 ( 100)]
 ] -33.3 MCshow
 1.000 UL
 LTb
-LCb setrgbcolor
-2075 975 M
+2126 1050 M
 0 63 V
-0 1787 R
+0 1637 R
 0 -63 V
 stroke
-2075 875 M
-[ [(NimbusSanL-Regu) 100.0 0.0 true true 0 ( 7)]
+2126 950 M
+[ [(NimbusSanL-Regu) 100.0 0.0 true true 0 ( 120)]
 ] -33.3 MCshow
 1.000 UL
 LTb
-LCb setrgbcolor
-2339 975 M
+2369 1050 M
 0 63 V
-0 1787 R
+0 1637 R
 0 -63 V
 stroke
-2339 875 M
-[ [(NimbusSanL-Regu) 100.0 0.0 true true 0 ( 8)]
+2369 950 M
+[ [(NimbusSanL-Regu) 100.0 0.0 true true 0 ( 140)]
 ] -33.3 MCshow
 1.000 UL
 LTb
-LCb setrgbcolor
-1.000 UL
-LTB
-LCb setrgbcolor
-490 2825 N
-490 975 L
-1849 0 V
-0 1850 V
--1849 0 V
-Z stroke
-1.000 UP
 1.000 UL
 LTb
+670 2750 N
+0 -1700 V
+1699 0 V
+0 1700 V
+-1699 0 V
+Z stroke
 LCb setrgbcolor
-LCb setrgbcolor
-80 1900 M
+140 1900 M
 currentpoint gsave translate -270 rotate 0 0 moveto
 [ [(NimbusSanL-Regu) 100.0 0.0 true true 0 (Time Per Increment \(ns\))]
 ] -33.3 MCshow
 grestore
 LTb
 LCb setrgbcolor
-1414 725 M
+1519 800 M
 [ [(NimbusSanL-Regu) 100.0 0.0 true true 0 (Number of CPUs \(Threads\))]
 ] -33.3 MCshow
 LTb
-% Begin plot #1
 1.000 UP
 1.000 UL
 LTb
-LCb setrgbcolor
+% Begin plot #1
+1.000 UP
+1.000 UL
+LT0
 /NimbusSanL-Regu findfont 100 scalefont setfont
-/vshift -33 def
-490 1019 M
-0 10 V
-0 -10 R
-31 0 V
--31 10 R
-31 0 V
-233 335 R
-0 28 V
--31 -28 R
-62 0 V
--62 28 R
-62 0 V
-233 102 R
-0 112 V
-987 1494 M
-62 0 V
--62 112 R
-62 0 V
-233 3 R
-0 199 V
--31 -199 R
-62 0 V
--62 199 R
-62 0 V
-234 69 R
-0 133 V
--31 -133 R
-62 0 V
--62 133 R
-62 0 V
-233 -1 R
-0 241 V
--31 -241 R
-62 0 V
--62 241 R
-62 0 V
-233 -56 R
-0 238 V
--31 -238 R
-62 0 V
--62 238 R
-62 0 V
-233 63 R
-0 200 V
--31 -200 R
-31 0 V
--31 200 R
-31 0 V
-490 1023 Pls
-754 1378 Pls
-1018 1569 Pls
-1282 1696 Pls
-1547 1934 Pls
-1811 2119 Pls
-2075 2300 Pls
-2339 2625 Pls
+682 1051 M
+0 1 V
+-31 -1 R
+62 0 V
+-62 1 R
+62 0 V
+18 12 R
+0 3 V
+-31 -3 R
+62 0 V
+-62 3 R
+62 0 V
+17 12 R
+0 6 V
+-31 -6 R
+62 0 V
+-62 6 R
+62 0 V
+18 20 R
+0 6 V
+-31 -6 R
+62 0 V
+-62 6 R
+62 0 V
+17 27 R
+0 9 V
+-31 -9 R
+62 0 V
+-62 9 R
+62 0 V
+18 32 R
+0 12 V
+-31 -12 R
+62 0 V
+-62 12 R
+62 0 V
+17 26 R
+0 14 V
+-31 -14 R
+62 0 V
+-62 14 R
+62 0 V
+18 32 R
+0 30 V
+-31 -30 R
+62 0 V
+-62 30 R
+62 0 V
+17 29 R
+0 46 V
+-31 -46 R
+62 0 V
+-62 46 R
+62 0 V
+18 6 R
+0 45 V
+-31 -45 R
+62 0 V
+-62 45 R
+62 0 V
+18 42 R
+0 48 V
+-31 -48 R
+62 0 V
+-62 48 R
+62 0 V
+17 24 R
+0 39 V
+-31 -39 R
+62 0 V
+-62 39 R
+62 0 V
+18 22 R
+0 58 V
+-31 -58 R
+62 0 V
+-62 58 R
+62 0 V
+17 24 R
+0 32 V
+-31 -32 R
+62 0 V
+-62 32 R
+62 0 V
+18 29 R
+0 82 V
+-31 -82 R
+62 0 V
+-62 82 R
+62 0 V
+17 -33 R
+0 74 V
+-31 -74 R
+62 0 V
+-62 74 R
+62 0 V
+18 -5 R
+0 79 V
+-31 -79 R
+62 0 V
+-62 79 R
+62 0 V
+17 -13 R
+0 83 V
+-31 -83 R
+62 0 V
+stroke 1538 1921 M
+-62 83 R
+62 0 V
+18 -32 R
+0 72 V
+-31 -72 R
+62 0 V
+-62 72 R
+62 0 V
+17 -12 R
+0 85 V
+-31 -85 R
+62 0 V
+-62 85 R
+62 0 V
+18 -31 R
+0 55 V
+-31 -55 R
+62 0 V
+-62 55 R
+62 0 V
+18 -12 R
+0 107 V
+-31 -107 R
+62 0 V
+-62 107 R
+62 0 V
+17 -48 R
+0 81 V
+-31 -81 R
+62 0 V
+-62 81 R
+62 0 V
+18 -31 R
+0 69 V
+-31 -69 R
+62 0 V
+-62 69 R
+62 0 V
+17 -36 R
+0 90 V
+-31 -90 R
+62 0 V
+-62 90 R
+62 0 V
+18 -51 R
+0 79 V
+-31 -79 R
+62 0 V
+-62 79 R
+62 0 V
+17 0 R
+0 47 V
+-31 -47 R
+62 0 V
+-62 47 R
+62 0 V
+18 -221 R
+0 217 V
+-31 -217 R
+62 0 V
+-62 217 R
+62 0 V
+17 31 R
+0 83 V
+-31 -83 R
+62 0 V
+-62 83 R
+62 0 V
+18 -291 R
+0 304 V
+-31 -304 R
+62 0 V
+-62 304 R
+62 0 V
+17 -44 R
+0 104 V
+-31 -104 R
+62 0 V
+-62 104 R
+62 0 V
+18 -16 R
+0 73 V
+-31 -73 R
+62 0 V
+-62 73 R
+62 0 V
+682 1052 Pls
+731 1066 Pls
+779 1081 Pls
+828 1108 Pls
+876 1143 Pls
+925 1185 Pls
+973 1224 Pls
+1022 1276 Pls
+1070 1339 Pls
+1119 1404 Pls
+1168 1479 Pls
+1216 1548 Pls
+1265 1630 Pls
+1313 1690 Pls
+1362 1764 Pls
+1410 1823 Pls
+1459 1888 Pls
+1507 1969 Pls
+1556 2005 Pls
+1604 2071 Pls
+1653 2123 Pls
+1702 2171 Pls
+1750 2223 Pls
+1799 2276 Pls
+1847 2336 Pls
+1896 2353 Pls
+1944 2416 Pls
+1993 2352 Pls
+2041 2515 Pls
+2090 2453 Pls
+2138 2572 Pls
+2187 2650 Pls
 % End plot #1
 % Begin plot #2
 1.000 UL
-LTb
 LT1
-LCb setrgbcolor
 /NimbusSanL-Regu findfont 100 scalefont setfont
-490 1023 M
-264 355 V
-264 191 V
-264 127 V
-265 238 V
-264 185 V
-264 181 V
-264 325 V
+682 1052 M
+49 14 V
+48 15 V
+49 27 V
+48 35 V
+49 42 V
+48 39 V
+49 52 V
+48 63 V
+49 65 V
+49 75 V
+48 69 V
+49 82 V
+48 60 V
+49 74 V
+48 59 V
+49 65 V
+48 81 V
+49 36 V
+48 66 V
+49 52 V
+49 48 V
+48 52 V
+49 53 V
+48 60 V
+49 17 V
+48 63 V
+49 -64 V
+48 163 V
+49 -62 V
+48 119 V
+49 78 V
 % End plot #2
 % Begin plot #3
 stroke
-LTb
 LT2
-LCb setrgbcolor
 /NimbusSanL-Regu findfont 100 scalefont setfont
-490 1066 M
-19 0 V
-18 0 V
-19 0 V
-19 0 V
-18 0 V
-19 0 V
-19 0 V
-18 0 V
-19 0 V
-19 0 V
-18 0 V
-19 0 V
-19 0 V
-18 0 V
-19 0 V
-19 0 V
-19 0 V
-18 0 V
-19 0 V
-19 0 V
-18 0 V
-19 0 V
-19 0 V
-18 0 V
-19 0 V
-19 0 V
-18 0 V
-19 0 V
-19 0 V
-18 0 V
-19 0 V
-19 0 V
-18 0 V
-19 0 V
-19 0 V
-18 0 V
-19 0 V
-19 0 V
-18 0 V
-19 0 V
-19 0 V
-18 0 V
-19 0 V
-19 0 V
-18 0 V
-19 0 V
-19 0 V
-18 0 V
-19 0 V
-19 0 V
-19 0 V
-18 0 V
-19 0 V
-19 0 V
-18 0 V
-19 0 V
-19 0 V
-18 0 V
-19 0 V
-19 0 V
-18 0 V
-19 0 V
-19 0 V
-18 0 V
-19 0 V
-19 0 V
-18 0 V
-19 0 V
-19 0 V
-18 0 V
-19 0 V
-19 0 V
-18 0 V
-19 0 V
-19 0 V
-18 0 V
-19 0 V
-19 0 V
-18 0 V
-19 0 V
-19 0 V
-18 0 V
-19 0 V
-19 0 V
-19 0 V
-18 0 V
-19 0 V
-19 0 V
-18 0 V
-19 0 V
-19 0 V
-18 0 V
-19 0 V
-19 0 V
-18 0 V
-19 0 V
-19 0 V
-18 0 V
-19 0 V
+682 1050 M
+15 0 V
+16 0 V
+15 0 V
+15 0 V
+15 0 V
+15 0 V
+16 0 V
+15 0 V
+15 0 V
+15 0 V
+15 0 V
+16 0 V
+15 0 V
+15 0 V
+15 0 V
+15 0 V
+16 0 V
+15 0 V
+15 0 V
+15 0 V
+15 0 V
+16 0 V
+15 0 V
+15 0 V
+15 0 V
+15 0 V
+16 0 V
+15 0 V
+15 0 V
+15 0 V
+15 0 V
+16 0 V
+15 0 V
+15 0 V
+15 0 V
+15 0 V
+16 0 V
+15 0 V
+15 0 V
+15 0 V
+15 0 V
+16 0 V
+15 0 V
+15 0 V
+15 0 V
+15 0 V
+16 0 V
+15 0 V
+15 0 V
+15 0 V
+15 0 V
+16 0 V
+15 0 V
+15 0 V
+15 0 V
+15 0 V
+16 0 V
+15 0 V
+15 0 V
+15 0 V
+15 0 V
+16 0 V
+15 0 V
+15 0 V
+15 0 V
+15 0 V
+16 0 V
+15 0 V
+15 0 V
+15 0 V
+15 0 V
+16 0 V
+15 0 V
+15 0 V
+15 0 V
+15 0 V
+16 0 V
+15 0 V
+15 0 V
+15 0 V
+15 0 V
+16 0 V
+15 0 V
+15 0 V
+15 0 V
+15 0 V
+16 0 V
+15 0 V
+15 0 V
+15 0 V
+15 0 V
+16 0 V
+15 0 V
+15 0 V
+15 0 V
+15 0 V
+16 0 V
+15 0 V
+15 0 V
 % End plot #3
 stroke
-2.000 UL
 LTb
-LCb setrgbcolor
-1.000 UL
-LTB
-LCb setrgbcolor
-490 2825 N
-490 975 L
-1849 0 V
-0 1850 V
--1849 0 V
+670 2750 N
+0 -1700 V
+1699 0 V
+0 1700 V
+-1699 0 V
 Z stroke
 1.000 UP
 1.000 UL
 LTb
-LCb setrgbcolor
 stroke
 grestore
 end
diff --git a/CodeSamples/count/atomic125.png b/CodeSamples/count/atomic125.png
index 8cb327e16335a307735e8f9423a973fa5b7362aa..f2b860ae4d0615f7580a5320ee7305cfd0777739 100644
GIT binary patch
delta 2897
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
EKlOoE^Z)<=

delta 2747
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
BSH=JU

diff --git a/CodeSamples/count/atomic_nehalem.eps b/CodeSamples/count/atomic_nehalem.eps
new file mode 100644
index 0000000..5e3ed2b
--- /dev/null
+++ b/CodeSamples/count/atomic_nehalem.eps
@@ -0,0 +1,2266 @@
+%!PS-Adobe-2.0
+%%Title: Is Parallel Programming Hard, And, If So, What Can You Do About It?
+%%Creator: gnuplot 4.4 patchlevel 0
+%%CreationDate: Wed Jan  5 07:20:50 2011
+%%DocumentFonts: (atend)
+%%BoundingBox: 50 95 302 355
+%%Orientation: Portrait
+%%Pages: (atend)
+%%EndComments
+%%BeginProlog
+/gnudict 256 dict def
+gnudict begin
+%
+% The following true/false flags may be edited by hand if desired.
+% The unit line width and grayscale image gamma correction may also be changed.
+%
+/Color false def
+/Blacktext false def
+/Solid false def
+/Dashlength 1 def
+/Landscape false def
+/Level1 false def
+/Rounded false def
+/ClipToBoundingBox false def
+/TransparentPatterns false def
+/gnulinewidth 5.000 def
+/userlinewidth gnulinewidth def
+/Gamma 1.0 def
+%
+/vshift -33 def
+/dl1 {
+  10.0 Dashlength mul mul
+  Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if
+} def
+/dl2 {
+  10.0 Dashlength mul mul
+  Rounded { currentlinewidth 0.75 mul add } if
+} def
+/hpt_ 31.5 def
+/vpt_ 31.5 def
+/hpt hpt_ def
+/vpt vpt_ def
+Level1 {} {
+/SDict 10 dict def
+systemdict /pdfmark known not {
+  userdict /pdfmark systemdict /cleartomark get put
+} if
+SDict begin [
+  /Title (Is Parallel Programming Hard, And, If So, What Can You Do About It?)
+  /Subject (gnuplot plot)
+  /Creator (gnuplot 4.4 patchlevel 0)
+  /Author (paulmck)
+%  /Producer (gnuplot)
+%  /Keywords ()
+  /CreationDate (Wed Jan  5 07:20:50 2011)
+  /DOCINFO pdfmark
+end
+} ifelse
+/doclip {
+  ClipToBoundingBox {
+    newpath 50 50 moveto 302 50 lineto 302 410 lineto 50 410 lineto closepath
+    clip
+  } if
+} def
+%
+% Gnuplot Prolog Version 4.4 (January 2010)
+%
+%/SuppressPDFMark true def
+%
+/M {moveto} bind def
+/L {lineto} bind def
+/R {rmoveto} bind def
+/V {rlineto} bind def
+/N {newpath moveto} bind def
+/Z {closepath} bind def
+/C {setrgbcolor} bind def
+/f {rlineto fill} bind def
+/Gshow {show} def   % May be redefined later in the file to support UTF-8
+/vpt2 vpt 2 mul def
+/hpt2 hpt 2 mul def
+/Lshow {currentpoint stroke M 0 vshift R 
+	Blacktext {gsave 0 setgray show grestore} {show} ifelse} def
+/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R
+	Blacktext {gsave 0 setgray show grestore} {show} ifelse} def
+/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 
+	Blacktext {gsave 0 setgray show grestore} {show} ifelse} def
+/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def
+  /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def
+/DL {Color {setrgbcolor Solid {pop []} if 0 setdash}
+ {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def
+/BL {stroke userlinewidth 2 mul setlinewidth
+	Rounded {1 setlinejoin 1 setlinecap} if} def
+/AL {stroke userlinewidth 2 div setlinewidth
+	Rounded {1 setlinejoin 1 setlinecap} if} def
+/UL {dup gnulinewidth mul /userlinewidth exch def
+	dup 1 lt {pop 1} if 10 mul /udl exch def} def
+/PL {stroke userlinewidth setlinewidth
+	Rounded {1 setlinejoin 1 setlinecap} if} def
+% Default Line colors
+/LCw {1 1 1} def
+/LCb {0 0 0} def
+/LCa {0 0 0} def
+/LC0 {1 0 0} def
+/LC1 {0 1 0} def
+/LC2 {0 0 1} def
+/LC3 {1 0 1} def
+/LC4 {0 1 1} def
+/LC5 {1 1 0} def
+/LC6 {0 0 0} def
+/LC7 {1 0.3 0} def
+/LC8 {0.5 0.5 0.5} def
+% Default Line Types
+/LTw {PL [] 1 setgray} def
+/LTb {BL [] LCb DL} def
+/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def
+/LT0 {PL [] LC0 DL} def
+/LT1 {PL [4 dl1 2 dl2] LC1 DL} def
+/LT2 {PL [2 dl1 3 dl2] LC2 DL} def
+/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def
+/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def
+/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def
+/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def
+/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def
+/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def
+/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def
+/Dia {stroke [] 0 setdash 2 copy vpt add M
+  hpt neg vpt neg V hpt vpt neg V
+  hpt vpt V hpt neg vpt V closepath stroke
+  Pnt} def
+/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V
+  currentpoint stroke M
+  hpt neg vpt neg R hpt2 0 V stroke
+ } def
+/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M
+  0 vpt2 neg V hpt2 0 V 0 vpt2 V
+  hpt2 neg 0 V closepath stroke
+  Pnt} def
+/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M
+  hpt2 vpt2 neg V currentpoint stroke M
+  hpt2 neg 0 R hpt2 vpt2 V stroke} def
+/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M
+  hpt neg vpt -1.62 mul V
+  hpt 2 mul 0 V
+  hpt neg vpt 1.62 mul V closepath stroke
+  Pnt} def
+/Star {2 copy Pls Crs} def
+/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M
+  0 vpt2 neg V hpt2 0 V 0 vpt2 V
+  hpt2 neg 0 V closepath fill} def
+/TriUF {stroke [] 0 setdash vpt 1.12 mul add M
+  hpt neg vpt -1.62 mul V
+  hpt 2 mul 0 V
+  hpt neg vpt 1.62 mul V closepath fill} def
+/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M
+  hpt neg vpt 1.62 mul V
+  hpt 2 mul 0 V
+  hpt neg vpt -1.62 mul V closepath stroke
+  Pnt} def
+/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M
+  hpt neg vpt 1.62 mul V
+  hpt 2 mul 0 V
+  hpt neg vpt -1.62 mul V closepath fill} def
+/DiaF {stroke [] 0 setdash vpt add M
+  hpt neg vpt neg V hpt vpt neg V
+  hpt vpt V hpt neg vpt V closepath fill} def
+/Pent {stroke [] 0 setdash 2 copy gsave
+  translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
+  closepath stroke grestore Pnt} def
+/PentF {stroke [] 0 setdash gsave
+  translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
+  closepath fill grestore} def
+/Circle {stroke [] 0 setdash 2 copy
+  hpt 0 360 arc stroke Pnt} def
+/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def
+/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def
+/C1 {BL [] 0 setdash 2 copy moveto
+	2 copy vpt 0 90 arc closepath fill
+	vpt 0 360 arc closepath} bind def
+/C2 {BL [] 0 setdash 2 copy moveto
+	2 copy vpt 90 180 arc closepath fill
+	vpt 0 360 arc closepath} bind def
+/C3 {BL [] 0 setdash 2 copy moveto
+	2 copy vpt 0 180 arc closepath fill
+	vpt 0 360 arc closepath} bind def
+/C4 {BL [] 0 setdash 2 copy moveto
+	2 copy vpt 180 270 arc closepath fill
+	vpt 0 360 arc closepath} bind def
+/C5 {BL [] 0 setdash 2 copy moveto
+	2 copy vpt 0 90 arc
+	2 copy moveto
+	2 copy vpt 180 270 arc closepath fill
+	vpt 0 360 arc} bind def
+/C6 {BL [] 0 setdash 2 copy moveto
+	2 copy vpt 90 270 arc closepath fill
+	vpt 0 360 arc closepath} bind def
+/C7 {BL [] 0 setdash 2 copy moveto
+	2 copy vpt 0 270 arc closepath fill
+	vpt 0 360 arc closepath} bind def
+/C8 {BL [] 0 setdash 2 copy moveto
+	2 copy vpt 270 360 arc closepath fill
+	vpt 0 360 arc closepath} bind def
+/C9 {BL [] 0 setdash 2 copy moveto
+	2 copy vpt 270 450 arc closepath fill
+	vpt 0 360 arc closepath} bind def
+/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill
+	2 copy moveto
+	2 copy vpt 90 180 arc closepath fill
+	vpt 0 360 arc closepath} bind def
+/C11 {BL [] 0 setdash 2 copy moveto
+	2 copy vpt 0 180 arc closepath fill
+	2 copy moveto
+	2 copy vpt 270 360 arc closepath fill
+	vpt 0 360 arc closepath} bind def
+/C12 {BL [] 0 setdash 2 copy moveto
+	2 copy vpt 180 360 arc closepath fill
+	vpt 0 360 arc closepath} bind def
+/C13 {BL [] 0 setdash 2 copy moveto
+	2 copy vpt 0 90 arc closepath fill
+	2 copy moveto
+	2 copy vpt 180 360 arc closepath fill
+	vpt 0 360 arc closepath} bind def
+/C14 {BL [] 0 setdash 2 copy moveto
+	2 copy vpt 90 360 arc closepath fill
+	vpt 0 360 arc} bind def
+/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill
+	vpt 0 360 arc closepath} bind def
+/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto
+	neg 0 rlineto closepath} bind def
+/Square {dup Rec} bind def
+/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def
+/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def
+/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def
+/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def
+/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def
+/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def
+/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill
+	exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def
+/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def
+/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill
+	2 copy vpt Square fill Bsquare} bind def
+/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def
+/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def
+/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill
+	Bsquare} bind def
+/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill
+	Bsquare} bind def
+/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def
+/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill
+	2 copy vpt Square fill Bsquare} bind def
+/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill
+	2 copy exch vpt sub exch vpt Square fill Bsquare} bind def
+/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def
+/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def
+/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def
+/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def
+/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def
+/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def
+/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def
+/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def
+/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def
+/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def
+/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def
+/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def
+/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def
+/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def
+/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def
+/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def
+/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def
+/DiaE {stroke [] 0 setdash vpt add M
+  hpt neg vpt neg V hpt vpt neg V
+  hpt vpt V hpt neg vpt V closepath stroke} def
+/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M
+  0 vpt2 neg V hpt2 0 V 0 vpt2 V
+  hpt2 neg 0 V closepath stroke} def
+/TriUE {stroke [] 0 setdash vpt 1.12 mul add M
+  hpt neg vpt -1.62 mul V
+  hpt 2 mul 0 V
+  hpt neg vpt 1.62 mul V closepath stroke} def
+/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M
+  hpt neg vpt 1.62 mul V
+  hpt 2 mul 0 V
+  hpt neg vpt -1.62 mul V closepath stroke} def
+/PentE {stroke [] 0 setdash gsave
+  translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
+  closepath stroke grestore} def
+/CircE {stroke [] 0 setdash 
+  hpt 0 360 arc stroke} def
+/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def
+/DiaW {stroke [] 0 setdash vpt add M
+  hpt neg vpt neg V hpt vpt neg V
+  hpt vpt V hpt neg vpt V Opaque stroke} def
+/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M
+  0 vpt2 neg V hpt2 0 V 0 vpt2 V
+  hpt2 neg 0 V Opaque stroke} def
+/TriUW {stroke [] 0 setdash vpt 1.12 mul add M
+  hpt neg vpt -1.62 mul V
+  hpt 2 mul 0 V
+  hpt neg vpt 1.62 mul V Opaque stroke} def
+/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M
+  hpt neg vpt 1.62 mul V
+  hpt 2 mul 0 V
+  hpt neg vpt -1.62 mul V Opaque stroke} def
+/PentW {stroke [] 0 setdash gsave
+  translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
+  Opaque stroke grestore} def
+/CircW {stroke [] 0 setdash 
+  hpt 0 360 arc Opaque stroke} def
+/BoxFill {gsave Rec 1 setgray fill grestore} def
+/Density {
+  /Fillden exch def
+  currentrgbcolor
+  /ColB exch def /ColG exch def /ColR exch def
+  /ColR ColR Fillden mul Fillden sub 1 add def
+  /ColG ColG Fillden mul Fillden sub 1 add def
+  /ColB ColB Fillden mul Fillden sub 1 add def
+  ColR ColG ColB setrgbcolor} def
+/BoxColFill {gsave Rec PolyFill} def
+/PolyFill {gsave Density fill grestore grestore} def
+/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def
+%
+% PostScript Level 1 Pattern Fill routine for rectangles
+% Usage: x y w h s a XX PatternFill
+%	x,y = lower left corner of box to be filled
+%	w,h = width and height of box
+%	  a = angle in degrees between lines and x-axis
+%	 XX = 0/1 for no/yes cross-hatch
+%
+/PatternFill {gsave /PFa [ 9 2 roll ] def
+  PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate
+  PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec
+  gsave 1 setgray fill grestore clip
+  currentlinewidth 0.5 mul setlinewidth
+  /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def
+  0 0 M PFa 5 get rotate PFs -2 div dup translate
+  0 1 PFs PFa 4 get div 1 add floor cvi
+	{PFa 4 get mul 0 M 0 PFs V} for
+  0 PFa 6 get ne {
+	0 1 PFs PFa 4 get div 1 add floor cvi
+	{PFa 4 get mul 0 2 1 roll M PFs 0 V} for
+ } if
+  stroke grestore} def
+%
+/languagelevel where
+ {pop languagelevel} {1} ifelse
+ 2 lt
+	{/InterpretLevel1 true def}
+	{/InterpretLevel1 Level1 def}
+ ifelse
+%
+% PostScript level 2 pattern fill definitions
+%
+/Level2PatternFill {
+/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8}
+	bind def
+/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def
+<< Tile8x8
+ /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 
+>> matrix makepattern
+/Pat1 exch def
+<< Tile8x8
+ /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke
+	0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke}
+>> matrix makepattern
+/Pat2 exch def
+<< Tile8x8
+ /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L
+	8 8 L 8 0 L 0 0 L fill}
+>> matrix makepattern
+/Pat3 exch def
+<< Tile8x8
+ /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L
+	0 12 M 12 0 L stroke}
+>> matrix makepattern
+/Pat4 exch def
+<< Tile8x8
+ /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L
+	0 -4 M 12 8 L stroke}
+>> matrix makepattern
+/Pat5 exch def
+<< Tile8x8
+ /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L
+	0 12 M 8 -4 L 4 12 M 10 0 L stroke}
+>> matrix makepattern
+/Pat6 exch def
+<< Tile8x8
+ /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L
+	0 -4 M 8 12 L 4 -4 M 10 8 L stroke}
+>> matrix makepattern
+/Pat7 exch def
+<< Tile8x8
+ /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L
+	12 0 M -4 8 L 12 4 M 0 10 L stroke}
+>> matrix makepattern
+/Pat8 exch def
+<< Tile8x8
+ /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L
+	-4 0 M 12 8 L -4 4 M 8 10 L stroke}
+>> matrix makepattern
+/Pat9 exch def
+/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def
+/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def
+/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def
+/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def
+/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def
+/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def
+/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def
+} def
+%
+%
+%End of PostScript Level 2 code
+%
+/PatternBgnd {
+  TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse
+} def
+%
+% Substitute for Level 2 pattern fill codes with
+% grayscale if Level 2 support is not selected.
+%
+/Level1PatternFill {
+/Pattern1 {0.250 Density} bind def
+/Pattern2 {0.500 Density} bind def
+/Pattern3 {0.750 Density} bind def
+/Pattern4 {0.125 Density} bind def
+/Pattern5 {0.375 Density} bind def
+/Pattern6 {0.625 Density} bind def
+/Pattern7 {0.875 Density} bind def
+} def
+%
+% Now test for support of Level 2 code
+%
+Level1 {Level1PatternFill} {Level2PatternFill} ifelse
+%
+/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont
+dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall
+currentdict end definefont pop
+/MFshow {
+   { dup 5 get 3 ge
+     { 5 get 3 eq {gsave} {grestore} ifelse }
+     {dup dup 0 get findfont exch 1 get scalefont setfont
+     [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6
+     get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq
+     {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5
+     get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div
+     dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get
+     show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop
+     pop aload pop M} ifelse }ifelse }ifelse }
+     ifelse }
+   forall} def
+/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def
+/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse }
+ {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont
+     6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def
+/MLshow { currentpoint stroke M
+  0 exch R
+  Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def
+/MRshow { currentpoint stroke M
+  exch dup MFwidth neg 3 -1 roll R
+  Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def
+/MCshow { currentpoint stroke M
+  exch dup MFwidth -2 div 3 -1 roll R
+  Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def
+/XYsave    { [( ) 1 2 true false 3 ()] } bind def
+/XYrestore { [( ) 1 2 true false 4 ()] } bind def
+%%BeginProcSet: ../../fonts/uhvr8a.pfb
+%!PS-AdobeFont-1.0: NimbusSanL-Regu 1.05a
+%%Title: Is Parallel Programming Hard, And, If So, What Can You Do About It?
+%%CreationDate: Thu Mar 20 10:08:51 2003
+%%Creator: Primoz Peterlin
+%%DocumentSuppliedResources: font NimbusSanL-Regu
+% Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development
+% Generated by PfaEdit 1.0 (http://pfaedit.sf.net/)
+%%EndComments
+FontDirectory/NimbusSanL-Regu known{/NimbusSanL-Regu findfont dup/UniqueID known{dup
+/UniqueID
+get 5020902 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /NimbusSanL-Regu def
+/FontBBox [-174 -285 1001 953 ]readonly def
+/UniqueID 5020902 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+ /version (1.05a) readonly def
+ /Notice (Copyright \050URW\051++,Copyright 1999 by \050URW\051++ Design & De\
+velopment) readonly def
+ /FullName (Nimbus Sans L Regular) readonly def
+ /FamilyName (Nimbus Sans L) readonly def
+ /Weight (Regular) readonly def
+ /ItalicAngle 0 def
+ /isFixedPitch false def
+ /UnderlinePosition -151 def
+ /UnderlineThickness 50 def
+end readonly def
+/Encoding StandardEncoding def
+currentdict end
+currentfile eexec
+69d900414434c93d12731064fd536c430f0d1610cd3375452676cd606a5bb242
+c10907a5bd9376f92a21ad5b1848a71c72c2b1f2e98fc6dbfb2e6c7d58f554dd
+1e867bfc4b07a94035a628f3e0ae48fd1aae1cd99ea9bd6a0c2a5cfb81777d13
+ff195e956f8556495b0e331dfab4b85e7ed17e24a88bdd49ed1e6a99e1ea53bd
+56db08d1b932c6f8710f4f02883a38439bbb0802fab586d7afd17c75c2c867dc
+8595e7f5d98f9a3c5a1e366b3823919841929cc44f5fe6d2a0393fdebd1d14ef
+b6fae1fa9d15b5c57b3b3e241b704a53dd0f8d1edf05b0d574935acd7a667a8e
+8743b27e906be3128e9943b31050d63500866cdaab6903605abffe737e95baa8
+cad2c6cd5380ff5961ccbc56980823ae0dc1f87ec51d79b152eaf1610afc7d0a
+7275025ea45420cb6462ff426fd3a0f9f6356012188b3b072c9b3ac6e09e111e
+66f203b84b28fa74e02f510bf39a9cb0da968a5287382c753a24e4b9b2a1b1b9
+0dfb3ef712e23996a31f115b9f6df17db1dfd368eb1a5ac477473b492bd7f155
+486c9f1d6f2818430819af48fa0e8228f88709c33e4522dd66cd8bd3889d987e
+5c937a18018b64af4ca6ff1cc26375559e2e811867c10da979533c1fb61b0713
+d41619f53e993b6077539498beabf1cbc6135280888735b11ccf273ee1057b31
+affed835f9c07d59634c7b98cfc5973a20ab5704e65ed9508506fcd91d14a007
+dda6a32cbb92089f23879796c84033d649be7aee25fcdf372639eafa8b4f7119
+a94c1a2557be20cc99730867f3f12fa0d94060021a31b6ab77a76b3a82c5c21d
+1655f9d60323cbd0370efa4a7ffe43ecee2ff2010f2198d5eaa915a1214a628f
+539840b827766ee0723fb98694ebc19c52918bc041362e7d04f18f2b89a73098
+4f33bf9f3166f182cbe9c7f9634c0ff3c4595f0dbe6211ae7bfe2dd1dc7300eb
+2e2dad4fe6db12fd1d656e5b9723e9b459e88ff180d7cf1694ddeab7835372b4
+2840c0c8e32ebf80bd51b9b0a2bc7eb5138b97c9bfc0b1601c4d50063e8fb4bc
+d9ccc8285f548d0dbf8fed28461b2b566fa49155a8afc116434b39a80dea350a
+2af2ed3e0ab1f8a3dc4399ef04a51aff29847eea033d8e37195ba171287bb3f9
+fb79ce4cc7655690e65382e789b41c41c77b2d243ff4aea956d5f5218acca29f
+abdad21a2cb80d16023b4af7d030ba2708d94b6bf8605c6ecf8b6671bb1744c6
+355e1a6711e486de31d2776d66120f13950bccd6fef9c22dcead1181146da0fc
+bc27f02e676ef58233e21381ecd7b548158b622e5c65c680f85339a93941020b
+ebdfdfd1ccf0e84d8f10c927d146866249ca7a1f05301063aad96650ac58894e
+4bd3a8597a039665257522809fc9c5a0f2561ba71185a191bc66dedb187acb59
+0e6b5d673e24e5b1efbf79bdc092690cce83ec0c64176d5ac1451b55cee4a860
+ed34e2fc4547f314bdf234d7d36ef03a241257518e9906fdcdfbd7e7b4c648a4
+1341787677bda550341b2f1dd6e4e8d22305e213e2e177da99d22d2ae0e15e63
+17c24dcd04ea82aefe5137553f2c394e8fa1ab72e31a31d995abae6181753ec8
+e7594f7e8810895a7545cf7e5698b05fa8a2bcf47fad1e4a86b28fa010cff56a
+384800455be036ee896dff611fb78dfefdb0f0e48a9813080db35089bbcba525
+4f78a64e4090edf276645961c355bcd58b4d61f8c9797172f66a5814b1616c8b
+fd6d3860cbeddc58f45670c2f28cc437e2e3d42ccecb4b145aaef9cae80c6547
+ea68c0d453945f7cb55e03fbdc29cf12046ca3f4638b131e03ea8a4d86efe79e
+e274f4faa3e8043ae78c7ded728931c69b9f707cde97442b360779d4a07d1d8a
+aaa7067444fbd50b106389c0c6c1917f72000e75a7f058ab549fbeaef528db44
+dbea3021441d9a00f04da765d9dde32f8a88ee07a77d530260443ddeddadef98
+b1eeafa5f6ed123e0ced5ef2f913911022705305bd94b9677c7db01eb32805d3
+57b6cb408978d492a8d8002925c55cfb20aaed5531a44fa926093a1cb2f373e1
+8a9dc8b2b87a39417d78d8899bddf305a682b4da5855dfad242d3115b7592d85
+0152057ee65b6382611580f8e1423b68e9dec70e8bc41368f1c07072f5bcc3c7
+c55d7f1126f1bd66fdc19e8190b4be56ee011c9485713f28d33d325bf17af103
+c3d05e77ba7cd12d8eced28c4267396f3a7155a8737f9b0d7db0319dad607ffe
+22c319ee64f60c578c35add0a8d9d4d8618f1ee2909de8c549e85dccf16664e9
+fcecd191f8502faa5a84aa4e995b235dcb849f9a38631e3b9adc418f5d6b6872
+5d842d936ce35feb53c542bc0ae4d56f9a2ceccaa12e4893a8e9636497e2f53e
+4f7429e293f84865b0b194d11073d99caad492fc6bfa3c6ae8c12e9d95aa5fe7
+f43a207656b360b4cbd3a5db3320769fdee29279c49084e4b8f79e73ab562bc7
+2424e480cd06ec4625f390849eb491bdb7edb7e1b36c547753cf8f73b7bd0299
+e2d51f2fd2ab4fe53c63c78552f4ebe1bc63a99f3b98646ec45b5198ec94002e
+96698b27a9f1d866dd0aefa30551019eb4fed06363182d67759500c3a762254a
+baf4a2f2a88c43757fa0afe83447634255fc5c1e00f7d267d63eb5fd43af1379
+53153675a67001b84480de176743c240b25a68042aac49ed34a569c8a039e504
+a40a70802f41b44e5800a7aae8e3377b74d39d491daa67bef4ad8170cc81a8a7
+b2cec0a7254f280cda8989c9751bf29c0c9f23043251592d1f0074b8b6aa22c9
+16d7674561cb69a2a4a81938b0f74cb885b1bae7c0655a7c984b6bb390f4b3ec
+2afdb990105cd23b20ffaaaf9275429fbf067b5c12a514241c028d9bcbc5d67e
+e73f5b8935eb6202618ec68bc3fc7ace51a5f57c8915f67299adac78aa16b13d
+d10ca06a91943b36afdce58844433cf2163a70c202bd6284daef9e2ff9c2b947
+4fc4a738c02ed75c70e94189b84ac5545d34d3fbabc01f2ca718059ec54b1be4
+36b1aa20e11123f70792cf315baaa2fc2328a3aa6c506b75b8957c141f634e9f
+637fd26f14d69d0678d5f8ee1a8340daa18aa6aea3bbba81b3ff4b7f4a006021
+05e08503c57c5e8dd6d3c74bf638791cb29cc6a95b2811cf61b3714077befc31
+8c4ee38b64d46e5965a9816cd56b91179b8a92e110f74d2902b8d89db7ddf5b0
+1242e3ca7a31b3dc17e59010e0962bb77092e92c6cfcf43e40e621b86e1845df
+8f8927a0d3012efa854a7b3737608b0016cced92176d4ed553077f245117a4de
+e1b60ad95a83246b63e594f3ee04db9bf961b46f8a7eec15d92216e60256e1bf
+68bb5539e181250f81fd363ce13ca8990dcf8c3ff9152026fc384c1fab27fd52
+484be67f302a25f15a6c401e49e042c15b944150153c99fbff35563340e1b64d
+f5d81d86a5075de64c1e8abd78a50c25b26dc97e99984009138d74bb8eb501aa
+4323746bd9325057b1b5afe094894add806e5a7695fe9b0a14bfd2073a634b53
+b9cb7461b911244ad00d38b9758b2ee330fa934e907162b395ad1f5f7b821d8a
+6b759dd9be83fc0b5d8c0e658db980c6205940e39b5dbbaa35e3bcaef7664c1d
+5df03311f94c6f84ec94a7ba3aa9c1826016e9b117e49eaae4c9c8a243a6890c
+e85200b8f4ec0574543dd594071e24a1c16163cf0ab2d9e187f9e15825f579da
+8c3ed52426f200571834bbdc44adffaa4bc7c2d477f6e80deae0f254d07969ec
+f456fd9597555db37c092b7456da6906a741ef1ce52397cae65ab7fd7e14ad34
+f29913bbf4ecfd81d705e3604c958057241936d1a07e1df6572b46399fed2635
+528af4f2ec88b39f7b01398298382b2f27e7daa3b4d22ce6019413f66a819996
+0357b0175270e79cf7646153233006178b9a6bc43da3a8bf19e9b52fc99f4ba2
+126c53b1ef4a345b2f7e4f98034372230d2b36956329630a38375af28bd94952
+1e9a39f0c9e0d7ac835c4244b341b12053e962e3c36d4299765578eb49d246c4
+09033ca1bd669eb8a62c1194ead50a0d93a09c632250abc2edac18266fc1d0e4
+c1a6fd7df63b46a04ba972ebbfb2609c456a49696fe5bee9eea1aec3f3dd991b
+acbbbf3fda754eda86bb9f9a6cac0da61e177a9091edcb012f7bba3ccb1c13a4
+3926a0d25cb32a4b8c2f629f47992475754878d605e5de8388082e75530174d3
+a4629ebc1f00d628255439fbe94ae6c4fef76b9aa0d1e9ee8b39a0db0fb6c36c
+55084ecbee71ffc5bfe9b178d148ef451a48fc8caeae1dec1ad5a6245560ea4f
+e44e3bf8307603b524702bb129654d181ddadb70c678cdd69088b2dc8261234d
+b9c7a933dc532a29256b34c3a05d779cf97a06d4512c631e3b14687b9e351bc5
+d529008c851c24aa3e8971508e3dc97282f387a82427ab28ecd7fe0374c13d1a
+008ae66dd8944070abaf45e7a60642033c4ee644f929e005007e325ca8af4288
+a49cf7549c047523ea25e489af740105ac3d461aba8c7737876ed3d5c2e879c1
+63d4dac3186d8c4ca15e8e1cef082643d605842de26b20784b5bfa3f09368345
+c9101238b261cd57a6a20ddd5dd38886ebfd84a70d972f891f598e3cd6b85ba9
+7fbe9250967c3b203c6224fc78e91e9105d2d7f72a09204aed2f451df1083214
+1a2221cd0c2d75c37b263af814f3301ddb948aaa80dd0357e35e180517480226
+2303f216b73a87ccd96441172aa81b1e435750e5c665f602fdb02cbac18ff548
+af36f41e219f064c5b64d88ddeae5ada11fbbfdfc1747b8cfde51c128e471add
+c48baa5277ac6f0799c903d18c63c22af20cf2f02f177037738a152a0d5e1730
+4d99d7a4e87eb609c7c0f86fe4ba59140dadd4cde67ee108845e975dfd8d7a1a
+8fce80883e9d22a36e3cf90a1f2103a8d3fd5f53cc8711030d2483f7564f04ab
+b39d0592e327e72139d6a9cdbc148f5add9a192526a4c5366d3d5e566e70cebe
+ba9d2078e2977923fc74b06fafebb81ee4366a32cd3b7ef2632776accfec671b
+7f820c386701a97391bc1d3236ead403f90750dddb6bb12d951162420c6a15fa
+a0bb78248f7ec1ab6a1c69e809cf36c0cfdf283610c3d967a41408d373d5fd72
+385ebc238f18a254982d8b2a49abe28871b49aaf2ca3a3134afffeb9535885dd
+89ba5d2ebce072a99f8718c1ed5f374d18ad3d2ad2c8b193113f1676f4396c92
+b608ca2fe99c258e68a1edb98477ceea17053f6fd1b24229eedeeeb0a296667e
+2896098dc756eca49527d98da373bf15a8ab6af1f80e38282f72e20e5e9a1c1c
+c88578094b535cbbb2b9688e76ed5aa7baef252745a920bd41f2d6d117705e66
+4a179a2ef37e583f98054dacd3f906c5b74e78e836d10d890ef6e51603b61cfd
+cd5121dc2d3ad687bf3245c1325fdf500eac93d45e23b26ba05bcd16cf26e00c
+d63bc2d0c500922aef5900b332ef50b65cc937f54e48919d9d1cecb5e81b3cc8
+62a675ad5b403eac1f9140e2810c26c3a3d74e4fb87ac80e78f97e30479fd649
+fb917a88ef37239ae1e64f7487e5f45a6cec1f613356d7eb5f46eea50271dbd4
+226d6930d1c4e38d1b00cf95e18714a5ed0f0cd6a10203b6601fa373fc31d0af
+f4ebffd288392d480180183b5106346ec0d1cf4d3c8fe21224500d3d3f251bd0
+681a3b6f065fbef75c7308c4d82d089ea490d7ac6380da68f8a88ce96563211f
+edd945549cef2960ec542095fec9dc6b4d4613c61f0de5fe36d0b834bd19501b
+1fb73c05757dc4222a2b4ef45588bf5ef51c5c3f8184c4304702494c828d7f6f
+8fd4378a581b974ae16d51c815c196ff8902c3681f4bfc168d29f067a65a571e
+89b816b4e095f264ba561334031aa8d22c29f1b161531398cf72fa62565fee02
+60b0dcc734c7bcc1532ed7d3a915d12497ebf9de920f508b90622acfbc636b30
+e354220fbc80cacd37085405668bd979d0e18fc748d90381ecebfde7b2ff90a3
+85e9713bc55ce84da933d94bb239be152494d3d57b05aa003dae9f92d5c55e89
+21f16d5ea3591764dd8be1e70b4c19816a4a3aaba875e658fdc67741c203f1d4
+e62b0fe02f63696a48c832f41c5c2e6827a362d48140dd3b2e0afc86fc40a8f2
+c448f196fd8c051b2eae74850d054dbd9ed912456f1dda8a6a8120a9c52f909c
+1517f0f1d60a89111efb276b08455d3bb452417f1d87bcfe0a8f17a0e3dd89ce
+b85987088e283e95d63b7ff850fc9ea13c49f92b5a658b7610a025a6ec490f54
+0287d85697f4ca8e2b3cfc3cdbdf60f3acce2316b49812733b024d44a8e7bb28
+bf01f80808585cacef9c4269dc8f235c15188ace4342ffcf5f0bc646d3e747a3
+53038f60ba7a7db23252ab6a2d1831d9785c82bb6a8f931d012bc2c2bba87e5d
+e0dfc0522e14e959dc634fa72c5bc51a536d322bdac301e2e0cf756e3cf532c4
+004e60a63dcdcfaf661dbba6a85fc3eef3ca4f206f6a2bd5c3ffa0c20c80d288
+d2a6a6f6d3664c5d0355f8b4ac2d706fd472013bc2ec142aae8f141ad97e59d7
+56ce58200d76596b46d6d942e744d6f2588df121ef72c1b4ebfee1f541edd337
+7519ab28632e3cd6c33e83d5320d48b118a32b7943129a8a6fb15cb50db15732
+92eb2fadfce8fcc8c401ff0fa522b3bf30b87d1b24d16131f4ebaa7daea08c5b
+169a3e287357edcfab5b33354cd765305222aa78673761416b29c96ac08886a1
+23ecb2e381370c6b2057fba48637c818db92bf8de894ae937782beaa4e32db70
+a720949ea2bcfc54bb196122387ba771441ffecbd6e0fb54efd294a3d109d123
+3d5ac42d4b4da68fe4217484bb975578c53a08e94728516204b126ba11723314
+07339b9d873fbc84ea5b3b6a7b7d0acedc3e042f830830ce565b7a26f1bdd54f
+d21ac76a325ad54b3efb01d867563247d4f100c5b363fb3a218b9098aaf5a3ce
+fb6e4b4177d9b6bfe23ceb43e59a885074294587304998154d0d74ab7dc1668d
+12d1b4a10777b78882e133cffd355ab23231c6083b55b1e940f755381acf661c
+daa6b8a4ec33c89be0a2afbfb65468ab16af7dc083f7ed4d62695280e8d0e55d
+6d7ceac92998dccf29891943974d53b8ef363af6aba6d8bc0d155165d1244dc3
+52105cfe06b44c9bcf236b074dbcca06bf14ec8f81b9bcaa759645f4c27a07ac
+e5b4b8d9e384c862acf202d1c217accac9871bbf6ccbef4183749d02eaf95396
+cb7a4e84757d9b9d167927584924633d70def5664184e7cd7842af6bcd223548
+18845c562b3801afcdd0d72dbe1815bf1bb3cf8ee1aaaa83de6a3e27083e62ab
+2136f48fcc5a3997746d1eb0b703886185f73072e2745d3878d3cd83fc523677
+235c8fbbe0c8dfa45ade77fa687a0e2ed86193ca35eb436b90f2925e483bf5d3
+3d2ad942346f45029ec4b54109a1b5d369611087ff5aa90539291b88dd2aabb3
+fc795ec6aec574fac06aa6357aa99b59a29f51e4ac1c3637f7b5f8628ffce04e
+26a842f4b13428e8e87764015784232027ac430072138757b73e9fd5542949bb
+d1d6ff9946049d4c0a4c37566ea8ee84eae695663412ba83a353d18cdf614bcf
+3d8e243cdedb86c08ac7600040ea55c14907854b8dec1ecb85d369e6143c11cf
+1afc2be394368b5893addd71f0378dccf5f5e48b3c8835ccce161793b918c1d4
+e51e344118fc1740b1d41d435585836b3261532247a8570d860c155e03d5a8ef
+33decc19960542df7b4b6a7babe0aac2213157bf11df21b109d7dc8ddb8c5c10
+25aaa6eacbd2d588cb23dbebafd3a66fce2fbb4533fb8c1ade543c3677d12983
+7e6e755bc1fd91ad14c17d7bd930b6464f2f79da7d9c6d2c1a9f0fe37c063999
+6ac611a934830e2047a56505d0404fe29c9f52a755c415d740d9ae598d6a023d
+f5ed0e1ded43b392ef1561d89cdbce05f0733af96afe2b24b30c5d725d217d74
+3e8a023ef716037fff953f85dcb538910900c3294c4d95988b9ccf37ca44199f
+828f5247fb7155c8cb092b27953ff88b44c870dbb3b7d527a3c21e5b3c177a9c
+a79ac129c9d2d48615cbdc203cbb36d372cd605ffcceb2cad3fbfb0fdb0e3476
+859a5f19c5f7c6669e903a281d4412b860bd929b1ee9aaaac001909ffc90f758
+e0364deacd0cf2bfbf989539f3fc98dd195ba98f47326b6308d41b37ea2bd844
+182e699afcfd4ec3fcb3e24c67f0203f3583fe31b53d93b7bafaa6e293d03379
+057ee574a15b9e76b3c4a0c23e1379f10eb2cefec5f0c74df9d1e3f15a923781
+96d839e941d42ace33bdc0e2a514cee3fede79a107c1cbcb893a52e16f965057
+6fbf8b910cf7f16cdf1432bd112b865459a27799e63f136dce31e633646142e4
+b2a7c7d6c772b1d5067b72113c17fd8e45e800ea2f2f92852762f5d5c6304ac5
+e0fb7c64ca58c9fecfbc66e6f6ea7359f270e526d497575b877c38c1ac280404
+0aae27b2d42e5fa04c6927434930bd937f6b741c9455b48094d2914bbe16ec8b
+1b2257624dda57c53ff3a86c07fea3f9a8255cb172b60e10e69f515af4946ddd
+055a37fc3d5a6f286586f0d7789cd3e5580098a3fcebafba13bc12bdc742d29d
+a24caf0659c54f6257215d9b2de05ba12d91b143ae7904d97042bfbc02d56f72
+cd84962ebfc2db1f724b7908b62b7effaea4ff78bff8c9ae5a3c92f4778e2e31
+873f15c0d1435b7f5962f6e21a1fad4d94cb8c5dcf18fce875bca9550e20d89c
+09884bd8ac291b0c7a6d62f9cfaa0bc1f13db710c6351a6d549013d6d888d682
+9eb00947cb6b546128742ffd3218b645dbc3fba97205ff8a8527f1e8cde3af50
+9b61b413b0c25f7c9ec4efa5119dbf92f497e9a10644ae52a5b47253e423bdeb
+b6a54a20bbd9efa63d2e307056843bd1ce641c8300c594fad16406b25ef62046
+ce901f65e4e996910db9a27473cbba22d132800b97fd4811e6b81735ab30e65c
+fd6c8753aa7fd68be77f28353a7a514f7b9c4096852bb018101b8e0ec7b88872
+e9ae63b3258fe7bb17464ab1a4f28a71d9c6f521907668fb3a5dea208ef198cd
+09e67e88e1267c6ce8ee9050b2bfa1d5c6f3824ed5a57a4872ab418745f7453c
+174d514a9c457e84bf7e44c8a67bdd311278887bb697cc67cceec9f179a5267e
+7075318bb09455b3c07c499446b670a70c1ca5e6bd28143afdf0fb7d36df3366
+3ea0f8c12d01631ef8de21dfb38c7993691ec0c33662266a03ab4a317f6c2d25
+f46c99f456a9a7fba51067d0fa704d437e62e8a8124f020f8bc59461a32be8df
+f39f8bb4e92a549ec99ba6072b2a6b66f0ea0015f96cbc087aa9bef1416f4662
+50647f37a368e75b2bcbdf4fa3304d20c9dc56920ded4ebf55c237f6769b5906
+3a3eb017b1a663cc9481c79b8948e5492d8ec892e3c43c08f0c1a87a30d7a9b6
+03f35241a3cc9e52165d8d04ed952727b2a6016185d2ec32b4bc88b5522c2d7f
+9db2ab060c5321113f0468c187d58915979287566b045d4d73d37e2dfedb68c0
+da667548063f775e3258b705e11541092fb5a46e82845d720cd9a597509122e5
+bdd170b4002e727a66174dd6409be8720150613917e43ff456b5c43189823b83
+9edf533fb7d4c709f51e2ed5ae242a1ec4f41939ff8d89d92deef30b1108a0d3
+1ddd6dd9ab35cef4ab0fc7fdf631de6dbf360170c95a088681f923ec7288b07a
+51a84009230529372491044e11949574495bf8e806ec448d0a7a2df74fc07e86
+2198ab516bc3480c9d700980ba4758a69d9d55295bae8fe3b8a4cb2d5beb528c
+ac4889868a889a8b4227ed29b9a8cf29d9e88f2450c67027ad5c1b21caa3b387
+98ea155f5376b193b5a3c3d549414a7da07f9a776b894afba1c099d37dca4c17
+099b69cfae216575942370b1d384f2b6488f76144d1e1ca77d242648daabe525
+f87c11602cf712f95a817b0a98d9e54cc3fbb41a0df3d31e19918ccc9ac31263
+7f18ce4fbcb1698143f1fabddb6c0cc913b7269e7dfd8d0bcec142665f281c6a
+ec02980aaebc6a8e77c180bb5753be1bccaa518423b70ebd6d3356ab50f58047
+08915340e38b68050c32797603e402d351b7ac1fc6d95a932c0271a805ee7fd5
+e0c5c1c20eb7e64d8cd7f126efc463478e134bb128f70f82b968f022aec9adb6
+cb0eebffee6604b1ede0d8515c6ae0c9b0408c2da3a912c51f21280878f2967d
+d236ca55ce44f0c9f9a915c8d9aed9b6a3d13c107f18c6f43372638ea7631edd
+ae78b32402581fffd9f4d7f53564211070798bba7f51c79a5b11a8ab865584ac
+9a7748fcb9074a47cc3c3707c6957f9fb4904a86ab6ad881f1319f3e16150754
+6f0bd8fcca92b47ceb127dda9e2ea868c240fa2c17293a83b3d0f6b8d9715dc3
+306f41635f16d023870df1fe5dbdffa7d4f5a4bdb1dff6874cdd4ed9967fc799
+b16626355dd8b581d17dd202c776028657efb23a97d6c58a1ec3545a494351f6
+7c7a0c36cd2545445cb03073fc014b1d2d97926ed55c0590f432ddd6cb11de3d
+dc1212622b351ee9aadca98bdbbaf6a78cb1950717be38e314cf39dbb9677686
+84847f456a86bca3c90b7d4d3711b24553e892251f704874091336bc8236a827
+4617444590eb9057b1854daa0e70bf182cb400c510af162e5a06b22b0b27c69f
+14271c0dc982f64d21b7b557fe714bb76fe22377673ec61f760f87c51b14641f
+c9813202a3a861a0e36ea2870785b3f523f67ef149a19ad352978291fd3bc6a4
+c05e7717f777d09a12d89de562b6143a300558df252063c0f9519e681babd890
+e636beac1bbf457d5dc7d0f1248848e48946c8c66ba9f345a2ee66e725c1fa41
+01ebce5dc5eec5c7655efdc26ef814f0e0d8972b255ec6338e7c7e5a59fcdc31
+1defc94df922ce892b9b453f8b7236603cef2ba3c291fe9d3891d03d8cd51478
+61f9fcecdb1e0c4db0aa86266e24f53636cf46e53d06dade2258081e64a26502
+713ae84d7ef1918faf5ea1dd8aed39c52386b1c486496a635c2234a4adf881ec
+b40fd9bce066a3b9777fcd2d1bff42ea412b8734429220c1159a0690c8e0b22d
+5b8225c308f8761800a80c2a07fa72aeb31b8eb28ab961f7721c1bfb0773642b
+a72e77102997b7c557b08e0df067ee387593f947c36d3991a264979e5a1fb78d
+05b9aec119acdd3f5036a9c67fb9e425c9efbb918c7f04bb9e1cd05b95137d8a
+eea46bc69ae0c3b50637fc6ef8b781d938ab703f62234e13e0e62dc258ac6a65
+0943692867744ba4984a1723f59f71be1072dbda7b1e91c8c3df379ec81a7c29
+5a7407e59fae78b6227a9c34bfeccaf964137c43b2c945068605a974fee6b864
+02d237f47ca261aaf5622cca28fb31dfec9b3ad78260ccfa13c4ef211ac8f863
+7aee6b5579afe8c957b669c66caf735a2155b15ed4f1f22258e8e39c0fdce883
+bc1a9d30083636db87bfb76dda816b234f60713a8327aeecbac306dfcd2b1235
+ca0f15d9664efe8630675f9dcdb65207cdb8677cd3e87c102dade7dd6a5795d6
+d759866f516a5d6f42b463193568c56dc795fd23a5d18df3f7acc7a2cb4ce997
+8ab2d7dcd5762ec0419b61d65356481d4bc68a505784101d51cd8afe6477fd0b
+66d906ed3988cff0e0d420157ec976d3b671f60289539d993b994e67155adafc
+8e17a2ec2e9477f8578c0d912b130dc93cc6e8589075c3dc8378d7752af3453d
+1e5807202e2b09211a74de345971fa4c6638b69391b57ae4035c97aa8157b346
+1738953a26b37f1f325f243a55cc978c4ffaf7b36bf3a54748a85bb5668f2e39
+1d2f4cac541885b774b83f1c5f6410a7a71b98f54e9c9cc7a23e083bf1c1139d
+52601c0068656bdf738e998a9ac08692c7f7be0db205cd3c5748d1ee4305c041
+7fe88881bedf7f590e2fe5eee3d741a8d393cd7ce485bbee14a122fb60545690
+daf27db115b7834239f121144c1c4de2193812b932c3660f8b0515067f0d0454
+f62018f90096a1ba611ae6f0d9fbd922e12842403cb7c3057627c80d6b0f6212
+97a1aad410e3f96cbce47af14dc694baa3ca17050a9b4ab4ba2d8a7bb0a0c000
+0f826633da7be83891a2c1b396eed1598b6a72785c550ae8198c0be76ea467e5
+d555144abee0c8b590d0e49663a58cd6fe9c09b102dc29ee0a5b45a9159baec3
+27cb6c378296a4a894cc9f526bc54a5e6ee9fc2dea19863e422c8c72692dc178
+ee9f085d532808328c566cc48c28e8b1cabd8f42a16929996e45dd8ce6ce2bde
+4de1353e29a9bb5be0b44c49e2aad3baf951bdb2185a4c31c703d16a04d3fde5
+b243f17ece882cb115aec6d1a5884fa719deb0e6866b7194aa8b50bbcd78ce9a
+e290ec4fd0489579eb54d1e9d5b92083d5ff55f28a5de47a815e10754ead1125
+cc64ae11246bc5663de3bfe6119ba5cda60d1a720c80fa03880210fbebc787f2
+c9967f31368ed8347be6c77cb6c573b5b6f5001c8e9bb82868b92cd214ea8ed0
+66dc583f6182f8c255d9769352a18e11bfb294ec588e96389e73082b30455fe1
+4481d35ca3f82814cfefea95ea00712b282e6a81818128d80054f2b21dbd07fc
+dc52964bdb5e5013685f8deefda2bcb5521f9069d17a09b9f51c2ca6fe08e0c8
+8a8187be2df126939e0b40a01fadbf9cecc4666d715807044f1eea5481c8f3cd
+d7570f7346580f034ef4a4741a9cf7ee522b9917833ee7db54e46df7ee8a1dca
+dbd69046f61645d1e5e8223bab55e7b954ab339ee8fcb110fd719b8b9b4b404b
+e3cc0136157da664cf58305d5a0f0d420364d004f07ec5033f95abc12e75defe
+e2f6c3123bf7c79b6f9c536723971295810157b74735d6a3821091886cc47016
+d350f82d945c486bd6e4bb161b1d379c43c2735d564f012d1aeb3eafba8716e5
+02a29ed890283855f41c1afaedeefe3d54b489f82a0754b946df4bf3a884f678
+87c914ebcbe81855a9fef46ae8cea338ca8d69af5f92edd5379ae5bf2d127432
+374f95dbcacfbf29a2116d9acdd70f11ff7c250130739ad6b2a466b5f0115dce
+adb035c9376281a8cd5de64402cca2adfbbc76925242f734641276c726e0e797
+bacde80e23a02062ff32f7e501fee35323efcd9d2ebe52b47dac34a79e369e0e
+8df6a73845ab76e6609bbe499ef7459baf974344b3b9a6c08fb520e63776818c
+47263501a90f63a70d26066061579176ca06ed53ab181f936400160a16ddd838
+67745f6f684380537fac719ab0a2c15dad214c03d3f98697dfa7ca5bda83114e
+927cfc1330b2115ccfe21c0e531e2df16957159aedd27d28d754ecbe90a879f1
+254430780eaca6a5714f8f399c5f11a4ee0e8583d13e13f5a25adddc9be5d24c
+c49e344002d7a6d4595ecbc75e5eb9e4faf9e695db25a2b7533f59b50cb765e6
+0ea42589c19d38622f8d406790f4a6f515a9fe8c88066d8704a70b17a750002a
+9f4462ac581add1cefd7d12a49a90ae97afd714be6aacdbb9278e559fdc8ca54
+47e7feb15ca462525d6db510aec516df1dc8e5d866a8561539554a595ae011d1
+e16a12da58fdcfb87452d020078d9c6164b5add26bcdecd22bbdeb8c0d0241f7
+3367810c6d6f7f0644e5082f8f020844cf77e7ee09303e583c55ff96364781cc
+ff0281af27aad988a00ba3d80addbc87baa65d422c80dd4cf014d0f9e8a84050
+9a97b047cbdc6109e95385e108842dd512757af7172f189cdd9707e27a12e4bb
+6f4ecf8a25d15ae44052eac5b27249faf553bf942e8295fd0a7bb8fa9f7dcb50
+e02fcc797ee6b3577da8d3d02db28ce78bc219f99161a38d89d32f948319b5e3
+31b7a9a7da8ac178be2581ed37e83825fdf41fcf4161590ebfd0c0dbb17e25a4
+d2d79f0e2c1ddedd99fd0d671e1852350b0d6dbcb141f9770217149e2e750d24
+133fece9dfa0f3f8a69b2351c53375a75b0e9bce7297f8e91313d4f990219149
+e633a4ee7954110bc7ec4d7ac7b5e5d57008d6ff7c801641e2689ce52c06ec78
+857672f809584da94ec360bc90fc1963a3570f2ad52dee8bba840a9cbe5a17de
+7f2c3a90384bbe6eee6de553ae1b6282c7f517570fa60c7816e502edeaa85a37
+8d2cef20196af902c88fcca80c9e65a5e92ad39bcdf530a4f97ca4249e884a49
+60551a1b41e2bd44c68901cc22a0ad835e81cf630fb8f616d6f1aff86b21b40c
+10286ab256ff87d57ad3d429fa0b732adf640ef66180cec51729fdbf548198e0
+2ee3f2532b929369e76506ae9c0a9707d5ad6d7d2005bb12eb7bdbcfab442420
+c49e88213c365661e3aa81561136f274702a6d38fe9b5dd8ef5414588c4b63a9
+9114f908af41b0e53edf67d1e2aba74d4fa40150e17e9032ce814153766bab3d
+5af2390c4519a7881c958feed96723d7576f80d2a924721519632b4f53be2b1a
+e38192815aad70b62d283477ab58d4aa7e07ce5165ffe16ab2778c677bc1c60a
+6bcdde659f5bfcf86899a4b565230e807ced928cb390e350dbe256a32bb5c39c
+5f3cc1b3e145a333045a44717d9f29f63a544af82814be20add84bd9f55827dc
+c218819215d447779311bb1f8fb48799b489e1ccb3c4b0e9906fa967503fd8b1
+022b0eea82083d23062492a2252d07baeac71497c01c3e0351d23b17c5f9a553
+e3764398760236c5598317e364d3628dbb20e16d9e59ca0795af52523a8b2e45
+56e63a9cab48b305e9395960b3529b49db5a8c8036de87ef9e2594017fc86c6e
+cfe14fbafe6ec4d93d2c8246209614de4859be1f15f82490760c3c7ce63d66d8
+01a7130b78623d7555f1f8c4a788c119a24e107110459728fedeccd3c4bba680
+d9af4e0e7b01089df00d6d796c641a5ca748bd2fc41c07a71e8f7adafade8e5a
+5e847e1010bfff52d82ab29c4facd228fa48eaadb9207c5c596901f815f80748
+a520df0339e32001f4f8ff7ecbc95e6884d9b078793697e0791f4c913f55ade5
+9e74093c4a52888df670a324d1e92109431fa3f8a8c32bd19a4ac56b3402a3bb
+9605d14c4c65ee542c6ab8731eb5037dd6a09e2668b8846eda3def3438c8facc
+93e64cd47678a038b4ed26aff8445c3e8b78a12e03d0b3edb9f762fb280f7b00
+5f6d92f7f426af8fc8a0fe8d0d7348efe49706e8e53a24a3fca5cc2140fee151
+3fdffaddaaa1e85ece9f970ef125bd003eef1c6ac2f737986b88858d1dc607da
+25cd46b9ecdc68a99575e89dd69bfa57da13a69cdf0d4ce606997b8ca3568f33
+79f0ce6a5c39ad85238337a39cfc252cbb522c564663ac3bacecc73f003cef32
+f39266773eee578803aeca02544f5cf4f7dfca999485c3e87ce72cd67b46dd37
+7cb944f4f7a099a3e5f76b9f80cd47539abcac6404b66c3704ae5301f5a0fa3e
+75f5ad86cc2f846694b09f77abcbb787db5f61fb6b8591442189b11284f26062
+4fb4b9d82d506cfa1b69da122ea8cc2494b9e74dd962de90c68a67ad1db1ffb4
+3268d20b6ee0cc710c25aeaed28659b33fa045414767a7881d51a13ad3f9f3e9
+9830f71db8dc8611fdfa565a2a7f644072e620d1078201b0422dfc576936abe8
+7488f102f02542fab85b3289732bceeb8838066131287acfaca11b1d408d1c63
+0b2f4a570ac7451ba40d3a501c997840f61e221bbb3820ed21182a22379de1d3
+45d5a425df2b5b52e0acdb7ee6ef15da6a759a08a8debc24d0dce1b975cc9b8a
+aec03cf38e5102fd4238e15b9653a76bcaca3d91697ea648bb6314dabd58e452
+df8912ccc89e10add61131b17615ead70788663b32251ee9e6d978bc27f16356
+75a6768ec7ac4bce803479949c5d79727e53bff661e4f6c64bfe0d15e9fa3380
+5bdf47d08b16fedc1b2b2389e2789277c364200982554ac3d53b3c247e2498b0
+ee8aff44f7b69baa6eaae91b6a33e547d29418392ea143f3619e63fea5996fa8
+f73501855aa356e94f78deac02aa08b51020f270bbfd9981eb16441b16f8d90b
+666de936532faefad27934d97e6a29aa6642c005a900d8b508b5f24c0149d920
+b34c69c567ef6f5a2c14de9a07fca820ac2a4369d0da314fbb09f295a2428925
+910a8e300645a972d1586e15f8bb09c93936a0ac18a903334115670ae661e58a
+26ea1caa576ab63e09c739ea0dc737e3f461423493535bd59c0a1accb788fe86
+1ccdf527237c12767abae05636f82ad765f98625614db4fb550c844fc142c6fa
+107464c2a8f0087f1ca7773b5a53a15df8e3a1e1b64cd1901b04c23e9e63119f
+f4950fe739f2e27871464230d19e9a85a237afec08aafd64fa2f24772853c9f2
+b6dcf8315682e2a4b38160384df5ebe12ff4bfa52e1d1017762e0e8ccee3c70d
+5c3c654697c778a7f6a05565788b73bc792a2817a6ca45122a5762c5e5f6a02d
+1131a16ba4941d6e8f1c320d9295c804f2ebd9648ca940a7ec562f259c9a489a
+e36edb7ee621a3e69b7f5d34d3893e47d226910b25f8ade6c6ecc5936b5e67e1
+2e08991c2234bd71e6fb7ab65d61ad6a6a18c8c95251e4641ffdc9dea1396df6
+df1638b8f833eae66e14ecd9707b7d2d721832c12d32375cbbee010703857e7c
+e0aec92042e029dc32bd8ea930dd0362844295d219062afa8659e5e96f915dbf
+69ac1ee33126cddb0181a1ef82be859d2b1354de7a8c1b9e80cecea63c5332e0
+cff6bd4c37e47b2aba2ed28b6a3090e65f9c361ade6be54af3c723f07d20c79e
+16de2f2aad68c96b037c3b1511ad575ccb9fecfc10c34f37e295a31f6aebdf96
+c6014d85b11ac180f53322895e60fbf299363e621ba35205c9b81a9524aa85e6
+c78ef1251f71f55a2ef11645bad942157eb00535be92130ffaa6e67e605b65c6
+c91d84b03f20d5d12218f9054c90ce876a0483e80802ddaea96222fa2ef09ef5
+806dd67df4508d28a0a6ab5e2b08442ded576ba7079d20fc52eb6ca8d9109c66
+3363c5a55cef5a98fe4fbe64afc232042a96cda117598e202194c487e3217aa7
+09bd46ba672f02bac951352b141d4194f1402da2e87e043bb91f9eea26fe15a1
+1c3cac1833a4bb3cab03a2a31db9b07d5dd1041ec2b9b7e51844794f05049d6c
+9fb0def51782812b66637c8547b8a6580665106b8265df917a4d1b49cf6bb3d7
+b9761779371bf19fc1bf57ee74d08a1675b3d0e391f8ece1628331a702b598bd
+691f0388b78ad1cf0da93ad409e33444572d021029fcedf4a3e70f602012f0a3
+d76c1e83867bb0dc48c483a9e54f409d1594ac287516da63539082922b473b22
+2ee4ad0c7634e297eabd7a02111d98617ba131ff638322d1d5d476da5c97aab5
+9b73c45867b0741f6036ce2f68d5970711ead7aa84531ce71b91b8bd2dbc4bd8
+4218b3c775fd841bd93efcae818ad7b7cca0fb6744fa938e4fca5968a1595173
+17ac147b030220fe95119094b5f25114a42e507b0796b16b7c57e34835f2b836
+0e36b9bf04381ea2820f324e992a9f0b0bdfe5f546941275e11688c81f8985be
+ada611b2d0fc0d5ed6422504b99b165375a443f4559b4a24acf8779f5256bf9e
+feab09a08c686154789e04af5dbc30e07463de3b2358b6dbf27ea928629c2040
+53eac7ec267115cf762b3696696a7866299002f4106c3e886841d11e9559e6fb
+e366b0890491853b2e027b7443fe213f0510656b5622711d6ce24ebe4ace7c0d
+c674d6732d26acb9967d9376761d02e2c76c55a3c42f9f5d047ceed2598447b9
+70aba6460fca629cbc7b2bbdefce1bc3cb7e6506d94ead00a9320985692453f9
+a4cac24301b532916d89850aa961917e41fa56c5a6b1023db0670f38e5708f07
+caa2080a08a23e5b8ff1becc48725047484457696dee0e3e4cc94dba588a814f
+f351d5e32e49492aa780be15e4cd3380521b5158621920bbb8bb33c25b47389c
+9c3bd47e2e74ae91c57e831f63795d61eb19c3070772aae9ac70516f09d8c80e
+0f48dc8d82c590f6d1b225baa2831603388553f810be7b52f20ca8a06dd52862
+af045a34dfd3937da9538e1ae134ed0bbbe1bf0015b20eccb6657b04023a74a5
+83927e62f6cc27dfc96cd7c713e46768b43f683dc2c892e525eb8d97a0e2b6cd
+ed8c591f2db59c48cf89b1c98ed3c9b722ead07cab808fb53374929cc5b09233
+dfc590e7094b935b7694106d63593f2658fe68870855c7cdf1e4d78019f1bb6d
+99c33d1b47372e6b403a3058774ee26e7b6206bbe0f063276f01be9b50dc26c5
+d553164887ceaf247c1af22646706b236c0b36af9f919ba4015611f5ca8c7b0c
+0c4f7677ee80e9bb71df47737fb563958d83c43d49cd0bf7edd722848da79b80
+c1079653a17ee36597efb64ff7638da165394cceb5326f739da8de994c6d1452
+9d643f2ffbcacb89eff37ec185afd0a93728598874d498a855cbbb27d788b109
+863568f7b8bf15e3c2cd0a4d6d36f66cee409070e5a7c81fba3c3e848d312700
+9fc70d7aa50fabac91eef13507ddf2cb171a530e60d32ed12ca7b6be9af714ce
+69242905e1f2c6a2c86ac3303cd8997bebb3216796b8a9eadbadc4ddd7af5bd8
+ddac9bfd102b0ef4f2db8ab41caf77fc707a414ab452f971e5f99e1e66d2a6dc
+5e9808074b3ae0010ac01e2edc8fdeafa33efa90021b28abcc0d41545affe2db
+8cb77e13cf12f8e079b781cf9045af8ea346af90f64d7231556188a92e8fa7b1
+c52935b72f1724781ba995ae920f975611ba58cec4f59e215ed2929f27e79498
+14c907a92ca1a1f6c551c015fe1447827f53f3882686fb736625f037fc380f63
+c4c3b88d2e6ddfac5bf74919bccd63e9aadb5513067a99fb44ec1a9e568a49b8
+3d9e11a0164972c02873d1195151068fcfece7c421098563402905b1c1249e67
+9874b282ca00ad0d629622b339a3e25bbd2a6403e6bd5649444c04ce7178ddd9
+e5597cf6abde96c151ce40e61d8c1e2b31148921235c8d115315c605c7f4e471
+afe321eaa29c20beea2aafb41e81041f2275d4579e17baf9f576733e7411d715
+5df84532a852782b5a96b135345d06bceeab57b8ee8ccc511dda95b18830cce7
+420086cc3f5cc70462661feace35fe95167e34a600b41a6d8fea62e615cb1b8d
+ded90dfa075b5f4ef154809ff42246a592f1a457a5f71ce903c85c180b41166d
+d398c33db12412c1d95c7b4a6e4978d628e1c278b4a501254a2439f9aff3610c
+80f83ccdf22ef5a3661c09eaa9e843240c9926c482f7021412e6ebcde392c33e
+33d458804bbb6ad4c9824d24a345955a91cc9757ed6871a3a9483a608a370a8f
+4f6be27e8cd3af807bc7d296996cf568fcbbb660437d967479637ee8b3042f5b
+0aed5cb1e0781c4d572ff72a87307149fb2d53f282bc85386fe22e584f6568b1
+b7ed886140774aa1e4b3e31b6a58b5e49c1ec3e1a32890b1b8efa5f25e898648
+0ffe15e5651a999b2811447f446eebf3a39d5a8c1f2b51acd36ac929032c4923
+7af2c06c6acab5a6103b2dd2c947dbd11098ba9e7fb27306dd67737dc92ac6c7
+5e0f0ab272f6e6889949cb011e861124c7d09775e6af78cadf535ad12496f117
+03da2d7501a75bcba7d44558f2048e34d8bcfd085e32710097ba75b45aaa9ead
+ea0abd704389a13f643b8b3664ba9babf77660f6c388ab5b963e9a8c984a77ee
+2dc6bbd11d7c8492c0454cc758418e639d80d7b63b67b8d29ce8f0717a3d639e
+af8d9934a4f78c10f35ba79162cfc8c13a4d0376184252270b75f415a0a0fdce
+37d42a8989c20ab88d082eb247a3a5ca7eb03e23d42791013566b86c769afe05
+fa4d09d955027df5e4aa0aadc75c6efa68f40366e344d262080b8d0fb3de78ed
+2e6f3c881165c8c68f4698e3575177b07bec0234eec94eeaddedb90c7c8c9892
+ca90786d04b7ffd610875e5c3680bb46ef46d0e8cf7bfee67b656490c83aa4f6
+da28375f3c2b8c74c51d5edac5b3b74cbf130949e29efb5fad298f4d0c172826
+1b12db5d71ded5442642b21a75c78a4f8f6c240d6337769f838ec325be810a4f
+04d11d665f96c244fb24746b093c3f4091b7516f8df1ab9f3ca2c6ac96fa6764
+a31f21bec14c2d2821823cfad018b4c59c40292d21c8f0df185350e2b99826b3
+22fe13edcfe3d8d0f21664cd9b43cac45edfcc26d2ec0680ceb0d27f43c6644f
+215879f1da5733265b9ac66d0e61033e70050b721efb9d073a95980753016e4b
+ef8a8afb127b1eb2ba7f348e98a75df1e9cf0aebc12defcbd7e8e298752dee70
+bea92a6f4c77e5a66fe20f5c8687b536e4a2db15cdd829609c0af1f81d354972
+c7efdaaff2da6f3f7790284be57b8516c1e43dbb6b44669a419e2c836587ca21
+e5ea761cf4aadb91508c942500a0c79e63be648fe9656321cdf96add0037eb48
+dd379713fe79e68beb57b2985e0cdcf2dd3c9993a20e7f6b295f4b1d66880ba9
+8feddba6b77ee28268a5be9ba64b5a5716d689a2d84a3833b5c3721d1908ef71
+664adff0d2c101d371371e7efd113800ab8c3ff87ca462cc88289a78ea4329de
+dbd433eaa9053b9853abc435f1976ddf047f6884e9d7ce0eaf429db8defb7f32
+07216351160d9b4d69b70c81e07b473a59fc42692e3c0aec3547cc33105afe27
+341fa0028344004bcbc6ed220e3986a8a8961740b74af3b5f2ffa20e1fa842ff
+ac1019978422845a831af4d1d33f42f5fda39b9dc57f44fc4d2218b10c000aae
+45e307f0353a611042eb863272b9cf41cacd4f4740c524088248f93293b39ad3
+c9d9c85a22e1e5839e66a2403724dd30c96aed0b74736438ffeecf912c9320f8
+d6fed48ea805375af30f94c1192bbf58b5647c740f1ac838466b89ea801f85b3
+4d5f0dae85b57d9c15d1a9a11e3666df6f96b3d5410c7fd653aecd1bc002952d
+8cc4042bf851462257c5652c730087097df1a8b21e4ca87d2df5016b7f302762
+e791a09b9d45d8a34fb40a241b4d3d0fd356afa26781235a65dbf76190c70968
+4a1c5ab45a7be7a835cc9f958ba9c35c802c346b0966bc056c18107a8b1b579d
+e99d85a2a46213c1c8c668f4fb0ea41cdd8d41ae4b7812c3c9ce16a72d963a67
+8cf6197cddb8737d2861bba747f5fe2cf183147b5664cf815ba1424b794074c6
+fafa4cdb6e1a922573ffd3674f5d94de81bea89f0add8a63c49bd4fbb132b00a
+f3c3eefb34c273ef865335388cfec53864141cd869b9b88f0cf4c469ef0fb9dd
+591e6d19a1003cbe5e6b5f7a3c6dc1d5e93f4df2eee64e222bd4094b63319536
+3df1f31785d3620e5d56b0c37444cd9ef07f27fc17551c0232c8f0ecb723294a
+308b9bc8e087b3175a45f0118413d16f3bbbe292eb31b46b75c47c13f661a991
+b4247e52adfcc2fd0fe67327c0e9bb4869a7ef45a148eba87fd67ce263d87b3b
+c67547e46d6e402fa6ab225f8622096c924ae5ce1c911caa9c7c7de1b9e10898
+46050a0d77903b68daf2a986e0a5edbdc9c5f74df7aa9e46397f5288b9fef58a
+1888d49e4648712cc9c3dbd2cffcec13af609ec37868d5495fecd98ed60e1533
+c1d81e5f4c6aeaec319819a418b409640b2dc6d6a3d576be8550c9d612373db2
+6888571c523347fc8429cf05788073cc56d470801b90c0b0129fd76877c2ad87
+b50f98343fcb06c2734dac8eb8564e7292101f02156ad3d794f56e8e263bfa59
+289c7a1b73d3256bbbda344410cacbc92496330725af58e1ff0bab1043c2bc69
+9cf12f4ec6018ca5b64e04ea44b53fcbc648428b91478fb19b262fbc012b04f7
+9b57074149001fd27f6d6007d673403e1dc59c64258fde5d0c1643240174bf35
+8487b55dbeef48ab9b0f4d59956da98fbd5872338b9eaf94fc0e7d72060437af
+2a7311f37f2176fbea9c087e6aeeb2d1787f467c0440214ab9aa534b1dd1f2e1
+a6f0b8c0fd5739b0ef4422e359fa0c55f6ee8025f24afdbaaef3cdd3ba90d9a5
+58bc7b33f44eb2cee284309b84dba7b2352e0451097986b3c01319f6e6160cc2
+4a8308111583d473afe5082cb81a6cc4bee3155db2be1b08590726e80cb7347a
+db9218ecea7e428f57f4475a6881bef1e5c14143b832e83444b44c7401bf4e0c
+e3fa946fb7642b8c9dee8196369c3a440e47d79058cc25a193c709090bc4e8dc
+417f8e1a1554b19ba12d8df5cde03acad996656029e0a2b274233deb558486ca
+e05fb023b3575334cd976f685fcc4831480d31cdb7c8e48dc6830deb44f0f1d3
+8e7d3d8cb9b37ce562cb12c6d5e2011a7dd561ac116fe2f5ece27750e6c0039e
+bbaa7b4d6d62a9ddd832747657d654985d1dcf204c3d6f85ab664ec266a73e22
+6d7b90b2f4afab06a03258249df0eba1d30957dce345ea86c16e7828b0ade91d
+342d48e01a0936d659b27601ae5e61057f0e3994ef588b4d9b106ed06a5f6cbc
+41bec67651711547360426b46e303c319ebec46d67793066c1e4bcc8b26f8e08
+8136c73cfa992663a7bd57cc34d6e461dafb019c6eb53159bf0d295fcd99f2a2
+a256fe622190178919b516033cd8cf008d35e1f3ea7a7658f0b3a72c9258a479
+5b5d39091cdf3a8710d762cd18a7bcf84a5951a2c238275e8b106dc9960640f7
+b5e1b2453f2edbedc029b6471250d1094d98f6ec33ee70cab5cc3fc6a2407d9f
+6bea7ce48f912ae6317309de6f53b050e04f08de71b29afebab7988cef1d1e2b
+b3f6d9877e2bb60475e13be923b810f6f7cd8876e3977b42a74ac90e13de4ebc
+5a2758021b69571575f67a2f08f694b401b8bbbaff8c0c1d57bb245254977c92
+ac379a95b5984959e959a36bd328d34b3ede92db195b33ea77ae97e52027c841
+2ceef50045e1507c68835a42d61c0570f4482c84f013a64833e4d30009ce04eb
+feb39cfd8623282c5175d413463b97c496825bb49eba6c9854c63c16300d60a8
+3ab78c6a40591795cbba80e8bfbbcb569b3cb4fdd127a674ae0aab5f741c4ef4
+1ac00f3baf8e71938c0d6bc8b318507f53d4e0b3b3c0891e8081f6d0d74c591a
+4862a18605eac0a41d4416d6d1ae22e668bf859816b4bb96d98b295a6c330bd4
+49af2bd6f7c5af73d6690231407b0d8266512978207fd54e36c9efaebb4f887a
+68f33ecdb9a6412b6acaabd315ea030d5d2a4f9af49be975d1b27537986ae217
+64ef883ffc71bfb1aa76c29ccd66e7278ebf75e58c1f76604a9f4dce616b35a0
+0216d07705a079e7ba1ed6b0c57973ec27a23d15888eedd4e08e8cb020e34ce8
+da4525000530d7f670be71f4574ab8629ac0d0ac5775b22959afc05130aa0cf4
+2b321378e51b2000548daed73419b3f7869acda7a1815e12a92c1d249d1c72b7
+9d64e79329c52e71a9434d7c209e277bdb6980a89f694be02496ce4d6c6b2ee8
+0858afa04e21b4061d6886683b61b050e51842b5c7b37a1877a611f3662dbc13
+6bb6873ebe4387a83701b3b1df1897f470ed4fba0843331ef52cd31a5e26c49f
+51a88441dc1ca372b220a3b7b565fd7c3ba9b104b66b9142e18735834c551c08
+671ba66eca48e7ae94aceb42d096e017aae8d161c2b6263c5c3e997f148ae368
+fd109c355106846dc069208ba09ef22003567301b9f2516b023e02772739b510
+e545030aace2469ef328f2a8d010c0d6fe83f79513e101713813a743797982aa
+ff2fed4a697048508b33bb297b9f89087ff70fa8d67683c36f46822d27e0777b
+df2ffbef4328af34afbfc91d0da5c8c7feed4e751a0c6a94c0317e0afbcabf99
+aca1ba4c171bb9f85d1eea2ab5864c65ae7bbcd4e4e1a68f6fac09ce88b4c1cb
+9d3b696eb1b1b59b25fd542038ac23c1cedd7827b83050a9bced00dba1bc5fda
+ecf9775228928a618102c0c31a185264ff0a359b379e688838a2c426888ad8b4
+7ce5560f6646e75672f37f6d427de4cc6728c5068006f3f3951d3b7c6c2fed88
+28ca26c85bc526502ed3395c88559d134ab3e1791c682d10566e53cfa9b5dbff
+a1349cd85655d9962db68fefd4bd669e1dd18ac9b6d82a8499a04cd8c267397a
+e4cc7333dd901202d794e13908d6211697c55ee756b0fd95a0e1f5b73a8b818a
+2d453c0c8fc98956ff77b18129553116d57e375d2eedb52feb98c53d1923fa8e
+bc354ef1bb0db47a5aa402e206283723669e310645f4c8472520ebb4cea883c6
+4c9a2273f2a3c3a7232aa9a19e50209f8c47ea9ce56efb0dfd4ceb08952e029e
+d32e1c32d0cb5253e103d01b1c170f396e5e9b165d049303d4e6c2bcfefcc928
+79b891660ad068015d82fb714798e9ff7982ad9a3c99454f1dee48e0cb6f4593
+4c695eef3a85f20e70f309388c6ca8128850ec68a10eba077399d03c7a3b80ed
+0c683c598d1d5c605ce62e19f2c8f33b07239469ffc3fe764048e477c5a3697d
+504d9fca2d89a24d6be4467460202ebed6a0462c7ba62ab2476daa10088a58b1
+1d8e07164543b39879390941804abe6a9b7833c80d7e950d15d40fe6371237f9
+78fd5cb0223bebe74606db90cc7b52fb02137bbc5bcaa6242792425722e38bf5
+5d6271e5d5e40d230d5ff157d197f1271885c390350a5e9159a825a9822674d4
+fa8edd33add5f5df12fd34788d2b4fe1d371208af1f85c943828f9846cef0715
+a400d8fd9fac11da19cb13ae69d361216057a4ac436cc5be7375caab1c890dd7
+212e5f906cc35c14c2f6396be9cda5806813e8622aeae1de3a2a5fac04a8a9f7
+ff7563bee5195450561ae347842060e717b75daf024de5fa5216e1ba654bc5c0
+ecf83f67c9a95a6c7b4c92ec6120094e18523ce8abe2f91dc68739633878b5d3
+8c241dc929f6def44eab11740d9851f025ee0395a290a2cabd1290686d639850
+d72a4ff4b3a9e3e05f0693727581b5017056b8a45e736fba3a13e8954fddb5ce
+cb67b69c214b0e4c09631b55f2bf242fdf341d2b9c4ea41f12d55de26e1db93a
+2731d6cf3aba575e64cfc7f114816e57236a6cbb77b111952de02495575a2af7
+ca45074bf8f932db7af85549a1e9c1dcf69a13463a4f58f6c830aef9ef320b9f
+9d220e712e4853b7573074d755857c39afb6290f560c0a6aae4aeb3e01725bb9
+6b7c4ba4bc06d17bab3bd054173e36b3af2fa5429408ae01cfca512b828ba38e
+ee2e7293ed1bec465ba21073f144952b587961a3513d6cc18f222d797f6fccff
+860fc6ded9ae23598005ebc446e8728c8e2b7cb9e187c01c113df86991d15b5e
+1141a62f6289053325686f2d845446ff5c96fc0dde950eae954d1262e671c627
+ec1186d6b866bf8363a0907150326b0ffafec5cfabc78e98f97aa20e2002e27b
+5087ea6cb67db547c99a7a65914f1a886589eb5421af9fb95bc7c8b1f762fdcf
+7b4d78abed3a84633ac436b84e31eaa1b694ae1de78b53e80307a4aab6d43e99
+9736561993ae4c2b008ed9b39064faa77124437729fdd57327d3c620df948090
+aba7321dc476d0dca1e002746a4dceba853abbc7a23cacbc01f6025170537c64
+bbfd35a4ab1a14b2cc02960b2a798333900e8a5c754491e8806e7f6e3bcae0b8
+5d9aa4f76e783fda9a39c99e30689837f1e9ec40f004a4e6108620f27dc1e9ab
+3840ce30cf40e7261d4bd4cc4081e3a3cd8c8c61e804dd629105c62abfb1e730
+0f789df895bdb447d8bbb528e35b9e5c6147ba0860c33a72e5ec176f6f015228
+7654f4473c7bf20ba17062662738f3ea9dafaaec0f6e8e5284d88c20d20f496c
+164ef565ea707266b5abfb1c56fb451d23368eda908b3feb575aa72336263c3c
+72196c9ec09f1c6f15d066cdacc711fd098a6bbcfcdd5424750cb0d3e9f13146
+71f2eba35d303d7f62877f2d124499e6f2d4a053d91db3c093b52359af8181e2
+72d967dfc8d6c639f142bc714adcb4b3f20dead7b65c70d864ac51179649835f
+18979be2de4b5658e82b91eeeedd7cdc8bba8bcc58f8fcd29c935038f651e3bd
+02a074d2fae420c346eaaa960d1dfb45f273e88012e67ac0cf5fadb5dd9259fa
+06b1377d3c9c3193a9aad863fa26aec00821bc03471124c24973fbf3a41fa391
+537b92d13a89bfffbee8755e715fee87abf20e83f6e3ea423812c561885abb55
+b004be54b387d2de1dcc1e8032253ada40f5bc531db231f7912facbe21624e60
+26902c4c200ce7021b0220d8196702fe8c72509f7ef5eb0727f9cb510e77a886
+9f669b2846d95b94fff321c78ac22e0b5e5d694742d6a46487dd515e812bfc64
+2f5ba7b41c14eedcc699052e55d1646540582b249280c44735d8e26f3a303364
+046ded295084638b2d92020ad4ffb7ed77032e20b79eab6c0a1244a8db5488f6
+933291df839f07f63d81f1dea989f286e36033ab150b3dc2b8ac47a1d113cdfe
+9c125a83d560239c9c39983185092682e90f86b5a4e5c3fc1244e9ea2dd4dffa
+75f2308786d6eae658393c0358d53e56f7ad52a57bbe2bec92ebe20637c08fde
+69ddfa06318a0618177873da9e3d45167eb920ba13cfeefbe37c9987ce1f3d26
+c7b6c9f142b442fac0bac5a8c670d7f2f03907840a6c9dfe587a0e33af666071
+72fdf2119d293c99bc2edf154a26d5b5b628eb64fb25e1d6b414a3aa6ac6e692
+0d6f1e1bb5ffff7fe16c1b35d216dbdf6c5abbf1c40f51023164e804869db2a1
+71e6c8955afda58ad63d05cc77978d916913fc0780f5582f8e2c3803e56b1aa5
+ebe528e6c2ea42375b7a0a61a5b7b4877fb87938a1516e812d644f1e604a4aef
+0626f3432b000c534d914d9aae20910b9950e5174ebc81614adbf37c43736386
+5ee260d31f59ed07501de38f77a5da3942e2c48693b61fb031b8ac1a9af2adfd
+3b374e39d140127f71d4b45ba52254a45d6287c60fdcd37b41472de4cf1d2a59
+30884aaf061ed50baacb40410cd3c8a43e7c4ddd1c17c2a5a46f5f261d3dd015
+16e09daeb48a9bdb5cc53b5debd022c9652fda3472767503475c12f1f62cd468
+52e995b87344199fe03e907a7a1f272d0050a12efd404e92818aa58ee81ab369
+14b8b9c166718812737ec0bf390e0680038458fbf80b6b3d57929d2fa3cab775
+400a6b71ed965be3d77b3cb23da229ba60e41041555975c9fa14aaeb7b266c1e
+4abc167fed931b245d6ff98b47d06b0f90a970d7acd9d42111e1a25fa5b69546
+61ee9e9a35f77ed189ebaffd00e8db0dc16b1ed20cd63e5a5a5d9d1fc78f1382
+fa0606e07e7740bda5bca7d91cb671c4b47568b576da2da419e9932a7771a926
+643e1de6d189989cb2ef723b1e14324909149ea9bc9cf4c786aa95cf14dedb84
+ca2505e16b5be7cceb163d465183d2b7e4def3174a0915768fa0255b42942fb3
+970cfeea9ad94ee0df250dc1c36ab60675f7c80363730256e4976a25f621edf1
+6b950554181696df545e359c03f1d245b5e0ed1fe3142720386004d0263080ed
+dc7db7c1475bcabbcd6500c9d12bde3b47f0a930cbe496182fd773ee25eead4e
+fcc59fc1bdf4fa9eb644a6adccdac57255663a96b8d7dcf7b63ecf46dbc0eac7
+bc1c4836b6cbee5a2cb6a2db0390623a734e691bd16c6cc541afb3de03366545
+7f071c83b0e477852020afc776a9b4df270a1fcf110a46a02e47af17fe2b9e87
+3098603946ff887ca2ffa9820188eb5bb5ed2bf839dcf22d738c49867495a67b
+3074d54b81170f822c04aa83b4f859d5552ba3bce906c146465f7cf1dedddbc5
+49adcd1dfe45e8f4c252c99c0832e1998f34b7b554a914ddcd633a28cee42215
+3713d35e8a76a89b6e329efc1506f2e4e0c477603d2e4625f327702a7ba6767d
+ca991862e85ed035551338c678a98eba760e23893dfdb47dd0bc5de123dd1853
+646710aeffa6c18651a36020301db5b3c2f864fe9e1d2eaf8f5b5504572f7f7d
+c0d4166a918b1bc19de01a9bfbcc758a0675bb4071f7184a80d8b9e26d9b25ae
+ee28fdb7295afd6066a7567f1cb090805c4bc87bef63b645d8030ccda627554a
+255ce8f23ba96daba91f871e3373bda2c8f94c5b9886789730e823c44e91a3ca
+a11fbc4b3be5b4622d871cd99e5b59eb47a93251f517deea4f4737986e49a789
+dadaccf91366071f1884536e849501e855440fdf466da0c33282c8e3976bf5d1
+291dd2ef252f5db3fda60622d6a3330885d27e47fee400fcf2789b21c0f32153
+5c492022973d26e8cba841fc3ba292391ff33bf144c6d77cb664a7e3595868b2
+07f36360cb710942a29549a0429d370b8f1b62957353e58fc8a01a62f5a8a85f
+f52d4ce5e31fc6beede6d4a8c0fbaf8a889c91e6b7e6aafa4b366978cce118a7
+bad3f41157db3fe0bc31f5ac42248868035d37dee5a488fde0a84a416d998746
+6f6a679181aa12635b26d73bfd36b12dd1f9689181f3dc944a29de48fb8eb5fa
+c5cdf502fab6e7619b856b4fa9b029bf9640cc2e09e71960d09dbb4a0aff5fe4
+5215e80fdfe9b42c175ad3fdb80d8e0a9a9c550db4717c07569b2b0513c6c0dd
+3918ac8c6b34ba7dfe1edc43f2cef7b65593a7deb7482a2bc7a12a4267588658
+7a59c4bb674f5e1f4374959e685c5cdf7e2570fe222bb169e4e2d0e4d1e6956c
+7d14468d3b85d084f2e9a93667c85d0404139ed7e5c5dc1cb416539647dd24bc
+be2a1d8c6a11533afb2f6fa0669e02d02bb4ffdd4c78c51c71a79a55f52f9625
+1b5b28c5c01d08dcc05189f3a8e22ac7a59682fdf3899d66b3809e50878beedd
+e395f6f9cebea0ffebcb5ebae9c3fa2ddca28bf522cc2774e90834e2dd982bc6
+e8c09c702ced12570fce960384fb7f3023802655b31b6fd738ed2d967b0069c8
+66b274c6b1eca4f6a0eb6241579e548b9cd7d3d24b5695a1eb6eabad124e8940
+cc88ef5cac863dc72fa9924b9dbc5bafcadfcdd842d9a66b25e32aaebe1a7d98
+d42a4be11134cfc48046d6b2b36a4ea60b5231c48577ca2542354ae2663b4191
+53e59cf293a2d5ccebfd0bed728dafd263afa35c8a728826235d449e82c7ee04
+ade348eb12ec108f6345849d97f3de45fb97b065a60d4140655e1df8c1f3e9ca
+34ca0deabe98f980fe14df24e690ad881e1f0f908eb452238b2225e9641500d5
+4ef9b967b12912e336a384d41f57c8affde37b37b2a8ddc14fcd8a0a5c1281e8
+8810d6a556270710c9fe6c4b84d53bdd96dc713b5fa3d29745bdfdc6ff396e76
+c4264614d8ea6e6702a7c4da7a24a59e8b23bdfc5f2038d350efd74010085d94
+8bf7624f30b20ef97fa59cde7f9ed388942e280c4f299f67164c860388d0674e
+23f9940004300b351a440c9a6f0edcc71b1e74f71f561a5a5975332e87eb5b54
+11c5021d1530e8fadb8c9b2ae7c64dbc07a75d424e8e9aee27e595b8240dfa15
+d061373f90d5ec95c34b0752ccac9a5434b000e2ada2d59a412dba6bcc8b75b3
+07b905b3233631ac2e07c283a7734a530c925afaa2ffd561228559e0e7ec2ddf
+dc36bc7902a7d29653d83a415c7faf433b45ec16aad753bbd91641f2caf94234
+ae54d89696dfa5a40465893ba9ba1e49bd184abe1ba26289ab8991c8a79442eb
+6d78e4a2d934b2e24fd3672593f92250a7dd06d8a65d3da58848b685393e42f2
+e95dd8d7624eddfadb5453a8ec0709607a7fb5f5cd6077423d4c1cf863bd76b2
+dc104ea598945114c420799c5ae67af9defd985331421a5fa602c0389c5b7a2b
+c2e9b6d4cdf7d5c0c525842a562504459263981058b45c7c72b01f366362efe0
+be5c43df58f672336012d95cfd705b88aa5c39682f7f6138eb67dbadae5eccbf
+29d13042c91750316565f87c724842957e6da0114ef5bd6d88f3d15284b51a3b
+1d562934cf8ef49e4cad2b5e59d7b5548b803d24203286257eb9bd4e6683e84e
+6b94af7fe0ccf643c11dffde2328cf63757f15dd6ed41b77b0139d4a7e845617
+1632f9a301431b5dfb6ad060d4e5990ee8c9e2673a522cbebdb0c525d434c934
+5f9840684e52d9272aaa0b6c84e83e0bc1c98e2ecbf1308734f160bb25d6c991
+3b76558823255be3f7c99a1b330e1a6662c6f63a9557c575ed85708308a7cf5a
+6b47796636124d97a65a2cae6f873782fec9459bea3f8bb2af396a47112eb71a
+0062e678d1c67148b037d8f07ce0bc42019433a54393261afd7ee09a72ac0a5b
+2e2aaf49cb6b2a9ddb5c95748b3c184bff72c402eeb9ef87363ead24c39a5faf
+884c57ebf0e849cddca95cf40671ee4bcfd515e500162f25bf658244a45f56a5
+942cb88a7113d025a6236a78b2c1848e6107f667dcac143fd1a8f41e19ec0e3b
+4198fa544c71456f68f9eb0b5aab536a07a1764c2f756a0fe2f2ac158cce4b67
+4f222aaa2f872aba5e4994c2c42943b4f551cdde108066d8324dbf2ebdb72aee
+402b60a2c51c86557d471cbd60c4a82cb568239ced71242bb1505cb049458072
+c71d33c3f871377114ef6bc7df0cd6a9a8a340d0d19059b06878b53bed52e175
+83487eea23302cfed73dfd6785db005824e2349d0d435eeb7b7d2b9458c5ffb3
+9eb382b889c5adadd94331defcef42044128ab52dd5f02790512eba2c0933ae3
+571987c16c20815dba68c9b96ebf619523f29362e7927fe174952577999c3e95
+32d76d8d2e02d2e908f41eec8685459f9ddecb2f6d4c215743f4b76ab79ecc4b
+585ed6c5f5384929e44789698899ae95ac265e57a27bf324ee3f701bd86e4688
+d8c86e171f357da2aaf8409adb7c8d14eb582708b4ad73deb8d186b3cfa4aaca
+e9cb05ccc4bcb3e2abad6b5921ee664648d5a01bb593a1f53d171b358c42c3d6
+cbae0f38244c5d3be90c37150f3a5ca18e3e8e01c25fce7570532c3a9e502ed9
+bfbe2d634954d7cad309e6a6df01db68c011b3e2bc5e904c575ae07560ed5d31
+936c202bb2d2753c74d506ea3bd0ee9990ec00e07a20a24cffa59301a9523804
+78fbfd18cb7f3d8f158da9a650db9778bc7799798584dea07ee146054cb31e72
+bf8c1498dfddb7c7d658bd2b343fecc7975e1a8d807b579b8d80a32b26bd88e8
+f5ada4ad287c05bccf949bd52f492585a28588d643ac51cadbbecf5347599c69
+5732cb35186e95c3d35c4ea03dde72b1b3d0da03ae1f8aa3e3473826ee62e4ed
+5ce20ef813cf22a22766b24bcdc41786278ebc444b8a9de9837d3956c092862e
+3f999a25ac299c033fa521aa3dc9ef7c248e7fa9aa05603cffd75c93febf0e77
+bf9332a45af3543b4cf6ed73f7fb4be96acadf8368cc1b64ec5e279ad5fcdc0c
+48c60d07a3d41906829644df01f4c1e46a0485737c92a389662321d08850acb7
+d613069999aeda26309f85583a08b46f2b47e0eaa833e8cab86681b143a5812f
+1f49c351fbe7cda8830944e7492122814ce10c6ca8788e1c35aa4a5cc7d29815
+2ef21aa1b1730e6ad76c3387f6b2135d9a99766d741153a2fc1c5af8e084eb0f
+1958747890d0331ece4c596980e38e2d49704ffe21f4094a1930b7a2a561e0b8
+440b3e68dfdfc3703d24ca8e93bf7dec011aa9fa7984fcf93825d56b0966130f
+0257acb5af5d4bfa2259d572a2bbc652def62bc86634a4b43d647f322725dc5c
+384921856bddb51ba25d56ad03a1cd1f4262347316495cbc1576aeb1016008d5
+bb04d1e9c928b6d7a1e0810b6e297fc768a66a9300dc1f91b2e2c9384e733801
+fcaffaf596052b460117483229f2a65fd6528b03fa6d6be31b9ef58f30ab3fbf
+a38a7189a494392ec6a18645794c75c68df0b12bb545b51c19384e2ff15df55d
+a14a138af9190ede8a2141ba609f8b150150b0a3a12d8b41fd94465b5d629491
+e23aa71d59fe1c0c357e627427670e3f62f261954c0858c8fce5552a171b5f64
+4e6cf1ee006dfe90561c5cc2489d7c1085b6e122b1d8adac3242b3a80ce81a65
+fc55427e567da908783acef8706b8b4556e1be57c854d186c9aa934ce6f860f9
+7019043668593cb28e1213bc1b41419b367847e3c994370db9ef2143d0562b89
+d322369725a47f833e363aa9419095f2c70b371b044b33b0d97bc330e7076c0c
+b5557835c4fb7b28a1dda019ab3dc2bf1d7e6c942bc3d874beb1598074fa8ed5
+024aeae632a36e3cd0f19e1392a2f7b06555eb103f0f6e3cbdef8499917e297d
+13f4a8ae1a87d57847baa22b0d69648d36eccd83bdaad3c5e6c55f872d26aca5
+24bfe074e442f5a7892e6640b8d3ce3d139b448ce0607ee958aba9d91635a7dd
+3eb9901042de9b7295ddd3400a157de3d937e7c7c05c826cc9f9edf9049a38b9
+c94d25408afe09e727db8c16ca73b13af88735645c48dac844121cd93bf17e75
+7454c9fc4e29aa900f3395dc78216bc610c380de0de1836d72f884e4ddac418f
+b19af31fce726866cab6a633832cc4981e4bd29667d3f75657d8a0fe6c79456b
+59100e4eb9b77f98212baf9e27201b33f34f1efdf530733f2b6b054cf4aeef33
+9df78efc3d986a9fe952045d5bb3534c22e5c06bc52712cd5de9d8d642936d81
+98ca3e8f927dc22646f3c10375904c1538dc440e54f2a68aed448271a846d6a9
+735523d0af7e821c1b8d3310a76e3fc48db544370e78cd96b80776accddce60b
+905e5ee019adf08063cc14a67f4974d7e5198a80797854d25a82df78f0793db6
+a82a55ad6d45b6d0acb73236de51647988565339ad9c51d9ea7f41559b6ed3ce
+fcc2d7b48371ed90338397b1f9815bbfd9abd7eaba116fd4495d2c411deb677d
+972af20716459eba447066efe8f4ac8c34cf8a4033c1b451d1352a29d6b4103e
+bb227ea78e4460894bcba9aec4cec79442f8df9ba3e0661ff40294b0e95878a9
+51851bc1922e915c6a4a5ae97aca5a18bb0dda696ba18e2a2f78216e7b27db8e
+e42630059a505886b7f65283103b911c668014c46b439028d4899c6ebf3131e0
+1612e79609d9341eba38dde5b6741a551fbffe2e8afd01559e2d0ea5e50dc28a
+30641c4d7300e9b71c15399371563dc14e4b4d52b0343dfff43a85009587162b
+d9bb9b257e4d66c2c98adb6a8c5b7c06eafc7df9b9e47f01d4d6e29182b7e881
+8d1a3fd3b343bc6d17cda2d1bea3b15cb6fee1aad72eb480017c16dd03ad759b
+1d62907851df0b6559ba1cb171bb83ba5b4e1c26855ba603955382cfb1e16134
+1df466c4584100af9cb4f7306257cd110dd9377f09ce7b6dbd28d6e9b8fc5ef1
+2e588fb016dd04aeac59c7ce6b2044da852f1dcbc9f69511aa3e6bd7ff640f64
+9401f8658fef628c5e935ab5da5b8e83487d1c3af24a364dacf3294b2e286236
+2c25810f629ebf1cd3a81c8ed87732a8bb4418baab58f6224fbcc2cb2a97a503
+0a7a94ef5b69d1a133629ff5cfde69f8bce0338d58c641549e79afd153b62d74
+2b7105287941c0781b7b130f0dab73f76bd4fde6609b42e0dda18e844f342171
+f6116c81fdc877f428805f8e6d448784d472bd69b0f530b547343bd5f91be100
+99e139e18829e58322e3b1ee2d0f350fb7668957129f2db877d3a70723acf5cb
+8aa871d7812b9cc6b949980e67cb83f5af2a158e6354cbc342b0993b34d67a05
+21d7ea790dfd497417dd91eb42453fa5e66242877f55d4e70ac1ff8f4ccba408
+42cc5b27a72d05a7f6a97de863babb1e421e8b5d7ec15b95504b4d5868d2d23c
+99f910170f5cc19b59b1008582ffd4589418cafbc0bf00ee58b62218fd94a628
+dc3a5d023d4019734f9655a2d09ccd00b69af554bf60a81eea9005edff723f8f
+e1fd53340fd006cc08a0cdd6d8e24196df2186690ed0ce24843c484e51d7d652
+b00a0df424d8fbc266bbf5ee836731361fe77ee1f4c8ab65903240f8f457e0d9
+0835b511287de82338d9ff400220a3e0f9a60c571fbb4598e8af35530c5aaf13
+217008666062fda0d9a3099175452a3c77913453237259abcba9b47ab1c9269f
+9dbee349f5d0f519128bc6a6c4f5320f198a9b006a784b82fba10ee217ff1723
+2ac6e280d4d949bb447e9d884295168da0d6c0e49798bf0bf835151dadd98ea0
+9c251af37b70a58731bffc749299f62682aad2b3290cc7040db4508a11503822
+b0389127bfd295d282290c45cf0fa9cda8679501d51daebae62842ab48cd0466
+b8e64acc2a7ab4e803f4c089b29021491b7f365d84d785b08b62ab90065e7d99
+d86d73561d29829e36f1081944dc989139a8a19b2951b73f1e4cf8feeefb44d3
+2426d6836881b8a5fb5a824deefcc01a37e20e28ea2df33044b8b5a552bec7c7
+f5d80777f7b92ff8ac1299ca5364c8eb575b6679dac7bd853277a8823c6dd4d9
+7f4802818f989aa4cec93378d058f8b2dd1d094a6b52614fbc525d611d04f181
+07c4c7f0e82f9cef12dcfe6884bb1df639f92edce74f964f2ff65ae107bb6fad
+5d28d47bd4a25ba7fcc1debd600d34e2f603acd1f55dbbf29a5d6db4caebf459
+5fba31c8d28fb8cfef692d575bd8dc3a8550be2738fcc4cd2d9144307998816b
+713efd831e47320efa8037f56738bd230185a5c24ab9bfcda3e0ff04ea998534
+ba973314cfc4d94b42b4d93f5b1a518c5b5ce3e0ec93fc0a7e14ecba2c59eba7
+491c04a64a33282376a861da39320b891a10a695d4fc2e32cdff4c205ba1eec2
+263c5222eb0f057d2ae86600bf704a69e266c9fc0516b885467e841ff76f1de7
+684bd614f840bab0772d3854f08f615be12a3948617015f6800a8df4d337e990
+91031d77b097b3a3034e954e170b43205e509a949f93f050c817f06b5308dbd6
+38c4b7e3659ff0925a422493c3bbdfb04ffa78ecf7af3c204d24c88789b797aa
+e784bf6dc29ce66f55e190958f8f579f2515b812abaf227ee5fd2a813eefa441
+e724c918bc64605b1f9b79227e22a6e001dcf230b6b166aa299fa0dc017f660b
+c1bd4e37c59e7eb4a5be4b91a2a5f195acddffca46f517f5d00c7932d3e00202
+3490f8964c408fce15ccbd2d14c47071412ca07e2d34ec875416b6af53fa776a
+c28e1a418fc7706b85fff2e903872d2a4c4e3f75998d9553f0936989f215c3e5
+bfa8b7c340478d92e729a7b0539d6e581fcba1e1db0875057cf2472939e8855a
+d9b1acb41698139d77eb49f16b56411bdc0f205fc867beac8a049d95ba40e3e7
+91a221c09654b6c607a9629dfc2c1533d08bed0cdb420313ed362321edd9f730
+b06d2b76e2ff25c6f8c0afec0d6dccbd39ddf0339649e13039df1f88d76a2ffb
+e06c60220438c3c375d166e635f1dc9041c173456fcde14536b54bceff14f40a
+df2e8913e4b212ae18c6bdb74726753f1819c6410a2e16f368d0c5df9f782e80
+cb773744461e06fd5781dfbc36c04564bff91d3d9ba1843ab94a940eb129dd03
+0ceeda6de02bbc0ead27a4ef64f51a2f96e986082133f3e9a75cc8f10a91d5b7
+68543b567760137b651ef7b72b65a987b9ad9230e3d244c272acf3a26b836a15
+bc88c4045baf6cad6bfabcdf2b314a578de1646edcabf591028ff58f4f442dc8
+9ad30848cdf26a97dda9e3f1d36989a68f98b7b38128555d6b559f63342dc7e2
+b8c817ecf8e55c3ccd2467625677caa39166761c233975001efce426f731d626
+18f60fb35dca46459e8f4ed0e5162b16ca1f40702c7cd7800d4606dbedae0fd9
+7dab349188a9b374e3c634e0a832fa1d3eb10926f0bcc755cb55ca86c8e77191
+1dcee69ba9c62342dafae8c507c4acdc84db82b9bf1c9f7f5daed2d2df13e214
+9e1741f639fc4ef3ea6a71b1524dfe34addd067f176739f769c4ce20757f5654
+5b4694ab62c76a39c0cdccb4791b744b359117d83e14bdc9a6d11517693a2f4c
+dc0073f0323e82d5ffca88626aad309a7d65f4f1fd14467fd45c30cb5c71e1fc
+77cdaa5eaa4c7b4fcf8bf66ef17f0727062e99768e0065178f0fd131e00072fd
+f98d523a9bb7195425f013b570bd64856ab7691c422b3ea6278643c8aa0e89a4
+5e6629dff435673a4c2d7e90c424e01886d07c2534b18bd3155cdcc0940cc139
+bb471eb70a95bc684b071d84ed1cfe40be632fb866a14e35afb32e327b66d8c4
+0b2b7349e7a1dafe55e541d09c53fcb2bdaf0f24089bfcb533755552abc01644
+15c69a694c0cc8fce9d6226a04c778d7ea62e33125f066582d65856e41ef6132
+cdcecc479682049528e6cf311b15a043995b21a095131a5f8e49cf95587a3bde
+9eb44219cfff7f7ffbf2eac6434779c8a422f66e80c3db90e4789be0e5940d3b
+f0d173fec9947d7611135100566345edd811f9cc94b97e5d2c96967eb13695bc
+28d863905d94909e0f2c1c299a6f5a063c9af1ea6f922dc70784720608e997e2
+7e427f3492ccca9570b81be4126c1a4445465a00f9bddab13e4e42c7b0ea7753
+d3dd30428b6b8f5bceea6e0649ba9c6cfde880719414a3afc7f2c995fe899fb3
+c37d4c59d1179e410e6d2e41775d4e2da2534ce87442a90b5295a3c99a5cf411
+dd8da9dd5b81c825e5811669967d6cd584e461a17073d1b9701d7c5d1fed097b
+032502b8247cf9d2dba49649ef3bd7e6bf52badb7fbc167bbaf7b13376ec03e8
+ee04d881ba7d74efc16b669ab02ca11df2910e88071a25e3f4e81d9115bcccea
+fc1cad242ade2b0fd8e233d28050374b3f5dd0d7e414202bc8b2da9fd5c83069
+6b56f3a65848fe6e76afe8ea3a766e480b7ce54d48a6bac7decc73acaba9243c
+6604088a58eccf105d8f09bcfafbfb83d3fd705553381a3b2414151639cf3eb3
+df353fe4e0c0f4b61b6a4318fd6c9262488694eb142bb1cd160cc766c9defc91
+22af8fa3913558535e74c259dcfe275ea330904d7d0756d99eb4874fd1457751
+dc28ac87b5169a3ea128221336958ac7b0b26da3a8c0c67b767e4234c1b97252
+675d7b6177d6ee0b82b280cf7641bd0793fba0235079fd6566e3ba565f4df5de
+aa9854469bf10ecf83fddeca5ed7684238a7db5fb6a72f1807be54de2f08c9bf
+fa608816ab648da9c41f06f4d635473d1dd95b99bcc83a5b6ae8e21a92339e85
+f20fe8b3cc04e0985ef24ffa8a3eab55f556cd2fbb61f3a6f6c611fd29d71d47
+fca780045ba9a120efeac851799960049b6abc52e14f888fab11a907c1906e10
+b5ce9c144f6355ecb9d98faf15b72b416933cad83f796eebab7d1eeb9d5e616f
+49e38a86c9d24f53a6d44c674902e8cf9e383b878585edecdc557673cf061834
+644529155fb00c60eae4892484a458a4018649bfbf6bd6ebf721c4966dfd5364
+6278a6a57112f2bd67f1426dcec86a4c3010d768fcde374eaba2866a96c85de9
+dc7388b59c3c116967c29ee252306eca853aca3cbec796866e3cb41f8c62993b
+f59d39793d0f02007d8509c25f7a8cce2389e3fde88a24e7221f55384f1aa17d
+48c7ab1be0ec37a247485b8adea4fae484201dbb0b7e88236e1d8e0db5ca592c
+3f0b2e1195fbdba7f0fcb6494de5fbcd2cdac2dbe2b331eab091fc15731378c4
+9a8baeeb21eb191457befc7c5108d31dd8c5f4340e4640a3b866868aa061f9c7
+8fd7b078319278bb63278bc589e040bce4a765209bb656b25a5188f3f304e1f8
+9fd5e922cc956c575cbfa791cf59951270269ef286d901bd43c6b15b264671e2
+db65784bbc36be39738048ad9cda5cb289f948a54258a2ed8e6210c2be918924
+37df564d0bb1d6184c4b4f9a012784e78195f19506040d15da6c85f6a61a9c80
+eab3b0a6efe179339aeab281ccd07caf4a75410e30069e615ec86faf6e92bd55
+149ae1446be7927290e9d88c30e428e9adc9e7bcb734d8511ebe467e09fe341d
+5df044ee5f024763c6b4e6925a5cc46169718e31315653ed533b7e12034cbb45
+115bd0496a0b02561bc0007c183fe4965e9f8d2919bbb404fb22067191b0b7e0
+2da1adbd2a43db5575519b4abb47e648074124acf29197e9ffde2837469ca79d
+32c5079237a3f17fd9bdf5b2d41269ff952e028f24adb0b16063b0b9bc83eb86
+dac2b66efc23c1ec18e0bfa764c7bd23b225e1273ddfdc56aac95fc355b7d503
+21c3029b3ecfd14ac937cd312763489b1ca32e44109e46061a380a151f6edd9c
+0a54329822a66a8ab73390067318837d0e01db12d4d4b2014b758a3cbec6eb0b
+63b8512ee45ff99a88cf7bfc894b39b3967ecb198d32c225ece763d6f42cd089
+6e9dcf32a69178a2cfa61a4e93a8f4344cc7658a70e8448534616de0de4da963
+23e63b4061ff4785c818aaa9d2141b866ff6cf537e5d28c81c8013d07f3d7f27
+6a7c921771316752d260323359585a4e2b07e093a980ce55e715763e4c11585b
+04387404b1c8381fdc8a5123d88e54425e4b43bd62ebd92234dc2528fbbb090a
+a220deaf8042e59d8d688a5e84d073aee92e564a361f1012f915ec30ca52c769
+74f7439345e2275dbdcbbdedf32fdde895c60d267a921e449ef705e09d1dbecb
+19969225954556ad6bbbe4f39b4e67f505483d1f375c5af02df6e12dd97d28f4
+b441965704cb0b4b4779c66c83adc18420bd8c159360c0f16c7baa2eb32856ab
+88dfc24b20eddb586a444234d47facbc946ec283bb0c63d7dd69a001ea2d8925
+1f3a6d53a31efcce00c992b94e9cf3e389d0cf492037451b79987cf35a218f47
+e673ede427e7ea34d20db31e36dfa83f12253283edb89191d38e5b0ed587a8cb
+7ad0a11167c48c00e5a0b30b6f03c51b8cc3f0da983a14133f647ee0997bbb01
+af1f59f11c2e505b5362ed3e15358b76552fce7d6b2084310bdf66544ffab59c
+68b15ba14cfb9b6eca794e3426bc9f532ec41ebbf730532d26c8966e42f94656
+3d7760a60789c869be97513b973a5fcde8c13efc12c1ddc9e3b2003e351916d5
+c94ba463e48aeef0194d369954011469ee5f4476e97c678a07b17eb958b49774
+5b8d9f93ecefe22ef419095859d336d8d63b869d4110017cb3ef0398bcaea810
+fd5d8d93cd8fa4d616b023769a3be294423031ae7c55e7df73cd43646437e33d
+b692735dff3efc596a6786ba9f8c81a596d6aae62b9cb846cbf0174911d8317a
+a308dc565d0df5bca02ab5e9951d3fea0a7902f865a0c6f127cf6a246e479484
+63e0a096e1aa26d5ba3ea2481346682b8812c8b1fa665fb1f7cb2c751cd3b1ca
+e67eb17a25f1cc4270268325236f5c02b8eac541c0e2b9b33e33e0a9efd16be0
+79385882e27d915058734d5743e35821d9b6cfa725d4d3e91e2e3703c4dfa5dd
+adea16cb34c2ded3f67a3fb00dda757201f9dbea2c207aa84ce7bbdd91d4685a
+de3f3018511c97e02533e897440983789aa4a64752715a80cfef745e6780dcc9
+7d46d0495c2485baba03c0707f62babb811cf8c53083535558b4352836cfa36c
+32e55a09ff88c0f366a152aed3390cdd07fc812cb400ecae8a6e312259e11407
+348ab9b1a748a4b006f3d8255aa32dccb092d0dbf6e70960280d789fece9ca97
+58b61be0b2287cd81a53322c30cb5b08adffa3e8f5c6a9b49f564043efddf252
+a6e6a2f66967160551e6c3c08f0d512c012f44df7abb971896986ca43457d984
+595aacee5ff340423b048d40605d08118d54957cb37961bb1c6ab983c170459b
+4f0eaf8cad2127212c62a26c07a3a9412e620e043bf31e1eeb37ee4217072a93
+56b3db0f4b2ff1228b02de0bd740b9f123be12fbabb847a96684784dfa45ab77
+f349bc44588112533d9a69b3fca90822d3453df28dc670b2d06cdbaf68aa34ad
+dab29b728ccf35bd6b560e4db125d43332c707a46d91f2d8a1b4f8bd26b91efa
+4b5aa3b182dcd2e516f08b3ee3888604e95afbd43484e4439b41ef328e56effa
+5424242aed8159c6811c5d91222fd046a5ad1c205480abddd94f1942534c66f9
+44a426786ae02546c4e789d6d4156f8972dca3ac1c7f30186438189e58ca8be1
+1446f11fc38b9ac775e303e0a8939ed925d5107248009724b371bf86bcd06b56
+029c6a484708a1adfbf8b0ab88c5096737372cf031ca6710493f85d84c24118e
+cfcca26d0fcee57bb28ce97c4e515770897e85cd5c26bb23423f0d234a29afa4
+4834563f616377d1905b61fcb2ef4e1dd74ee5a5ce8005891dc2c4b6563e260b
+d0538e1607a7d7956bb11ebef22772748b3934237a6ac4637add115ac35d2f87
+b21781dc5e5d7f31850538606044539e655b4c763ec27e11e59f2259f0168797
+267c6f6de71f4dca9e613a1a1dfdaa1c1afe69c88fc0ee9cb8a4022ac193f54a
+4b3d9ea2b32e6f15429e7dd11851af592985a697eb32e2c084526a0f44e112cf
+4aa9b9e9660b066675ddc2c848856a0bae01af9ae5d3818f7a51622eafd51bc3
+584fe7d8c0df2212bddeed3acf3952b862dac39675461493e61e431ed9b3f7d0
+bb9661046f9fd71ac3339b71450952facf48d741b6f07f105473544b07dadc84
+29f0e050342da70a301049d517555805cf7c920fbbb48c56a907a3a19d8c50aa
+8b624a4d3789a9cd600ca2332d77d101e808f83822c2942eee8e2a68e6f0e8cf
+be1b63b5efb1e2d1af9d6e311ee20d58cd61085c6071d48fe9aa42d64638b7de
+49403daa2d3667588de865feac8f3e4c9f9cf9746b72af6e4aeb6d61afd1b895
+b15fc935231b0f245c5802fe3bdb234bb53b48379ad397cb7f543c418b457c2a
+9443e5c640943135ce35ac901abec98e42688331100aea3dfd0868fbd96b0aba
+fa9588db53793d0e9aea3b011d0223dc696fbd83a5a3faaf6faf4959be8d3d15
+b141231a47caa4d7746ec45c778809da6990b8fc5a17f71b54a33d8b2bfcab20
+2d77c515c2fd7d4e8d4d16e2f932d37aba003be26de0552467103e2a76efe0bd
+2ecc64c528ca69ecb11b1cc06a444aa8e2bd3e6eed849ac8da359a82212e00ce
+bb2750beffda0ef79c020d9338571d8b6d1f22a4f27d56d3ca15adc2a79f23f1
+c4280d6773456f2784f0252398aff2006f03e76567700b64b1aec7ab85ebb1da
+8691ba860f8478e42c88be431c07c924acc2eb6bbe37488720f914e0dddbc15c
+83705852d5045dc73856c8f4b6aa093e032af86da474b9f07a211f2c3e1f2c53
+352f18125c184924ce07f287a03f51cdc13c864e19b86c4c4e62807432096fe6
+fafdb8b65f00191fc640464c4caf1cba3e36e7ccf06e702c2d66b59665368f9b
+dd06aba38849343c8e1df4e0be2d847b93cbf79cdd0360ec590622c67df13c98
+bda559eea0a07dc5e9cdeef962b161f5c82f2fc8d3ffc2cecdce1308f5713c07
+96fce8b4c71dd823a694b741904626659c1ce3c4f89efc98918aefbcab53e389
+8a366b6f24ca56625a0dcdbacf39fa6d417b632cb5305c526a427412c49f8a0f
+e4fbd6f0b51fc97b85c1a30cfe91f32d6695cfb4c4a1619a4ead80a674c53876
+59ab6dadb763f1f1695453ce2627169874a3845f5c6295c10a9d3c534d14ba0b
+491dff6be63cd182b2496e01b53d931c857a0dd957706da4d1a07ddcc5b80b4c
+4072dbb1a8b4273d4e2bbfb42bad673b923cc4ab10ccdac1e796429b0995fb9f
+9952f06ad26267a5af7a41f673d82f6e700f43e163f4d5cdf7a40b009f477b55
+dd2758b4dc949918dfcc0f5d914ea98c8a2abd3b73376717bbf822b0f5f1054c
+b01f9222986e5f9f22f1b506079570ace57f20c80c55697b0de5a417a227f4da
+26cdab1b766f4854ea5fb574781c09945e54690824c587468648dc20e1f16d64
+a7133342f9d3d3cc93773fe065f101042b8d891e9041a72c250b862054231491
+00e539a3cb9e9398d4ab0d19f15bf8268373c06a08f43f800dd9b0b2dbd7d43f
+18a3f2dfa0ce5bdaf8631140d572b7d15a6f4acd06eda1e9b92d69464887cd28
+37c33c50af0a9db430ef96e4507b330bd2d7bee0075cc19a88ef0625eaee6ec3
+429cdf7d20ff1cbbddec2758ba20ec6501753025f717b6e5e278ce406e1f3b0b
+62beb675411d62a19c1f12de5582c544c252adb313b2e9cabbcc9827ede5824a
+887a8965ab08b30a2e242b4f78d8c92e8f4d5b040bf89194dfedac93cd88dfed
+379d3e9b80f37e5e2dd904d4b17fd8c463407a9f4a6d0553817198c07ab8a347
+c71a6c7e5b2a11c12ec2d09e6f82560b608e666d6503e21a5b5366eccaa1a325
+2be976dc010234b9f1152b43cd36fb38977697849cbba678308326e915d2da8b
+997c92f29b600787c187aec219631084944b1eadedc3961d273da1f3dce724e8
+4243f0cc7cfc03215ae8fd7d52e17860a3548a46c0b7dd5456f942352eba20d8
+58139c9f3a188f01ff82411a5f8cfcbb7baeebe5624c207a731ca4e6cbff4c69
+d0a94b0f8fac582ac5c4ad113f3879426e5f9452edf4ca72bcfdfe383d76e704
+24a48aa7d31ebc31315acca51aad68f516819815d23a55a872b666059a0208cd
+c4771cd19853ffef6b498d51167c92ca5a4383f3080a98bcde941cbbdaf29b4b
+7cf1bc338a725406344ffd2f53eb4b11a7ed0d088e5e0c71d9d44c1f23f262c8
+008dff2c4f3c214a2a6e8bf8022edda08bb27aa4d843c144325398bbc5fd1010
+4e0bcace0f9e5ed4916e6797a15ecc7d2d0b7ad2db5bd59c625ed75b722d7ef8
+3f83461cb6e2f10f69b3d9fa28296548da4fec5977ab2ce4eb764bca4712248b
+f06ecb933a186c3a853b9dce6ce162ecbae5c3bc4768b88d178833a2d0d452ed
+364573c1aebe6a9904c96b7ecc3bc7bf206dd42a2784f5fed52ca93ac40c1cba
+cce9d2a3ae64de5033c6866d443eefdff4a5fbc6673de330b78d695a7b0cf370
+9fbef1efab2c8ee3f012a68b45e7814e78a7f473fc0fe5e0f371348572b168ef
+c0fe3bc25afada49cc40a89535d72cd06698555ca10693cf7bb47165f949ae69
+59191e44cb5b852b111cada0433df3ac8a17ab71520ff59c0b9118efb4f52c43
+e56155ac69f18c3d100ffcb0d770b553da90c7c5259bd7520fe8670d643e7d56
+6ae598d6f24adaf5c81217a3ebf95a84b06de0224a84a71caa0c315b65e5d58e
+ca1b92dc723705eba78ce05c4e4b6fdb7c6c1fddf45017e58da47ac0abba680a
+5296d14e8f7b4f318dd0f3064c6f1fd82eebcacbb6fc49bfde348170fd7bc83c
+0029c096f4e22e6df93af0e8729953c17bdb4d3135a2f3bbe91190b4a1eab51c
+57b43ca507bb92c162ef96eb4cad3199a8840038c2a898ff9ea044ba66c188eb
+7443fe4cbc2f73dfd6b00f606b235e0364a3d838d79a1bf68de8d585ec2bef72
+3ed31a1074a6cac7caa6de79bb0c847acaaa185ee8bc28408e4aa5434d634087
+7d0eb5f09c4365d31ac35a8864253251786097e97c5033e340d957ce822ba2ce
+590d15b5e8fcd805d84f44206d3dd5f925a89b944056b44079ca4b9c038bdd40
+8c05707ec5c063f12893c37100c3f9e1c8f8e85b21e51a63ec79b622ba8312ab
+7c75e014997e8a0a58f029e63dbf4933106221d240df71213d992ca0f8d25c07
+530f66faa44bfc66cf1f8d5789290164b8f89072e75fb820a6f5628d671d4e09
+389a07ccc1f98b7ce8c6bc97a6c5d938b199c52a8cba2d2ea936f509fa8a3f89
+f33007cce264b2b251ed6db0e6ba0bad65950b261bb2bfd1a802e6c9b401e6b8
+88abb479787df3383a5ad57e119974a0f2dc3282d8d5b022ee52bf27204f6387
+8a4f0edf9279078fa651eec4cc77b04ff9c18b5532fe7f91a0b9515b0fcd3d3e
+bffc3beb47094a78e942733ede5155ca699917ea075d729df6ccd8a96cc37b50
+789e44e71a080902e8755dcf17398ad464470938493714abf0e7d0a41c3c55fb
+f509cabbfd130c142af7b4dfe6b59d1f11f67a1c14b7550d8b379dfa1b2bd9ec
+7e371567f011f324bea202c76ed48acfe2cda65fe3119162685bd52898da3044
+058d497208f7c47df5b2865a912cac9b557f5aacf08b907f4970325f52cd94a6
+695ce71c19e854d2160d4157a046300def566654ad5c83f63a18bb28a473c00e
+389b2bbd0c89bff39bdbc207a5c47a062e69c62d0f43d9030b1fb4e6e1e34580
+8c2ee2e8a61243203dd7f6e6d7a0fad51e85272143e27baaaacd4ca894785695
+d34c270eee9a5ba06cb2bf3eb8c1c70557d89cc0624b7c6b2f55a68470ed1285
+fcf3bd21c5e4cff2ab4eb8ef4168dc015096456e62311e8360deebe75740cc9b
+ae5789e59dda3297e3cde567743a8c9a9ef36c62d8702fdddace6da2a4faed91
+8a89eb6fe9f611e1fe4a2d36c130fa78f7d373020d5d0383ae3ccc8183157deb
+99929bc37d59c77b80d868352263cb0ad543a33603be91823f2e87c57caa8f65
+d2d72b80b6a19befa505b4a38c5d797f84dbc85676a5b91c2de7b7a644f72acb
+e6867c7f3de86d60f080f3b852875bf0bf9e958cc9cd76b0aa4d8647fb82d86e
+50d30a8b92ad80db83eaab632866757bbfa6de4db7685fa81f8455f91fa0695f
+3bf47cc90c068c8cf50cde3629ba4d0554c6d524e0a609a8aae797c4fbdd1fa5
+529eab74640d590bfe62a97e8d25ebe9c03eee03ab9fbc7c839e1b7e9849bcf5
+11176df6ffbd0b19e4ffaf2f019f995bd6e70f6a0a46dd103fbea95b9a268c69
+17f6de62445c2a60f3162b04c4e25573060971bfe8018c278300512c25f7e68d
+bc399b875056ba92ae450bd41b0c4a0657689593a9d1ba110b869d02a9b8864d
+5474c653d299879ab1f09cee055ff5b875b4e32e6dd2782e5b8f5918d01f03b2
+ff4192562d39263a5f621dc77e1951a3f7c5f68a17fe788398bb0cddd7245286
+6ce8860ec0d0d354d1c81274eb5f078c3a1eac81e59768157ad0fb88e42527ac
+32180fe6cc1ac34e70edf2b4824c836486e8e4ebed8a2bd1fe4298b489060bab
+f6869d1acaec387075bd8e0d032e26c2047eceb321c9b062f595d1745ef64214
+c9737a025d15bb016411b9ab6d92c4b79cd4589b290082d3a24d0a0496c0694b
+5c2418f93a14cf8a30388dd8a847a6d0d75d15d8e64a7bac3e3e76754f1e2cfc
+36b1d1e026f1709e8881e18ea83132049ab405227b035d8534b19812cf8eeb3e
+f53cbb5b421ac1e40f15fdb7ecfb5b37fdf5ee1ce6b24101cda6dfa49f04e770
+f9ae5995000ce6cb123f8dabf249a8c2b961b1d7330207b273cbe67d512d310b
+0e1721bc29fede1e98da94737af350fcbdf8b8ba357cd922d328180fc39e92af
+d759268e7db777c995f1801dec0e787d3844c05eb62c70f3359597619a23db98
+4c41bb92333ff13227d997dc0e484124f5d6aedfb9d984d16e211a9c436f6df9
+3c0f014e2f97943cc623ebebaff551f618413bc0e3978c67ee03d9c232e1ac4b
+298bca7e97fedd901b70336c243742571d1285d466eca801d811680cd743a84d
+7e7d281fdb343e3d22249411036ebae6a8a6556bc213a2ba1840400e96204111
+1613b471e7f9fc81dd9dec37aea9b6e52a88e80cc9444e265f6669a03f8ab790
+450713d34df2576746c7c5024a6b8525c38025680f3cc68292f929e7c73398bb
+4ba02b577cd2fa184438e201dfb25db9e76fd01b2e53eb0c841bcfa60eac059d
+55af1aa26a07b8b0372fcaf61a7c883d6bafc79b59de13a2c2d8424378b835e9
+354a2d875aeafad3d01274fea6721126ba49a1da708d2502a4cd8ed3feb8bc1e
+aab3b5bd5eee75b21a40f6bc5475edc20b4b4637868d0fd9ad8733ce6c1c91d1
+cd78efa5444743d1cd7bab427f8f24093a7591beec1f385a8b9dc02d93907753
+e403bfbf5a3fce9355e7172df168f6704074c65317ef148b5795db5cbb9c3bf8
+6dafe9a83a325823db0472d0c0d00479fd1c0bd02cda2b2959dacabb5b3a23f6
+cdd6a36b91de15cf3ee6718030f8999ac4994cb3fef37838191fc57285b579dd
+dde76d4e27983c8bf6f2119f72e0adcc515ff59ed1280e6d12b5176fec1a621e
+99b0afb4244e6fa2ef33fe2b0e315bf378b128821104e00849834f8ac186843f
+f860c4b333f1197b84eee7e967032b56b3bcfa4ea7764c937c4f03defb93e4dd
+9c96de10b02878228d99a40d87ea64a9afd14f5d6ed48ccf4dfbb94024cb1c0a
+a64423963be9e9882e707c6276333c0ba3f6eefba424a2e10ff88cf76e45ac33
+d0a641e2656329edbeccc5d213bbba44586f5722a6dae8245c1e84a06421cd6b
+659be273a1055d6e092e5769ae93759b6533bc9c8ef13e5b920d24125dbb51ff
+c74a1a340b5ad94f785ecfdb245d443162fc9f417b49881512ede1aebd251766
+84901482dbb37acef30242ffceabfa06d1492c30afc075ec2de8554a66cf5c8a
+3e5a0a134eb1f8cf581db83a92f8addfa60e4a814dda2dae415a5ab30692f325
+09fab18f8724a013d617911fe426da5260e8cc5caee8187fe6a9f57812c15a8b
+247b51c8e1412d22aa040a894a7210b49b847e0be3ea398946f0d9bc8c11b751
+642a93629d39a1d655dc59d5e7e6fa18cf2c0c89bb126a1e5d18698d616317f2
+46f410a8f1c40820498e0c4c8235914163bd76180b82274e80d0598848fd6df4
+69378cbcfa0d3c260a24aa164132b18dc004ea9904c1f740471806f1d06bfec1
+931748be9355c122f29e50cb39cf027fa12f106c72b2d62a382df68503a8d143
+11ad51abee9283a5227aa457d0ebc2dc1b157485fe22b26f9f0b4df8c8e7e508
+dcc32c020b6cfc571110064c501afae8b41cb81a6dea6624edbd8071037a48d4
+fb571ea290dea299154059ecc52150330697a70a9667eb22a6e0c973a4357cc9
+44e7b8834c39c7ec0064c8110a6f7f233b378fab8fce7056796f6ef4b0f72f60
+06610f8b2087f7900c133431595f07198ce709984c03e1acc00946f1f614243c
+c4f4e017a78dc33c7b7811b88bcc693fd3806348f97ef72256615bbfc7741ff3
+a4e618a72938f7d463992fb16517e702282e853cce87044bd4e62c72a28a2ec4
+8c9f1193c7875c032597b9ca428f8e4bdda12a44cab7f6e5af78c0e92308849c
+5ce537fd9de29fe21c99cd028b1cc09bbf5503e448ea3b188a91fb43838bba59
+a7a7cc61223a71b3f151bc5a30b2e5198c9cc424177e5c19d709671692adc9fc
+5f82d062d5f57f63f9aff9226f89b3e14b454e379efdc1deec12aa599bc76aee
+eb6e0df8ae03e89208079e2d5120d4736ba05bfa19c60c5c28811e4cee12253f
+5d5c4327759dd964d256f84fd0f1f0e612278dd1d4c2e2b50572899ef1094923
+e4e1c7a65e3302032177d5750960d7bc24fb0dccdf2fade839a18d536b66f95d
+775ef0710487534df9f36d4689a7a2a2404f9f597a9fd0424749582fbadb1aa0
+caeb17e0103e7dcf549147ebad2343cb485f3ebdafb72223b34c717db9611835
+175403c46f3bc70331a47113bf566be329cec0cf54f84e71de96e8ef12303ba0
+4f994b0fe1a04988405957e4b631788bbc41ee8add5df85acad98cdc7e7f7fd5
+cb0b6a9e4b77b1f8f7f86d50e9f632cda32118a666f95201696a01332e60aaf4
+4363cbfce23c20d426e6cd5844510d73ba24b0d0a341202f25d50d1b31de34e7
+3ff9c5dc5a9e7ea6252ae425fa98182cc530456f259fd020bb88714c49edbf41
+f0861b9a92a1e40f272997fc4999e3e9499e652ab3a0217048b2fbf9fb4e3d7f
+304ef8bd3d34ebff374dc7ae7b94ae711b829097b3175f867603e75cea74341e
+53aceb9040741c0a170865a804af6f4b0b5342d7f85a35daf2c5de35f9ef11d7
+61fd7239c8285d7b159c21322d47d70dbe74c3cef60f0a8b5333cbc9b5c71d84
+3c467acabf2c45c5b2cf1a117317dca0f51095e2eee1c56a3cefda5640c979d7
+9846ae1badbf764027f5a3109cb4087d97d09719fb1c4450f1b428abe5844fc1
+e85cc6b22e451ea40724f82ba78a19f71e0e5a594600cf40b2785949a56a6ab9
+e3a08428aeb81368057d5b51cbc805ba244b46f672f63a1842b6619d78a428bd
+953b8e5447a7867d54cf4c6b4097c9f5692f7e547236cbbaa46f49f2ddda6bda
+71049234fdb1b31cb7a8793c2f26d7460010f4664194208f2e73a157fa8af181
+89a2ddfb9413a77a3ed4a4b1224bf684f900183246439d7bbef6d67cec3585d3
+2ecf716728da2e53a4dfca098752cdb70066b51dbd85aebc018e42eafddb40cc
+db702f6ceae21be6eb5effaf3e7a3bfeaebee77159855b622457bf5f01b3146a
+0ff7f33790beca7240b5a0031f57d9d8ac1f80a32569df420936e2aa5f2afe90
+173ba6d34dcb45102ca00a28cb26a419ee365a5eb5e27d67bf38b7b81f233a68
+0095429772e796ad24d0fba81acdd559548474764290ec307e02463085c3fd0d
+8f08eca815c97ddc42e939dce6ff49bceda5c8b8750daff47390bb96e998c005
+f31cbb6a0aa280eddeac7b4c832b4b530bc66ecda6b85965cd1bf0c7bb426ce7
+f0e68ee5b1cc180fc68c09649c84ce5a74cfe4f4bc10dfc8f5a959a3c0c97dc9
+3e054569d2e1b45a9a353081de9a06e31be6dbe93ce131edb7318adccd8968be
+cc7ead5e00b0f0c640691bfde2d1de3a7baaaa33913f17d8feaf4973e7e6cd0b
+648e2e4b7509a42f02ba8b9ea61fa632828b352adf1b9fa31488d5b3f1ded0ea
+a34da077efca470d508cf246aa993a1fa10dac8c01797d8147205c7ca5a0bff7
+3ebbaf5b0626b06eb56aaafdcff53bb98f3320b4babf796404e1724bab3d7dd1
+b6c25844675877e0ed95f61a0a677a828aa2b05f68852e25e2a3c5057df1a14c
+073efef67326d39119371be9dfc99f1589ac6c5810f1e9ac069cfbfb141b85e3
+0579e31d33bb046c4931fbad3463a6384712fc6b4bc29d0f8d7debc9df8a4feb
+a2cc53680bf75e2c65b47061cf2b56ba6d390a1cdbf87065f436bbbe28b50aa1
+6ad75e6da40b79086e3a11be3afacf81880ba0f16a9190f5f4a77cb100b1d783
+e7048df13a219d17d1b5db8c7ed82b1fff15dca29139da190240b8380bc45b61
+e8594ff8b483db15c3b0906a4c7d6ff39160d953624ac1090d0f282100a57149
+5dea6c4412286b233d867ec147c21aebc5e10118d95db3bd9e5c5613b067c49a
+ccb42620f21cb5ab5f6aeb20618421f868c5092beea9876ef0cce6c20855760a
+cce59df19120d59eb0017d8c92d9b31bea8b52a607b5a021aa675c8ab541ef71
+5f516601b1082a3231b8c07e7c97a6b6812c9a8f3935959f297617df68080c0b
+28364fe635c804e68153e7e2cf5d34ff602bbe565c46446b7f2071c6df407536
+c8e59796be1e192db379bf112b6df94e7917cf5cc6a905886ccc24e57f1c99a7
+2665f6cffdaa6743a5e2c9d46b519dfab9a4a6c76935a583022bbc0d7869e08d
+a1dd91d9a776cd39542ed3097ec97ceaca9db06a6143a0b33a4dcfe91340f5a6
+f908b2dc123eb636caf6bd09117a51388d1b2760ae8d70fff2924cd002ae0995
+c6f10c7c17aa792dcd270056567ad17cbb88669ce7b81e6fc36a7371c218ea67
+4493a18f6ae4fbce2ff08bbfb25ca2dd65aa3fe28ccbde3b2f36c88de30cd95b
+5c1fa810981e56abd6697b0dbc2ebda8783c7eeacde33f688239d406b4160ad2
+065bfe629bec65231876c1539c0d227986957a3a0cde922496996640dac05a06
+36c0d29dfad1de8988c24a890839f835951059498ae98927e14d2196f6c28944
+3c4dc3e822bae65643119150791c62a3a7425d0229a9b4a7d7ae570a3e8f9cde
+5674c3223b636ab84774f4770afe4ca9eced4617a1f182afe9367dd32d380a1e
+e13f5e17897f36a1acfb0f4c54c6254ee611ca6dee914ca30e3a3a0ebf95c135
+cf9877d6e4751bb600593506825e180878532fa7ad50d2478eab9d4f352975f2
+aba5e90d4f831495112bb28f8f45c3d86e0bc5300a3e46468572ba4d6da50ad2
+17371128a884dbbe9277f39be7d30e3f2952eb28e9780db38c8678b5f03263c2
+d2c73712a902c81be43006044d5039fb0b5c2a8e1959963f5a5b8be2b6ef2df1
+12a7bccb5d5bf711b9c4c3a4cc939d319b922ed6d7f9a30719c48cf048a417f3
+1b392db55253b0df1f7fa1ef0e7a0bd2c80112cb212160c82e4e8004937da3c4
+bca6b944ce45c8e78064ead90e48ad5c559c84295be22f394e8f100a85e1438a
+62607ab296bdef7aa61bce23ae31577f98b51a40b38e6b55167119349428c0eb
+9bf6761daaa00512e64fe94425825869893414117397028a116ac84fbc8244ff
+48bcee233f65f347ee1d31e63e53efee9106e5e630754dbd5de12ee758bd79f5
+4f3807d5c5836950d522bd2fc19e859b8d2fae02b4f0760d7fc1699fa9e6605b
+ae0ad932ed1edb58d6de581bf126f0e2dfade0cb56d6ffed96c3dc2a6835382f
+c97f5964cec441c28d6e311898953149ab52ddcf980b6ebd80d86c503ba3762c
+be653cd04ba14791c9e806e3619789c0cf59917120d2db9b31a682f83f2ae579
+c8da0c4fd6a183b53a17e581c851dc561ebed01d0b30769ca8f009d6a400f9b7
+8aeabcb48996d5ab280f68c667dac1d45d2c8109482567e1c491e372d88f0ff2
+447b435dddd5bc5c161a5abe218b5de63886162167d32ae4f94ab84645cec019
+989d004b75cc0da438150f5f43030c8f71e5d685604407eb734495af6f686805
+3f0a2c041a5f5f751c590b863cc2b6ca66336991a51d7818cb120bfdb2a3b7ef
+93e0a7877e4348003b18088e9bc99c3a0ea007e8b331bfb0baf46b668f11f5f0
+8bf5ce92369f31daf63064f4185957c164f9cde3b5d2f761f8bc0cfa01550258
+93b6f23b012aaf99395959dbce11162bbc15f9e8b99d1fec44ddb83fe90b3bea
+4d9b47409e7186f39c78b15a144703c3e372fc3f2f50ef7f23f10ec97e4413a1
+fb38ad3d96af63ead6bac3e3514e9789221ec29c91dfb1c4fcdfd14fcbafe5aa
+e07b8f18d310fa4494a5e9ae7975ab6c89f5ad85a29b640468e9b0802c37dbf1
+be4a6e4619c0501bdebd8dfed599501f5cd91e1311473f0e74e5e5e48cd13082
+f8728156c408ac7f756fd6eb64ea7d7ea2ab95007766b1b5c86c91c0d3126e45
+64501475810152e4d7079c095a80eba1b872e98b3e452c2dbe8d5d10cde82dc6
+0c7a9490859590e8ac36142e66652b9ae0c88ab875f33a0cbea2fac0efadc267
+6f633d32e446bdd173426b6063ba5318418135f09efd113536833166981c6fde
+b63ba794cfbea7644d6e7b11cc762b239e033a5a971fe52dfe175e26a18e26bb
+c965d2dec8b9c15470e0335a33bbcd75995b589ef5c07f39f4711bfe601a909b
+d97058d980a2cbad9a67be65281f4223c180bc94b41ccfbbb50252a4bb147c8f
+3b83f0f2ac2940a5cd6ed6bdab0a72f231aa5190da620857d25b78cfcedca03d
+b09ec37f8cc53e994d6564cc50e9bf2649c48b12cbdb6e57ec4bf2a27ae324d0
+951bd9badb0a3d1d6d75fe45951ee163bc46719d7e84bb99d97909357d51a8af
+4061b8ce2586e2c0cfe67eb65318536b101c1321162678979f8cef80f26e080d
+07ed450609ec1874809ef032734cb18ea6ab90963a6a2290138c206934a4c28f
+ae27bcfe07d8a7580f2fb9730c833b8b61c68c74282d91456898f5e65ee32a3d
+6d7c7c3fe5233920682aba31017946f77e77e0ec99f367386dd98de87580678c
+ea7d485f64970b1262663142f27d344dd2409639421d9794b8ead1f7d22d73a8
+a0c3a5f60af51a00c12ce2cc3c766c57fa1bd04852f296c080c679526a428e3d
+cad49189cd4ee8ab55f7cee20c4334307c10c58a474fefe2719a6203d2b8874f
+c31cf068356a004b8ff28b67d798bf9e3f1605f8d72e4486a08576d4bb4b2150
+f2337e2ebeccd7e481e197b65c5ce812da34c3271b875c31294ad191fcbd6518
+bdd957c85c3dd88a4435801d4af80d6a630268bc26cce5e89c9d117027f964bb
+b8d0e9564332b9facc27ac16aa6121b5baefba598b2b5c7a172f81e07cd58d08
+a0761381988241f6668db2d732976083ff410063e2f563d945c172feffcfa13a
+bd5ca6dd951c8d57ac32c16de0605da28fd7ce0248f5297753a052a55ae572be
+78f584758d2db162558b4d2b3ef76c1a8f3faacad21fcbcf092157c6e5187ee1
+3fd49d3831880f4c80fd4085be90a6f0331083100971b581a7be38cef978eb70
+eece1ee276bed3425c511326adf34d8daf4b55b679a2f99bf297f67100261a14
+a41d76aafc53757f6054d5b70ba54201bd118c1826664318816ba77130f6e340
+74d0af632466bf3d18b5f2efd4117249a6c8f2a74dec1b9adbfceda0a8703b12
+abff2cb696de07fe9573ac271087e78eec4c524529a1f8a2863faed167b37b48
+917215d3822051d77ad4377cdd7bc70a70b17e7ebea98a02f261dc18421bc867
+dbd09831d7f34f1a65eaf783705c2c525337b4d8db43982a5a1ac11e30d0df41
+15a05f41827566c7a511e4f5a770968da93ec342943474c35a0d5aad31933d4e
+2a7356b4338aec558e9a7850a9b2b1b4dc7cd66a838694b4d56851969d954950
+90be29c451a570d72b4440381b56a2c1bb7d16f04301f092103751e524c8770a
+9b94e0bbec15c538362aa636d8cf672b256bb22a139dfed133bf6c9aae54c7cd
+0bd40472b8e0fcffe53de7e1ea67a240bd5822b2b35ead3f63b90e661329cb75
+13019d0be7eb0b4bc1d5dc95379305bc65704ea0aa25256c59fde2d5126460cc
+3be5c6a4b3ae637bc6f5640cecfef8a433a266876a062334003db993a1a1cbb0
+b3ffb9e64e6225610c0643ceed78f933414449c3cc72c823e476aeaf3f8114af
+3d3ca3db89266681cddb2c6bb6bdb6dd9384c6dc3be6c40b5f59c361ef53ee27
+549eab8c41234a47e742941286202af90bd93e2892119f4e6fa8ef793608e205
+f7688f01a1ba584a921e349d897bd50c9384c9330311dc0c8bc1cb6ceadda4c8
+d546b46b3176091ac8e9715fbbe24b1746dfad205c9b222e8fd5c0efc67d4786
+24cdf12e49583d3037e13c8a51d2a7fe5ae4cf6145bf6c0c1d9a8c303f581b2d
+91be37bedd9d67be023d377025c449656e798564f5f4bd4d4d5cd332d5febcec
+1e35bd69c70246482955a12a0ba7b2787c4e572942f255d0c07d5b82d966485f
+570dc90a5bb1ca1b155da6536008345bd13b8c4de84b9459bffb5d524a2171f8
+34b1b313372e1d17c358e0b6ad7dc73a70e91d30ca8a2b84ad6a94d816ce65b7
+6fb93c45b5e7617f6706dd4437cef28f132a3ebb1ae82a6fd264bcd98a4f7aae
+0893de4e1be948ebf8ed26982b31fa370c619ac67bf1521ba7b2c637a8b36aa1
+e89446902f5e89aedf0157aea3ca44444a445d45cbdb79a3c30a55b5a16ac263
+5e565c3586911f0e1ce0754c4be7754d2a15136077a32f6d64aefec7c56998c7
+994bc8c22874477af5e8d98411bbf9fe2b5c5dc67326d567a458178095017fdc
+ab84e90c7b4243229f898d3917c120bdfc85e406a95d8b3f583bd3da53c1a2d8
+94718e521ada0ae9391955297da1218be09d93ff8049b82b9b833f8e94cbad11
+3732bc658a56141da6a9e57cda45ac02598091567cd075e5d2370aafde959ac7
+d42910225a0926edd9972605c1ed974b3ae63ff13daf6c088aeb8490e2cf9679
+e8324c7a6a55a14f485c3285829155ea8491de6e4220a3dcdf32755dc3a60c28
+443fe2dd221fc988726809ba450c7762671c3e559d8cf84dd858ad511d4c34bd
+cca655455353d69642e170f5e384e3ca7160e9a7ccbdcb3c1bef0d7583e0a640
+34e74efe5c7cf76dd3e82bfd04f5956cd38c1b95fa137572827ac07e2fcc6ce9
+be139b876a6e80789cb6d0e83faf79d37b44554f8409caa4411725a9b18ef451
+1870a4e2a4bf936ee4faa655d63c5b869b78bf32f1dfa1b1fd8cc73d366f01a0
+6f63f8a8803af1526a619fa5e80c19c7f1f33886e2fc99f7509059234ba3552b
+0e7edd9965e8cdfd9b888c39ac1e71ce4f9fc9659797609500b6a5cea8133eec
+809ed63f154aba6a3cb05eb6070acd6c97157f0e654c69432227245b72ae2fa4
+382b163d6f83c9daad9a962edcd26d5f80bbe7cbba1a0fb1b9c5ab08cf79f195
+0cce9a6d8ce087522bed603e2cec5ee0e78d116880fff51db48b956bdb5c1efb
+2d764588878a07c7f40643f6ddc531786301ea60235e9ac91970a0f975db1547
+cb5c0f111452f414d4a856c22e740ba07b99cd1f5342c148b7f30faecb99fe84
+82d19c1ffadf593bcd4f31c620bcd61531148c677fafd8357344b3155a0958ba
+3b7bf827f1fd4ef1b09b63b1ff747459f6ee03bb8825fba143fe99c1cf545f3c
+33fd37788552896dc6dc977aaf3ae8ba9344199bb9516c81ae75ccc5aabebd27
+ab1e220d6e8ab6f3a1746918a6d4e659c547567aaa9e23518f01d1b8b5763899
+10f106313cfbb27d26872fa9730c6ac93fc763bcf2c71d7d6709c783076931e4
+86efa44585c697ac381322df0e49cd218cb8d9ed532f885e3fd8860d9b673a06
+3d4146ca527c7fbfc652933bb424ac7de89eaec71873f3db3e8b18118d5fae19
+5a8f2284a4788e20fe54c6e8e3bb12aecc9bc2fe8f93f305c1e9ba663c31e8d0
+f5ab258578cf03c84715f84e7271e85c080a5ea9284813b23923418b39f7e323
+e01779cd437c882868aa9c769cbe3022aa148aaa2b749b0a83bfe8176e5e7f2c
+29b70ce442ba7ce0ab77f07ac1db387c5e7c7e385e36746edf51c853cc8af8e8
+5bd0cce9bd31cf70cec111bc3a5495ffa55bd8131478e9706a953e75b90cf736
+c9a0732fe44ce0e16fcdb7cf056fe10bbf841e9a6b600a24c9a199d159c313bb
+1f904811bd80d6f5da2bf237b68464dc03963ac0ea6aa66e07b8f9b87137b7e9
+72a6081fcfd48c5e1b71071404ea3d2932c4119dc85e0353a5d799cb17d100c3
+7333e39f85fa75f7ac60954bdb51f0d65b23de3b674651472751a2d68681f735
+8b559201ec3e9b2fe9d4dc3e4ab3f2e840874630682e1831a20079fbf2d3433d
+dca6bd85df27c83541fbcf5a36c23e67aeb6fd04fd93c177893aa690fdbc9840
+9ab4aa58505f38cb04125405866693c283158aaf0a9ab92010384ce173da89b0
+585eea140d0743450ae9adbb4b20cbf9a9613fe8268d6069019eb3ab40cd396e
+db1c22a8dc3a060691daf5dc7e11f3d0ca562aa64228d2459cfdc38f312edfd2
+b4ebca34a63018c90d206b8cab923ed65b3a6e5b697036df587d6e8aa4e617c7
+3eff5066661347c2f0b5d54cf0b4a663debd6e89d6c80b403dd6c022faa0647b
+623edef055faa48d420cdc6507ab3540ef480abee5103e3882084c3bb9582eca
+6d9de7debf781b6c5a37a5c5d1c3497dd1e59339868cca92b8bd48ff7e9aa4d5
+cbd6bc568c4c12a3ddbb443e3403211b6db8bc5d3622c9ca30748095984ed6c3
+e50268ec2973f70c7b2a7647987696d5af56997106f2b2a779d00506d9881845
+9747b4d786c6b2892206f4c8edc481f3511d41b258cc58078e734c54ae1cdf26
+5fb7766d3cb56aa0c1200519ed135ffd05232fbc96e8b4510a70ea2c9728915a
+05206fbc436f7949c9485129f590696607b8ffe469d3e65386ea64fc344018d6
+03c82856871ab3167d6624fd929e3aee174f3811d84cc2ab1dd79a065bfa0d98
+b7ecf4341c2309f7422ab925902e838b12efd89e19fe5d95b6f993de36ea2f46
+a120170d2a4b5459107aa8548b5ffcc5bd9bcb907173ba8d117d0dedfa40fce0
+620e3ff0b1ef5a8194ca877daa79bb33e3288a1aba4f089e775815222973c5ca
+392720766696e6e9f5cee98a05015d2e1c513a5a07d93b891d23254ad589915f
+83b3a52490434e6319ed25e37e2ed93db893c6915146f56083486cabe0126b18
+de2926e978ca26acd4955bd6a74f48f85baace677eec526051bf30dc233077ef
+f217b97a6c98be8d0b1a2b059dd55f8eed9ab512004aaeb8a864345fa76e12ab
+b7ee70e302238b5ebbe3b6ecd33e98ef32dea4a532bd9794eeb23c6f4e499ce0
+d72fe5fd98879407ae21c1342800d36754fa2ecb52bf0e0f98af588e490ff1cf
+57b1067b5b58694310c31da1f38866930659f27c8b7d0bd35352e6717446e128
+c23b0d7e4f40e00db0716d97464f7a52ceea989977d29934892aa9c091aa8ea6
+6e24a184adef9f0b4b703d7a3fbe3d07cef899139bb3013a779024631bfd4007
+f4df330ee68a6fbe517c8465a10b30ed48d2a846157be3f66eeabf52429089af
+c1a0d5c5cb4facc2acde70b3f39464533259fc29d5c492329f289d273e3eefc1
+5db09f4c426422aeb3ece6d7507655fd7137b71ebfce06fe735c3a6e6984da65
+deac7c125c32bf8ce2d00168f78d0dd2d24a965b4818f524865f5c9499cad2e1
+954ac4c9670a54c8cf382bdc1729175aa091e3682ffe5bf121cad285fc7b0fae
+c6b0d862e702302d1245751d14b235066a0f435cef9823dc8ef9fa74083915ef
+20ac5778b43670aeea34f1dfa6531271afb83e63700fc6451da498699ef17904
+8c84c9f34a49ab18c88bf61f0697d94e04bfdcf80180f894f9860d01566ec0cb
+d2b5224d25041230b9a4f3916d68af6201090365084e9bb33c32529f1f701cb3
+cff3017e64a7e4c02bd909a353b503f67641afc8f767b154063d8f180382b893
+f3e9e6072653dcb53dfd468afcec42856f7e58c654cdaecee338ea4b93f08342
+8c5b4ea93e347c196590a082aba7c34bf15eb551b16f7b5fcfc57ded573eccca
+e1f50aaec19ac7506461568df57d4156764f63a2726e3196383b43d9cb85d150
+1e4940c123dd6dc60ba164ae047fa49123984254b181999b72f120d288dc9997
+a9d45a92b8aad626e4552042a17d589073c11e02907ffe309aa078f544c6d0c6
+201dde89fa756d8ddcac5ed468a942073cdbbf4defe4d80019238d4d0934b175
+2852218c7a1fb370ed7611245aa7d30439b5931b62d1bdbfc2f5e3d43343b724
+d0858175c2711d97bd49e7fdf83941566cb4025c991b80a17bccf4e8d53e0841
+f53abe2325b780d74d0c2e686e9d22cf5c5eea5460a2677b1131e2f06eac3ba9
+ee9e875a4d1592f89546e28cd976a5b57c3aa842181c4056c0bf73a2cff38de6
+653c47e0b941d7be0d5a83c3557b754eef02e3b49d66c2ac8d9c188e5644d488
+5785e98526d9fed905b61dca7fc7339b92096cfe90d831dec7d59f83a70854c7
+4b22a39ea7f223715b30b9e4469923f6b947fd7937efb2bc2d3d933b3501142f
+cf3bfabaa04f04665e56da8a397dd951d405903582a61813d4f5e20fbcdb4f5c
+a91a76d85812b04dbad9d1a7d3703d1cbb6b4806eff4980ef7bcc9355874dae2
+dc333059e427acccdb285789f3aceea22d751f6c6b93a9d247181c7587c6b6fe
+ab001f6dddaba0ba7592540db46f2dc35b2b1e0ec01fbc43c987301878f6c1fd
+e897d8058346cd75766c9dd2bd783a6fee67e6145c0cf32554d659577865282c
+d5d1d24fdcb4f59dc2f64b6b53bbb57c66ae89f1ce3800e012796e6a4ccc4982
+78570920bf142997dfeb1ecfea1885bce4b9c5a4374b0b0a8af40e72b27c276b
+b23901a57e218fac4e0deda5b1d199a531d97905207d4d5567aab070c38cf1c5
+1d0bec00b3ae4db83d4d28eccbf1620ad81484f684b9301171a74fd191b393fe
+5aecb1009a0e60c718de184609a833c89c7c1c037a8ee70390fe71c893c8169f
+d78c37fc732e8d932be4903152cfddb646f344b97b52a3be9e47786d42c76f8d
+54ad03dcac23bbecd33b94b6b9f1c0de8d55de268f1c8593c5b8bce56437ae6e
+74e198c455ede877870c39144a2e0dd24a2f18a05dd7553ddad9388b164b0061
+9c3b0cd01574d3672c8d46e2bf51dc7cf42a3a7ff9c1611a65ac3e1ba62c5dc7
+26c5cd66ea76e64c4f0bb39336601ac0c4f65339392b290afda4f00f0801df09
+a19a83abe38fdf0dac9de6fb4872c962ea4e5c98b44c5f6ae426f1a7542c31fa
+a4618ca4f39947fa81e2eabf5efeb176b7d333ed6f71e22d7c4ce2455940b7c3
+aa3a1ba85aaf1e5fad0f67cda9afa9d774d115f84de2a98e6c85ab4f9e829576
+7fecd9bdd781f108f8f32d25b41d1acc75aafa35fc01e64e364fd7e541ff0448
+14281f3c64304f58494a039efa4382f54f04ebff666c5217379b34194cee42eb
+d3885b74950e25c26f491494cd923eae995002cd172655a210fc2f82d2907ce2
+3c1b6ae2615496a0d0fe4cff39b8666afdda1114bd5e9cadd33faf4c773bbe68
+655852303642ba755ff3e5afa4b393f5f346107774dfc253b91585655e420eda
+4900a0540cd4480ff2f92ee54abe5bdc728c6c364215fa6eeb4e5a714806b264
+df292a1aade8e1e1689c09522977f387105813f7ee887274e1f3188c801d2a37
+6fe8c434b2b604d220e607217e972d1b0299929163d8be484051fde89a73af9d
+0436d8cb66dfa3b9e25c89c6da4466760fab4a143c82f94bd0f89dc59551a2f5
+7a5a6402c2d74d5dff6b8c153e8b79c766ccbf89ffb3d161592e16ea1e9d3491
+dad62f05f27afdd394e3cd27f965a41c35e5ea9bfdb88f23bb9911a8b9fa489b
+31228ff8c0571528e7d96242961c446c8d24fcaae327b370315e5448c5899fba
+9206bc2104022039266c58e28352c9d304b74954ffa1e19a348161706fbede2f
+57d38f46592161a4258958f11be38f9d1338d251ab64c8099716fa1b97e2945e
+26cc6dcd06340e3941af652aff6b0c5758601f59611d7cfbb804f4f21053c6ce
+d27d7559aeb5b1692cb4dff67037a871068a1c71b6cf6f372adb39ef521a7517
+28c7b0ce0435af48d6a973653aa8e25f12ac52b9ccd59ac2f4935cf4efd1bc7f
+2bf3c0629f36176fb7d6b5611f8257a0a3c5d43be6b23bef360e975c5be72d5f
+80f105e1d96d089560a4995adc11dc8463197b77648a09e9f315b049801f40da
+8693a06c92aebad42ced91c20ed00d4d23da04112e28c5a6dede6c68618bf359
+fa060e1b2e3f54e95ff7303cc5c42d455955f5c8ba99745393ea5cac5bae1849
+e5573a03516a6e339b828eba521727213ff193d5510eb4974774225a07695bac
+479424391d08663a47816feb0db2edad68c5d7f20ff19a8d4163bd61f9ce7243
+a4facd400b96297b14dc3ffa6265b883a478738024e360112dc7b5c2e406d9a5
+ee0491cdc1d02270451445cbcddbba82bbd37e6af48d3a79b11ba8276983dafd
+eee5584189f62edd9c2450f034f25bf454452f21377e10778326a04ea2366038
+fb158603dfafd9988740a5a5e14307566e86d5278ec67a4af86ce38943133f31
+ce3e39624d9c89f526ed7cec931d57769c8b0c7d47ef3e42fd7072bf54cf1a9a
+dab9f03c77fed3c7b65dac47d72af70d19adae8ef8f7470e5d99c7be98317c04
+c3dff220d8718be44d4b2ce6544980dd8023d6bc6cd75909eb349bc426d8128f
+31323010dd439e8332a54bce159b03af1691b1ddbc2583d2a7a617c7f38d7b39
+631a5691a05922eb21e8f6bf7c8eeb1833aeb9db2b80503eb309015ea0d65689
+b4c9549f4d3ffe5d0e75e8f96f0d55f20f5ffd440b60feb4fab3fdaeccdf16c2
+5041d1b66f031abcd15b08fc2273571958e47f2271a0a231488a689107b8081f
+a85070bbc5d118ea0bbf60028f9b08052e3d8d95c275dde17ff46526c791ba21
+3844528fa7494e436842a42ccbd09a6ff37cbeed3b07c992604a0700453413cc
+97ac42fcd81169fcd185f2707a4dceb3ab8f258dc29892a082b97e71616627fa
+1ab7a1f24a93db38d72bf3f2b9ac701183d296bcc26d953cc9c5b0c52811921a
+b6cecb189361fc868a8fdf5c563e4b95d882660291cc3c0bb6de71bb173e35b9
+223a325cd9f642cdb80d3b65be74c95844e72a24082f4f05b03bc05c00b51b74
+67b2540ba10394a6199c08dcd33f54b568d2684d1df43564374bac27068c47d6
+865ca7025f806f9c53b060aacf530b35fefc05c67e56cc855f763bfb520e07d3
+e7aff225296ace8d96fb6ec5c91d99a6e31c18b6f9ae4c52a0fdbc94491642b0
+2162961a8037c700b74b247ccbf01aacaa66d3eb9f09f3f66c6e29dc509a104a
+683f894e6a0c1a833d3abe2ea9eab831d83fcddf5123324f51c50954e172c862
+c9945e9173a06ced6fe338cabb0b9b742e3ecd2ad3a0102b2ab3b213c31c2f10
+a3a9c48e181f765787de863337c2908bd3031ea1cac0e7d285a16e83e35b473c
+66b40a11968023eb5d7028e81f2407106ff7297a8127dcb877dddac02c5ec29f
+0eeecb00a337b98ed3257869c2bf73d8e039cd713cd1559873e67fa078186f7b
+59a1b53785e59b554e35ae76ac2239df088df859c8e4242bab5e6e2eefc89137
+2fb15cf8a2187a3887b4a5b44a4ac8dac1de6c2c1cff931f7841d82c5374d543
+60b58df7bd6796ac0c6bbf20a706115ac75dabfbf1eb66e2a8bbfdd082734b82
+2e5cfe361806d24ac7595e22259e8a06c0deee0a06c33d920c1c661d29111860
+e3382062f26698eae0fcab0b2d7a363e58564caa80d4d45132f63d81f19c44f3
+476b666f28c399c30fc849307fd8b4b468a4ca4079f20d31c11115e4e3d0f604
+d10551369751df0cdb66f902e7fc8e1662b9c9c67cd74621f7660b2d41ed9407
+751cf529be48fb641423c4a92fda00fb53fca0002957d46f3029943105ce4ffd
+d9bfaf918cb79262785600c184f783b7ca9786b967e1e580645b41621b7c3253
+dcd007965c23994d21d9dcfb06d23f450ccaf1360b1a0b8d487dd6cbc1a3ed88
+1d162778488614482f80e10df800e110e584c5e2b7d5ad46f1fda8975fa6803b
+eb676e7829e2e3bcd293c3d77887b7c630f00a4e678b6463b82453427c9bd7ed
+9c356f0d9d73f3c3e2560d862aeafe91430083e80b8f169762f116398d941cbf
+811ac77fcea373fd9ad3101f7da8a5a93d617553a0f50946a8b2fd5f7282d8db
+b760c21be26474c13028f7e6249de5b7ca8bd97433694e2f7c8dcb2306b6852c
+4f8258da2dfef3e8d8829bf9d74aa74a261443791d68f9b1331085d30573fbd0
+d1b55fb2580d67d8adcb6668aab03e6e970ad540f63f93c231d43a88b25dd234
+88e8bbb72a703ebfde30e607ab95b70bbb6314ad7e2a855cdfdb6b0b6bf8431f
+f0ab90a25b3b7fc283e0af75125e2df55ac91cde45954d1a8f1372b527719171
+ce420b4b45269c52a67b4b638872ec18efdee262c2c8df8bdd031b00ef942e32
+2e246209aa908032713b4b8e36fd523eb0f5dc04398b69d87a3690e7f7dd47fd
+8b74b3f27b65804e8177fc997c0bd08057c3ce825b034888e95d231b4def08f9
+a77fd13e26a0a4febb4d9dd8d12838fd174df173017a69bf24bf7e91175aad5d
+ffbb14a337397c60cb54c6e981bb1a8faa797b2039fb89cc4f3465b03809090c
+fba943d15ac47b2878ea92355e843ff3ae49754feb5447fcfc8b58b1ec530b64
+82127a6c6cd994e146c25a9a9c0e677a4cfec21f1be2ba7f198c983bddad9e60
+68faa065c84529433ed370db409b64a9788cd2ed29caa8e6641711fee94bd9b5
+ba6d2a8e73b10c6de72a8e8f3bfeab8344fe6622fadd5d01457e31e8facd74cb
+548317d15efbec53cdab722db40c57bfa357feaa9075eb60dfa05661638bca2a
+0a8bb498
+
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndProcSet
+end
+%%EndProlog
+%%Page: 1 1
+gnudict begin
+gsave
+doclip
+50 50 translate
+0.100 0.100 scale
+0 setgray
+newpath
+(NimbusSanL-Regu) findfont 100 scalefont setfont
+1.000 UL
+LTb
+550 990 M
+63 0 V
+1756 0 R
+-63 0 V
+stroke
+490 990 M
+[ [(NimbusSanL-Regu) 100.0 0.0 true true 0 ( 0)]
+] -33.3 MRshow
+1.000 UL
+LTb
+550 1192 M
+63 0 V
+1756 0 R
+-63 0 V
+stroke
+490 1192 M
+[ [(NimbusSanL-Regu) 100.0 0.0 true true 0 ( 100)]
+] -33.3 MRshow
+1.000 UL
+LTb
+550 1394 M
+63 0 V
+1756 0 R
+-63 0 V
+stroke
+490 1394 M
+[ [(NimbusSanL-Regu) 100.0 0.0 true true 0 ( 200)]
+] -33.3 MRshow
+1.000 UL
+LTb
+550 1597 M
+63 0 V
+1756 0 R
+-63 0 V
+stroke
+490 1597 M
+[ [(NimbusSanL-Regu) 100.0 0.0 true true 0 ( 300)]
+] -33.3 MRshow
+1.000 UL
+LTb
+550 1799 M
+63 0 V
+1756 0 R
+-63 0 V
+stroke
+490 1799 M
+[ [(NimbusSanL-Regu) 100.0 0.0 true true 0 ( 400)]
+] -33.3 MRshow
+1.000 UL
+LTb
+550 2001 M
+63 0 V
+1756 0 R
+-63 0 V
+stroke
+490 2001 M
+[ [(NimbusSanL-Regu) 100.0 0.0 true true 0 ( 500)]
+] -33.3 MRshow
+1.000 UL
+LTb
+550 2203 M
+63 0 V
+1756 0 R
+-63 0 V
+stroke
+490 2203 M
+[ [(NimbusSanL-Regu) 100.0 0.0 true true 0 ( 600)]
+] -33.3 MRshow
+1.000 UL
+LTb
+550 2406 M
+63 0 V
+1756 0 R
+-63 0 V
+stroke
+490 2406 M
+[ [(NimbusSanL-Regu) 100.0 0.0 true true 0 ( 700)]
+] -33.3 MRshow
+1.000 UL
+LTb
+550 2608 M
+63 0 V
+1756 0 R
+-63 0 V
+stroke
+490 2608 M
+[ [(NimbusSanL-Regu) 100.0 0.0 true true 0 ( 800)]
+] -33.3 MRshow
+1.000 UL
+LTb
+550 2810 M
+63 0 V
+1756 0 R
+-63 0 V
+stroke
+490 2810 M
+[ [(NimbusSanL-Regu) 100.0 0.0 true true 0 ( 900)]
+] -33.3 MRshow
+1.000 UL
+LTb
+550 990 M
+0 63 V
+0 1757 R
+0 -63 V
+stroke
+550 890 M
+[ [(NimbusSanL-Regu) 100.0 0.0 true true 0 ( 1)]
+] -33.3 MCshow
+1.000 UL
+LTb
+810 990 M
+0 63 V
+0 1757 R
+0 -63 V
+stroke
+810 890 M
+[ [(NimbusSanL-Regu) 100.0 0.0 true true 0 ( 2)]
+] -33.3 MCshow
+1.000 UL
+LTb
+1070 990 M
+0 63 V
+0 1757 R
+0 -63 V
+stroke
+1070 890 M
+[ [(NimbusSanL-Regu) 100.0 0.0 true true 0 ( 3)]
+] -33.3 MCshow
+1.000 UL
+LTb
+1330 990 M
+0 63 V
+0 1757 R
+0 -63 V
+stroke
+1330 890 M
+[ [(NimbusSanL-Regu) 100.0 0.0 true true 0 ( 4)]
+] -33.3 MCshow
+1.000 UL
+LTb
+1589 990 M
+0 63 V
+0 1757 R
+0 -63 V
+stroke
+1589 890 M
+[ [(NimbusSanL-Regu) 100.0 0.0 true true 0 ( 5)]
+] -33.3 MCshow
+1.000 UL
+LTb
+1849 990 M
+0 63 V
+0 1757 R
+0 -63 V
+stroke
+1849 890 M
+[ [(NimbusSanL-Regu) 100.0 0.0 true true 0 ( 6)]
+] -33.3 MCshow
+1.000 UL
+LTb
+2109 990 M
+0 63 V
+0 1757 R
+0 -63 V
+stroke
+2109 890 M
+[ [(NimbusSanL-Regu) 100.0 0.0 true true 0 ( 7)]
+] -33.3 MCshow
+1.000 UL
+LTb
+2369 990 M
+0 63 V
+0 1757 R
+0 -63 V
+stroke
+2369 890 M
+[ [(NimbusSanL-Regu) 100.0 0.0 true true 0 ( 8)]
+] -33.3 MCshow
+1.000 UL
+LTb
+1.000 UL
+LTb
+550 2810 N
+550 990 L
+1819 0 V
+0 1820 V
+-1819 0 V
+Z stroke
+LCb setrgbcolor
+140 1900 M
+currentpoint gsave translate -270 rotate 0 0 moveto
+[ [(NimbusSanL-Regu) 100.0 0.0 true true 0 (Time Per Increment \(nanoseconds\))]
+] -33.3 MCshow
+grestore
+LTb
+LCb setrgbcolor
+1459 740 M
+[ [(NimbusSanL-Regu) 100.0 0.0 true true 0 (Number of CPUs \(Threads\))]
+] -33.3 MCshow
+LTb
+1.000 UP
+1.000 UL
+LTb
+% Begin plot #1
+1.000 UP
+1.000 UL
+LT0
+/NimbusSanL-Regu findfont 100 scalefont setfont
+550 1079 M
+0 2 V
+-31 -2 R
+62 0 V
+-62 2 R
+62 0 V
+229 118 R
+0 10 V
+-31 -10 R
+62 0 V
+-62 10 R
+62 0 V
+229 189 R
+0 94 V
+-31 -94 R
+62 0 V
+-62 94 R
+62 0 V
+229 205 R
+0 97 V
+-31 -97 R
+62 0 V
+-62 97 R
+62 0 V
+228 64 R
+0 80 V
+-31 -80 R
+62 0 V
+-62 80 R
+62 0 V
+229 96 R
+0 281 V
+-31 -281 R
+62 0 V
+-62 281 R
+62 0 V
+229 11 R
+0 149 V
+-31 -149 R
+62 0 V
+-62 149 R
+62 0 V
+229 27 R
+0 144 V
+-31 -144 R
+62 0 V
+-62 144 R
+62 0 V
+550 1080 Pls
+810 1204 Pls
+1070 1454 Pls
+1330 1739 Pls
+1589 1904 Pls
+1849 2163 Pls
+2109 2398 Pls
+2369 2588 Pls
+% End plot #1
+% Begin plot #2
+1.000 UL
+LT1
+/NimbusSanL-Regu findfont 100 scalefont setfont
+550 1080 M
+260 124 V
+260 250 V
+260 285 V
+259 165 V
+260 259 V
+260 235 V
+260 190 V
+% End plot #2
+% Begin plot #3
+stroke
+LT2
+/NimbusSanL-Regu findfont 100 scalefont setfont
+550 1008 M
+18 0 V
+19 0 V
+18 0 V
+18 0 V
+19 0 V
+18 0 V
+19 0 V
+18 0 V
+18 0 V
+19 0 V
+18 0 V
+18 0 V
+19 0 V
+18 0 V
+19 0 V
+18 0 V
+18 0 V
+19 0 V
+18 0 V
+18 0 V
+19 0 V
+18 0 V
+19 0 V
+18 0 V
+18 0 V
+19 0 V
+18 0 V
+18 0 V
+19 0 V
+18 0 V
+19 0 V
+18 0 V
+18 0 V
+19 0 V
+18 0 V
+18 0 V
+19 0 V
+18 0 V
+19 0 V
+18 0 V
+18 0 V
+19 0 V
+18 0 V
+18 0 V
+19 0 V
+18 0 V
+19 0 V
+18 0 V
+18 0 V
+19 0 V
+18 0 V
+18 0 V
+19 0 V
+18 0 V
+19 0 V
+18 0 V
+18 0 V
+19 0 V
+18 0 V
+18 0 V
+19 0 V
+18 0 V
+19 0 V
+18 0 V
+18 0 V
+19 0 V
+18 0 V
+18 0 V
+19 0 V
+18 0 V
+19 0 V
+18 0 V
+18 0 V
+19 0 V
+18 0 V
+18 0 V
+19 0 V
+18 0 V
+19 0 V
+18 0 V
+18 0 V
+19 0 V
+18 0 V
+18 0 V
+19 0 V
+18 0 V
+19 0 V
+18 0 V
+18 0 V
+19 0 V
+18 0 V
+18 0 V
+19 0 V
+18 0 V
+19 0 V
+18 0 V
+18 0 V
+19 0 V
+18 0 V
+% End plot #3
+stroke
+LTb
+550 2810 N
+550 990 L
+1819 0 V
+0 1820 V
+-1819 0 V
+Z stroke
+1.000 UP
+1.000 UL
+LTb
+stroke
+grestore
+end
+showpage
+%%Trailer
+%%DocumentFonts: NimbusSanL-Regu
+%%Pages: 1
-- 
2.7.4



  reply	other threads:[~2018-12-04 15:28 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-04 15:27 [PATCH 0/4] Misc updates Akira Yokosawa
2018-12-04 15:28 ` Akira Yokosawa [this message]
2018-12-04 15:30 ` [PATCH 2/4] count: Restore 'fig:count:Atomic Increment Scalability on Nehalem' Akira Yokosawa
2018-12-04 15:31 ` [PATCH 3/4] defer: Prevent page/column break in short inline code snippets Akira Yokosawa
2018-12-04 15:32 ` [PATCH 4/4] owned: Fix typo in epigraph Akira Yokosawa
2018-12-04 16:40 ` [PATCH 0/4] Misc updates Paul E. McKenney

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d194c2cc-225d-bf55-e585-aadfaa5ca9d9@gmail.com \
    --to=akiyks@gmail.com \
    --cc=paulmck@linux.ibm.com \
    --cc=perfbook@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox