[remove HaXml docs, add rudimentary polyparse docs Malcolm.Wallace@cs.york.ac.uk**20070122203401] { hunk ./docs/Combinators.html 1 - - -
--Text.XML.HaXml.Combinators is a combinator library for -generating, editing, and transforming XML documents in a generic -setting. - -
-Text.XML.HaXml.Html.Generate is a small library of functions -specifically for generating HTML from XML. - -
-Text.XML.HaXml.Wrappers contains the wrapper -processXmlWith, in which input files are parsed as HTML if the -filename ends in .html or .htm - otherwise they are parsed as XML. - -
-Usage: import Text.XML.HaXml.Combinators
-
-
-Limitations
-Note that the combinator library defines the functions elm and
-txt rather than the expected (elem
-and text), to avoid a nasty name clash with a Prelude function.
-
-
-Text.XML.HaXml.Haskell2Xml is a library for translating Haskell -data from any program into a valid XML document (and back again), by -generating a DTD and the appropriate functions to write and write the -XML format. In principle, it gives an alternative to the standard Read -and Show classes, and allows you to use other standard XML-processing -tools on your Haskell datafiles. - -
-Usage. -It works rather like the existing Read and Show -classes: you must create an instance of the Haskell2Xml -class for every datatype you wish to use for I/O. However, because -this class is not a standard one, no Haskell compilers support -the deriving clause for it yet. Fear not! There is a -pre-processor tool called -DrIFT -which derives class instances automatically. We have extended -DrIFT's ruleset to include the Haskell2Xml class. -The only remaining thing is to ensure that you import the -Text.XML.HaXml.Haskell2Xml module everywhere you use it. - -
-(Please note that DrIFT is sometimes a bit fragile when parsing Haskell -sources - it occasionally fails to recognise the derive -command. We have found a workaround: isolate just the data -type declarations that are of interest, and run DrIFT on them -separately.) The syntax required is like this example: -
- data MyType a = A a | B String deriving (Eq, Show) - {-! derive : Haskell2Xml !-} -- this line is for DrIFT -- -
-To read and write Haskell data values as XML files, you -have a choice of function pairs: toXML/fromXML -convert between typed Haskell values and the generic internal -XML representation; showXml/readXml convert to/from -Strings; fWriteXml/fReadXml convert to/from named files; -hPutXml/hGetXml convert to/from file Handles. - -
- toXml :: Haskell2Xml a => a -> Document - fromXml :: Haskell2Xml a => Document -> a - - readXml :: Haskell2Xml a => String -> Maybe a - showXml :: Haskell2Xml a => a -> String - - fReadXml :: Haskell2Xml a => FilePath -> IO a - fWriteXml :: Haskell2Xml a => FilePath -> a -> IO () - - hGetXml :: Haskell2Xml a => Handle -> IO a - hPutXml :: Haskell2Xml a => Handle -> a -> IO () -- -
-(These signatures are extremely similar to those in -Xml2Haskell - the only difference is -the class context, indicating how the types have been derived.) - -
-Do not forget to resolve the overloading in one of the usual ways -(e.g. by implicit context at point of use, by explicit type signatures -on values, use value as an argument to a function with an explicit -signature, use `asTypeOf`, etc.) - -
-DtdToHaskell is a tool (and Text.XML.HaXml.Xml2Haskell -provides the class framework) for translating any valid XML DTD -into equivalent Haskell types. This allows you to generate, edit, -and transform documents as normal typed values in programs, and to -read and write them as human-readable XML documents. - -
-Usage: DtdToHaskell [dtdfile [outfile]]
-(Missing file arguments or dashes (-) indicate stdin
- or stdout respectively.)
-
-
-The program reads and parses a DTD from dtdfile (which may be -either just a DTD, or a full XML document containing an internal DTD). -It generates into outfile a Haskell module containing a -collection of type definitions plus some class instance declarations -for I/O. - -
-In order to use the resulting module, you need to import it, and also -to import Text.XML.HaXml.Xml2Haskell. To read and write -XML files as values of the declared types, use some of the following -convenience functions: -
- readXml :: XmlContent a => String -> Maybe a - showXml :: XmlContent a => a -> String - - hGetXml :: XmlContent a => Handle -> IO a - hPutXml :: XmlContent a => Handle -> a -> IO () - - fReadXml :: XmlContent a => FilePath -> IO a - fWriteXml :: XmlContent a => FilePath -> a -> IO () --not forgetting to resolve the overloading in one of the usual -ways (e.g. by implicit context at point of use, by explicit type -signatures on values, use value as an argument to a function with -an explicit signature, use `asTypeOf`, etc.) (Also, note -the similarity between these signatures and those provided by the -Haskell2Xml library.) - -
-You will need to study the automatically-generated type declarations to -write your own transformation scripts - most things are pretty obvious -parallels to the DTD structure. - -
-Limitations
-The generated Haskell contains references to types like OneOf3
-where there is a choice between n (in this case 3) different
-tags. Currently, the module Text.XML.HaXml.OneOfN defines
-these types up to n=20. If your DTD requires larger choices,
-then use the tool MkOneOf to generate the extra size or range
-of sizes you need.
-
-We mangle tag names and attribute names to ensure that they have the -correct lexical form in Haskell, but this means that (for instance) we -can't distinguish Myname and myname, which are -different names in XML but translate to overlapping types in Haskell -(and hence probably won't compile). -
-Attribute names translate into named fields: but because Haskell doesn't -allow different types to have the same named field, this means your XML -document which uses the same name for similar attributes on different -tags would crash and burn. We have fixed this by incorporating the -tagname into the named field in addition to the attribute name, e.g. -tagAttr instead of just attr. Uglier, but more -portable. -
-XML namespaces. Currently, we just mangle the namespace identifier into -any tag name which uses it. Probably the right way to do it is to -regard the namespace as a separate imported module, and hence translate -the namespace prefix into a module qualifier. Does this sound about -right? (It isn't implemented yet.) -
-External subset. Since HaXml release 1.00, we support the -XML DTD external subset. This means we can read and parse a whole -bunch of files as part of the same DTD, and we respect INCLUDE and -IGNORE conditional sections. -
-There are some fringe parts of the DTD we are not entirely sure -about - Tokenised Types and Notation Types. In particular, there -is no validity checking of these external references. If you find -a problem, mail us: Malcolm.Wallace@cs.york.ac.uk - -
-Text.XML.HaXml.XmlContent is a library/class for translating -Haskell data from any program into a valid XML document (and back -again). In principle, it gives an alternative to the standard Read and -Show classes, allowing you to use fully typed data in Haskell rather -than the generic XML tree representation. - -
-Usage 1. -It works rather like the existing Read and Show -classes: you must create an instance of the XmlContent -class for every datatype you wish to use for I/O. However, because -this class is not a standard one, no Haskell compilers support -the deriving clause for it yet. Fear not! There is a -pre-processor tool called -DrIFT -which derives class instances automatically. We have extended -DrIFT's ruleset to include the XmlContent class. - -
-(Please note that DrIFT is sometimes a bit fragile when parsing Haskell -sources - it occasionally fails to recognise the derive -command. We have found a workaround: isolate just the data -type declarations that are of interest, and run DrIFT on them -separately.) The syntax required is like this example: -
- data MyType a = A a | B String deriving (Eq, Show) - {-! derive : XmlContent !-} -- this line is for DrIFT -- -
-Usage 2. -Alternatively, you may start by having XML documents with a standard DTD -defined elsewhere, e.g. SVG, SMIL, MathML etc. You can convert the DTD -into an isomorphic collection of Haskell datatypes, including all the -requisite instances of XmlContent, with the tool -DtdToHaskell included in HaXml. - - -
-API -To read and write Haskell data values as XML files, you -have a choice of function pairs: toXML/fromXML -convert between typed Haskell values and the generic internal -XML representation; showXml/readXml convert to/from -Strings; fWriteXml/fReadXml convert to/from named files; -hPutXml/hGetXml convert to/from file Handles. - -
- toXml :: XmlContent a => Bool -> a -> Document () - fromXml :: XmlContent a => Document Posn -> Either String a - - readXml :: XmlContent a => String -> Either String a - showXml :: XmlContent a => Bool -> a -> String - - fReadXml :: XmlContent a => FilePath -> IO a - fWriteXml :: XmlContent a => FilePath -> a -> IO () - - hGetXml :: XmlContent a => Handle -> IO a - hPutXml :: XmlContent a => Handle -> Bool -> a -> IO () -- -Because parsing the document might fail, some of these functions return -an Either String, where the string contains an error message. Boolean -arguments to output-writing functions indicate whether or not to include -a DTD in the output. - -
-Particularly when you read from XML, you may need to resolve the -overloading of the result value in one of the usual ways (e.g. by -implicit context at point of use, by explicit type signatures on values, -use value as an argument to a function with an explicit signature, use -`asTypeOf`, etc.) - -
Xtract - is a query language based originally on XQL, which was a - W3C proposal that eventually mutated into XPath and XQuery. - The syntax of Xtract is very similar to XPath, although - not completely conformant. -
-The idea of - Xtract - is that it can be used as a kind of XML-grep at the - command-line, but it could also be used within a scripting - language (such as the Haskell XML combinator library) as a - shorthand for a complicated selection filter. -
-All queries return a sequence of XML document fragments - (either whole tagged elements or text contained inside an - element): for our purposes, we also treat attribute - values as document fragments. -
-This document describes the expression language for queries. -
-Just as in XPath, a query looks rather like a Unix file path, - where the ``directories'' are tags of parent nodes, and the - / - separator indicates a parent/child relationship. Hence, -
matches/match/player- selects the - player - elements inside - match - elements inside a - matches - element. The star - * - can be used as a wildcard meaning any tagged element, thus: -
matches/*/player- means the - player - elements inside - any - element within a - matches - element. The star can also be used as a suffix or prefix to - match a range of tags: - [ - Note that this is - not - a full regular expression language: we just provide for the - common cases of wildcards. - ] -
html/h*- means all the headings ( - <H1> - to - <H6> - ) within an HTML document (and HR too!). A double slash - indicates a recursive search for an element tag, so -
matches//player- means all - player - elements found at any depth within a - matches - element. The plain text enclosed within a tagged element is - expressed with a dash symbol: -
matches/location/-- means the plain text of the location, without any surrounding - <location> - tags. Likewise, -
*//-- simply means to flatten the text of the document at all - levels, removing all tagged element structure. The union of - two queries is expressed with the - + - operator and parentheses if required: -
matches/match/(player + spectators)- gives both the players and spectators at a match. - Finally, -
matches//player/@goals- returns the value of the attribute `goals' on the selected - player elements, if the attribute appears. -
matches/match[player]- means all - match - elements which contain at least one - player - element. It is the match elements that are returned, not - the players they contain. One can also ask for the presence - of a particular attribute: -
*//player[@goals]- means those players (found anywhere within the tree) who - scored any goals. You can compare attribute values using - any of the operators - = - , - != - , - < - , - <= - , - > - , - >= - all of which use - lexicographical - ordering. In this example: -
*/match[player/@surname!=referee/@surname]- we only want those matches in which the referee does not - have the same surname as any of the players. A comparison - may be either against another attribute value, or against a - literal string; however a literal string may only appear to - the - right - of the operator symbol. For instance, -
*/match[player/@name='colin']- asks for only those matches in which the player named - ``colin'' participated. If lexicographical comparison is - inappropriate, numeric comparisons are also possible: these - comparison operators are surrounded by dots: - .=. - , - .!=. - , - .<. - , - .<=. - , - .>. - , - .>=. - Again, either two attribute values are compared, or one - attribute value is compared with a literal integer. For - instance -
*/match[@ourgoals .>. @theirgoals]- asks for the matches we won, while -
*/match[@ourgoals .<=. 3]- asks for the matches in which we scored three or fewer - goals. (Note that the literal integer is not surrounded by - quote marks.) -
- In addition to comparing attribute values, you can also - compare the textual content of elements. For instance, -
*/match[player/- = 'Colin']- asks for the matches in which ``Colin'' participated, - where the name is recorded between the player tags, rather - than as an attribute. All the same conditions and operations - apply as for attribute value comparisons. Note however that - you can only compare texts, not whole structures. - -
- - */match/[@ourgoals .=. @theirgoals | (player/@name='colin' - & ~(@opposition='city'))] -- means the matches which either ended in a draw, or in which - ``colin'' played but the opposition was not ``city''. -
*/match[3]- means the fourth match in the sequence (numbering starts at - zero). You can have a series of indexes, separated by - commas, and ranges are indicated with a dash. The dollar - symbol means the last in the sequence. For example: -
*/match[0,2-$,1]- reorders the matches to place the second one last. -
*/match[player/@name='colin'][5-$]/referee[@age.>=.34] -- means: from the sixth onwards, of those matches in which - ``colin'' was a player, select those referees who are older - than 34. -
We give a full grammar for Xtract.
-textquery | -= | -query | -elements | -
| | - | plain text | |
query | -= | -string | -tagged element | -
- | | | -string* | -prefix of tag | -
- | | | -*string | -suffix of tag | -
| | * | any element | |
- | | | -( textquery ) | -grouping | -
- | | | -query/textquery | -direct descendant | -
- | | | -query//textquery | -deep descendant | -
- | | | -query/@string | -value of attribute | -
- | | | -query + textquery | -union | -
- | | | -query[predicate] | -predicates | -
- | | | -query[positions] | -indexing | -
qa | -= | -textquery | -has tagged element | -
| | attribute | has attribute | -|
predicate | -= | -qa | -has tagged element or attribute | -
- | | | -qa op qa | -lexical comparison of attribute values or element texts | -
- | | | -- qa op 'string' - | -lexical comparison of attribute value or element text | -
- | | | -- qa op "string" - | -lexical comparison of attribute value or element text | -
- | | | -qa nop qa | -numeric comparison of attribute values or element texts | -
- | | | -qa nop integer | -numeric comparison of attribute value or element text | -
- | | | -( predicate ) | -grouping | -
- | | | -predicate & predicate | -logical and | -
- | | | -predicate | predicate | -logical or | -
- | | | -~ predicate | -logical not | -
attribute | -= | -@string | -attribute of this element | -
- | | | -query/@string | -attribute of descendant | -
positions | -= | -position { , positions} | -comma-separated sequence | -
- | | | -position - position | -range | -
position | -= | -integer | -positions start at zero | -
| | $ | last element | |
op | -= | -= | -lexical equality | -
| | != | lexical inequality | -|
| | < | lexically less than | -|
- | | | -<= | -lexically less than or equal | -
- | | | -> | -lexically greater than | -
- | | | ->= | -lexically greater than or equal | -
nop | -= | -.=. | -numeric equality | -
| | .!=. | numeric inequality | -|
| | .<. | numeric less than | -|
- | | | -.<=. | -numeric less than or equal | -
- | | | -.>. | -numeric greater than | -
- | | | -.>=. | -numeric greater than or equal | -
-
-
-
-
-
-
-
<!ELEMENT foo (a,b)+ >-
-
-
-
-
-
-
-I didn't keep detailed changelogs for versions before 1.06, but -here are the highlights. - -
Abstract: We present two complementary approaches to writing XML -document-processing applications in a functional language.- - -
-
-In the first approach, the generic tree structure of XML documents is -used as the basis for the design of a library of combinators for generic -processing: selection, generation, and transformation of XML trees.
-
-The second approach is to use a type-translation framework for -treating XML document type definitions (DTDs) as declarations of algebraic -data types, and a derivation of the corresponding functions for reading -and writing documents as typed values in Haskell.
-
-Published in the Proceedings of the International Conference -on Functional Programming, Paris, Sept 1999. ACM Copyright.
<tag>
, and end tags </tag>
,
-where tag is an arbitrary name. There is special syntax for an
-empty element: <tag/>
is exactly equivalent to
-<tag></tag>
.
-The start and end tags for each element contain a tag name, which
-identifies semantic information about the structure, indicating how the
-enclosed content should be interpreted. The start tag may also contain
-attributes, which are simple name/value bindings, providing further
-information about the element.
-Figure 1 shows an example XML document, illustrating
-all these components.- --<?xml version='1.0'?> -<!DOCTYPE album SYSTEM "album.dtd"> -<album> - <title>Time Out</title> - <artist>Dave Brubeck Quartet</artist> - <coverart style='abstract'> - <location thumbnail='pix/small/timeout.jpg' - fullsize='pix/covers/timeout.jpg'/> - </coverart> - - <catalogno label='Columbia' number='CL 1397' - format='LP'/> - <catalogno label='Columbia' number='CS 8192' - format='LP'/> - <catalogno label='Columbia' number='CPK 1181' - format='LP' country='Korea'/> - <catalogno label='Sony/CBS' number='Legacy CK 40585' - format='CD'/> - - <personnel> - <player name='Dave Brubeck' instrument='piano'/> - <player name='Paul Desmond' instrument='alto sax'/> - <player name='Eugene Wright' instrument='bass'/> - <player name='Joe Morello' instrument='drums'/> - </personnel> - - <tracks> - <track title='Blue Rondo à la Turk' - credit='Brubeck' timing='6m42s'/> - <track title='Strange Meadow Lark' - credit='Brubeck' timing='7m20s' /> - <track title='Take Five' - credit='Desmond' timing='5m24s' /> - <track title='Three To Get Ready' - credit='Brubeck' timing='5m21s' /> - <track title="Kathy's Waltz" - credit='Brubeck' timing='4m48s' /> - <track title="Everybody's Jumpin'" - credit='Brubeck' timing='4m22s' /> - <track title='Pick Up Sticks' - credit='Brubeck' timing='4m16s' /> - </tracks> - - <notes author="unknown"> - Possibly the DBQ's most famous album, - this contains - <trackref link='#3'>Take Five</trackref>, - the most famous jazz track of that period. - These experiments in different time - signatures are what Dave Brubeck is most - remembered for. Recorded Jun-Aug 1959 - in NYC. See also the sequel, - <albumref link='cbs-timefurthout'> - Time Further Out</albumref>. - </notes> -</album> -- -
- data Element = Elem Name [Attribute] [Content] - data Content = CElem Element - | CText String -Because functional languages are good at processing tree-structured data, -there is a natural fit between the XML document domain and Haskell tree -datatypes. In simplified form, the main datatypes which model an XML -document are Element and Content, whose definitions are -mutually recursive, together forming a multi-branch tree structure.
- type CFilter = Content -> [Content] -Our basic type for all document processing functions is the content -filter, which takes a fragment of the content of an XML document -(whether that be some text, or a complete tagged element), and -returns some sequence of content. The result list might be empty, it -might contain a single item, or it could contain a large collection of -items.
- processXmlWith :: CFilter -> IO () -We assume a top-level wrapper function, which gets command-line -arguments, parses an XML file into the Content type, applies a -filter, and pretty-prints the output document. The given filter is -applied to the top-level enclosing element of the document.
--
- - -- Predicates -- - - none,
- zero/failure -- - - keep,
- identity/success -- - - elm,
- tagged element? -- - - txt
- plain text? -- - - - :: CFilter
- - - tag,
- named element? -- - - attr
- element has attribute? -- - - - :: String -> CFilter
- - - attrval
- element has attribute/value? -- - - - :: (String,String) -> CFilter
- - - Selection -- - - children
- children of element -- - - - :: CFilter
- - - showAttr,
- value of attribute -- - - (?)
- synonym for showAttr -- - - - :: String -> CFilter
- - - Construction -- - - literal,
- build plain text -- - - (!)
- synonym for literal -- - - - :: String -> CFilter
- - - mkElem
- build element -- - - - :: String -> [CFilter] -> CFilter
- - - mkElemAttrs
- build element with attributes -- - - - :: String -> [(String,CFilter)]
- - - - -> [CFilter] -> CFilter
- - - replaceTag
- replace element's tag -- - - - :: String -> CFilter
- - - replaceAttrs
- replace element's attributes -- - - :: [(String,CFilter)] -> CFilter
- -
The most important and useful filter combinator is
- --
- - -- - - o,
- Irish composition -- - - (|||),
- append results -- - - with,
- guard -- - - without,
- negative guard -- - - (/>),
- interior search -- - - (</),
- exterior search -- - - (|>|)
- directed choice -- - - - :: CFilter -> CFilter -> CFilter
- - - - - f `o` g = concat . map f . g
- - - f ||| g = \c-> f c ++ g c
- - - f `with` g = filter (not.null.g) . f
- - - f `without` g = filter (null.g) . f
- - - f /> g = g `o` children `o` f
- - - f </ g = f `with` (g `o` children)
- - - f |>| g = f ?> f :> g
- - - - - cat
- concatenate results -- - - - :: [CFilter] -> CFilter
- - - - - cat fs = \c-> concat. map (\f->f c) fs
- - - - - et
- disjoint union -- - - - :: (String->CFilter) -> CFilter -> CFilter
- - - - - f `et` g = (f `oo` tagged elm)
- - - |>| (g `o` txt)
- - - - - (?>)
- if-then-else choice -- - - - :: CFilter -> ThenElse CFilter -> CFilter
- - - - - data ThenElse a = a :> a
- - - p ?> f :> g = \c-> if (not.null.p) c
- - - then f c else g c
- - - - - chip,
- ``in-place'' application to children -- - - deep,
- recursive search (topmost) -- - - deepest,
- recursive search (deepest) -- - - multi,
- recursive search (all) -- - - foldXml
- recursive application -- - - - :: CFilter -> CFilter
- - - - - deep f = f |>| (deep f `o` children)
- - - deepest f = (deepest f `o` children) |>| f
- - - multi f = f ||| (multi f `o` children)
- - foldXml f = f `o` (chip (foldXml f))
- -
`o`
.
-We call this operator Irish composition, for reasons which should be
-obvious. It plugs two filters together: the left filter is applied to
-the results of the right filter. So, for instance, the expression
-- text `o` children `o` tag "title" -means ``only the plain-text children of the current element, provided the -current element has the title tag name''.
deep f
potentially pushes the action of filter
-f deep inside the document sub-tree. It first tries the given
-filter on the current item: if it is productive then it stops here, but
-if no results are returned, then it moves to the children and tries
-again recursively. When used with a predicate, this strategy searches
-for the topmost matching elements in the tree. There are variations:
-deepest
searches for the bottommost matching elements; multi returns all matches, even those which are sub-trees of other
-matches. However, as already noted, the action of these combinators is
-not restricted to predicates or selectors.- (albumf `o` deep (tag "album")) -The script first searches recursively for the topmost element tagged -<album>, before applying the filter albumf to it. Thus, it works -equally well with any XML source document that contains an <album> -element anywhere within it, and (correctly) produces no output for -documents which do not contain album data.
- txt `o` children `o` tag "artist" - `o` children `o` tag "album" -which grabs the textual content of the <artist> element within the -<album> element, is somewhat unwieldy. Moreover its trailing test -for the <album> tag is redundant, since the calling filter has -already performed that match. The expression can be simplified by -using path selectors to: -
- keep /> tag "artist" /> txt -and this style is used elsewhere in the example. (The -algebraic laws in Section 2.5 guarantee that this rewriting -is safe.)
- hbody [("bgcolor",("white"!))] [...] -can be understood to set the background colour attribute of -the <BODY> tag to the literal value white. Notice how the -attribute value is itself described by a filter. In this case, the -filter is not very exciting, but the later definition of -mkLink illustrates the generation of an HTML reference -by looking up the value of a supplied link attribute (using the -? filter).
--module Main where -import Xml -main = - processXmlWith (albumf `o` deep (tag "album")) -albumf = - html - [ hhead - [ htitle - [ txt `o` children `o` tag "artist" - `o` children `o` tag "album" - , literal ": " - , keep /> tag "title" /> txt - ] - ] - , hbody [("bgcolor",("white"!))] - [ hcenter - [ h1 [ keep /> tag "title" /> txt ] ] - , h2 [ ("Notes"!) ] - , hpara [ notesf `o` (keep /> tag "notes") ] - , summaryf - ] - ] -notesf = - foldXml (txt ?> keep :> - tag "trackref" ?> replaceTag "EM" :> - tag "albumref" ?> mkLink :> - children) -summaryf = - htable [("BORDER",("1"!))] - [ hrow [ hcol [ ("Album title"!) ] - , hcol [ keep /> tag "title" /> txt ] - ] - , hrow [ hcol [ ("Artist"!) ] - , hcol [ keep /> tag "artist" /> txt ] - ] - , hrow [ hcol [ ("Recording date"!) ] - , hcol [ keep /> - tag "recordingdate" /> txt ] - ] - , hrow [ hcola [ ("VALIGN",("top"!)) ] - [ ("Catalog numbers"!) ] - , hcol - [ hlist - [ catno `oo` - numbered (deep (tag "catalogno")) - ] - ] - ] - ] -catno n = - mkElem "LI" - [ ((show n++". ")!), ("label"?), ("number"?) - , (" ("!), ("format"?), (")"!) ] -mkLink = - mkElemAttr "A" [ ("HREF",("link"?)) ] - [ children ] -- - -
- -
- -- - -
-
- -
- type LabelFilter a = Content -> [ (a,Content) ] -A LabelFilter is like a CFilter except it attaches a label -to each of its results. We might have chosen to fold label -values inside the Content type, to yield a uniform CFilter -type, but keeping the labels separate allows them to be of -completely polymorphic type: a label could even be another filter -for example.
- numbered :: CFilter -> LabelFilter Int - interspersed :: a -> CFilter -> a - -> LabelFilter a - tagged :: CFilter -> LabelFilter String - attributed :: CFilter -> - LabelFilter [(String,String)] -These labelling functions lift a CFilter to the LabelFilter type: -numbered f transforms the ordinary filter f -into a new filter that attaches integers (from 1 upwards) -to the results of f; -interspersed a f z attaches the label a to all of the -results of f except the last, which gets the label z; -tagged f labels every tagged element with its tag name (and -non-elements with the empty string); attributed f -labels every tagged element with its attribute/value pairs (and -non-elements with the empty list).
- `oo` :: (a->CFilter) -> LabelFilter a -> CFilter -The combinator `oo` is a new form of composition which drops a -LabelFilter back to the CFilter type by application of -another filter that consumes the label.
- catno `oo` numbered (deep (tag "catalogno")) -First, the desired elements are extracted from their topmost positions -in the tree, then they are given numeric labels, and finally the -catno filter incorporates the label into some generated text. -Another example can be seen in the definition of the `et` -combinator in Figure 3. -(`et` combines a filter f on elements with a filter g -on text. f pattern-matches against tagnames -- -the tagnames are extracted by the labelling function tagged.)
- `x` :: (CFilter->LabelFilter a) - -> (CFilter->LabelFilter b) - -> (CFilter->LabelFilter (a,b)) -- -
Giving all content filters the same type maximises the usefulness of -combinators for plugging together functions of this type. However, it -is still helpful to identify subclasses of content filters that offer -extra guarantees. Two examples of such classes are: -
- --
- - -- - Irish composition -- - f `o` (g `o` h) = (f `o` g) `o` h
- associativity -- - none `o` f = f `o` none = none
- zero -- - keep `o` f = f `o` keep = f
- identity -- - - - Guards -- - f `with` keep = f
- identity -- - f `with` none = none `with` f = none
- zero -- - (f `with` g) `with` g = f `with` g
- idempotence -- - (f `with` g) `with` h
- - = (f `with` h) `with` g
- promotion -- - (f `o` g) `with` h
- - = (f `with` h) `o` g
- promotion -- - - - f `without` keep = none `without` f
- - = none
- zero -- - f `without` none = keep
- identity -- - (f `without` g) `without` g
- - = f `without` g
- idempotence -- - (f `without` g) `without` h
- - = (f `without` h) `without` g
- promotion -- - (f `o` g) `without` h
- - = (f `without` h) `o` g
- promotion -- - - - Path selectors -- - f /> (g /> h) = (f /> g) /> h
- associativity -- - none /> f = f /> none = none
- zero -- - keep /> f = f `o` children
- - - - f /> keep = children `o` f
- - - - keep /> keep = children
- - - - none </ f = f </ none = none
- zero -- - f </ keep = f `with` children
- - - - (f </ g) </ g = f </ g
- idempotence -- - (f </ g) /> g = f /> g
- idempotence -- - - - (f /> g) </ h = f /> (g </ h)
- promotion -- - (f </ g) </ h = (f </ h) </ g
- promotion -- - f `o` (g /> h) = g /> (f `o` h)
- promotion -- - (f /> g) `o` h = (f `o` h) /> g
- promotion -- - (f /> g) `with` h = f /> (g `with` h)
- promotion -- - (f </ g) `with` h = (f `with` h) </ g
- promotion -- - - - Directed choice -- - (f |>| g) |>| h = f |>| (g |>| h)
- associativity -- - keep |>| f = keep
- - - - none |>| f = f |>| none = f
- identity -- - f |>| f = f
- idempotence -- - - - Recursion -- - deep keep = keep
- simplification -- - deep none = none
- simplification -- - deep children = children
- simplification -- - deep (deep f) = deep f
- depth law -- - - - Misc -- - elm |>| txt = txt |>| elm = keep
- completeness -- - elm `o` txt = txt `o` elm = none
- excl. middle -- - children `o` elm = children
- - - children `o` txt = none
- - -
- -
- (f `o` g) c = [c'' | c' <- g c, c'' <- f c'] -However, we prefer the equivalent higher-order definition -
f `o` g = concat . map f . g
-because it is more convenient in algebraic
-calculation.8
-
-Composition is associative, with none as zero, and keep as
-identity.
--<?xml version='1.0'?> -<!DOCTYPE album SYSTEM "album.dtd" [ -<!ELEMENT album (title, artist, recordingdate?, - coverart, (catalogno)+, - personnel, tracks, notes) > -<!ELEMENT title #PCDATA> -<!ELEMENT artist #PCDATA> -<!ELEMENT recordingdate EMPTY> - <!ATTLIST recordingdate date CDATA #IMPLIED - place CDATA #IMPLIED> -<!ELEMENT coverart (location)? > - <!ATTLIST coverart style CDATA #REQUIRED> -<!ELEMENT location EMPTY > - <!ATTLIST location thumbnail CDATA #IMPLIED - fullsize CDATA #IMPLIED> -<!ELEMENT catalogno EMPTY > - <!ATTLIST - catalogno - label CDATA #REQUIRED - number CDATA #REQUIRED - format (CD | LP | MiniDisc) #IMPLIED - releasedate CDATA #IMPLIED - country CDATA #IMPLIED> -<!ELEMENT personnel (player)+ > -<!ELEMENT player EMPTY > - <!ATTLIST player name CDATA #REQUIRED - instrument CDATA #REQUIRED> -<!ELEMENT tracks (track)* > -<!ELEMENT track EMPTY> - <!ATTLIST track title CDATA #REQUIRED - credit CDATA #IMPLIED - timing CDATA #IMPLIED> -<!ELEMENT notes (#PCDATA | albumref | trackref)* > - <!ATTLIST notes author CDATA #IMPLIED> -<!ELEMENT albumref #PCDATA> - <!ATTLIST albumref link CDATA #REQUIRED> -<!ELEMENT trackref #PCDATA> - <!ATTLIST trackref link CDATA #IMPLIED> -]> -- - -
- -
--module AlbumDTD where - -data Album = - Album Title Artist (Maybe Recordingdate) - Coverart [Catalogno] Personnel - Tracks Notes -newtype Title = Title String -newtype Artist = Artist String -newtype Recordingdate = - Recordingdate Recordingdate_Attrs -data Recordingdate_Attrs = Recordingdate_Attrs { - date :: Maybe String, - place :: Maybe String } -newtype Coverart = Coverart (String, Maybe Location) -newtype Location = Location Location_Attrs -data Location_Attrs = Location_Attrs { - thumbnail :: Maybe String, - fullsize :: Maybe String } -newtype Catalogno = Catalogno Catalogno_Attrs -data Catalogno_Attrs = Catalogno_Attrs { - label :: String, - number :: String, - format :: Maybe Format, - releasedate :: Maybe String, - country :: Maybe String } -data Format = CD | LP | MiniDisc -newtype Personnel = Personnel [Player] -newtype Player = Player Player_Attrs -data Player_Attrs = Player_Attrs { - name :: String, - instrument :: String } -newtype Tracks = Tracks [Track] -newtype Track = Track Track_Attrs -data Track_Attrs = Track_Attrs { - title :: String, - credit :: Maybe String, - timing :: Maybe String } -newtype Notes = Notes (Maybe String, [Notes_]) -data Notes_ = - Notes_Str String - | Notes_Albumref Albumref - | Notes_Trackref Trackref -newtype Albumref = Albumref (String,String) -newtype Trackref = Trackref (Maybe String,String) -- - -
ELEMENT
declaration), and possibly also a specification of allowed
- attribute values (ATTLIST
declaration).
-(2) For inner content, the grammar allows sequence (commas), choice
- (vertical bar), optionality (question mark), and repetition (star or plus).
-(3) Where the inner content declaration allows free text (#PCDATA
),
- choice between text and other elements is permitted, but sequencing of
- those elements is not permitted.
-(4) In attribute lists, some values are mandatory (#REQUIRED
) and
- some are optional (#IMPLIED
); attribute values can either be
- unconstrained strings (CDATA
) or a member of some pre-defined
- set of string values.Notes
-contains a [Notes_]
where the auxiliary type Notes_
has
-three alternatives.foldXml
.
-Most significantly, Visser et. al. achieve great expressive
-power by decomposing the match/re-build stages of rewriting,
-and introducing explicit environments by which these stages
-communicate. This makes it possible to
-deal with subtleties such as variable bindings
-in the program terms under transformation.
-Although the structure of XML is simpler than the structure of
-a programming language, our library could benefit from the addition
-of support for binding variables when matching subtrees.http://www.w3.org/TR/REC-xml
, WWW Consortium,
- February 1998.http://www.w3.org/TR/WD-xslt
, WWW Consortium,
- April 1999.http://occam.sjf.novell.com/dsssl/dsssl96/
,
- Novell Publications, 1996.http://www.cs.bell-labs.com/~wadler/xsl/
,
- Bell Labs, January 1999.-
- -Appendix: DTD translation rules
- - --
- - -- Type declarations -- T[[<ELEMENT n spec>]] -= -newtype m = -- - - - m (m_Attrs, m_)
- - - newtype m_ = D[[spec]] m -- - - where m = M[[n]] -- T[[<ATTLIST n -- - decl0 ... declk>]]
= -data m_Attrs = -- - - - m_Attrs {F[[decl0]]
- - - - ,
...- - - - ,
F[[ declk]] }- - - where m = M[[n]] -- - - A[[decl0]] -- - - ... -- - - A[[ declk]] -- - - RHS of type declarations -- D[[ ( x0, x1, ..., xk ) ]] m -= -C[[ m x0 ... xk ]] -- - - - D'[[ x0 ]] - D'[[ x1 ]] - ... D'[[ xk ]]
- D[[ ( x0 | x1 | ... | xk ) ]] m -= -C[[ m x0 ]] D'[[ x0 ]] -- - - - |
C[[ m x1 ]] D'[[ x1 ]]- - - - |
...- - - - |
C[[ m xk ]] D'[[ xk ]]- D[[ (x)? ]] m -= -Maybe D'[[ x ]] -- D[[ (x)+ ]] m -= -List1 D'[[ x ]] -- D[[ (x)* ]] m -= -- [
D'[[ x ]]]
- D[[ x ]] m -= -C[[ m x ]] -- - - Inner type expressions -- D'[[ ( x0, x1, ..., xk ) ]] -= -( D'[[ x0 ]] - , D'[[ x1 ]] -- - - - - , ... D'[[ xk ]] - )
- D'[[ ( x0 | x1 | ... | xk ) ]] -= -(OneOfn - D'[[ x0 ]] - D'[[ x1 ]] -- - - - - ... - D'[[ xk ]] )
- D'[[ (x)? ]] -= -(Maybe D'[[ x ]] ) -- D'[[ (x)+ ]] -= -(List1 D'[[ x ]] ) -- D'[[ (x)* ]] -= -- [
D'[[ x ]]]
- D'[[ x ]] -= -C[[ x ]] -- - - Name mangling -- C[[ m x0 x1 ... xk ]] -= -... unique constructor name -- - - - based on m
- M[[ n ]] -= -... ensure initial upper-case -- M'[[ n ]] -= -... ensure initial lower-case -- - - Named fields -- F[[ n CDATA #REQUIRED ]] -- - = -M'[[ n ]] :: String -- F[[ n CDATA #IMPLIED ]] -- - = -M'[[ n ]] :: Maybe String -- F[[ n (s0|s1|...|sk) #REQUIRED ]] -- - = -M'[[ n ]] :: M[[ n ]] -- F[[ n (s0|s1|...|sk) #IMPLIED ]] -- - = -M'[[ n ]] :: Maybe M[[ n ]] -- - - Constrained attributes -- A[[ n CDATA ... ]] -= -0 -- A[[ n (s0|s1|...|sk) ... ]] -- - = -data M[[ n ]] = -- - - - - M[[ s0 ]] | - M[[ s1 ]]
- - - | ... | - M[[ sk ]]
- -
This document was translated from LATEX by HEVEA. -- - rmfile ./docs/icfp99.html binary ./docs/icfp99.ps.gz oldhex *1f8b0808a4866f3700036963667039392e7073009439fd6fdbb892bff3afe0e16e817dc04b4c4a *b625177b4513453a14789bebab7b450ec5e2a0da72e2ab6379653b4d9ecefffbcd1729ca76bafb *d25a9ca186e470be3843fdf42f1fa61757f3fa6b75115d1af5d34f595395bbba79a3e74fcbcdf6 *9b1e5d8ed285ceeacd4bb3bc7fd8693b49c77f85e764a83f96f3e5ac5ce9fca5d2d37ab1fb5e36 *15ccf069b95b556ff472b6d84c2697300df47d28efabed1b6d2381ffb39957b0c6d57656ade7d0 *775defd7f3e5fafeba7e7ea30dfc1b4dc63a1d22f94d3ddb3f56ebdd87725335d3e53f709eab21 *bcc8d7f3ac7ec4575bf5d3cde7f71fa68896ebf9df96eb4af8d717b563049090251af0a16ccac7 *6a573530e77cb3fcf7b1317fd533995437d563fd54cd85765aef9b19ccab3f5577badeef367b14 *064c67c69751f4c6c6a3143752dd2fd71f9a7a36ad766ff4ae7abedc34b51ac0989be56ca7a391 *d17304e6d542bbceaf38460f6e5be83ce08bc175fb75b99e23d1e1560fa66df53c7b38dcaac15d *3bd5b7876b3df8f4b1dd35e57abb2a7715922cb7abad5e94ab6da5017bda8298b4b53a89f4e37e *855d0fd4955e8ea04f49df0a64b559edb713d3d2505efb1de879b96e71c6f68bd10191d517f6d0 *5e586d0f6ab9a870315495f96d56af67e5eeb05ce0821fab6dbddaef96f51a76fa843d9f8fbad6 *d5bdde82e1548a1609560829612012f35e9063a3490c6d4073c144eaa1233a08679f3e223f016d *38374f2aa3b5d5e57c8ea3d5a78f5f1ecb5db37cd6b37dd3801130d6cef71b8dbf06cd546ff75f *75f975abcda5813fab57bb965ec08207b5a89b72b5124a6438007fdb563223eaec1d6e1ce4b0a9 *5ad6dfaed957a85e35780766bc2f578baa9ab7db5db9db6fc968065d3713830da235bc9bd59b65 *b56d07ffca80bec3498a5fcbdd174b2abaa0e63758b4b8befe62446d80aed70041fb3ee776b66b *18982f2e76e572d52a2449d9666f35c062ac45bdde7d7ad9543a466ac47e65c12dd6bbe6d9f55d *833f6b5852dfaa2dbc5ddfebc1d7129473a7cba6295fc0d097300e3cf30ec0fd7235cf1ecaa6c5 *0761558372cad7b31a638306266f55857eb1dfb483455d6b90e702963944321f6c1f1e4fb8feaa *2ee7b015e0181dd56dec0b8a6bbe806d6d17a077989df945590126bb66a26d8bc681847742f605 *60141d3468c32843d51b94b79b7a836b92c1540b0844c89fe71348660f17df97f3dd430bc0bcdc *9548aa56d5fa7ef7a047645af795237ca830e486945a28874794cff5023665a3549f218e1d31b6 *32e005079ca18d904621ad8d92807efe7c8eda1eb1b17c84d8ee081512eed04606ac7c82d7f01e *74812b9052f0c70e788bfe03f32ce76c82cd776cd5a099317ebf111b95f63fb8219d401b584dbb *2d9fd0322df81ef8e29464cc9687eb461a826bf54cf0b4b341469931d9ea9d467d7aaf203928a3 *45e05ae4a8bdaa481cc15bd2346d4e481558c2ac9c3d54f3ea6939ab3a9a6e0a74ecce6d2f2ead *9f5026a7792e49f4bfb54ee8077a3e96706237d5160ef00a4579d30e6633d8c56b9af80d0339da *6b271ca0c7eda2d3607f5f38f866aac97560b44445d53306ec7402666902393a12c62a58cc7b63 *a87860f57dab6069eeb8c18eaff5a6dd6fab86231f60170f75fd4d7f5bd7dfd7ad4371c6c1f4bd *2685df6a3ebb14ca0e8fee5dad079ff5b9884e6c5a620f213c3928569bb04b212f97930906f8c1 *df3f1fdac1c7cfee78a1f082e7251a08fc305055c031f022f2d78e79852f42e6ab80f9ed43fd7d *83fac30301427db30b364d38912a1ed9759028d136c3630de2540fb3703c91ec0790c1807de83b *85913e1a8d255edec2862de0a316baa7a8418ed22800030ec46a4495cd9e28901ee07853e35192 *dacb64cc53f3597aa7fbbd7c22dfe1b6362d6e12a18ffd1349d111747d53834b8e8d5b1b3d7fbf *82658d035f187c6a05bb731477fa335aca67d562f3f1b30ece4a39a720fb9aef01fdfe50351545 *67d71384b104b4de1a9d60dc5bae211d7c82ac16deff7cb3dc6e56e5cb5faadf9d790c7540f3f3 *6d75f7095fd6cd81e6e6344a92a383645562317070b5ed3d19eaa78fe4d7f01f208b62c76c48f3 *a6788f3454a1c05a1450e0def7cebf0f67a70b27e1696101c5a9e18fa7133e41927fff2c33af2b *304e1010e59aa0fa477536afd14b4fe0fccea9b059c11908b81196e0dc54ae8f69f824757d8b25 *04ecfb2084952dcf486772b582a04cc68027aea20824bd77384947fa2b64ca7804e32b74637742 *7fa57e87cdda8ba1fef5a070eef6220610a0aabd88185a60b24bd03d9807010fadf42c5b21fadf *56c67d6bd590a1ef6d8f9755bbd1b0ce77841f118e195e231c315c236c19febd55189c086e5a0c *a7046e0194913b0065c267586b1aaef602fc447cf06d54c9911452c3e95482246d117aa0a31333 *5761505149e97252c96c37d56c59aea89a39aa5ba65cd918e3b2c469f8f6dd9447de548b72bfda *01270f5b3db6119eec4f5b9d4c222a4f6af171691fb6334ecf9e1c50aeefe59cffdbfb0f2e4158 *4eab6aad7cddd33c50475708adaa1d786a8bb1675def2a02ca2135abeabe5c0144e93639ca7ebd *dc61c8c481ef1ea8ab0dde48589b61720d044fc7044aa2a123a00848bbbd13a62d0bffdd13bf79 *3a7d335b2d37909b525f247d0f70dc43d6d0a28c6469d7f3e47a4038c00bc9883b4034900e4af0 *078462268bcb971948f6b06c3dd503533df4a9403aabd5733b8087ccbd5abd20fa22e8be81b7f0 *f0e80ba2f216c20c577a341d9e9798bf0fdefd5aa259fd5778c23fcee578ec75e1718cd98a1a60 *17e52dd5ef1d091b19d0b91cc4702d07ffcb67e983d88e333dcec3642562429a84aa06acb597cc *1e508af19eb31f311c48fc07f5bcdd3d6fea2dc658c83876cf380b5ab94b32bab038d5904fae07 *1b0c541255156a9bc2eb63d97c6b3d6d7b124d21d49f7dcb31f3a00eed180309f97cf7f64ff6b5 *6a19be97d77fb60fb22ae110f2b7158802377438e0532a617786cce0b8d8ed6adcab641f25e749 *83fb997e9e733a03da882790bfd1e58ad18b7f805c175b58ac18fcdfffd05f56ef9b65d5609d09 *e9c953d5ec16abf2befd50c2a17cbd2a679819e155092ba6dd3c6ff5e6652b47e166d3e8925237 *4edb9a765d2f400b5b3abda774164df1144514af3b148d43c378463afd424fa8db8f07d814427e *0de94745e382f562b4618510e79b74fb018932b6d81b512f42e6e43d5f62044b2b30c373cb13bf *1d0b7e5d7d7e5da37866de0ecfef67ee8de8f345a30e5e689f3e2a497f75949cd9ff39b909b3f8 *9b7443d4a9c85e61fd0f44a64e44e6377676e55796535e52fa7549051306dbef31a84e756a4863 *284749b868df5f5f26e3b66f9e4394233919442ac55755bea6c5e0c55d11c72f60e67232a6ac96 *05c9b6e12c84bc026b67d53a9e5de9a1378f3e13b8c500c8bc71d06b1ee12ca593ae77354787dd *99db3a7fb5a75de46fa5f4f08ca1340dde88dc430ca030bad92e202f98f62b885b5c9fea9d4fd5 *73b1bc6f91ecdfa690c2cca7246729f97c95d505fc30ff776c687f00057b7235e1a686e0014252 *b4061e5ec49216f43944f1e0eba1bdb7f28e27726f7aabd09b191531043d3b684be43c0817556e *7aaaaa512242476bf04a8e57e2aaa30ba6dbbe28f12b5e4c5e51411ecc2f4cc9fcee2dce8e6f51 *32ce5ae80cac9a1223bd60687f1ec11c15c5ec8f78ec9cd79cd90412738274f2a5c57a92f2678c *3b41866ce9431d29ea975263ecfd642a27e219c09f4d7a462e2c47b09cafb8a5f55c0c0d538023 *5bebdc63f08e0c4bd2e196525de51261eec471ce3aa58cfa81c91de7c77c4e426ec12d18c79c21 *7aa2698353ccbeb17fbc03371256542b9924a4474e60c13d08a4a1613106b9a743e04daf04537d *51a1bb42e609a92644184c7f31c3e5ad60ba29414f72cb16534d54282859397b948cb2c5041395 *1cd8ea012bb85e1cc491c40f52f19103e9cd0fa60822dee9d02eca2ac9a903e92039928a8498ed *17673088d2528c2231a0eaac39d12dd49f74106779a43e30356749ac64d13aec0dc3f4a1a93655 *79a2fa794784d7e18eca55cd3ab443d78774b822b866cf76394e52187eb7a83c37488e95ebb295 *1c134bd155db04d8ac6d5cf287b52cd62db8e2dd51b8c3beff0633bec56b8e6a8713cc4aef801c *e4dbedaea9bf01e3385ef188ce3317cb554bd7023cfdf1eb6a85b908e4f8c033d54178cb450787 *6050123770a442fb2c2d3aa5a4e8672f076fd1d69158d148b62e437765c1c47ebdb299e960caf0 *23cf495dddaf9de3891da511e46da3519c9a099cdf74653796dfcfdd07cbbf28be1dd483a20436 *86133d5ffc626c6e4c5cf47f492ebfcc98c2fd52fa5978adf081e3682cfe32fe2569f0032e80cc *c06b33c68f5c99bd4af2c9b58dde0e5375a37360e32b7893b596f8a005704c617aad396a714ddf *aae30ec38cfca805e68814daa4a0d666b122204e99eb312d5600cbd4da94db8476630b5ea86b8b *8cd74791295aa89005694fd0c21aae4d71e1c2c4a6df46cc108a0a1590668a80186718cbeeed24 *1a26d95514d9b7d624fae617ecc5c56d91c528afd866094e33b67966626c8b54e1bab4915e7ba4 *b5732d0bc7b7ca013076282d090a5ada31cecbad4db98d53b21260ca3ac16528221c5cd824b999 *8ca2f15b0b551adbc30cedc1a46c0f648186f645aa41e1db8cfee78650454696cb33ef9e6c9b16 *2593c7274fde5ff854dcf04a274f3186dc3d2dad02b3fb674cfb0536149b4892916c0b523f5987 *4da228995cc158b07ed41c49568c5c4c3d785a9577261d3ed9884f9f341b5910fe077b2091817a *14e8282753cec9907332e3cc3257f2443e412e640f6c1962278519d2739ca40ad59ca4fc0411a7 *68b6162594a0c3601c804dc6689ff69aed53e76a50ccf5087c7c2c3ae51571cb85f80e7524d0e6 *dc5d90a514a47db47ec41385869efb1fcd422d079b5862836b93fca875ae8f5e157614afb4c971 *db9b102caea0c8531087c86d5cd01f6d88b6402d1b815332b9701699643c29a2e4ed64a2d00ed8 *c569cf3479d2d1935a649ea4c879d7e2f2058767ea4b54c6b314198b00d52fe24b72d6aff0677a *fca55ee286df2a1f86ffb80d45066e40b3c439c5d4b800fb8d65a9d889c22de9942d3bb6d72092 *1189c482e1a34c7234bf84025b5264285f92439e142cee222f1cc473c31a18861384881e350d20 *8a2bce9c1d61002e4864490f62434ad2001249e238d581299d760513216d0f6285e40e8a731ee7 *218560c653a4e1c23d16321e1f42c20c1031a4907961a683e045429a401ea231083513a14e28e0 *d8c2d92fcb08233a9a55c22e5814a129881b5ea35049fa133272846cc15b442823b66355b01fa0 *27c69228c4399b2260190f4cc58142c8399940ca83ec3ba710ef80cc886d287526e8121582142f *620bf10c78b2691ab6159183841f8652e77e85f83abe54cca18f2c62f59dfdf7a0f404b20e521d *285bec43f13948c20e71e5d223d581a7908b1ec644a3188e61b6001b71a8b1eea4f10ec8a76b10 *0bb895b896994eaf9cfa81aa53d1be303fecf668bbdcad13a613afebc8658fca49d4e57505e648 *d426acc55498e416a4d26b0b6e130c352e0c24b283b83b470ad13e5bc60d78c54464329224b4c2 *5b621b59977598ee8f06c5129ee99cca3a58b23ef6a30e7170ccd1fb0cdc59450827147ee30ef1 *70ded944089314923330a75879b7038685eb3370c7b48753595e2165d6edc0661dd736edc38ee9 *98607ec446609550aecb485170794001b14829bf45ff04b721d5de10265276a6274c2b672edeeb *02c7eac3f1abb0e926eabcadb3c513383f0fb3005588984eec6eb56e61135dc551525c99287f1b *894fe29fa7b6e7a0f4148a7b90db49b764c7ed19687c0662de5507f6d8fa2183d6c51ed3854e38 *105289c5600e14c6406eb10fd7313d2d27cd7c562284e94366249bc4f1632ca70a1a45ee1c4b45 *291067087908b181161d94b1dc540732c456eaa11cd72003f5509115ae8e7510d65385705804bc *2294fb9df0018f1c66c61d7d9c910185cdd8442192da4c6cc60b2e10e6918e7fa062f54fe9f807 *2a76aef503238cd2e130b9b98ec18063a8da7e810a2a972c0cc41f63e048932b952676f4769412 *01bb0ce79ef84be9877120be4979e6f0178bf463b7b5b1309c894a4527b4af09149157b4d87be7 *4ba168bc4c3a1115bd973d2c0c1dc7980b1fae7ee8bdec63c5eb98bdf6184e14874109b1206a8c *fb5818ee5cf52613d9b4170b7b58dc8b93490f1bf7b08c437d87da2e9ed934c450010166428c22 *b9eaa31ecb42ccf6b134c4488145d18b6bfe3a2871958ce1ee5731db9da4aa8fba393d363e8ba5 *9e6b8f29415dcd968698d89d3bb67bd8b887e5b23546fdc515e7c53e2fca7c60e042e714cb39ad *24341ec663f0cc517cf5763ca284df89a34bca7c8adf6185db82a25cc7a767592074c1922260d3 *4924ee35096743dd88f4dcf833587106f3d99030951c61a401bf9d1e162439d0a8206beb183ee5 *c2fadda7dd72aeb477d78d49283626f279af2b30b200333d0ea553f551d35bb88fd99e4a8e3195 *f5d0108b5fc1d26e21d9632c5a13d46d9c59f4581ef06b7bd891d69c9e0a13365271e5dd7039eb *8a9e617676a94254981fc731d8780436fe9e6faec3cc37e1cc3f7537b23926117086e4781786c7 *7016e7741960b9dac65049677a2c156b6ab968a0231f70de18338ba56072d4310e137bc14d9044 *0bee89a4028d95a31a06097d57159fe041355004b8f1854750167478d2e145ee3aed094eb32adf *1b5403f01832ee7798073be6caa0e395b21cd5efb059208298ca8424c0318076bcc323f6b8dcaf *25e1662c5dbf061a2f6c16ee982d8fb225ce5cd04220f18ba224bf32c3a1bb0ae90c27309ace60 *480cce568c113b515c84782341d8d903a5241deced4260d38325ace59d1a7b7670a6e0eb15795d *5dd72ff28a103e5ba676015198733c2ad654a825af91108e1dec6b392379bdf0a512be8c4fe42e *30efe0eebcb779dc159c723fc021197ba22bd496a212e9fd991be33867ba844b02cae0c6c67f8d *f25fa4725a5919977f4a07bf4cbd7c4dec4f9eeeaa82636910900c5f95152eb0f9e8c9acf9c4a9 *f059be282b3d6955215cb37238bfb05c3430b3b2b938733761fe8e8a63e7350828bb322a1ae225 *865ceda52e5e50e18c84397dace01bc16292718033c94d4ab7c25c9c03942b562795280c91f324 *b9d37ec29f5d7cd617a7dea8bc1af14f79d00650fa03283e0bf9645d5cc3195a77e2d0472029fb *d0e2b8d8c3ebd19c72b282a1582148ee9a20f3f6dad566f1443649570e246d2f37e365198d3870 *44997a6b23f78d6aa123fca0c11fa98a4ef631dd96f18f3dcc1534867f63b42257c8481123a831 *57364aa22b2c64620c519c61744f67867c7f66ad3223a87b723b793b1cb92a0cff654596d0b692 *341d7355448e2dc6ef3ea12452470575d11ffef942cefd24f4529e7badec244927a9abfa8cbfe4 *0fa1e0aec5df6c0650e252acf092a5bb70fd27af5ed56bd6674ea01f5ebdc201d2e7f0cf326873 *0f91ab534223a06179ca4d808bc3e4f77213ee19f48784f51073e46e5504f2c7a02f1c8a228060 *e6288ea036bf4aa2ebb7c95889929c2c78b88b6cd6c79c5e8513e48d4e5ea9ea75f473478fdb1b *9157c29f2b8ff178e24aa242be673aa17b5c849b3390bf82e3375e9673d275908c13d9197de03c *c113f9822a1f40317a4a4edc75c896e59b761fe72fc0c4a9e0d6e3f811d624becc4b0c7f2ceee3 *b9c7d1d971fef8ffd9fbd7ee3a72234114fd8e5fa1d3779d5bd25df50036363772bb6dcd229389 *19cf4ccff8b43db77bd678d63a2c89925845896a52b25d7dee8fbf40bc81ccfd22d57eb559a58d *003213cf4020221008f4f1511574b0164b17d478f25ebaa0169a041f313e792f2d2ea0db8e6d82 *89c34cbf186426699c5b4ce3cda23510505e8c3da2629c648665d4f37ade05c0f820f1785ef1d2 *9da778094b3ea60755dd9b18ebe1054f8549869206b22ed07aa88a07b6999a09cc1d4804522808 *6cdb296d0cd96acc8857e23f54774b6c6cb70fe033ce2865f35da734b25ae83e66b690f0a1fdb0 *d73d992270475ff21c9566557c1c94ac013e65f39da18dc887481949d1a27ee6bca1c14af0e83b *3332a91d27dbc88068240cd964dbcc62a361bc82a29189c55090683c4f2eae5e0eb80499f5b7aa *5fc6d972ccc9fe7234eb1afd73b2486ecbda1c616dde6e642715fb9ea58c89b837e6f212cd06b0 *08827db39e371d695e2dfccbc3f23f2711aa422691682104861b2a5039230e8742774b935c1c0b *c18da8b8c8c4b0c27a74112eca32be5d45e4bd69c30dcb8db8b90db63761025e3672593099a08d *03d16bf34b8337ff155c7036e2c1ea2618039d3420331c50d18e9c3a8a58892aecc59c4286c770 *f616b334dc6925e2949d6fc3a109798b9939efcb8cc880d5abb607441c9958f29637234323972c *210223c3e816312208320cc722839b63c34e64185785a72bec0223037108d01687eb0f64438b61 *00a3215c4fc388725642261bd974e666478b066e174e3032004f44c810f72043e5f736820db41d *20763e840a449e11ad6a5eb909f340641ff724cd48fba3c206c348333b7a090dea8dc785b2e3d9 *a1deae707f05dd8e9aee09972be64c0d5174d78ea4540e319f4c0b6fa2a553b653c478f3329e0d *e17ce09d9cdd24362d90583097fb122436bb4512db8491435b1196f00b8ea292c3e5cc3470e7e0 *2e8c61a47212ed7983fde6840f13b2334c6e58958a3d152e569b342aee779d11c6c3a25e440500 *58f90d600c3b44e024f3803bf3e55fc8a4088b5d4f6bafc2fb557557c90ffc9baaf561b594ac5c *724696c2af06972eceab901a3c6a3122cb8b6db83c294ce816e9b20d7d135a6b41625d81ab8cd5 *686d407abcf11802354b6318b09d11adb7c68d47cd23d6205f5866a56ae5694c648c58954f1625 *59747c2cc981b28cc32461d55f851129b284681056896155354c893a7e42a911d8dc8b42ba2f0a *e9f6d5101345bd119843a1beb47ce03f5a96f89f5996921d5e67d7a453beaf0b01fe43f4700928 *6c954ad2c0b68b1569b1da61557138f1023752df263426ac1d395482525031e3000e55855f955c *30e701c7aac082ea34b412f21c1bcd7a8b766455aeaad1498a4b23d920ca0b7e5f4c641d94864d *74674c2ddf545032b12a0d7314f5a86d8c8b4e6090b32b1699a221298ca622b0124a0c852a9483 *f98558d6d28bed360e34164e37a748433a6611a67364ed38b0cf9e7bda4003f7374c8e891107fb *193b600962645a80b8af95d7b4501c9828b510964b5b3c08390289ce566b69ee1c50e2412ba036 *345bbd5f05ec9ed5c630474e994d36629b50e313f5cc8167c939b3c4a4c233f0ce55f190082092 *4f83b423a41e8f7d38525f4ba183c27c0882d50881f51b6aa087246c8b2c95232e50cac675ae70 *8e0918ca30814490028afa30bc184245a6486ca863c0ae1f56376f094ecf0b5b9e588521e58103 *871386ac624305ef48aab4091b3ed1dea79b10a976db8c63b843181041353b2ba4d607abb334b1 *2c250ccb04bb9e65eec4cac796f99240b733907932f0fa69c4a9c2611c881a7909f7b39e5ee6c7 *f12ce71eced22d15c82a91708e33215cbe0c614df2b115155040a88d75239e818186c92fda55f3 *ea99d82275f06c9e2556c99ed91d47bb512113420366781c7a9c57a80f4b8ce1595663dc49dc60 *a55d1851e5346857ec155a953c35bfcca4655c63336bc0da3c8fc8dfed2840295f1cf417957cf8 *8bf306087dc0150df5ca5a8bb02a2ce2f9f93aa4da66c10ba4d170aac3d7bd3f2695687fee2219 *a227099958e60157230c55b23521af5a69a42e3209c2326298964228c78465d881272ab5c67340 *1350e8822db8f50b62e1ca136d2eb2046cd9bc7d16a2530b5f46dc23853a51c8032dafb31cd8b3 *0c4d07691ff6984a0526dcfb9926924965bf9049ea6042270f226bb2f043ce88339682a860aec9 *82547728c4a6c3818b8bf3820d2fa3d3f92aa4cb1ecac984d5994f5b8cbe3dd73191414c65c5c8 *da88771c1e17baf903ce98c3be065cb3e68409591064de6766aa0c1d775975a3e7a11e3e235b29 *f9b30a5cfc634b75f3b79032f4296996e2e64956438b7f719e32cd320ab30acc5396aad4e7ed54 *27abc52de43dcb297739e12e328f90fc8d3ef77f0b29f62b9773ee336f6cb197cb9fd7d12d3464 *ded879ffcfda7a5467cfc7683e8e6e5ed80242ccbb7a8e47c72024e2f17a0d6af1cdfaf2658cae *c1f41ed1bb2cfadeb363e0fa84a578de1f0f6456d1263415e8e25d01a9afd1a67b61eae2631b0f *7d7c486d8de2d0be10bb26a62e3e359b31ae4f006569131fda781cdabd9de4d532cf2698029bb8 *98f0ec883bb47bd184d4c77d1b9fda78e038d708451b7d01b828134f17b999cd29b5719cec9aa0 *e7f928bf1153253eb4f124f152a3956714469e277adeedc37892491a649766b4f12948d398e1e4 *e1956550e3131fa2c2f8c548dc2ac5abd82dbbe9a4cb32089dd48e105b36697be42f5ec4f334b9 *8bb3782926bd98fbc0b98851a735eb25a6820d8612596f3b32989ab867b91bbcd928857a4d0c41 *b582d17a0cace3301a8d5654476669b24da2237bde525b516c1b527ec858c8ef849ca53e8b461a *02e5bd90dbff7811ca3d9468e7c7834c8289516841122a003b43c89d108690330696deeb4115da *1a0bc0f76047666666f4aca26c8f7bd9655ea558e6dbc57ab57db94944f9433648cbb38d2b6fe6 *5ed4b5d9a3ccca528dc3dde1d193023ae13141ac1f4a59c43a0e2c8dc343dc1c647e78ac9a4d8e *d623a84aa90ad266254b9527f62686782622370c599416e0c3a5181b08ef894dae8d2ec67000da *d8d8c79c26374a83d0c5ac026131e678623532fe728c644baa1af52cc71aa32aa28a4c3a461b23 *0ac4f280a912127b336a8dfa83ab944d961463bc8c427ca06978268827774bf60d5a5a24e71725 *1287c2d3a4e962152ff4fc0f21ee643f971963307bb46f8bf6266442af2ccd8c46fe96fd1f5e8b *264b8e48ebd29c1c1c5bae33f7f1a1892359c5386a5d463f67760fc44317773d6f7c28deb37e86 *cc2ebfd0f3d5b378332495ccb68c80b7432471db2d3b2adc988aee6bc1a10aba435d7ca807195a *38557a54056c79756ad8fd3a723fa02fe7b602446c4d7c34e5a1e972238ea4a6b345c5669ad3b5 *df9866527362e1b6cbc44b2f9357cea411297409b7390f9c51d3436243950ea7264db5e283e1b5 *0c0b6cc888a6c6596a27d0d89735b5455085a4abca6ae51692a376eea56186175365204a46a365 *8c65d51e058c93a60e3b53c5e389e6a62fe7c130d77a12df5871a9a9a79bc242721a9752b33985 *b8d1e51b49936b93a3c56649258f18f83749aa35461b1d93ba6c25a791953cd908238153a3159a *c2c035321c88575b77c3897839e9881b5d7d2a6ee4ba2639fbe62c07da9bd52ee25de02635083b *ed855907237def0d1692c8c5e75d9a541a621947986b315f329f659203afa332bc943ab5a9f09b *79d464d02979685e6e4f51e2e916d6b61a7e0a8c47d80e64342fab383398d48e54412a085f83eb *922f463e246253f3e03bea46734f531b03cdd893fe968d69fece62dc16fe637d36be4ca9d5ae78 *6b336adbaaaa2ee5e195d70eac02e3e5b17bde7f1e2d2be98938dac3cab995c999a16ca52a4bf9 *ba3834c2192238b62f10ff276d2536a96bbba16a7ee9859e653918775d42ecc6e7e8b88e7d5be3 *53e3e6d433259c16d7162e38b838263e6fa13bad4b76b7d0ed78e1500b673c553b63e72d3a5461 *01dbad4da9505760af4b6d5e07edcaa52b02f2f9cb61cd3c4ce2ad9a068ffb630fdcd2cc0aa491 *f7481ba9e851e19f2623dd9bf2b61f449e95f3ddac66a2d7f464cfd0748964a0c6567faaa67dc1 *8cacfcee8d22800f0b682f48eb5557102ed617e9e222d54d27bfaa87bc389b3c76f984851266bd *b9bfaaeee99df36f9d51d79b3dc604ed16aba785d5a8510c2fe1ac79fc17dc47b359d9d21f6e21 *9f0f669d06f3d806e37ef9f3eaaaf3f4ffdc633e3a21a34ddda2ba48c3450243503c5fd11c3b60 *877a7472d7e12903b468438320786ff6ab36ddfa6b0d30e8581f39d7246658792ad269b1db2fe0 *44c96a0acd3403599d0cb0ad970634508292e1374ebb7ed10602354368a08c16118e2cba32794f *c5f3cc69941166236a534baa38fd52239db6520de64068c792a7a5df84472d46905cc852ce053c *849c496c820240064aebb38259ebd5ca9c8c7df72c6e9e85d5cabd7ef373605ba73cfbc3f42282 *9ca5cb6d0cd99c5fe537d88bd059f5229459b16786c92a45aded56322a57a8292953ddecfd63be *5a28c49df87e8f72f2913bee2b53088f2df445185697e9f2bcf48e43eb2583164d9506cf3484fc *b1c1f4c0df4951554ca89ffefb848c50d18ba20d0a4168f8e1c3d9aa20dbf9ba620bfa6f20432e *32f92043907a9c3d6638e5869270c1a911e6395991c96fa05f3d6edb8cc36c3490dc3aa3b6d76d *2eef67c9b89343323e763e27e31e237a2f0bb9b796d0e9511a7c090dae07b8d922aecec5cce62f *43e5efa5b9686a6da7344e7538f066f1cad6582ae83279589df897a56ef6ec623eb69d541ae2b5 *3b81bf0fb9efed34e1913ad0658c5879f2ae90f84bc0e98db4d9cd08c2ec6f4e32c2369d6d4bce *2fcf06b66a8ad8fb7012830fe1b0d3cfea381510488fec0713e2290f47c770b33a76407aac2176 *e3b0eb9018cf8b5d0f16c29e2fa202b040a735891c667c1bb767b90903350d66166963b2fafda4 *4542f60f0125cecb184c30069bea5e9cdd69b23a8243d9c687cc1d033b4232baded566c4c82164 *5257e054647dc7ce90df939033f2471c989afc7e8b6a0ee7466d12f296461857eb94cfeb52b6d9 *4a9f715fb16b5237c907d8270742b6e39fd5bc6b1a9bebe3c2cc61cefbc38136f1cd876956d2b1 *e14267b3e14356e3bbd1a6870be9b35fd60e03555c25425beae12df5b0e70e637383634277fc07 *844d3bc213327a628db8a9bbba8091acac1c2fd38ab08ca7c3646a9e748cc9fb0fdb9d0f728c2c *1edbb498db0f2923ca180b7276664e5e1fc08b8c6d631ba685d02d3f481422aada3061ff0cb816 *4a58a5c32ca2226c185c96d514b16d58c90c9d66335ac281c811037d983a72f38819f2c5a6daa3 *33caadad6f67286ba81ae8c6529e227aa1992269d42174fcc067726b9a46b2979ed82888ed1448 *de427fad5eb61831841a31f5e0106bdcda3bcc85617539224db339d7122914318842aa29d798ae *ebc8180a42060a33794dcf7086633421a697d5735d564fe833e0405af36ecf7e70d8a021d1ae56 *e2e387c88c78aa0b366d642f78237dd97232200127aee0e4dba332cd624cbee2ec3fe00b982562 *f612b746f2055aac017f132e0a6f7509bcd5b66e73688f371d2d8a9a83674d120df9c203da80b8 *6cef8560ba06b70160cdc594a23af86bce2ac2b94e13862343f0cb07dc733619324cf42ba1436a *1d45ae21d5380ee0760c66d0e0698df3a828452bad24fc01b425836f7962e1076b53c483bf5f72 *329222d47da0239719e72496e1a464e1f06b83c2a60cec0803fb4bbc8a8207726a4251638a2fa4 *d3c28453aee0d9058da693656b424e3d53bf673b98f40f70d4868653727b5929f3e12c532c3060 *3844c723c492097456ad32d237388b01747132a3ea9992259e380e56c8801bb734ac249fa9501a *517699ff8e3aaace0e2b1a2bd73b150620ad74f484b9713c9dc1a39a64bad64aca2e3973fbad67 *9d1a12e99e98847b2688cde4746d42223264888676ddb894c18e8c1e1f1e9911dfeec035e390d3 *c3d6198614bb08578228af690301479078a7baa480a52dfa9f0baea5b93b42326d88e4750732f2 *2a9ed590bcf19215236deccf6eb49215d1dce7602a9c001d851a0ecdfa26c31c17427e4e21b9b1 *417bf544d82633d85695d682c2e10ff5f02371f876b9300bf469eb451fe2fa411a96b13db2a421 *e274226e346519020ddd3163764cb827a3aae9202e152e5ce190d3c364960b7017e6452adff1bb *7052a9ff73a2f11bf9373573f3d85f77ea07f88b132d9b5f8749615378f291b43db2abd130725e *adb0d23c74bb1e7421a9a006b656e690d349ab974858496c6ec30636641f95b658977491a96a14 *57c916f7ff53e6154f994bcc98fce7b01e87c42ab22f4da0ec048a3e3a12466a8fc903c390e3d5 *6f5c7256b18b2af0c4b57a1efed966c48b340a6e83849c0ef7e55db29e6144461f671ebeec549b *054c78ceb0b153063fd0068f0d27f4edb714ba5d0f4e0d21a30435a8c4a2d6a8fe60c8e9610adb *c1d3024f7e5c3dbcc4cb7176da3bc711c147d0b49389e3612268dae5d976aee1ae325c53101bee *ca6ca8e1165bc8077e613974f633cc4898e698d9ef2a964cf70701273618eeaa8e884395d165c3 *0cb1ea745962591658dce912cbb2c0e24e9258d268f79c9ad0f509c7844b94c9d90785966d0cfa *d2356919f5f1b9627a067569920d09749c56fb7a423300f4ec80d4e0f03ebf9f876ed783dd6173 *1c5a42a70f404cced02ef28410855f449e8cf7b8a0c9c046916329d0c74e2ccc092b237a19e5b6 *5093309a5b6946541ed02ff8731e4105864b2e9ea2665901f75a5ab16f5a6cae3baa3f0cca37a8 *3f9e90d1b1619b117bc8c5292d61c070a0902e6ea311a2d98c7e5a88d900c679bb2a8fb659d855 *5c5558df836102ecb464edd0cec7d1e11119050a596594644ae741143874b002277d9a2d14e842 *89b041fe713a3ba801a7f9e220c686a40f361e6c328601fdbdc15ad5860e2f558de80a35c56d1b *5e6c2f9bd0dcf136b621edbe4ee8237934330d775d26bee532da90d355d871c4988589f5916297 *db729dbdda516f69c1d08958c387a6c82263a29b5a5901cad234faa1696b0a4e2211e007e1bcb4 *6da231531d2352450d31bd711ac47ef1394c2cbd0d580d0ea9fd7dc8e7c2e8ee59f1d997c9563b *5db461e4503aaca7bb62c9da857d8f7288ac347910cde437af5239d4836d59c264fa3351c8f49f *b2ad9ef0a8035db54bb97976b6aa762972052d1f2d40ea88eb68bccce828d9c326356dcb0ce851 *a45e683690b7b624ae272b268cb21efbe32077e8c54c7f938196de73a796bc0b725f269b51e8f3 *fe1749df86ec806844095a0dab32b1ddf90037349251ae39769d19e5c4160ae780f7b490125a05 *9eeccb35f10dc37304e4161fb3704dac9e42f8de12e4f63f3e1e725f261bc6a3dd2f928296d837 *192f8456a18e5719aecd4bf74b1aac4106eb72e0c12269594eef64261781b1c1cb01e143153a1a *72f3c4d3068b21f7256af34719fd6307eb973faffe9d0ab39827feafcac7fd7f7198ff17bcfe55 *b765f85fc9a89aa880ffc621c4973156b3be81ec56d2e85963adffa3554abca8ff571336fcdf09 *b431ff4ff0ff0887bbeac54d9eb2f6f5ff15fc1fd6a1ded69156015ae76af3ea08a75c8b80ff36 *f05f75e639a4fac950beb81836a5baeb355dba61ff4a4bd785180d53d00ec39e82a2137d4b068a *7c43a21c5ee290fa4aae69646ad6ad82ec549e4351f2cef2e3e318cbf9edcab7cf2fce94688fcf *cf2d57f4f4fc5c5bc1c5fc76e4dbe6e78ee9c863ea5933dac68b74797e0198d5bcd2c1cc812cc1 *e6ecf4e00fc11b568c77f0a4e739ab3b1b2ddac061d07332bb60b888d5d9081726d2344cbb45b8 *5297c9c2cce601d9e1c29451b670340d8d42801926eb77384748c55918b50913172cd530304e42 *bc608d23c80a103c082c7a5986e57ec09105ed7a4935f261036fb2ac2e56e785ca6c6340972cc2 *a1f18202bc77e67249fa64dd8e176d8d37de524256683804b99d8f639e672dc5056273a572b025 *3c4ad74f5ae361f6b1c95a8b43eb42cffb949498a6c7434eb31168a979bc2d8fe609f4675774b7 *4a75fba9ac0513c85099c57f7e8705074109ce7954987875aed0a0701a158ed3321c74f43d2a51 *25b2036689622fec2613790a7c54463b6a91c7c34db3edb7b0ed23db8fe43959e6831deb66a4ec *08da915d5de090c7957bb919ec6aee15f27abc55c7956b23501c04b1a32486bd105f84b85984a4 *691b69d83487d84e8a5b67217aea767e6cb26ea04d0f615d5d5bed65288cf386c60e724dd7e116 *3175f1d200c8c4bcd489494a10a69ea92557964e2a6e2e417827b753b085e20c1a0de467901330 *2c404c2988883690a5236194d10f4ba5ec877c03b9a5c44740491de60b2d5468b5a621baa02112 *87b6c910419a2026f294df3f61468985416e6658d5f6bbf314869729122101ed8168d111664d61 *3264cf923454b7394153416333bed12e3e3a4cc4cb024c6c2b6624974a7b613c15b588500c0af3 *90c7acfc68cd48bd576435c228b0b80e897a377d81d3a0b698e28aa366340abb58139bf398d934 *41ae09f64cc55bd8c994e7bec8a6bf525e86a341473acc429d9dcd22235651306a83e232ed8c30 *bcbaa4f523be4c670e47bd9f1a6a9170ec5cfb525336ba2f934d77b9e62168dc0339f22f59d394 *c55f82e2029404520e4271c5b0730db45a116dda226da2dae2cc64aad64c4eda2554dd34e009a9 *f130ec6291e4990d476d8c66d17838061a794f2755316a62c707b8ee6f9aa8c4022e1747c460b7 *912f169028c7d248bf0bb1582f4399c5dcd2c30017272cc77cde0e4b31b7f010bdc12cc7f8d093 *d75b0751fd55d76bf13187949c0fccb5b15817b8cb32d34745a2a4729e932d7f952bc9fe156f92 *cc2a69924b5a8449a139202e8c38fa1c6198f61b1146560761bcce6c0e073c5537d0b04d0ad7af *97e088634b63300a0c2e4a3492154e06a6eb9f3d1eec1b05f6706a97606723292b1c6120110ea8 *ff9dc1a422c68c98a9f0f8f5321c0cec8dd86e9c973a8c081366e05a3b910e82f09dcb32bb4a21 *8b1c685648e5e09944ecc1747b21712fb424f00be5d73a48bde8871bd08a0bdecfa09328ff3ec8 *9dfe09fcc9eac955760a9621da8868307891df06f940c83dae1086d588d9d668973cdf9c5eb5b0 *fd75f3a4fdbfd37201c999921b8e476b2a4dd0a6b5b0a7c9cf1fec62a34203db822dec763d3815 *762a3701fa2ec169a22bc611def03847f2dd85c3cf43cf99afea8d8375967a3ca98539acb05f60 *a119e0ce28607d27ba04a11eb740c7d3681b40977f78bdb2b70f371a0e36b4f6e43208ccc6aae9 *3c36d6ce3a4e1808a0fd42611bed90622ed468991003969b66a163805456ec4e4d363d310b321d *aa77ac01a60c7e4217157e243ae8c068bbbe73b93a2fcbdf506fc7f8b99e40f7be8189dcd47fc2 *aa55186d67a006a06840646c61d5250e5ee4a1d0c36ed703856d9fed86dd312ffd556764c59225 *62b2da3aa2ad99963fd2a40d16e66c8ceec57b43b4eab83ad92b003686e0d10be141495417de16 *2612892dd388e8e54ccb36040f02636963073b2a82b7df1a78f2baeb337159a4ff33fdb8a1bed6 *0815cddb1cb5b85160765e08a571590aa34a6ce2023a38abd57ecc1b03eb660ecbd1ce46b088e1 *306c4f0510ec8a705b777e2bfb336c686df5641417e9e8918d7bc68a817a8bc6a7e74588fd554e *09e3c33c6e7d9144c523e5f2fa38e20d6e7e6d16e32009a159182a89eb2f6e848d8bf1ece90e08 *a3d01bf057a69a26102306c6d5ca8646fa5d8a839708b04f6624426877bc546ee4df599c1c6e36 *2fc48c9d2b9bcdb3f816e28cf5215f60675f7893d0c4b3fc7ae9d699a37bfc75d2adc6b71f2e99 *bddd8cc649c535d8b8eb13e43723a2ae232d4e7cf3bb85c9f22bf19e012c192894213c68cd6964 *60ec370616dd165c4ea6534da6735574993e905995b25088fab53433d4eb2799370ecbae8295af *e8e1e6da8eac1979eb8dd4780c6eee36198d7bcfc1b8f61c8cb7dd64c674c383e8710397b99251 *eb81578711834a7562cdbae4a45b33a4b054431e8659ba66911c46d04d2632b5b2995ffbfaff44 *775c05b1f7807a24e63b36b8adb2219b90e6ffcbb1febfd3de049d7761d6d564249d27b70a2fb7 *2b753de6d5861d5b03ee38a869cc0ef18e58e4b02e8f7ce5aef7bbc2a847f51089c9f06914b20a *1925ca884358938bd0bd14a612a2f53f869719a8561cc03c3d634fc0805403accb5068e2f6bc36 *b99e23e2b5a33f7c253601143adf253c36ac19b16f0ae44fc071ef88c8c26d658b6e2fe1ecf4a2 *13e32716331e17f619710979d09a8c88e2196f15f4139d915487c3e8472964146056788b354e5e *a05911af771c3dde97572f8d073a3de92f1c7298502746f4331ffd9b74c9239515a011692551c2 *41b521281c503fc29ad130204e84890d5c228b3d183aebc7720f721f0cddf2838aad300b325865 *d7cebaa0a906a4030b0e3405a96513357422e5a086f984d0d9843e232e20528896f05413a81949 *55e5994b110f7b4c114f41c0073d42786ca527f3f04c2e453c9e4dabae29eada38112e409f24a4 *94f6d7feed4408b35a2b461042e04dbc78b5e2c892f30e84709201eea5e04591e017027a0efb4f *2ef68cbe6101ccafdbf500a510924576bc735446a7feb6191141a6332cb5ef3768304997d2a789 *687575ce533fc2630ed9a3734b3984c28bc4448bc491219cbb60977442fb704471b65c92cf16b2 *f6ea2d06259c78d5efb515745229906a8d579ef6a0407b30c02d9c14d01305237e887af7c18b9f *34b9fb32915e62951c5c860b6bfc914bce72f8382738dd8ab31d71dfa9f2c1b5116c639f47bbdc *9a70d813ba432f1c1b2e64c46707337a379a382c846550c242cb3bff730cf42ee8677ff55872c6 *7fe831aefde7fa8453fe059cd3e098c979da5e657b59cb2feef85daabc9b27993f987de6a4a758 *9bcf7fddae07a7fe3e3123bcfd38233a663ca04cbf401788cd4472008c6388eb219e27a4490b33 *a97169fd1466cd1d7a014f5a6908b89a8dffb091324ac44ea1e438908e6888d409a4caa423f6f9 *82c2cc3c50e4ef50fd601d8b51c806f04c8722d540719a2c156897cf453c7d0c6e00c244532952 *8fee9b11ed3ff7f8d971524674ff1a4ca576261165230fa3259f8c674d7159ad646e4824c320ad *1bbd1ec3499703c74888a11e157b558eda1811a82363eef857f7c7dc97c9860f61340fa50f1149 *88c67a664b4c2c86705e17b298e0c00b757fa685857a9cfbda1fb7aefc5bae1fbbc2ddeb4a6d9f *c3cbb37f2ea498f732220b4d3cbb91db00be386b8772e89841e843e446a6a343c7c02cc3091194 *4be49a04fa27b5a19a3b2f37dfd07efd85c8c34be389a269e03d119e0a3061f5d471279baa8c4a *e11e11d4ed7da11749472dd088a630ae8e7412a5ca44b888d72195503e96f2bb36a1bb1c5cc2c2 *819c014ba788b221e106d89132f874277dd812de5d92e4c426dfc988709d28b753443b14f6a29b *88709932e21a6027e198860b943a939542593743786fc31d62ec42287bb662d33b49c745242130 *ca3980922a0e1503130cf0068799069b869a87a5fb75bb1e9cf24b4abe6cbc0585332477e1bc0e *7219e335908291987f240309440fd0aecbaf8360805f14b15800417e86a49041546decbe662203 *33446fac10de5b4bbfa8bd45c293417b3b8140328277339cbf614df22b549bb5e988c7e637cc7e *a3150747c1fe9cf93ceef485854f6b6eb5e737829d15fea25d155bd154b40e6bf2707ace3c61c4 *2d9c9835440702fb5606f725d6a06333b2ce6758cf5369c545a69998c19d9a68530698bae14248 *0e6d0b4c1ccadd6cacac03997ac4e50395db93ee4d45a2dfa8dcf6b4e534907e9bc292c3d88493 *233499e86cd1c43b45bc23c43b41d37228f6057cdf6473d80d16dfbc1d8013257e8f5d36081c88 *9745fac59e2368191438114ccb24a03151c670c1366113103e841deadce872b8c2e74c6cb9052a *2382876a3b41b7bf01bc517840b82cd5a3da2b5478c4b6a64b854140c5e3c122b57a4267965d9c *ace1deace75eb90df89b7c7b620fe0d50575247853abbd1788e1276f0a5efc4c664208d4cc7532 *4a1a695b6a4a9eb60827aa0e8d1f8732b03ce058bf4077ef45f62386aef4e0464360ca891d8f34 *5cc42baaac821a450e0b826c0d82b823670020febe09001961c365b37571061c427c273b893b31 *7f09f1bdd7fd780c1c1d63a11da7c40343f5e03d78de732fe40173275ce06d33e383a29248ec39 *b8ace48767c13f3b1bc02784dc595d73024f27a81685b984bf69808528e118c22ff011c3e9bf4e *23363bd4aada32b1165823aa5da045f9325d6e2f0a317ab91e60db0a3a89ee6d87d981bf74b9cd *a15f77cc4b8fce28d90ddc5016e68b6de1b9919fa0c5152640064e22625f07f4fc42bf83fe964e *1bbcbdeb44dd3fc836e44828039b4d903e2aaa4d948087c80372ad60de5177cdb23a6932bfe1ac *f475ed72acb7300503b902899e804097022169a1943870c526757a4c1e402783accdbd3e93b68a *b03b43cbb92f9ce91872ce83bd476a5964fea3c517ac7cc7ea38e57588e301b72e119dc8c02fdc *bf11c6885d547fe1e30dfc022b58278b830983ec60f99d704c8167c25f2973ef6f42d7c055011f *12707158ef5ae989b64dd12956602e72f46cb0d1fc3a1b81972ef003daf508b0dae1af45226189 *c1c7d60056067920910a5e05091ff066a2d6d27e2077fa30eb74bafe0ed95fe89d04c5813c1218 *4d68ea332ae0429b70bd422ddb064e94e535ed239201e06e6294ec2fbc19e5b760a39098b84c62 *a0f67caf6bce74230fddcb838ee4eab83a24cbf04b7309bec12fc77e6c9856eb2f76fc7e4a148f *f805d4ae9577696c676ba2d91a85ae7b437b3d53605ca013c86d556874239e1bb0fb6399b3f319 *bcd78df58c4982938f092636ea2280f6c16f1c26347981089546341e7dd9e51d5d3f5f9a9c5d9b *12fe7a968b92fddd810d4c46aad16c4895d189b00b30410b068b793c2a5418149ca0ec04fc421c *60ab29180b7a5b7b58677f34ebaca7e981741c36d4ebffb86116eb8665442a035b8c619affa2f6 *e3d0af3be6a5fadb14000c12168fbf61c25305c81d628545b55a7179b54a97e7e5535e850db226 *b30a6fffad57d8a76584aadddc9c800ce91c1ad64d9f918dbc5910dd784b1c8179d5dfe64639bb *cc589583cc5d67d7ed6639371829931c67c0a88b7780632bd5fe496f0e33ae0f73ddcc0d69e456 *5954c49d7a00f0de1dd4d03adc98c55f4056a06ffbda405a399ccba4f9218f1d18a3d935ea1731 *e3a91b342b22ed88fee22d6d135c113e3abc4a2988c74c2ecda0221a70ec209e640d800edec0e3 *5e80dfb8855f787503bfe80d0eaf2044c487df04d96de0b7208a9b9a8534f28a18605908eac28c *36a277e2a3b355a591c9f84b6d0bd0b6ea7c28428179c60bd445199df88393e62596c0fed29bb8 *9647c311543418e4beae647f5928f48adcb9ff454f88200c67b0970f137180b471cecb6c45d74d *699be2a457628ffc40043615b46cc0c9221ee2ede971b0bc531a6d65c155e516745617957ea121 *34fc8e0ea543fadd47189b5fe00191139ca0f8118ddd063c1640e4d12c050d4ed2992eac306003 *fea287fa095d866e606ec34902e8be049cc344ac85f70d1b8ff46063a982ebdf89f311ec258646 *7ae05f67238bbf68fe5ea4c9327a81462f2945c1ce80e503056f244ea04de87e91b506811c4d31 *e06e873abbb713b319550f3670e7a25fd84ad560ed864beeca37c0544ce81455e5406bff838ab0 *7a94151a005d414c7da0256e7171fba5b99195dbe6908305f51a8a04c038e0c21d61221072d9df *05447348f7f0172e43cde4472857e549add2b66e684e3bf9419a0c48ad07dc348f282cb020df1a *37356d030791b7cf86edb3b04a9549b1f70a2effd57b16e7ff390cfaab0ae7d714ae720ae7d32a *a18bb44ad056a4ad43e59ec3e0e45f589a3023fc7536b2ff176582b009290d5037105946f2c9c5 *db34a786a49182dd0bc808013a6774a0979942a0e6baf5eaebfa84c78694119774a8465c73b0a0 *c4d94e1b598e6e587c6c57515fafbc5b4d05352f6908d489987869d05365c142f462cce22b394e *ac48e5dd442ffb8927406e946c46ae4eb57c23b7ba532447b4d566517896516f010dec3ccb0d7c *c4230b299d046afc3d111b3088f79f91b7642ae4466e3ceef9d53b8528677b930d79fb2c10fa8d *adc8772150ed3a745c4556f5008df5b061c60b41f3e049cbde42133f4de44e196e41ab43b05554 *22de052ef1f3e43964a206d081056413aa4f8322114e30eb0a7f0716d9dc21a3477f1b13755a26 *dadcfd63a371dea086139a193df1b0aa1bb50495e297391e05c178b9d41583fd25e0cc87dea474 *d15a797babad3d0e625eb1f7e1d2f95c7b4a76fedb08083b7fdde1977615d01ede3556526c2436 *cf23331eeaaba374141d9773915a6d165dd1458418cf53bc88d0dbbc6da2eff1e908938fe46d2b *6b8b9eb5b13969959bbba567ed3aa69f1a5ee1e04bbb0bd04ab81e1d1673b01726dbd3650bf8a8 *e9cca443d7426f9f536f7b66edb81f4ce8fa041bc255305574a9f4132c64e0260e5f6f78b860ed *304e49bc3f84e44b9cf144a688abccd460e6ab8430d87b476ac6ee229b92a864aec9ae9aee691a *abbd0b6b7171bee10e61e68437a9f684eed8177787d83e77c2b2fa6f5d239b11f4c5ca032798b0 *83b2179a4b978b7abc7e072f188dd62e10a404380634c1dce7cb01646bb1967119d6290e5b9cfd *d8c881da3c6ae8da047eb10cfc268d5bfc1ac4be8c47745151a3ff381de4317fee4b73a84c6cb2 *9c80a5d1cf6dd85f9f11d98f0e1ffb957b36a90b65676fc7f712ca11b627e6c343bffffb23f2a1 *038c8fae8786eee9f9e0e7ee607bc4308bfdd61629fc3c8d4ae6e07b27aa49cf3740115502637f *60c1f036bbc41cc14430306a9e1963c7003b75901009365f1633cd42e2243209f98e81a786b38c *76d680c259cdb145a3348d4eb80f6ace477dc17dc37dc57d270729ecfd21a38efeaa6af52f4572 *da71a3ca6c2638bdf98cde239da11496cd409af022db9602f3d096f0d8f0cf362376169c9a70ec *e270096f4e5b9561712a04f60ec63725f2db940b927c726d0730743fc966209903e2d43187a3eb *cc12b3ecd087c6826c1e1265505f0afb49845006f5af47a847af3b419f69f1f9a1c792bbd3f484 *4b19d81fa20c4f9bf5bc3e99056cbe7ea1c9cd54866294a1e033d1592fb984dec611a09d629802 *014cd8474fb76e3039c2494cc6ac128afdfa7a774fd3bd9ca687bb8917693cd5a7cbd085fcdcc9 *4ce50cdb92d4de85c3195ee37a5cf03a315d9b9642b95a7062d1823da32621e7b5af4087919136 *301fc59dcb9d4df5edc99474472d8d2dd21a5503416101e2fa2bed2788ce8d8cc26f0c4956c2c4 *18ec67509a186271df29085384216665a240b067db4180402858f01d7638d19288df6c2b4c5012 *08da988467cf7c3cd121b272a28592bc88ade13e5c86dcfec73348fc0ee9d022e48636915e5cad *cadc9b68a4f95263d24d2c868ed45a3c288f0eddfe1782484ab8f6627599bab3685431db4552b5 *f8cc5a36b2c78e649e37977e16e9adb30479916007090716428946797647890c36696352e6bbd2 *998079eff95a3dbe5d998f3e221514858bcf99c92c89bd59bb84b383956908b4326188a780f890 *0aec5e9142b54e31eb8775a9e77b6635918f976a5f0b77c62101e73b3419b3e50c8ca763b103e9 *ed476245382422e5985aa51d548db9b78590d679ac71618d584f40a7bd26b48ea026e38928118a *8260d1445dca93d70da6743f2783cc55d3f4dd29ac3a79819415822923762f1ea26d79f92519e0 *4bc8204964906eb5d9c9712ceb0b305fb77f46cf0a5e281743b7ebc1ee105512ddc2e4785d4e3a *a570cdcbca2bc0723720bf80a8a92c02363de14ccb3b0585dd820366a472821301016faa17c1c0 *e039ab7e2c8123952d6714e9dc9056b1abc1f1b211d1d95953683a6a13b06f909ec8fc46724544 *a46b0a767ecf2be8882c51ada4bab001d5fad861511a8e5c9cb0303d19665667242cb20926ccb3 *90a80d6b6cf920242d4515809233d528e370881e4f57416852c49e412f5139efc6ebdd4a07baed *60a03bce44a688ba82c01d731e6faf602184fa94859339d5b223e28ed3089111e99ebf85f3d447 *677cbeaaf73d654010a7ca33dc51b1ff385d6cf64faa50f6d263a9cb9c7747c4989f8f5a967f6e *e70e48bdc12552bdb108d690758399081bbd4e3b5ad8795838d99be4a0ec5993ecba74f64e2b99 *36c9de1ee9b6e9692682f013ce581e703d773d70f2c4e42e9ff4c5f6720e8b0145ceabde05c7f3 *73abe73c7e77d7fced3fdd4f7fc76cd6024de39aac7c58a54b1a70b9eca913d7e6eda525f6e9dd *5c1fb813bb3909167498e71e837a4b98e78e40bd8ed671dfc181791e6f3c30c8623272cb9978f8 *4c173967a4b7c0340f6c97deab505ccf92939cd6d429b42d339388fa7364dd6c27e7efe7af9643 *b7fb85634899fe2de13565a09cd8b837941ab165e46ab2524594faa82f5085d4cf6e1691689e58 *21de210a990fb0ee879c82ccb9ef80a6308392b150700ace2116738e819caa0ba6dd5056bd88bd *6dc7a81ac91fa82672272b94261e97bd905bba953113043f5368a2a379cf08f20e2e1c4b52a54c *138da14920e2c8988f4813e3116e15e84e9bf9c90cc5a321374f5cfa9192b50ec2706622b37267 *b8268a4a972169405eac756db323299e1215426dd0f190b389c14043535e5387206cb55e878e9b *173a2a3a52daba32c4856db773190ebbe1793fc4c18bec44ea61651f9eed45cd44ccd933cb4a78 *c06794081925147d3a872c77b7f278980e6d4bb91db2e6f121d39065d9304ca9ab29876c4ca04d *43d470d4f649b4244958eda961b53d8f026fcdb74e215cab2158c04d9d7ba91b51a10c996e699d *981227a6023d161f9e8fae47ba251cb7d02ecc768f990c4b905b7ebcbf5ed140dc3c678887400b *7da33d17a5372da10321ada3833a3e327aa86eb0334e15b73c63f37e0defb11de5f63e4e429a2c *ea2f4238fa64c03cf1045a845a54ed21b794b83fc3a660a99753700714b5a1d31ec8ed7f5c7fb9 *dbed7de873c84d667c5671cff8ee1f5e77fcf8ee1f5e77fcf8ee1f5e77fcf8ee1f5e77fcf8ee87 *0e8ffe9190e3bab210a412c81cd2f760fa4eba6056eb5bbed39535fdda0342098240910d544941 *002be50419013812af12cccfe0458b27909797196234707e8e110d4208cb7d0072c7be88b50465 *c788ebdad0408e416255f2213c8ea4aa6ba101b6ad9b1e09d25fde40b0ecb55dacdd1e70aab5e3 *03da3c84601c1b096e15da1579f27c655376a8745dfad11767ebebc28f3be29da37edc296f1321 *5b84dcf2e3d37fdc176a99a842f7feb4e3b3fce3daf159ad67245b88fb2cd4ae3860cb794af857 *9a1199631ceecc309611b830470f72b3e71279c672826c81fcc577d18919a5b10d51bae7d00d64 *41c634d0e3f6cbe465cb65d683edce0b6e195f389d0cc09c0c9e21d419184d41f3539719a6cf3e *a1274702596fa16bd2288c805ce599466e6dd25bbd47cfd7bca7517ce48bde25993322b2533826 *85268658ab5a68b96a492dc46bfd24107f9dd804d127364eace4d19336294d52edcadd7003b479 *c6f596369e8c1a5dd337d27506322621e6070715f49a3800e05e70c2f18944dc464cd31767eca9 *32388c068e414dd4178db6ef20e48e7df110e44eff641972a77fb20cedbb5bd55c2fba83533390 *dbf758a50a85f2421a9bbda1cece8e2f2edea8ac0176a785502b8133178f7481ad22aab4ebf1dd *7a0cd2c32509710f34d52955a16d81b604390505ca3ef7d050a03083b6067204a6ed741414b723 *43b9815c97c81ba616225feae674fd02e4f63f3e16a2ed34b17409eda834e343eff5ac0a6dd482 *cd23a0816f20440d9cfe310b5f8c6667f5f47d0f3905ab7bf97dd0c050526814c80918159ae650 *50282f428e6de4d035c22e282934cea138e2cdba50414914282894c5246f27844e18d305272e41 *e43830a3fa8f6932430121a7c60a99568b667cbdcf468fc41ac44942b61e706ca986d6b364e950 *56de846cea2c24e167ec43b7ebc1a9e11f31236cd2b8aba9dc158efb862eca90ceeb3b953b9b3b *bfe086174be28464d67b3fdff750481583bc5047a3542445a3f3b31d04aab2403b84e30e72fb1f *1fb981e0b36ca94423f209f6093f6ff4999340de7336de8bc6b84d7c0ce44efd4498592fb52231 *bd4bd417bb1d90fd33cea9d92a62d1d1338e86e22f73a6a5c986136e7b240c6b13633d7ecca14b *38a906b4fcc219978f9d7122eb8c7a2f1a8eddd486c2e153a8668a9c439dbadb3a759d0af68206 *b4e19f6dd1fda60af2f5b2a9423710e214e16d00bbdfcab3dd1f82dc2c311868981522a79d4337 *fb669b97c30234cac70c19ff1c248eb8c96e2c3f01726d62668837c077420951e2024f29a26920 *4d580b894a8df10238a9d559915a7512d78713cab8706f03d3ad060175173312cb2bf6d6441933 *8730368e80b8230cd39ef31723857558d0fa0507c85256a4cc061f477a6362aca519c098df1f2c *0966f2e09ba4c83c34fb9db141e790081aad663e93ad2b2f7b3c5f78ed836123a73368a6ddae9b *3cd308c8cbfb200c3974f69561869c0e25bc85230d7f1c81ef24c87d996cbeb4742df8b6649fa2 *90bcd7ec83e0dc05212433a51f97a0c4747f98733b0ab9a5c4c740eecb64b3c7b6e354c89dfa09 *4d431a2afd71519e905d73c337d2f2a6441f96638498f6a0cd9c5cd6453423c931223ab3b7daac *4a8a55084621c3ac679f707fd7245a915378dffd3fd0225c1c09dc09d17d3fd0ea40f2f40c7226 *9189c341284d4cbd15724b890af1027008aa0a08a1d0db3d10a946f6406e96a8f7b3ee87f44e57 *b1579485a3089ff978dd1141f89e43eff058a9e109105f46f404e54a161d0dab75e0b63c563dec *87b60ca52d29059c82024580c65dd054203adf57468821a7a0efa100d07018c2a9266007c9f9e1 *0652e426eb791e68648cc9531232e253b450b669fa9ee71d069c8bc6ee91d790516e6e11f53c9d *0ba9d590b3e37c66a2e65367131d2c616c5d3afae9853e19482f2426a85df7ede3f9c70b85a87b *2bc746695045a9b634c0344a1a6a1a2f1d3290819867a617bb8e21e1a0159a84bce7c66e936d84 *f61b6e368bf322c976a21b5c20d930950c51f67ba82ea3e3c88ca8a1ab8284c7104e12f84e268d *333a87a3df103acf7d7f12e44eff641972fb1e8b34e0c58bcf220467c0eb8bf30d6be49c87d9af *6746bfff75bb1e9cfafbd790d18e1e74d8b5e1ac5e79083e4fb6a15a41332a723876e14c0aec9c *d1ec91d776e5401f3ac9e18939b9e373d89f93fb02adca98d117cac99dd22abd11a4f16c831b6a *0b2821dc7338fed79dfac15f45466999200d664e4dd2dbcebc91f7bbf7a8efa17baa54750bdb33 *47decf71470dd523990fae234e80a26bc451cf43f72f232f004a073ce4c7ee0feb534f5e0b2f56 *a85b12df3baa4c9623df2851b1c341c614e09004e2155470706df059319a85452c87164e86f8ac *b9574da6e852b182a4c11a2943b768dd3c1e09e967d9b154882ec744639555598e5b5902d5c781 *4f8ae001cec29dd4cb19f9509c349efb73194a02fd5b6b53c41a3f36c3aad02010f2456462e361 *e3c4f1193391db079a15fbad37099a84ff7b8a4a56b3c96a84235552a349aae1488c31ed5052a3 *a219df113bbb6d7ddb4ba2ff6c4c4c740cc98624b08109e7a1cad9014d6a90ffc4fa915b243fa8 *bedfd07ec76de54e3c29ec336a57932c2347e6b838c83c9b6dcd8def07a77b085808e471595d21 *9a53bfd162f5b00409c7f054f6d31d7c31b3e092aa3348a4deed385728e9e0677247e8691bbb43 *21fe51d555abd8229e3a4ba2c8142742aecd8674482dd4aacfb48652ff409d8d1acac1f3a832ed *92912d7dc3fba25ba6b99317932a90b61c23fc408327447aa0dc462f9b3728ad79c62a366c1633 *6742437157403b35ece384cf20ef0d1dac9e47f15f71e4fd26de8b222b2068a4a3a511db30f33f *23324ac2de2af87e69f03dc86c708260443a65af79c241c8b4f8603ea3b1846b43d72768480328 *bbf17dc8cf0f66745af8c7c8888931ef51f6213f2f2350ddc21bcf3f3ccce8bb86ba29aa29a821 *c9b2253bd172506d27925cfe18f90ac8763a46613176436ed7633bbf356b310be58d7641384720 *695418fb424ec293e9316b4f7f166222e804850d33a5dbc2b3aec9b284669e48a0c621f7759935 *6080c258c8616fe7f24545763452f3eaff591d5e4732edb2f532d619b16d0abbf9e2736731c642 *a5fcc94cd71fc78a53ee2a0ec274f1223a63bfe874f42873c2b3ffe649907114685880b0bb5978 *6d131f03b92f934d26b77330a872f13bca3d8b90bed7198eb9c79df1f7be772e70945b0cfd8b59 *17d1b1099d92fc5319b536748ffdf0891975cb8a595e903592170abb97d385f574884b239196e5 *5fe242fb2b3cf6fe05a5f9cd6f1023b5f8c45ff7f42cbe6046698a039c0102597eca7c0349240d *c1a0e3303126224332acad2d0288c4de5b99b225793db4631181c0ed7f7c0c847302ee1d254e68 *07449327f02a243a0f846839744c0ff1938120b3324e04e9e44fc2661865b39317b37ccc3b1f41 *c406f68a8734849764c677a8ab932a06a9b655844c0c25623d46f19235461ed8ba0be5907bc344 *81aaf9cf64b7a8494c61b5431b26bb363e35fc6bcf88356e44ecf668e48c4f98c497cf7a60f9b7 *3993b916bcbb6dac66d11cd6c01e730d34863e3227558f5983f44dba0cd883dc0b0f72e17b0bbb *5d0f4e85ffad334ab0cc80af5d8fa33045da08acbd980896f4844a6bfc60b55df921182d1bbba7 *537d1cb358b391f81b8b951759ac1213b1d6311d4dbc236014a2dc9583e0309be5a86b3e4f8c2f *6d58b020c4214ec4530c79e9821a22a77393782cb1750e481a3752e578767d9d5565619a264a2a *6c7a99f4bed1e3f204669da053c42268b0fa15dfa94e776b4e1d822373028bd031ba51b7ff7193 *8d544421d59cbad354a7dc783fd39c92a502e1d21384ac275928f2a209049b5900aebd85f4c522 *5006331d007b46cc14bd9e92dba0a45da1f22aae00644e422adf49fa7792ee9ebc174faac24237 *10abc378e5da07b93d8f259ba542c8c44eeae510e4ca6a033c6074d7506d7c900e016b0b3ed7ca *36c79eeb703ae49ef2b1e7aa0d629d9c598569cd420785569b32fa93ccfdcc5e3689a0e2dc9fc8 *0104ae5519f45613679972665563661fd229f3e20dbdb9aae53935f55ef22f3733fdd9d94eb7ff *f1f1d0117dad5a19a57673c8d917ebb698f4285251a696ac711d85a42409ab82c8b12bee51b8a0 *264ca296f2ea9c30f36415124f07136c0a2bddf0eb6854c809a9196bed34043c7759cc873231f6 *7cf08d1bcf0b022f11f5822b20a72478e105524e3ae4840ba41642718a72bc76f840464f0d7764 *14062543fbfef13a45de5506a24659f5963474130d335372d0cf6fd3743ec8ba8d16fb60c11b79 *ff7606256002ff14acdad3594827605880f852c49174a5aa5de52d6dcf73d6d10a3f49ff0ea967 *0d1b833db5d26b20d71aecd131ff817100598589f50406cabc6883603d89fa81aefdcb6c52083a *e471273457453b9bb8e431d34062feb8c32da7d12e8f7ba025724e39a38d80595f1a5b739ebff2 *4369fa9eb508760a2a24a8d1ddc3b10f72e65c321e378e6585235fb10720b5082e90239bdf9a38 *ec827281720f652f34d9b36e3e8b6ec7406a7849c7af1b148dac62f168deeb8ca52fee3190f5af *bed8e096d9b460c5719ad0eabac30fc35e2802ec1c76eeecb901efd07f6c8d75c50dac1a160bb2 *3ac5eaacf6c98de52d716b5390c6075999a2f02dae7fdc2cd8c74c7accc9e9a49f1827e3d2a4cf *0c0533e9f9865a5f657401051acd049f4393ce6f0b89ff19dd340833c81b682bf3fb822138face *978bf0482fd9e0eab53fcb460938680afa05e46820c37c511942e5eaa17f915b84e065455935e8 *6692a5f65dd1a29afa9de376ac568601e6158377097787d8b289a47ff458c33e65ea02cbd284e9 *b3e5abb45cfffc941bb8c2c452abe7258de5705e0c931157f7fd11bf34d5eba32dffaa35e02ecd *ed0e906e154db69e9edd8cffc955a1ea8a9fef7111869e9a337521cddb2c98363419fd396879b9 *6f19f19da085ea27ec68e984a8c7b91b1bd9a1ea9cf83f67234ff96f6f466565dc942a78311c65 *14e7f54fea9ec5bf230d01d3bb6e70ff1c34f322338a682688c4eca80dc10e6f342f7697e9fda9 *f60a34a1bb2c30e89e30bca4218f96b41f6d5f9a4b4661f5235d1b6cfc21f711487d108106d575 *f902328285162f95425633d36d8289168d506fa93dc7ad8a67d3b3eff2fb679bf02cacd6cf5ebf *215319a5fdac0d9174af66ff83c8a478ed0a4d24e0260ccce41a597c7ca05ebd98c5140e45fe76 *c02e9888ae91a7c32e9a882ea72cf24c3b606125642d74ea946ca1652a66089c2d3ce8f24f5a5e *6f1ecc60b2a4d5d650cd1bd8f50f783c84e1b7ecbdc08119b0cad6e24c430e0d8699b83518296a *8d859385b5c57871054e10e2af7015192681d35661bed11d997caf3035c6d863ec1a581dcb8661 *1a2ccb1447a30dd32bfff294a430f1820a55d3fcd356f3afb5d51a993aacf2fa6c585dac57172f *c3ead9a5ce2b6432841b449a86aa2655ab45945eb85eb08b8248a0631a911fa58647d086d00d7d *ce24216e8a2854e5af2e25e00e4a323393044536ead224e90edf8e8b912c17538c49df7cd4e629 *719ec2c2f53c493f980ffc7c5ad39f103693d4a7181a66e460d1a3518ad35e4bf37eec290321fc *528a930f447929b0ec8c9a9e9da710e8da24315330297def37299153540a21c4ea07241ab2d2a6 *4c36058fb44fd277e547df25e219e629da9b92e2babea6976c5f2b4d62ddef3c250dec425fba3f *757d1d47a555dc759349c1011cd85cf148bc9e76a7b845bcd6e663bc10b1da644d29a40c8429a5 *55ae5237bb5003591bd55b2776560293562dab92b8389a9c4b468546c7d1cefc488c87d6d0a3f4 *6448c17a40d2b75ebf0ceb7a38a9f63f310278020885af43a14f1b1f2e6bc69bbaa455602246a1 *d231af21f48847d5f1c67b2930e123f85e3e77fa7eff5e9f7dd8c2c9a7ca8745690969f1fb7fb5 *b658fa8439f81173ad25c346063fa60a701abfee2f42dae48b188697712b2bc6869085a5731a9d *441823979d8fdd73e6d1767cdebe668c258f7a5f59c0ee33965ce3aeef77e5d3e7e776d46757b8 *ab1c5ee5b9c09d05b7155808dda1178e0d7764c4f77bf5358d7d484de3c559869e514142ce91bf *0c248c5faccfd3d9450a99d4142e762fca07bb72de516737aff4b83fe412787c03eb3ebb8483e1 *0ec470330ce9c339c6344d62c470bb517547b8a3626e57c187f2eff373474ecd5d33455e73cd7b *b3997f80906000980119095f5bb16c622c3b896eba5d847337dd4ce7432a74735d8934b0d27efe *8bd27708fe2c6db7215c54ad259bef01b757322effa50459393e35c2ade3769d2473787bd9b8aa *0b003e2cc4b6791ac1c7acd10ddce4b99c7f9c8cbcd254f4f43c25a39d8d3f9c27c09c5153d11d *1db1374f6723f33c77756e9ae5cf447a590571429ee2b77d299f53f274b3021e8958ca8b2f54fa *14247047ce808379baae5314b433cfafc6f5452529aa5f0fed72e364dde988a1eedb52b2e84429 *402e9b3673d24497a2add42ea127d67dd89747a1eb2ad05744c28e4acfec227a6a7f6c0566e5cf *3c711c5981a63c502f836a9114621c866de195d3452843b4161e56a405dd50ca22278edea92cc5 *f2173704561bdc2a16314f85b9348c2c4f563cc1c375b92e1590383114141a0d3461cd4a0d466c *57c919a18a47411203f92c88558e44ed5bd56fa1f9e33089b8cc95c1ea0b15d1f962767305ad8d *1e68e1a17ce9f67d60d45a43f31094c69340b0b6e24d48f05ef23cd7b22cec9979b2c00d233512 *c863b589707504e8aad2c01652d9b34e1bdfc5ee67b5f7248d5ac5b84ee7801ebf049f15900f48 *619146204c78fc12bd294c1e6fa006d329c8bb6a0e6a8daa8038e14567b9b207e837ad46f128e5 *009fb176639216422e13a11edb6b8ed2250348bddcf9d23b48878242d2e5a6f3c70e12cd403b98 *b3bd5e6f5163695bd72de08b4584a59ce74817cd1eee02b29932f697367ad1c2cdab100f40be83 *9cca00abb3821c1b408eb333a11d5c44735269e43c54d7e6d41440952f469f92a58daa5b6b2152 *a8390507aea740a185668e272d24d74672c14bc659a985748bc440c00f4b22699047cf565b3019 *804616886e6ec9f5668a81fa4dfc1cb871075e701f2f2083518d2b72e176f0c01d9c644e7596c9 *230d216bf3072e2cd36b4445061e6259a674dcb926ab50d06340f448e0f2c62ce73c8d99fe26ea *0ea67b91440951148d3891831b712e978440eb0cf932c485a6fc240ea13a1466c6195a25263e54 *41cda67d37c4086d856c0f0e4dd7db646bf7239fcd8430b295a270c44a9510511f94a9a01d2239 *4d367f2d3f75ec9f3d01cb6c820cd9a1906acccb61388f9b142ececa286ea26e8ba8aac1ab6cd9 *c38a8aceb71cafc2a181b5b571192e73d4f0fed9c093c2615c86e36048b48d244b4c0d3c291cc6 *65383a75f452914ecf27f8657852385878b4eec486651854a00bf0a470c87ae103ef8e603e161e *f40344c43cf4f0e4c5f52fafc4997057e068e141e1e415aea54846933e08068e0696ea8e6ca702 *a74911763682f02a1704bdb8388bdb971b5985485260d4c22d3b5624a1ad05232adaef279edf40 *7f98fe02a14143462f8e1d06af9dc7f734c8b92af3a6578708fa45cbbe331645ecec6ca23a3168 *278725a7711653f483986ba2cacb0f7d4ca75e1be3ee77363af8e362a98bd55fd7468f89351b16 *7af775f7b06be1bcbd693906d7cd9aa8b7b1dcc4265b37c45919c3b1f10198cc0468a780ac0379 *d45cb80ce13d8973a172edbcf084a5caaf1a030f9ce53a76ce92cbb88a299d5dac63a1de092787 *39cce6bd9c696d634cfcf54813b67b307dc1c7b99b8551193dd3892e3551f19b6113db18f1d9d9 *90851a6b3c43b52b73130b7b638315f37a67354bb1980db96c636eb1535a37457ac0661e13432a *d74627d326f68c6e057a6d531b1b94d4f62d64fab3144b0d5ed3f0b7d1944d9ecb63d806bc193e *35ce81f4d0da8eb664e182cd8e3ec2ae4353a681673196056015cfe97e636b1fa087b635e68ca9 *0075918d294a22a56f10b489c9ae07774e1b1b6d772cc618c15d1b1db573a6c5187ade9a64fd1d *910f1e14b1853d433a22847e1e1315045a6f53ccf968fbd81cfad298e7d86425e324c21b54dbb5 *d1c91b1521b5a98b25db423628026713a388f5d842cb967093e3628c8f7962d388576909374f5a *42e936d69025c60fd2f1e416ed5becd701d2c94a3482ff063e76aa58dd226d5c17041f0b82af3b *0447baa03167a34c89915ad9986f636c51468d236d01e3bb6565fa98251ecb31b1d5b5b35f6263 *1f0ba3b091a8ebe13575742ad1b14a0f07a88bf5283d78d9f1f274aeca46ed798d06a5e7b146d4 *369b325964698ea968446d5a8a710bad6a66479b165a287f36e66c7ba4c1f2b797f96ad82dd746 *9779316d93fc352c24382d31fa28c374f4b11809c157e2fa0d4832ef16d06591b25700a3917891 *032b19bbfe2676b38e8a974bb37239de421056bd9db5936d069f43b4882ddea8c9a68917ecd176 *4db2cb1a29c1799cd2d0c69cc9141fb631e9eee4fb9876778db939036f63c7f3ef6ecec09f1e43 *61cdf3696c39d2d9c70623f564dbde68182241ec7dac54bb01d2c578d4b864ad64cff6181741b3 *18bd12d9f09377a106538ddc4892629c8aee48d86e03f9f7e865f25b06bee1df03f1ef17e29856 *4f385b4876899ab57d06f919d41f4677b6f72c9497a071060916ba4575f321c5f34205dd525d1f *534131519ad5f5c40abaae868faea05beab89d630c4f5701b9dd30bd4c11b5aa5e2fbb8a2d241a *8f436dea36190fb564f7d68331896da0fd5dbdd0e9877c831c5dc1859db8c75550fa6817b682ad *8bd02215f054bf8e10502115ea48afc48ed6711f6e204895742c5d896384383add2536db2e04ac *523c4bdb8bd56a305ca34531855d36644309915d185ad82fc2c99afadbe5a0b1d63070de058fce *46040c3be1611116427d7c0b7636c0d9c8112d98c19367398604455e6246adb585ada22f1aa681 *bd58a06320a38bc8a6d606d61d1fdf681d75ffc735fc0beb39b178e16482f584a49e941bd82191 *5a5d103be75fa68d289d144149ce97942c29dc837c5c4c974266db6ccad4a528c0677c93e32d08 *4d12cb104e99f23c85d933564c8fae4f8a03a7f029e3b8ed539248c593a4b83e498e7d0782c218 *e729dce8910d05c4c2809392b118e494d4a54cb22513c92bdda4962a9414d4a23c614a34be5834 *85fb034817046e9ec41d82e0a4b3135302fbdc839a488a6b92a25cb506f3268d769b8552f8a49c *c739946063512cf06c127788a7a308699ea2fd418713c428192395dbb6469c9862baa814035a0f *ed0f49712609b15e3b84d5adf3146a06a620c407d7074ae2850225a5c98b032c9ca1918e2c694a *a01418fef506b98af559a362b0cb05b322ad9258aa3835cb63ab2c6d55907ad412b36b740acca6 *e9957010dba769d929c10977d5b2efa10b2c872fbe47ad82888dc25abd60ab336cdad42a598d98 *e2cc02ab5e7b34c62bd441f9db9c601b9b873bc5f1598c14346dd4db36ed88f9c5981d356ec51e *15c3ee16ba5983f7aa18b48cdcc59c8d8a8a61fd72f06697504ab232583dcf2773ae327e3cba93 *d6dca0b93d3b14cdd364b00e1268a1e5f99c0c414a934194491b1db33619e081fa2866edfc98b5 *afa3d9bf8e59bbb285394f6723b5432dac03bf1b16c9ba8e9a0ef81e982b11c8ed6307c35d1ba6 *a6c3620b9285f5166b7022231965dda6379e60048ec45e23b1e47bbdeb7a3a90dd0e1a18f219df *58ef5542a6be9a13d29a9cc74db53d406d5085798378da0822a3ab4a39d982a385477791e94145 *57cae3e455d15761af30ab3143e5454dc46b27aa951bfbd044b83dbcaa324dd63bfe7c3b777402 *2633e108c5fd7a6d751209a7daa4192d2c1df4901c780e2616ec42e2cc826cf95921acd2850b31 *aba773fdd616ad5d0b3151f58f4b31de73b40a3ecb2233ed5cd865949250f12c51339f0de54513 *3345704bcdacec46666aadd9a1d26fc841596ba058121bbdf62fbb4b9659b12f36ec8cd1a81d56 *e2f5317550a931d1172723899818c84722a5c436265d0bdb056ad20077b20cb25864e016b97b33 *1c6ce5589aac59135fb4633bbaeea89fc16ee32036edb562a2e6cb3c81c117466224ac83a6bc45 *102317f806e1c90bf6d903df8841137fea34225ff1ec30721d6d78ed80134a7dd6cb7f1c966133 *3c0b7054bd8891bfb0f58b4bab6fd89c963239fd24b5e4c8702016b69c89650cdc92fcbd039e96 *61a4a48e8fd5e38365b83585f23d4ce4c88c8ddd3a4886e8109769587ebd0faf3c054fe2bc53ec *953cc0c501d4ae51d0a97ad38e299d834303bc05d030eec9b5518d317dce23f52f0aff23b55329 *36c468bdc6286935803a500f46898d3646ba0d6c09c59c4407e991c9db2d115e04b1439663b80b *2a1bc7481d1afab7880b8bbcb2d3e8d03c3c95579e6957bd6fa7d1b1bc326a57f7090747b6d0cd *1afcc816baa6de8f6da1f156e6adcda2f7715f6c5578fa7521c5f57002af904e1cf892066b1ef3 *add1abb0180d3740c7355b1b016b7ba9b1dcc4261baba8e7daa8c664a130251885af89619e6c6c *2447c82d416ac890c4061b13a6d1b551520499586863a38d996de9d1b551cd13712f37b1c9c6cc *3a5b63ae89c661774c4ba8b1a98f091ae566294f5dcce45962a98d4128ae5d2ca276b1660af531 *cef3a060dc9a7877b166cedaaea85b8367c917ecdfbe1caa9615719c9c23cb152492923865c029 *c2499e8fd48d52ed24cc06d7a74d11d6d0cd932465e8530cb18e7d4a8bd9bc67bb9c12ccea990d *ce5346d9203ef28d9706db77a444bcba60d214374f4ad68083ac9c4c0a4cd589cfa5714a75b0d0 *27a12b5233c349c19a672986714ea8cd0a36a9994935656a26cc620ad8999b7904497d4a1c9ad9 *55750af314d4afc9bc2a49287acc538ced0a72f0636a52202363a643acfcb42f059147e71ca4b8 *2ec922d2728ae0bd6f525c97d433c4ad25984d31d23222e42cc97b436f189d24617d86d37a7da9 *9ad8096c68335755ae3b5c8cb370617c815a69b573a3037fb4172975c059627500be21451077a6 *1528c778131fecf728f334929521eb8e120c65ef693b90f38e276aef1dab44dc3509b921b28d70 *82f1b18b6b731a8b555be77df1be8094eda6614d68791e3fb5cb4018bb656130dc14eef5b5bc57 *6eab18a6b64a71ece283d141417d7ccb3d2aa1a7fab4f1f6a801bb0e31756cb4305e6ce507fbbd *a972a2b82cfdadae9e2732772bc9266c34b41077cd05303e9e93c6778bbef83d1e072179639743 *a14d35a4227ea8397f36b48e8a38bbde6191755c04fb6197453c03e24937d51c0ce9be1d2e289c *87e436e85a724b7ee984f1e4253a54c563ed51d469e089a49071bcf0bca1c74dec389168a7211f *82c4106fa39a85757e72de1309c6b8060ea280024d66668951c20d8a9238a0112f20ae21ecbb56 *5343d09e160e8d2ec90bd50179a8eb48842b3a62d5b4a68bc2b395ccea5b83c7bbdcb194f2d2ca *af56851cc14da15b3ce6c04233ef0749385a645b08998a109e8659e89b30f6e12421edd051825a *0ab21280f0f61213e042118fe23b6b0233da843839982821ed9b661d1d09a736c4c1c1101c7126 *12e56d08aa051c25393a6bc334b521ba1220e540e25393b44f9bc8b737bb26637f64bc9bcda73f *6bee4869cfcb9237140c8fa452a3e7895953223564ef4e3c4f2d338ecc1c8d5eb64dd2e8c5ae26 *d351d66455b2cb2327e66fb311a39069e52114227f24d4fa30b561e4a1c15ee243cfe48693ddf9 *515e649d112e562b40ef28f6b14689bc08a95426cbecb25d939f418b7657ca791db894669c43b9 *876216273255286122c607a0f9ba6726644aca949879deaea9afb9916bc8a44d889a8598a0cda0 *cc4b9b332af23ccc20d274293472bf31a9a31a6447cc393455aac5080a10133d42587612189081 *66d287ea5ea07e5002d23f2f14506820b877c76944de566497836d712771e69a06fa6ec0ee42bb *06e611bc57bf1932b5b1cbf85850f6b20991e48238b9255186625f287b4f7bc330b0734709c995 *886ca582832e984b449dc45989defd86acc5799946a99946e6d88a614454c12232d91467501a0d *24d43db09da9c1fae128683e2bddf204dde785424d412d64f6e7f64fd503d35759ec47b78920b7 *94b8a34d7b2177429b6684c856d59d54ff3d95165b21dddbd78ba0e4d4b15a868b30ac2e8bd340 *b26323a74819ab35faeb0cbc0735670827c310ba3d1c212ef1fb18c2491941b7c8118e0d236819 *42610c5b86900836ad7a120a4d648a48f410e98c5e02819990b637d16d9221f7f4e368ce0de89f *136226ff881b673ea7e16d12f334ac8d2695c2aa50a39046a531272fd3c630e769cb3443eed1cb *748544e62c735fc8c9c5c4c7f2f220fd406a8d40e34698ab875f74b975dd1a9c262ed32cb7e31c *ca63b7f0b2bf1eb6ca202830eb4ad0c4fd9614aa3ea4a806d5a082303a0873d64054adc8101c45 *836af13a845ed351bccebccefb2c2b522226948a5f45d84496a53a18fd12eb31271d1dabf63df1 *cf6a2098b994aa79603fd0f948c4df011812205d6850cabf8046704b72f5dd347287f3324dbfb6 *18f89df4b7643002ab0ebd025c4e1eec6fa58da47b447d2339bc9aa4be498b09d115f9fefc2208 *11d47edae9738dc9f0ce2e7ad29f6e84b3a440ec07517d5e1112e946d85e6722141d596e2227a8 *71901015d014466de101ef72ee646238176331a3b9187b54054ef7af671b9e262110ec5d89a63f *d90867eed181268a9c10a752a6f56a888a23ac6262d552e6cb6c7776d3f1dde56c7f3da6bbc89d *1edcd40aabe7801abe09347d68165ecdd00634fd4b1e43c01ef0310e08c43b1f895923ac41bac4 *92f4fe190e4926dff29c66c229a414b8be9095c09690bc9587894260806d889a82c8218c4fc988 *8134a0e62091066122750369814b64e58944e2420afa23b07af078578a5da9d3d849fdaa2ac17f *24edf03f955cdc13bf97cf5dbd8ba312b52ab4d506e3bf54ff0121cb701fc4047751a0a2af64ea *e1884e0c70b01bc41887a2148d8df7780529b238856504437e72bd5ff56419b946b40c1fe365ad *cd160835ec16d265cfd4a4d2f998fb40088705b15e4fe293c627363723730f5c3b781d9e6cdcc3 *c23078bb243771f54d20ebb38d4f32c1b0358b71e41fa2541313949520fa210c858d0f7c4fa9ac *e7ac35624695c560162d97e2b6c589e38e38e7649b4cf2b676c12447bb68939dd5581c07715f9b *4c02fe243fd8982ac59e9f974633d2247e1911a5e289431c4114410d01204716acc803e303901a *51ee2a13af8ade2c433ec9606f4ee2bc502ad281d41134aa1819351daf96f3822172663414d211 *6139413a3d9beed78e479f78b0349bce966e5e6db09757173b75925453ba716724323108a96824 *226262117b06e66239c4c9e018a030e491fd15b226ab09d9383ad2bc94d06561a7394c84b65c91 *56fbabf48cc5c09095c1e6a9c74b062ea213e9249185653d169017de812c48870bb39be2944947 *036ec491ede44e1b23771b343c1096620d916bc205113cc606414e782c4df10642d59b428ca502 *3983a633a7907e06a99ad0405003f4ac384915262e84056d12b54786886b665daf6c003820e522 *6d11e7f008a5adf17031cda1bdd2a01a5755c8f589abb3d2db59c6bc160a924b46d25999103c0f *8527e832691d6a858e553bc405b583840e817d6a079864341a33b583846e5e01e103a64efd50df *a1abe2a3aa1ff0d060aa57ff9148b28be3ed58c74586d77bbdf7609975e42bdd6c589b79594644 *7606e2481a6cbc011b56824a13cbb0d46dc8ba9356d5c6631c70c32702d9878b65003171562598 *5dc85fd364273ac20bfc522b7732ca6ea9b98f61949d2df8500544853b111df782b28e25001479 *eb92e1d1052944c97814101137d1f9b7a4af1b3e846862948bb7bdf76c61487b0ac8544fda44e4 *d0e38415c05fa71160e948ff07da675cd4225feb433b99787262c0b6f1bd20d1f690f90dcdaff6 *52b4bfca60f0e0933a02188cccd7cc0f6c247c5cfe6e47016dfefc9bed2fe7bf819c1dcb42356b *f80df82b0334a1336a323d86a1b03a03a0e7857eb9d26353d8f2358df8873a9124df002b8017db *7ad28fe0f224d0e0d879272a4b5455d243a24e14316323db941e85ab242d265de6203deb1721b2 *eeccd2d31391595e8aea4e54c40a26115868198ab2fd8410b090535088b7d368270aec4a227255 *31f34654928da84936a2704376b5a629b7758097c0f40d24f48ca4141bb17f6b1118460e510335 *920e6a4cc83bc691fa74c41ead977de18ed58677ac48c6f12c4cebc6afe7d069023369344e7d48 *2df7b417a7ff068f64360dd45fd4e79309112f61c0d8b7985dcd852645b8b444d0903b89f487d0 *51b6b3a2e9b0683a0db40fd2734def710fd27877306bb9b9336bed1cf7a8ed4d0307d3bba667e7 *b0a34834bd6d7bdcf6760f070b3bd3fd3c1c498742e189566d0b7b42e009aff1026271c98a3794 *cfd9375c36eaa391a6e28a862aa21602365046b2e81d91cd0db0254be890136349c63533798690 *dfa8100d6f216aa41f262322247941bc6f8b68e2831e815f64fa947b7804d3473409daedb0a2d4 *05f82e4afa74e61f2727dbf3a10413151a50781960f43ddafc0011066100f9e72998ed7d286255 *fecca689f00e23681f84261345667accd418f13e6626c44c7c350441364d4c8195fee641c33c0a *e165626b43681e73b391970113369aa1b10d23319682ae9317ab05f1e5c8226c26b2caabea4116 *cb9982ed3f2a541aa91354fc2588b77438d98a06192ce842b0f23100ad62c7000319df4c647c43 *5a924cda90ca21805d78291227326ee019f2999898503b0823972ec42326b4794f38c3a1495eba *fe8a2f9d821a318921029b0621aee41c61407e3f822eb27608ee6951e8c98e22134731314f3121 *ee0213a647aa145aad8abcb4ddaeabd0e4eae5cd1f9ec57a79f3aa5edecc8881aa3e90a4f02c72 *adc225f078fa0f889c877f6ed71d5b308fb7e10ceed75abf5cafe564c0fc37acfcdaa5bcf5a01e *afba5aae35ec53d7abb5301718f9517b59b7f7d0e8b848104414c7a7fffeb96584da6630a6c0df *905663991217855ad195396a69c32c185fad4c9a2ca220b83b2889b8c7c19b3b6cd832b6ba9bb8 *14125bdd6a7de62166480e014c8815c85c23147f780b375e6015332edca48b8a7201d0b2e8e6a4 *bfcc0ca5e30a4439990910553a134d269615cde17442fd7812e5092d8bb4f93cae2ed32574fe59 *623f0ee227d22b1d40d1635c7860aadec3d6665c60d73e0817a288f161bb0c47b385ae30709f6a *71bd31455b7834ca9c65d8214340c559388a173124154bf0461bed6ca48109837a38c821d11646 *9b69e65be055d2bfef8091dfc0d22c4c5e8d70f5c10ac71ea69502f545064e0c5792445ab008e2 *094d0826c90447bf2a94ee7c8a677a7380bd3700542c41cf0132ab985971cc754bb249e079191f *a426629b23bb0d5ed76686659c8cd17e1ccd188f4264a0468215613436f9bbe1653f659dab95c7 *c34766b47c8adcd6d4f5083f086cfb42fa280cda77b2bd53fec0f65e3ad8eb28545ce39c90be8c *94a7bc945805ebd1d7063f91299ddbb3ed10aece0b2e8de79745500047fbbc92e69181aae4516f *cc5487a4ccbe38c70a93a9e11cda380517a0245044280c8b90a7bd789db80a45819240c48df28c *b7d0e0ac22282d64b354c812d49091a740ee844fc4c24ec999216caba12c38d3f9b89a5e26cf03 *cb0e23d83fde70f8d71df3d25f4046ccf6492784b5c31e0adb9729620f71d7266236cdcc194d87 *b7674fd5ea29b0233e02667176f01ce372dcf5092c446d76c569ed18bbb89384534352ccf13eb6 *eb13c8706e737c1caac4b6419aa07190468763e38eb6dcbcbed0c751fdba279eaa199deb13f6c4 *e384bf8b71bcc80d241c79e1509c7c7cb7715b23b3b74c47d8348e3e5f8849f6b4d115f1224340 *5cd726c473603ec77578990c9147a6201b76c87ac141c266ed1d2cb5b42a5f6f0e2c78b32bc96c *0f66e4ad97c0c7c3cee6da96666b616bd75001d334636fdeb0868635a3bfbdb03be6a53fab8cac *6d76cef6be43e384a51247773e46cf8ee7ea1844ec23f0eb3b828e16f71c483399b2b848a1e594 *b81297c978914f26a41d6124fd8809593a433e5b39303e6119cdc18189db819323ebde238ebe3a *9976f231654ffd23fd24a148876313460a5d948469314c641e9f887827de29222f2f13fa5eaf56 *3d689606de4da1a623cdf5302197b64a2f87ba5459bf372dec59419707369d007db1b42436f046 *e0d0c0d88f2042046c063ec0a662fd4f805116199bfe7c14bcf38ef37f7719a90b48245a93c064 *efbe9a90bda12d00b1f767e40b2c9202cb9b7d63525343278a8eec3d6f2062217b4332354a3cf9 *2674f79db048369e61d31939df4105d061dc0d69959bd0053d95bbc958bb0da88c6b98c10172d5 *e7c7118f99652a6544d964e5d3e576aabb5774d896fb903a251015c3fd4f1572b235a7246d7a0d *27d28bedb205c847876eff0bb3022064917394a124dbb0c1cbd662a2a684e5a365e1bcde3cbe9d *427eb9dd3af62eca942fe43964d7915d90dbfff878c82d3e666b6a680bafed74db210c5d66f689 *d899811dbe74b67e6ced48505a80f2d8426e29f13150b37bbe54721466466b4d551ff865e2d026 *f6050e1605b2f679c66a3cf3b35a81d6e8920ddfb83749f7eb1694bf3425656b340ff2ac31ec6f *74c08e812ecccc9c5278eca4e8913fee407eddec1d5165079b55f599cbacffdf85fcbf54ef0474 *ca1ff70b497b86f6ebd9610019b3f8f2a85fbac88dc8f653327acac7bb3322f36adcd0019fdb43 *c19d7c3e850d1bb5233257253b18f1e78c5704a3fd6e06196f9ced341af850e86c42ff502c53d3 *c0970de1da43c8cf9ee8d98b99fa1ae3907049b6a499436416981d9766d21580709654914ae611 *74e12a1a3f79b047d811d27b692483499ade5e4c8b131bf91a1e155ea9abf8f612b7988dc1a35c *0b637d540a944e81dce99f2c433cf569551dd9f4966d390a743951a7a73c08e489b60b646cf70f *9cad3b00b9d33f5986dca33f46860671690a78670982b8cbba9a942a93613e981a9b7fb8efaff2 *1bf7f5fc0f082dfe13638103ffdc312f2dfea32d0a68c7b49a5c6d07eeba3ea21afacf3db23a8f *ce08db819733671c8ed28ce087ca11a5d19e36a9040ff4e138a0d55e298383a3fa708429cc86c0 *f5e052de8ec47fe08905e6003447d950e185b48f8ddefc203e6bf4f131f765b2e143b14fce2631 *dfd03d44d70cf4c3aba61d2ffe89d5b0af10ca383ac64052063019aac3c5ecde3164484ee83f95 *0cb9d33f59869e42cd1a32e442eec910f69e30872218911a07ad6e46e4a8c058bea232ed55f322 *c68b1a8750ba274d840989091e35747dc271619fb11cd7e997575966616af2bc1f16052354ca38 *640e65dd156c4a824d59b06934d8441c6f269ca1a52cf284966301c482ef84847012e496124f81 *4296a9bf549e39d0c47517c30b9e90668a8c6cb85beda5d8243ac9822f77c963b01f72c7bed840 *a20011ed8737fe42cac27aa1185dcda106509015b23154355b21cd95745f0001bf008d25f07964 *15d2987a4f5af089bfee840fd80b4de6df30e0a40ce34b1742b588aad8198029bf1870bb15a6e4 *80131270dcfc06fe05a50028520627ca198ffa50e43847291319e120b2238cfb046841bf343f30 *c8f677605697ce040c78c7e904cb25793e4b24748d406836c8c7a02585fd9dfadf30135c48ddcf *bde67477f369d290dbff1877a28ef975780354445a58ab093a56d25bd785e76c755ec4aa215c08 *734f6215695c10c20d4f54843d690d714ff9d8428f5dd1420fb92691cc0c2622a48d666308aad9 *18183b27d26c943e92b99ea9fb680337e8cdad2d67457499cb412b1f721503089719191582e2c6 *1e125fb6492e54a84751d875eec4d7a12884071d7a681082368c0a31a39f2e8719644ecf2d40ea *79945dbad63fa19f0aa91d9a42eabb83ea9c0686aa450855ba81468658cc4e8378b6305e7aa556 *7a632f10eb429157672fc32a3cbb7c56ed4def9e0dab6761b5aef6a6f2a56ef50cc4d6d5d3f095 *f64446a59ce5a41e60080ad7685145b2141c27e3937b067635c2b7b4cdf6304f80dd533e5ec848 *f778c69df01fb7467f0519251e7eecdf213a5d7d87388757399ea57cb15e5dbe0c41ecee0c1782 *685f8f8fd1d413b91dd9ac812b9099fed09514e30c225d90d2478cf38439197247bd98ad01f812 *c4c657ba183d1a724ff9d842eecb64e36d67ef80c84812b667e11c4dce4b905b0d84297c0a5f37 *5032e3899ae665360cc45d2666c1835e74b48426a7b4d07d89ee91d13f064dfe1a47ffe8ce6ed0 *648a8c1c3db48025c8ccf294459a9244a6a91b11532d87de00f2c2e77398c8009e0a86d15d502a *c804be3e4aaa3ded8a0799ea145746d4088f46eb7c74dc9dfac1aeb8dbfd021e4f317f7be32c39 *9a0cfa783a2aee4efd6057dc3d3583bf9e1ac97cc2c921847672b83e6bc2723c5ee2445bfbeebc *908c7e9a96fe8b13f81e98fd570473f9cf377f6e7e1a296ed2f9c559387b19abe50eaad070b307 *5da7f36fe13226fcad9e485ca11185cdcf1bf2e03eff4547ebe8cf1d7ff138267a729f3c5e0259 *6a44bee0f17dfb4e48a1508f8bb8da40b7f094e17fed892ed71ce9ea8e75d9535db5d085935df5 *4aaf587ac1c52db14e48b39052413722559b4c32fc26f310b7f5509a89f61dfba6be6f4ff5cf15 *08f8eb9a1c76fce6e1f0af3be6a55dbfb630372fbfb90acffc86a96f2677d4e0e5ae83368f51bf *b39dca37459951f1f212a84406f3a41ec25b9fa7ed450a53411efb3add31b5331f5bcececa50a7 *cc6b4f6d77cb8d9f77c1a10e77470cfe51bff38c0e0cfb72ddc364fcf119ebdf5d18ee2d6eb793 *c6c93bf329a5c924b5c3708e349c90c282bdec337bfbf798983bfed5fd31f765b2c153b15f209b *dceec6f243639999c786f798ba98bee9cca18327d5cd1dffeafed85fdcf033dec618eb09e78b38 *be5cf3d2dbae706ecfa1e59356b8da3458e28614cef83cb5dff51bd6beb023db55389f1d5f76e6 *fcf299fa87a516a9c3ed2ec4c0d861929b72961bfa90502cf5e13c7fb7a38093f36d6cf97657fc *70bd174fec3e265ff7a80e59c8df1dacf891f9ba4775c842feee40c5658e84cbf54525fbab0d39 *9aa5359ca8902343a57ee7949dc8d434de5de5ddd69045c9262179e522e770793c1492383acd43 *b7ebc1a9e18919edaeb16b13666da7b0ef23ee3bed533657e1cef6e225d85eab52be8deb747911 *78c858b12e28c376939987129e660e2f30945bba7687eed00bc7867f7519b1af13babc0b976f0d *c3b6ac3ce732447cdc8686002ed8f630c6b0235a71a02e45b0a4e4916e009fe45e600c699f28b1 *8b4c3a3d92408cd4b03ae2a5bd5d0969177fa09bd006d304411309c595101d90d1fbe147ea82a1 *ed0a2245f2da4021f598dc27d592ead91262282318b07b1451270c91f247d6a113b647be54d3f3 *e5bb7cd12e3154be65b7382c4d0b979539902162357ee69d451cab4477c4646c7f20d558a01120 *87be78cc007a182675464fb5d1c631a48310b31170ed10f45ddaf67ce2814139a621d9ce0e8d9c *4fe50c5383be762cdb92029147e9964004305415c5512192f092b1a35d8f912ebe1cf89a6cbc13 *8b0f854c5e6f90535a85f5c15ab89ef08978d940ea2e63d16644748f7ac7a0427a2e4e6fe3dc08 *3432141042a19813cd4135812681c4de3d0844ce7f3de2358149a049a09121751a1015f20c6d58 *174ebe8346fa16a1201ab5a89067488f7ee12a868666f4372c425e3ed907b9fd8f77434171168a *730a2ab40a31a6e9628518c10dcefc8f5ecf844f40011c01dc40ef15cf46d2e6c980ef0bdd512f *52c6641745eeea6a2a6e03c2724dd4aebeca0307f465d210db8ce17c4da249ec66b31ad59371e6 *767957484b8acb6207896bce24571ef3d9415ca346cf9beeb888795cd4261aa1018df1e49866cd *b3d0ddb5a1bb96e31cf06dae0b5a1a569e88b6aff01f6604c709f2401bfb7c09a0b8ced555a85d *acdc7c21a77092902cf7d86e046e6fac0c20b50d3936c797419223554f56530391bf41c8206298 *861d5fe90e309cbb43cc906ef52a749601623047dabd19d8cc91fa88fa74223e7324e6148842c6 *5b977cdccd70b228ca64969dd3f461821d15f63da5215d974c274f0b0922273a62f6c5340f291e *9ed3f77a430a15cff20b0d9b9ceba0d7fad7e56af469f9bbb8236431aa13a75c2f57f55c4fd839 *57dbd0cdf0f091a163005bb4f2ed2cebc43a227c91268ad8c3ca69326c82dcf6821f0dac599c85 *5317663ee48268c5fb37b8f708768b99bc2f663c7506a7d5a046d5321bc900ea38c9f8cdf321ef *c8343bd10cc4076940ee3a2325c1936b243f25f4020bdbb2648c415797a5297388c3d285611ea2 *26834e1b5667a41c767d811860c5bcecc96a22b309a6b3ec4dcfddb474916d5c23c96dec1f3193 *e088e328164d886068d30ad8c9db6a1c52914c8e28747dc23e49bc0d993de40dbe894a9ea20dc1 *8926d4102df72af35a7b6e82536495b142efd550bf8a148ecdd68595ed39d55eece8c40b360177 *7cdb2387e4d4286358bf8b19276620fa1868c4844f907b77c4ff8b258cfdc6df81bf859dc2954f *e7db0c7abfe3736349b67e3031edad1840ff55ca5aff2b94355407ea486aeb793e2e0b29b323fa *7ca49eda9c3a5baed0d3ffbe64468f51c5c3419f180a21dd1602f27213e080b4dec144c40d4f56 *d0da1a69cdc533d7a3f04b6c50807bd88e817998e845ef778bde2a27b627adf7c9d436a4d7ec62 *8819897cd385c3f1a15b7af0983fd7b48025e25e49d185a96979b88867697417ebd5fae526b2d3 *4569f6c1989c0ec558bb59d4de69bf2f969aa9929abbecbb8797d95660dc1d0b035efbdb449763 *b1a94e1b4b24f252461b230bf7b14945328f62d6520c38fe4107046369470cf656a43a4dcc750f *d1ffddb818a3a587623c9129e66c94d444cc2b912cb914433e5714255e3d18c9438e6d28ebf160 *8cc47dee2c5ed220c6938d9616467c5c78ac081804e91d49b7cc31e5696f2cc6b829cbd5593c7f *b93973eaea4f3b4d2e42c63f52dc785cafa5192cda608ddc201162f34669b2c093f641036703bb *bce3c131f0640a73d3622dc885d4683a7294ee67abcb91bbabf68bd3c8a4c398e8a5fee3a6005b *b0b7356aaa9d1a585da0c60656b791d1d9c8c9b0669a9c8d18d8d4ce8e5a34301a18527f6567f0 *656a71c7320aab29c6827bab28ba3b4429594b49ff4d5a1a846396234e8874c866533de0604862 *7d909020d7341a741486771482928df74e39ddd7c0707983d10d1a388cb1810781931257819d8d *20ec055ef4dcbb0376c7bcf4a88c5a07a7f326f470b44d33dec49a3e32f0a01d6ce13870c90e88 *aaf46432ba5833773c314998bfd6951c76e24a96b5a981354faa4c156d203e306c2c1d4c29989a *8ae8bc763119c7e8837e2bdf5bbcf72ac609738699bad144bb80ef4bb40ab28ef993bd00deb0a4 *0e9a9a58b631ebc4af8f0594606c7457cc1cbdde1173bb1ee61363eeb11ff631b7f4f05033b4f9 *1a73fbfb26ece9e2d80c866bc786c5658ad9210ecdf0b7a89169178d91aad11b88ee4e91b159c2 *3ba5bd8b6bd49ac70b83e0070e1629e5d745cd44a299a46107dc4f64f59eba319183f0c6e381ca *05d8ed7a20e3372dc3c1c069f266e1e707bbe0d16cc7751979c9a82f79d3c1e361d805e320fd54 *d83a57773692fc326cd89260e068d915b84e84f1221b7c9976c2c204ac0de239bbadd4c35c426e *58abc1544391d0d16604d5d5c06107ec9761b7eb81c1c2f11898f750e98120c90e381a587a1f66 *a0b39105d87ed065d416b6a34627c3de66e49f023f2e237b8894a6a3b3911e5e5d10e6ad16d84f *56e604ae107e1846799199d0860d6d19d19615d5458d450adb7b9621f50d4bea1ba69497d9360a *b95aa4ec626c466263c2ad816ed330728762dec494619cf18f8f8db927671371b078ff83a2cc17 *36311a7489e15ce962ec85b311e096623d67906d4c4c3a4233c4edf007420de6fec6a6598253b8 *f3dd205c32c818c6a888eaeb3179ee9f5c9f1b0cb70e466502c588ec6e1c99264fb4a737ec8a39 *9c2d54d3e6aac88e873d10738ffdb08fb92f938d72b44fcc46b4e92dffb5183b90a9fb02b511b9 *f80b642366064fefa9d386bfc1b716355d1b6d63f18cb8dd734170fbcbf9525f5bfefcf1bf7fa9 *19053ef1def65148d885d50f4d5d3e13d1963e54b2d2ae774ba13bf4c2b1e15f54467c969bd56c *fbc208c71326c47ff41b83860c89f699ea33b95386b67cbd9a6e4074e5e359ba7417ab5552fa4e *cf9761cb5bf5fc97dbf5e054f8df6d4661381a26fed13c88fe3438d91a25f3c068bf838163a3d8 *5718102292675fe032f86f0fbcda12cbed5fa60dee36084f4a545a316e216ef090761f2e64c70b *6d32c30533843be272b1d9388fe34695f438be70304eb27ef41a774d02d9f36c8e8d93d287fd26 *37098bf183211e48608bd2401e9af7c4a14a9ba5386de64115467de150bc0262aa0a80eb13ba78 *9ad48e75291ed110516aa4093be2013d28ed8ebb2ec167f0a9b43b4e6abc59dc2dbc8057604c12 *47a11117589a259e2431e657aa86a74bd078bc2c5369bc58ad3748c321e7605eb5313748d47b55 *5ce32fd1080878af19f73d7923426366279f75ff1463fde3528caf3b64acc539cb51bad37c3116 *b573fd4862511b731c25c98763908fc470177239867b5ac879f2c8c8c32e06db62128b79343170 *cc3bb0aa48a2246e55a3768d2532c35d8a955c31e688184fe661c967772ce5ad89454457329634 *51cc359b986f636957cc081ef4302cc4c4c5581ebc11ade94add4c194513ed63307d2d8f4e15d1 *b5136681f519622fde43b7acfc326e59b3689b4dad594dcb19f11239d9779885b22d6c6349da3b *9a8d7c5a22a51aeab207abdfc78ccd032c74ce46937938ce62dcee308b65591e011f8d05c62362 *eecb64431b29d3ace2fb9a6863da530ebb4abbb18ff51d2e43d3ed06396f6c3ef2388b19f379df *a3468336ce2295bea3268836ef0e519be1738ce2f227e83f57cf743b3ca3815de66edb63a56019 *bb5d160b6eb7c58685f341d89d6abd61e1ae46e362b577587224d61988684a304eb527f2f83468 *7f5119f52af361370c19adc6f966cd68decbca5b985ee68997903e7a19149634216c0fbaf18463 *be666c6234d328832ec827c6dc31afee0eb46e6e5ed5b619c93658c60197099ef7386775f132bd *d84e0afa5008060964838905d794e1bb58dbfd7b0623f1d1d8e587fb62431773fb1eee8d8d1a1b *711fcd46b5c347d47f08d90bacfb238e4cc865f989833af94a594e8678a00caaf1a0257913cf80 *21d9be1c564eae8a8a58893c92345d878b343221c35d1fb86709b40dda94991d01734df2e79269 *3b075e3210f583677bdeb40b12899e179e069a3ac80c9565ac6216b725d1cc5e01151bf93214da *50c9fa78e044c63eb961cf66eaa3416b59d0ed42cf50309b14d938949d4369199a04720a728306 *0b6967cb00105a4d3c45d159089e85ac5817982191ab7bc02a96cef609895dad70cd06b77ed6b3 *cb646ccb3b7810ae451dadc729896019a624e3e8bc89f869a3f0c6cccbb40b1e4d465123a7c3de *64e435f214f86f19cd607b071bcc4367232d1c3dadd956d9abaa8136e634ead56a0dc9164fe1d1 *c650fc9cc7dcbe87a7c4dc97c94614054fcd26345b544faa9bfb32d9189bbba73691493f447bab *f7a5181ddc2474641b265ae6278a22422ab5f6be3bc3c16750c84ace7bfdd0a9bff22c7419df35 *7c11ac3c465412d48d67b4669f3bf1c0e455b9bc33e6d983823796cd90b15a6f55a0e163c3e199 *c1d51a48c05bead3a583047d0ccbc7bc1d5767d46ef3aad999b4f8592cdb58728684b7049d2bb0 *d9111b4d8c3617ac506b6393a202f1b383c4b28d2173e46dd4c606c3adf166d8522c643e2e6ca2 *1a9b82411bd6b42dc512dcd56d28b656a6c62e4ccc6e96ed8ccd05b33e26e789f7c7d012c83e53 *b7fa82fd8afcec2f016236cd2d25721a736b51e466adaedc0b44ca056713c90abb919ba29d19ca *999a3412cca28dd1f4484d0483cd9eb4c1a3c601caa4b2d8e6a251962ea5418bb6188cde580073 *a2d5eaf469208f915866a75f2442cb08d4bcc869199a806e07282d9934c66f9cb37d228a4bc495 *7a6ddfc8c1429a93c491ed44839dc39c36ec4d2b2295f3245a796d5fd4604f1aeed7a44c698e1a *bdd1403a62210df66e621e1a4200694eafced0c436ed12d174b4a481d22e75deb9a5c420b28fa5 *1dd906b334dd0fe6b9635f24513c4d87d258b3df1098d1067bd2084d298dc8d16003bf1ec145f2 *6a9d5968193d69e977c51c797a271547264e02275733d512eb50517cc0128952300349dda3ca10 *5339cc55d00c0f704beb6aae1b691964abbd94b359837467867335949d5d14514625aae85573b5 *3dda9e7e6ed0c1c8b59e4f233585985868d68bd0a0506c63aec976d3e433d958186dae61b08859 *cfdb9853aca9a9eca6a9dd689728349ae65c717f340b15c1466b9e2657d1d3709e9a4f9098a3aa *79af0b00293b1a6462a76bc8d788c101d626b31d9846db58b3c7c45e4ae06ec019e4f8661972e4 *451057903c2f5782266d8803b734c934484cd6987f81a556fa40a18df45207418b2be4cc280aa4 *23a2e3d66e89741f98417bccb7cda74e36577d0be916227d6121de1d3690cc90207b3f0a4541df *ea8687e8a240323cd5b10569f6530507680d31fa2afe76d06a83dbeaabfc72ebd142c537ffbc7f *c43ff7988ffe2232a21bd6e49f1fd717e0011c1cd55a17f4138c5745062016adaf7a70e7c42ee8 *3b67f5d12ffc5e962f9338cbb76ef25d4585baa38eee45f2086ea806f06bbf26bff6fda8fe4574 *f51f31a359ffd451cd76542ba19ae8ec40a075d87a44365e919b7f97a448b53709c034857344f5 *8bea32f9026e05d86ec03d83b1d4178d14bbc983930ca24027179eecbb8598823cce21f24ce32d *47d5406e2911fe6467402ee5ae0d49b2aad129cc4c5fa074cebed63cdf9ea910679d09a2b3c633 *c83589b98332d260dc408e1713f1f5296464d2eb1531a850aeba6bd5e8d5d56a5595d397e7e465 *886d1bbcea579620cb34c4a741eef44f96213e5dc32c26b860a381290d259448321c137d473e0a *06e64d41bdcfaed318e2ebe34815d141d14083426e29f131909b252ed4669a4358ff41a0d1714b *276e195c480fc27b1c22d91646bb01867cdc0a9509912e2672b21c134e54d41f69524d9e9cf161 *c62963f1897d8b8973549ab2518d4124a4d2f3d1a13beec5be2032d020bf64d5b8129886da13d0 *274436186ba859c0a966c1292bc685cb329da6329d564e9db51f3ba91651db2d253e0672a77fe2 *6998304eaeace1b6c74ca6c195de3015a38ba4a07332611a6d620dbe9d255223c012496442ca03 *762ce44effa42d8eabe06c6db4b27d5352d3506efc40795de09e4c753a17e9b434dd120f85d777 *56753bf952e6936a02706523e102c823af162062e36a427398a916d331cf634226308d8f37f098 *4982b9862d0b3c1c33df508439389f30a491a7ddd5763a393af4edc9f12f6dcbee9a4fd85162c9 *cebac8b21441d6e45997ef99ce23d9070d4d1849f48a4d7dcd0ab2f8e0d4904e8c029274e1c919 *7db11a7df98ce47c2bdb50b46138c73bb642124ac8f7da8c9eb41719eede1e096b4772441ad117 *74062f86601c4aff10e351d30a136f641ac2abfaa91067e3e9ce509e7f9eafd4214f8a5c2f6c30 *fb8f9e326b7ac4b749d0f31e4bcea8bb1b784dafc05f366ca55802d9d354a46ba3349a3f648b32 *51e5f87e24811c3b7dc5a61d0db1282d26298e4b895cb2b82f36443e490b32abc331abc26ae264 *deb89398cdddab935b4a7c0ce41ef7b19e9321825478b530b1ac11a9e73ab6536fb023c2add0a0 *9013f0893feecb6443ccdac9df91290bba7118c1acd529a8505912d7ca62a681e6ded4fcc31590 *7551aa49dffd97268f5e27f09fe70168feb9a5c4c7fce38cb2f57f9173f0745e926ef021ab1911 *1667bf4e1e1ff61bbaf74fc64c9621f9359cce11bfeef857ff7419e145dde0c915382df0a299f0 *1724669453aa2035a01f133033205663bd8ec3ba0c527a2471fa3396893d7255bb20e4dc114f98 *8a07618ec3287dcd5a6dd4152109e48d1db9de5e6c2963a6d72a2dc4b5a0d259b638ac7a3b8646 *3e4897d95565b4927cc85a3052dcdad94b9cbc6244d4a608c494d97b36a01d1ceba348e3bf08ad *d6449cb6409c9668ca17a721ffa619cd0914b48f747cd9db8b872bb9f6094f6092d0531739b0a3 *8cf85a5deae2045a7c0fdd0afedaa2aae200d15cd2b1900d241a913e3e30afbf14a7d5dadc0afb *c8b87b6a06c35f508df4767b397538eaddd33be38e13e25868e374eed7419084b081b81fc40bda *1966e62731f3e3fc09dccf3eaec29dcc83ecf8f923b0580bdccf32f3835deb582120cb8a88c39e *2e7040c65baf40453a2dda37bae715e74bfb24b5ea4c61e48d1a64068999621d93a7404ec17de5 *353514c8b64427884a1dda46cd4bfbcbf421f7eb2aaca24351847039b23ceac5e72d698d0bc4ec *7b5ad21a3ba14d5861036923f23e8834bb4ec1a741ce2426032dd4619ad755b4c68154e11cb753 *350bd111ad710ea26ff7ba86e3df23c5ab39b4c463c91e110bc7cbd0ea2cfa3ac7608af199bf88 *5965e3989d8e72541e3153178581398670996521ca828e49d88d7653202d40aa066a55926e29f1 *3190db55b2d56ccef599da289a58998510d4f0420e8421a0d9a49e133b8869e7d83d4ef3bc00b9 *36f1f0c017a1d2a7cb32e6c0b745f4a65faf7b23c7365319e34a9ba7443b75134ee4696c4352f6 *b72741bdbd61c93f2d744fcda0cf882d65b2baf0b661382f0b4e3ef774bbb398dfe591c8ade30d *425821065c6740f29e88f9e77063c2a10b27710d3750ad586192897c649679d9c2466fa499781c *b1454e0ca8f34087ec07cfea3a5c04e7616e42ac19780486528877af224c2e2fd5e64d44c5c419 *c11615d0d451649f8d15b21132e39efd66fdb5b77a2b21ae3424f73ea8a279e9845f77e4abf1d0 *afeb921274f6867e6be701df8066603870f578ddaac876e797d855ca18e5bcef8776c199c4ecf8 *799cee69e1c77d996cf670a1692f44c6d30a0d8ebbb02e391799f678521463cac82a5f20b58555 *5cc93296a51f415dcca0e9614fd42a49b991672f412a5f8d5c21b4e843bfaaac06672b6d8526c1 *f4c99a61f33105f661012029c7d9d745038d62213d8a09b44069daf00292263572667e6ec9588d *d9be05088991e73f8530e7d5bab2e1db0ccb05c8c5952c05ee548db936eac5dd80f435769ef4b2 *f42fc646ee6d5840807d951e37b1911660190320ca7e1eab3e7e6049dbf080846d171b7460a267 *cab910737aa6325483ea34ea9035b1b1c4261dbab15ebde54dcc49b42a7c62b616eaa18be9707a *d6f068cc2d3e84be1555f0be1862388e7eac239cb7590ec479f63d35833cfacf14ee1e452e10ad *f9b2306f4e244c5447f6b7495b57f84d83cdf4c9a4fab939e69ac34ed239d6e292a1882eac8055 *13f3dc8d7cc3164915db884510a58c71f02c1d8b57daa8ee873463232ed84b502147be76284c19 *b8e31154454e41857049d5794217110e581782f4e651a89a5390976ae6c95b0817ab1e624b5b60 *d4d5cdb688d40be788e5e48f81320f659177141df9dc8fb184368335ee83d2206cb1e2a9da9e2b *b45980a40cb93fc6ab9d3cdbb3277656544b8d7e0e6d04a2fc12ba9cc28fb9c1c6065d6a0f9214 *8f395fb0ac215927e3aefea437837a1d902421b62b4fea269bcdce375ef96b5687740609e2e3ae *7b8d253b2290782e2952be7cad4464d683b24b347a7ccb11dd0be7c93c29a20b1b70f193894de3 *308c6512d47563651de85bcbe233bf1afc765dd50d6e7af65dfef8ec6cfd2cac56cf5ebf61ff46 *dacfc2fb9aad5fdcab90fdc6fadc31a72cba5336429964e0108ec468d914f3ebe64994c52830ce *237b9e6d0176cb0f223324f4771876a6aae129f0bfa78c92cec3e11878556fdecd17d1c5f032ac *f836b4647045707014ab0ec4a6ccf7ba32c682db0307c1e8a5a6592dc2587706441c734256972c *a42805b82750aa48c33069e03a85192eef4ac1cb889a247b76d1a6f0d90b93e29b14374f3a2ea5 *c77d3747fb5352da1ab58d7ae4efdf32fa53648453f0f1bf8e23eb339cc5ebf397615d2771c675 *2ee1fac4ff06fb2f612685b78b606732201702ff6832d4fad6a9ca5aa0111f674d02eee2325ca4 *f3e1226c5fba752d1dd0743cfe376c7ca9cd3686cbaa3380aabb59dd9b7f09d42323d6b0706d54 *3c9a98d96b99599dee998a78baa2134a5e0a477acfb7a1eb131e1bfe1565d45de23db93e21e418 *d2f9855f8d2fd7db67e830891948ea6f9a041327618de0f05c161921e3cae689c0d31e268825f0 *4ad5cce29a62a00974bcdeeb167d07255276338f870b9827886b8990a3958a1aaf90880406a26f *93c985b966beb8da2e158b27ec54985041981f82bc839e8c326ffe195583fca0dd19347220c86e *02e2e403cb170279ad01f7590445819240bc140d0de4e689ab58106004044013676e4dca8a4919 *7b2266c14754d04f54f184033a52df32e51c30cad0c28fdbf9240f920d7536710e831d36819c5f *1ef26e78f57892f85bf7f632b99075e72a9b4157c587a284419306ed780921fa17109115e3f349 *d088761d66e2e0361875f6c05bd7d94ec4da73c15e0a0ac8e5641aebd496da173c58593cf08c89 *34f0d2152a109b9e92ee33dd235fe820741092351e904b8692404578cd9431671d2686eac58e08 *a57a9e10c1cc10df5aefd1021f21713a97c47512a32bb49699f5891371c73a7bda5b415ce48606 *6158a332f7c4b23acf96d0d9f087d37e688e622aabcd3bf6382872d64ec139b44a850a4c3cfa88 *ce803dfaa3f9082d32c89585486853e4352f0fedc69f93a13788a18ab5e32127204fd47cd1944c *f51a697f0b2711346a140233c8e8d3f80ea4c0b17e1e97a07e1df2b8a8e932c526f476395b5aec *e610ccfd51ea3ed26c25f55c1e04db7849112a90587ea3e99d9c21e23a04d2f14c33675420592a *e9111d2583da89a8b844f5b05426d34396144761470682b2633010c1b2506c218f2c053471ecc9 *bf5370c5031118292b9f43bd4a989ab330a6b88a422d6be9bc313378d6a7fa161a1b68f7b0b95d *cccca9908b0232c407f08903a01a7ae92f2f1d49ea7cd11cb1636121fd49863fe80a487ddbe281 *882aee487effe01fa0d1a200b4478858154ef5dc1721e26c7097b2460d4dc67dbcf5db318f3b45 *a6a60376c69556b57175d0909b2a1c8a5bee03e2ae4b301a1d8c8ffbe320b2d91a811c692b3024 *5b85900d2f031532bc518de39e954d68e370d2cd54415943ae10f7129ffe1c2c57308bd3f153a9 *12ed864a3c9245a0b2ddb4faee8a33573ccde3e4c186ffb8426d3cc87c619689ea61e2ce264479 *61d40a992a25894fd263582e91339bc05d4815931ea32a7175bdc80b14777dc2ee781ce3ba1e73 *5cc7f682792bf331d1d7581e9a98592c91a953812c3139669de3b82b66963e8d89ab656eee6363 *6ee9e15289876a6a465bf80cd3fe2889168f6c2f72cc3135909eb23c475b84dfd7536ed6e24163 *717f6cb431d7461f1d1bdcae12dbba655befd0342ab6c39fad5c8bbddaa25ff3c8c440f8d9c4e8 *c0c56a16f9863860157227d64cf17799d55119980a62741d94c55c18111b4bb4b885c2d00f3af7 *99aba92f22333518e28726c8d3622c826c332ec5e0d4b0a18881f48612b3147f5fcc758b45b7dc *1d1f738ffdb08fb9dd0f531f1b9663099ae8341a9b8776b54bb68b7d6e6334a4ce4455f0b5d541 *bf0aa28598ec6a945804a0e11f4c652349ae440444549f940f675d8f76483617843216f7fd054e *262f0a81f776e373b479987c5a123f27f23273a41e6251ccd448f50c6d988416ca1238d878474e *41d89c9a17d22c9e9b789cc7075b232ed2c6c713e26ee985e91171f7d40c9a1a9d9ac15213dd29 *7dd2f4616ce3ae4f988d4a3f8afd28131a488d7a3c891d1e7561d4d505c9b3b35a0ac5e4dd98de *cd0416822f1c3aea5edb9bd073bffa1c880159b3eda520b49dd4c652138b12234faef661a7213f *2e06da6a1d3431233e31164520e7a889251bb317fd58b2a531b7efe152367d115cbcb3d16c2bbe *2f16a659cc2d3c841edf138b4b3173c9819d154dac9972a1894589511f9987a9679386a362e483 *b1c800e889febc45f0f118585a468a709e8c93417185bd859381f1220767239374ec5e38e2c946 *86718d7636b2074e8664585868016bf4050f4f81edb7cee6baa7e47808767b5ea2bfe36077ea07 *073312043b12962b1006725d25cb163b770d8c634d09b24bc1bb65517812785918519226846949 *5a89a61de2b246392e089cd93131eff99e50cfe364d3adcc7a97c0fa52abe198c77b8d48d28d4a *4e302a9436ce1db223ee0ebd706cdc3d2a03d9e7d438ba9ee026c80bd4077d5c1adbc7a3f61127 *b471c3972fc675145d9f903a34d0ba0e36ae4a1f5614eafabe8c883da2d607c443787e0128f624 *db723c8f541cc16fc43e55b7d97c3c2759e08c28bcc365d492f3e3e376851243474e786cdc3d35 *833fbf1af19feb138e8dff3be8a33f6e8d4ec174b7f4429c4816381356696e72cc61c3adf1fc7f *7cf8b78c6cb8dce9ce187e5fe050ad8272b54773264e8bb3459f0efffbce280dc7c02623ab43cd *fe201c5a58338ae681859381b3c2c1c0296b465131cb62d97e7875495cedd94b97366478a97d83 *f7b7c0bba6bff6a6891e537672b3650c197fcd7581973bd2dcce17f56440daee4b0bbad1984397 *d8a479e19da77d692eab9e73d41797d2a260cc529ad344ae0e9bae9d92c6b680616a1217d2b08a *71dc99c6271ab18e69b02f2ea51116fa599aeb12a13aa091389006e600a3a6b9a5c45d6960e931 *2ca7399b58eb48e1deb452c5edd4a5b9a5443a7970388d186fdbd94da2a40561cc0fa6394de409 *99279e7a3a4997d2c8728cd2480ac5335698b826d270c6aa44445e34cfd1e96fe283974d5d32cb *d617a0823443a3b0907d7c90b883a92f130b5e885d3c489d249e6ddc0b39e204f11b40f1c86497 *e29c03c79976718d44189217a84e363ed938e528719f71ce6a029d5c9138e6a071cc41e35ee24e *b16db02f408e260e399a38e468e2b01936d8849a838dd71c6c3c74f15a275b2348b8b02fa84306 *cf3936f1d0c6d1f5ad7d41c64ee4c42e1e16e35aa39a63f302d36d89c72e1e840df7acec350990 *43178f0bf18e0d2713e75e9fdf6affa72666b71652273c087f402c83d501b49b1c6dccec98b836 *ea45b1756aacdfe839101b77c5a2db53f1b6894da07d437f5643df6d994c8c12caecec8bb9e35f *dd1f735f269b4623fab4ba398d988e3921162322b88be3cbc13f53f39cf675dbe98b4322f3463a *5bde50d6b71d37516eb5a8a208d925a8b66b777c5a88bb432f1c1b77076bd0d738764da49d4967 *faa4e92359453bbcd7b86fe2a236f622468cbecd706ae2f6d0c2642abcb3467d5c735c8ebb432f *2cc4f352dc1d7aa18d23f15e8a3bec55f3429ac747b0742434c7331083c42b1a04f2f7a1e4ddaa *5f7a3b4becd7b278ac61f158f17df1b88ae1a17752a902c736918947f9bb20210034b48149232d *6f75f89cdc54e9c5f93a1f9748d6eb5ae6e57e07e40855bd20ad17746e10c768b555dd4c60caa4 *e315cdb172a1cab8662f183c180dbb79913362a6890799bf21506b324a4713140ceebb3c0aeb32 *8762030d7ba0c14983f95e84249d98a4e7325b6207c48a09d9937cc90d215f18f501f2a9f5bb49 *ea0c37415c5cc418ec2d74f05a1f73fb1e662ff660831e92ab2d22df433838237be2c4a57924ff *e4104b7d6cd0585c8cb9e587d9c6a6465eda11734b0fbd89797f5ccc1dffeafe987bec877dcc3d *f6c33ee61efb611f73c7beca3338ef88b9e58731c555a17d214ea2141df8957129eef6bd609807 *f1982e71661bb9654298288189246b8496e351e3d4053cf7a3b48ee213c7275321ad92da571309 *630b3ab14f532a362cc4e59481e8177854c8585576e6a84a6207435512331566ad478d0325d6eb *29c8b07730f1611637c71e88bc70b42e4679d40a5195cc7db45025ad1056298d369eab64a673b6 *56c9e262ad4217df76b8bad5f2f9249a26000a4d7be28653b57173b1406bfd79381e9bf25d9fe0 *7d7bc5eb3ceedb0a511cb5211378e95eade3cb6123fc3a9bda902e69dc9fea8e7959105e109fcf *60692aaab02c77af6a9d669a4aeab89ccab21e772786cd4496b099beb99943b2252fc93c1ecba9 *a4e7a3d09bd6063e29139ad91e09774233e7e3c8e142aa33c9a8bbe3d09b76a581c39da94e9acd *876a5a4221a95e52c1628943cf0d29f428d0319b6048c772ea4447722633ab2136923c1c1bea42 *4a15935a5b004e25285c4ab5f408267b3be96bbbb20977a7e25cbb248cbc6ce892a436d489a59c *dcd028a2d92d65e0d831a962adef724fcc6c282d69c2c554b7f765b940b923750ba9ce8b53818e *0e8e6db82f557c97f1909ee1d52dabb30bbe2a3c4fc4e90f7e7fdccd5f303d3549b3475be5c823 *a7ec3f3956518918b143aa0c39ea5a8442847601e6a89416b1de2c7ea87a35bd9eb3dc542139da *b50e7808db6f915b67726c968e6ee9aa39627e4e137a41b319c3d0c57d97a1775d89fdea1716e2 *3647595da546539b231c8bb5f1b1a9339e1ed11cab5bd7602b097745daf86465504ff7484a8e74 *ff9daed8e4b65c355caa8797fc1a4d0baf32ccfec909ac510b301dadec6036f9096f856b276376 *ee120ec7e3481ae708a68a89d6107a81f51599d5aaa45208a432202808e4591ec417693b2da12e *dc13447eed6b3e034334162aefab76166648b615e70c337ea285442924652e0433400884350697 *a12c9f805a865a4b1946221a85797117d29d3451f1cb4c6ab7d286d580372cac2e5e6e53f547a3 *de55cc3470ed9cd8057b0ba725d8ed7a702afc25324a3c43125e3741cbd06583555e7a1f67190e *1492511c3e5a2d4d8d14a17a58b2202c5b82dd64224f818fca68b916b981ddac39d4e6595fd83e *12ef35d56328f629f411bacdc1ce1eb87b0b02e2553ba0f0f186faa8ec22332da2473d9e3d91c8 *8c4e776205d8cba285c453037cea987842b6de62f069903bfca2a521d30c6277928e7d30180305 *265a9eec8c272ffe27f83a42a17fc28f3b199c7aad470077ff7ae5e4f23c5f82ddfcc1e179be04 *bb533f786a46b5a30806ca974c575146316759ded9c50fd2d581e59ec01b74a30e520fb35783dd *937a944edb0bbb635e3a2aa3dd137cb909e26a529acc1bce59d909ce8204bf49576008e5013081 *9a39c00e66f8a5cef0b86786879c85a640893c26b11223ae1f3be70037ba547ff6e7e175f00d24 *fafc9c4d5fb3223eef82f6cf7f390eba34c3e30cb2b64fa438c7bd0e90f9f02c2b74e9480c4be2 *0528f3db321989054307ed7c9f078a7c1377ede0597d51a34cfa222d6d3403bc0d696495ce4613 *56bac44d393a748c5d882ebbc2a3333abd067fec8c1211e45de18aaf96a39bad680561f68ef9b3 *ea914b4ca013729540ca3c2e6b05a2f56e4a38b6a15e4c36455ce6721819a29a9d00395a2843fb *844bf6de5be69499a62cabbbcc1ca7ead1654835eba3408cee66432cb75aba9cb993f055defb19 *246d14fdfb1859773eb24bb57acf220b2e13cfd283907c81b3b22e2163644232880b5f61a126a9 *17cf43260334758758efad080e5dff1cbd2ccf61dfe868ff68abeca333626d0d22912c51b21a24 *5014307a5d4e70900bb1ceb299b82a10fbe997e1a9859d5d5b9e02ffd96684689664213b04af46 *bb3647ba6957a811290ff6ff8a143b78a363327b0647fcb189dac2af33253ce9d73d3d0bc908d7 *d5f96f58c5b3d29feb301c31a9ddae0714397aceb9635efa37ce086566869d8d2cc341663e29aa *f89d4933e5ed39241b83c0ac680212320a2c7e61136df313ac3be1bc0a0b3c1a5832ad6e0d0516 *7635c1b222351a6484e0f6863c09ac044e4dcd09e6f542d9c7a482b56743058183ac79283c8f8b *b0eb1facce7156aff2cbe055bbb33cbfbc4c2ff72526c75f6c468801f3df10b133614af3559286 *67ad0885a26490eec48b0590c8929434a0c754f69b5a399a2d106cfc458a7b31eaaf6afef917ab *9acdef88a79c75b1e3978e49e97edde9bdfab78c76a3cdfe5f374f5ac722cb8de77e7d8e4b87d0 *914c1bd28c5acc2855d865e294089d12bd75311a84398651727e996b1a4f85dd533efee365743a *a3b40aaeead2665a8cc07cab32f921b3ac8f2b1ae28947898a5c5fe33b2c35e8851f2a532486c6 *2508b63070b864597934044464b93caad7a835d45a8bbe489534936db3f6831180ccc61ff5e12a *91164324a1a4c7b745439fb36ae821b766756cc863c7f2cb4098dd9816f6268b1db0a30ca56f1e *0b1f99d131355a6a0e4e5ebb48d06c1f958dcee28a14763dd8963f35db212c8249c987e17f4bd1 *d1306847c1ab8b7abdb1e3095b2f5844320a7624b020e3bfed14c1eee762240fb903ea8fd12b2e *858e22f88fdde90666fc365ad503a13bf6c54767947579580c43a6d9b67e19c21a6cb1abd5f588 *88c14b5a1e89d321669bc3440c3787f552704039c780e24dce5a234242c2deccc6e559953afcc0 *4de6132fc4558c1873e6d3617c2a8cdd476a0835abe7d2a158bca90c2eb3cea32734807cab96ad *becc7e9fc3481b26b8e31ca9a7c5846757987684b909d5da442f6a6b862e5087e41de11f0f89f6 *86719c856ed70313e2295673c2558e01f2ba40331fd1f47c950b9a4e70871c7718addc882a7b61 *a711217b8fe21fdca91ffc89335ae2fa47e80481d980cff124f4bc885f1852410f60078d60227e *c40e0937e474fab21cba1ff6cc560c52793a981ca9329eab440678b8ba91311ef21ae3023cd2d4 *234b0ab6c882e284e798bc39bc29ea68e05526810734f123cfb162c297e988004d0531e2ab9c14 *c355bfec0526b265fc6c71110237aa9e56ed33cc60b47c35864c16e606acce89c66732391f2291 *74123706727f6e1276c7196b00690c1621b977dcc1b4312f08491cb08c316dd7933a9eb93f1d6a *979a84b2b45e64b1d6d438e3c058d1550cac815f81ad2a32c54d555b43093442011682c4a497e3 *c28bc611161561eb235cbd352882241b47b92caa0de5429cc759944f6a34bc10e75d9661677c54 *f52c560967b9df11a70966104d90a42e6a178824e2ac166f381afc31308fa6e3856b9019866656 *dc44358107cacf0b6756cbf60056ebccf2c982ef857ef3173231423613a3858df97c6a6698e924 *d3a393c289c59efa7a15771cbf3f887da99ab67832c623caa334cd1b1d1e59893ba2a9137238e3 *51f06c0ad3f5544fa3b05833f7740a8b43eb9e4e61b104f7740a8bb9ea71e2475358ccd5ec5f2c *51d81e5623ef164e7cc0a4b6562ddaa5b3a07b95a20cc1c0b6839220b699391e8cada496cdea62 *daa5d55c9d935054b1ea59bd78f75f9eadcef8e25df0300bf31c75dbf86f927f20f2c08dddf8cf *318037f88cfaaf4a13d57eb2fae1a8d655095fe993fd4518d376d8bab07d09d7254a4bbcf7723f *3bb68b1113666f98e4bd34c9f90a50f253b7f16efc48069d030e185154eec9495e2414661220db *69035769d2ef488d23dd9a27cdc51bab13c8284d16b140169158ec624151d9dcbf8531179ba829 *b08bf929ed8db9366a70b599198763eef857f7c7dcf1aff25fea62d826d746e1af6b7fdc1bb39b *97fb4663b4e3368b99f17671b4758d83c51430f4d398371826de85a874e168a90883b77c8e48f2 *f48aef9848af0a47abc685f8345b9e8165717968da2d3b5b31ad572e5d5ce4f5eae526c9d12be4 *3e2a70286ea8331f77945eb39b6106d0f8e4db38af478e49ead0bca0bc08ad4f531bd7d347c4bf *0cae4910924c7121cb5cb1b18d1bea8ce7780d3fd3f26364e035b671432d700fd01bcc1e1a7e0e *370fbb25ac5bde4213770d067adcbacc4d3cb7f16078a41a8fa355d1553df560301cf8638be375 *5b225896ee626ce30e3540da69aaaec5f8d4c51beca73eab39ba3ec1c6b50441a771571cf1c82c *0c8406796fdca84b39947b700c9364e2b18b738e82d9a28b757d82b465ece2fdd4c96ddcb1812b *4f3e661c657b49fe76c7d7f5aeaa747971b94e2fd319cd7e4532a419c7a6b99651d35361368dfa *c94836d32ccd2d259a34bd34368cfbd282933a46f174108e4cd3335405744b8992c6559c342ded *48737d22d73b8ca7a5d55544958f83beb894b60f72fb1f275951a603698eea58d7347df1d834ac *766527b5b36de2de34d20efb2ecdcd13a1ded3a9690e136bbd61c5362f2ea58131f3b094e60ebf *085ca73f9446194dfd8ba5de47a5c5bc4566c32d251e486399a449730b893c35f6a43149d734d1 *ad1377c084306b5ad4bd069268d9d8d4a6b9a5444e5b8f71aa84ef2cbe4cc9788852e155131a9f *5dcaca31219daf5f363e5f8e8453d4e5a68ff7cb4fbffa74cb51bffccce37947dc1d7ae1d8b8eb *13da1af40be6bc49d2b4e53e982dd9fd9adff004b58b1b26a2e14a9ac58be25ee383b562e61ad9 *13b783ad8070253d2f3943838e198d6d9565076957130dda2ce3d13cbe9fcda1136f7b5f188e8c *bb5d2f9436acbbf8b433eed194ae49989a382a2e94d180b89149404bc5ae5746aa521ccc985736 *d79bbf8667e17189853302b628be74c3aa918a90041c8a9b6c897239415131976494ec5098e8e4 *aeb83bf4c2b171f7d40cfe56a3bfca1a292bcd4a072675d362dc4982b815b1ea0d439828aeee0e *38ce3b6b56adaa15d22aa9da6e34e5498e9c9fe31ca4259e0ed07bf9835d5233f37b2f06a0c26f *4cdf75658f97441ed62f07969a50e74899f0e9154975cbc99a2abb224238988c706d46eeec6941 *62e56347fb53b9bb212335ddb2c9a94f9ddad46996eafa64fe945371d4f7a72696fa0375c224c9 *f0da703875e27594d6597a8993933f981ae41810a5922ff3b175c39bdad466d18d6c5d27a9b02a *3932b5638425c7879c3adad44476c55d2a56d24972609907f7f687c3a9bc8c461a357a89936555 *dc9d5acb86ea482aacfc923c69f2ae54f4e73d35a92804b9806bbbd766f3cbdc664c659b139bca *f25166b74bdc6c491e6c2a1287ca19d854466a4e250b164e366cc3ae54416a939af2d671f2d424 *2fa65e3052b7b409535da33b97e43e95abb33b95fbc8d01743fb76a576728bc78c34d99bbf1da9 *82d43635b1906514a294bc90ca48dda40aaaf3f09f0d85464f45c0bb7c3924e352cc0ba93f9422 *1ab6c64c009ac4452bf9e294d053cabae1c38f64f99afa14b3693ab40d52b2ad1ea55a4ade1467 *e64feeba894b0b66c3875bab98c2293ac4a9218aa6b4ac78e45bb2a7c585798addefc94c90acab *bcd15b4d38a798846663da34977435a6b81649bc3500d294a149e1adea66db786a8af7cdbeb594 *36cd52a02ccb44b47b5f58dc706c8a3be6a5bf65f4b48ce6a3d6290c0ea7ac432cfc05b2875b76 *913c9857957c08bd40bf71f400260593e089888aa309c4bc2f5aed4c87e164946b72727ad007d4 *0fa7c04814d9359550c890d57558ed5882039ab148f2528dacc11372fb7378f157f4dc157636b2 *04e7bd30df320919a177e18b8c5bbdb5d601567ba8e914d0dd72ca68263d51a70c4c2d6165c04b *9556dbd579ba3c1f5697e4a0c9127ec1863adeb4bc8c9edd4fb2cc82c779938c26ea3f27814682 *c202a43d88904303715d5e14f252a9632077ec8b8720b75c1b8648f80b232fb761e44910151a44 *999d04c392e779a4dd89c32d4b4c54ab269dc0813c42ac563472c3cbed568c5aac76d092812578 *7e0c371a381c0fbb533ff8636704e66122cc4d42a5866a9a8f0cc454256712a546a1b4d111822a *0120d848939cdb68e8df289d49302b2115bf1760bf08e70676bb1e9c0a1f91515ba3e55a374d8b *e681ed0b6f080feb434c3fb2244aa28fa12fb4b352cbdc66b208f521b37565456586d15caabcb9 *ba74a00299229eaf50e140a74114bf9279a4752e08b5c20b7a2750fa4c1ccf08f13b41e818ba07 *1a282f859281b08baac827ab8b427911625d8c858cbb2cef4f83520791f57247c70c34c9941108 *2ee6662ac753c0099ee0b90b982fd470a26830b974ca0d540d332a50a3552c146d028a863e6bcc *9ca5018a84337c5888780e32f446e5848b741c306988473a26c4242ef750e88e7d717f481edb99 *0fd3f0f40cbf508dfe8c320a6c3a427dc46ea8385c79909473c0439bacd8905fded7905fe7d900 *4c5fea04ade3fe767b162112d8ff321513a240bfce469ef2fb47c8480e2de7e637ac71433a9cbf *0cfeccedf2e3b91b5ee6329c946b3af631f09f7146a4b4d90bc7ac4310593aa2d5d469444b203d *0122e2a070d65aa81a6794c34a1061420f6453ab6dae3450a726019d9a104c178ad219a34b6e2a *1cac304a23856591c35a64ae291ef8a48cd47410e149606545542c237810b8e6c41929cbc18a5c *825987be00d75f624b604b05113ee9d2bb00af2e622e44698abe3a3e71bb1d9fec2209cbbfee98 *97fe3d6714758406fb1bceca78147e2f884f0be328cd7b127d69a6a160eaaac5291eae21f6aeaa *0706e00b99212c6886fa0db0d3c20a54bd7840ad38b2a92e6f11f146494235392300a678413691 *e3bb1467ab4c2fcd5300bf4575b098e28e79e96f19fdf1328aac81c1d12455fe8026eae8e21479 *c42ea94f59a7d55024feb41e67682e088edee60373c882d4dea0b337880c15db0e0a23ee4ec824 *5c484b826158b9d4393c2ec16ed78353e1bf868c0c2ed801763662e1d58463cea2ac4a74223f91 *cf899a54c92379db67ed1caef1b05222468e9ef6ae6a1c6ba6aa5ec9abb66c50695e215ed1ab23 *977d9028e25403fb34c829b8bfe4a55a2b14445d3168eb0d440a898919ae3cd29ca1356152dd4f *dd381fbb7ad2f8ac0612652f79aa2674fa1170d1aaa719ea380f5340af1fdb111de06e0754635c *70e839444545957365d6f5e1dcf3c323c33f4146eae66cd175af0bb94c84e93ca13f11d07756b6 *6a039309285b422fcd81943578849c0e66473a135cbd75241209b30dbd09470a270a3387a2b818 *c88c47ecfa643796d88b4c9b1be601bf49c823bcad13b41ee8511b063a0acea137e1604397d959 *3b6ba888fc5013d8654a697f8ed84f13f1a9e2e9fab2ea945dc1db35901bb1e738326c1d962c78 *34d9efb9c420c3485d8d19a161b41e21e1f02f00af219c7686eed00b127a092731ea8710b7791c *ea34494fc6c67346980a17715b8496844e67cc9a945987312199351185bd3d10c5f2ccde45cfed *7a702afc979c51d80f5b1f2b7e06aba779ef372405547862a9d5a339f10833842ed0c50f33cf6c *6238cb678593d80a27a1d495fd0222ec6cc45b375f6c66361a78306df6d22af2b122f453da2087 *abbd67f50472cce30c86f59a6dc134c2165e46e541b60f1686d2a61e268329d1052663a465e168 *8c2e5a98bc04902c2b46172d6c4c2fac999485f5f4b789f4b02ae45bd89a8932ecfa07dcfad505 *2c9a9be8f78cb9c26e71ccc3b163aec3ec6c045be617c7196dfefa3157985ab63cce50b4f05d4b *63ee65689d8d70d1f1d0982f0c33ef9a9d30cecb303b6cd831ce87c61cfe04b125422f59580b6e *dd470c3dcc072e58e137e88c02b6976036665a808320b63581acccd8a019a97de6602cc246ad9b *ba9570de377e252ee239a17358856797e05ae2fed92ab16b09e40b487636a1dbf580c3d2aba932 *e1abf4725d8da67d468c275f7df2cfd908fbe86b8dbd8efbdbbdbb70cc9fa95d53a39db5ab579c *6d2e56abf0f26c405b01e3e806d953396e434c2bcf356258893b875750d884efb1e968f74dcc06 *fafb62c62e2ba68196c2c213173918e65add1c388c8ce6c16970b219e905a28af83be0c6098381 *e5320e6dffc2b7fa4a6c26bd2dca3ab5d0f783793f34b4405fb7b71da6e6165f33b7cdb77e07ed *e83dccb8a507bbdccdeca3236ed78353e12f9251fd7bda5cfb1219198bd1904d675b672bc920d1 *d1b05b78d07870c9165de895d5f9d93a9d5f1692f072139d1e2f65e1d47b934228695348eccced *77aea98700521b3104b78750a72ea5beeddaa420d4489aa5a7517c9b539bd265c455d99b12d8d4 *c0a6b879d2787a8a275ffc6dd2c194c5acfb8c16abdda5c4a594c37d34efdabc90321e1c35b1f9 *36aab26ef883a0b43943a4cf38619494166b4d0a89204dd2d466a46cc63e84ac2ff57d3447bf38 *eb9145cceaf16861f8eddd87bb52a2baf66e8beb5286d94a364b710b2f8d8f49718ffbecb88c86 *434d5b4a99f5519af5519e75ed2c6561aecde7519aa5e47ef8234f11a5ce4c482dcdccbe23acc8 *64357fc45ff7247a4eb3d79bb355a1f3e12cbedc6cd44254297134276df804b2568edaa01351aa *23df0cc8e085cce2958887e24f93e4bf899818e3cfdeb33da5081043a20ba5d5186d2441540764 *22d5aa91b9a8db2cb385b78b193e0846df2e8d9e3c52593e0853c626c5b559a368d39ec64cb941 *224c896d4a75f5d714066cdd3ca53b841116525c98257515f27e2125ce52dc3ca9abb5af62d1e1 *1477c44b7d5bbd6287feb979d2e352fe22329af7c852aff529f3ce9ebf94e6e3381beb341ffe34 *c39ae59406fb0a1ef5380a1b0b7d4adfda594a3d8cd6d53b8cfdcc8a633ffbaa30d2b9ed1b5c37 *8fc9eede16d7d115cfc71aacde6522ada151cb2195b47220bc6f7312fa286a24658f452d4559ea *10c8dbf6d005bdcc2c777dc00a28a2be0d85b3cc106625ec3a57455f314751f9a3f570b6a992c1 *d999dee4abcbc5467b41b2556126c892a112a42e1a92861507b9c478b8c33d67b00c53366de49e *6299571de48a932a33d1c4f24cdcfdd4afb7d29bba805ff2aaa49d257d60073b3be1eb6c374f5d *7e92d62018bb06b5ca3e2f061bcd1a33433ccfc6020deaa394d52592e3d1e9a83453ae1e69ed66 *6a4deba738a53584204c863bb6893d55a1347f28cde1b9ee8e6e3d22ada9d19cc62e11e7e5b405 *927dfcc736cd1dfbe2a1b49906e2b119ba5d2f2ef597e96c96a726dbd9b3c44369edd0a3abef7e *3522b7b91da33547c4599a338963ff62bf52ec4c4bad830d7bb3599bd6b66531cd2dcc70bdf268 *969616d394f6efa5414d298b448d95352d0b3da39242114d370ae5f466114992681733236ecb72 *26ba4b16e2f324f41e1c34a2c27998af20356e6935af3fdd9264fba82dbdfcad332d6ee3cb148c *57352d855d25619a5b4adc97e679af9ceb43807a7ab47d2aa364f46207d2dcb12f1e4a734ff9d8 *a6b92f511bef49a4fd12cd735fa2367fad9d4d7f7c934a93f898b4bf75f6e1b4bf61f6e1b43f65 *67b71ba12c18b89e901fbb08f4696ed78bebcbb355bab80c6703d966d43f91656671b7ff05d11e *ca9fbdc9c4b6ddf5098f8dbba766f0b71afdad465fbc46616c5f784cbca911faf97a5cdc1df341 *3a22ded428772f64bf371e6c1cfcab742ff4f1d4c5731b0fb8bba609b17b21b3ce7ee0c744f846 *8eeaa976226c36e1b8789c907caeb72fd38637b11b828729a7a53b7a60c5bcc0afa6793ab4b048 *458d385baf75475c9c3d20ee7f57fad860768a2cf12f3dd89fdec89093c968fe607f7a7303cc68 *329a3f4028d85db8615fbadbff81556e26bf2fdd1df8c0b46dda9bee0e7c601ca78d7bd339236d *9bb993e59474a169d2b6e4ed0747a74b46d2b6a9fde0d874c9c8be740ccc6d836b996c46fd8343 *e9dc36f4a06332ea1f1c4ca7b64db38cba0792cef7b71e4877073fc0b681a5d2be7477f0036c1b *b9c3df9dee0e7f006d9e0ea59b8ce0b4cd38ffe0b87493516d1b1a6db51f1c976e32aa6d633fc1 *f683e3d26d46893d5f761fec4a8f2a4eb419350f8e480fba6cb619350ff6a5b3464d364b382339 *22671e502734e9729d0b2588e7b70cda7e925ff8016b06464d8fe3e174b7fb83b309ed16361745 *328ab9ffc3bb211bf6a14f3c90469a576e25a4b51b7498c843ce233e4a178aee344fc68c9555a2 *6932b73db16e7447dad0a5054d734b8907d37c9756cdf197121f93e63831cf5eccc6e25ea09d69 *fd6ee8491fdb34e78df3cde5bd8be3d2dc533eb669eed8170fa5cdf67a1e9ba13bf6c543690737 *d6fed6d97febec23d28eeaecdcaab3ea5fec4536d738ad97cc4e4f831aadc7b390c64b7f76f672 *a8278c79f5e0ea60e9fb53dd312f5b030a5cf6b44a5c3f67da6f5479f69647b32f67f4172615f2 *1225edd424f79ddcdc26ab1532d2a5d9a0b50e87b51a76bca41aadef2dd97c6c1c2d4b355acb7d *ae46e36f59f40aa99d225c8d1691a81abd0330ec0c6db2f491f0d8b36aa42e95ae796a13a18fc6 *be12548db91732d0638cf354f4f1dafdd56af495c06acce60974069566fba854e3723ed17c3fab *24b555d34935669598edd39b6acc5367e68b52e042dd96c880a731991fc7e8eb2ca9f3f2824935 *195583d37935e0929e792586de0a05ad2a167b635aea0d94f8fb5438cd3daf0678919d9bfe793b *5ff94f147033eb9c793558bc6c53f9be57a14754dc80c96d817cdcbc4de5fdefa63382636eba29 *5085199baaa7c86c67d02ce8fb4819555b0d435ab51a3215db3e12a2d454239a54b37aa8bad5f6 *9165467b8bc0ae1ae63496e9239030d4a48ecbce0d859fe433bb1a487f6bc9b2d36bd61ed93c9a *4e4875bb5e3e8b45589b601b6ba0a385be19445de9a072ceaec1b5a246afec5526edef1b9eb06f *062fa113018d644823bad5cc6ccccb0abc10736d942f5f690239ae6e51b98fb97d0f8f8b912994 *748fe9bbdaf7f26a424b75e1209ace1925e65887c6d7cfec69222fb610d3db6cb06b5d1b1d4dac *19942696646c3926ec3147e7b17c64cca1e243ca081710e386720cdb1b21c6be15eaf904be2d38 *4c0ea3984ff59132a1d6133da420c607e21c69f6261c16bd4790f0a8a6ade3265d5cace305fb53 *6f07bb990d3be26edf0bf3c5a58f6b81ae4f786cdc3d35837fa7356a6fac66bce1386315c71352 *43ad517d59ce04c315d7de6ae92eec6496954567a763437446d3563168eefeece3962ef87aec79 *6c1366f1863c7389f3b89384dcbdd0c6fda1787f99bb7f6cdc3d3583136ab4b7c912dfdd47fb3b *793628fda8c9b0f6c32c4b3a25ab6a936ac478448835f1910742bc890f4550be239da460bde848 *ece8a83c64b2b7b5a70109acc8b81e49acb77fbadbbc3d5bbb7479b95a073ea460388aa4532a98 *e5138c4af1019bdb57d8511bd2a0f5477669922e0d2cb14fa68f27d37d75ed70a6ef4c3fdaa9c7 *30dc1d267dacf3159f398dec771fc2b0529ddcc06ed78353e113334a0d6c6bbaa3696dfb55d31b *1a9891216b677b59b53d3268c9c072a3df68364606dd53c45b94e8ebacf5080647926cf9783e8b *135b92cda53bed84d5581880b130006b738446a9365630e7e5b83bf482fcf5b25668e3ae2bb1af *c1d17177e88563e3ffee6a84fa21892341937860514b1e8f70ff05273006ea5e5d45c6286e3599 *58096bcc84469863d966a47068e2adec602ad6c6a58fec151a4b719dc5cb7197ba84c3f176e134 *53ad4d786cdc3d358383353accce1ce8a3439d1a770ccace5133e8c56880f1f99de98447f60e54 *9ba3221e1634d995161177a20f6a060e6d6007ee26f486ca0c2b40ba5867f1fc6971946a5497ff *34b6abbfac38864cc646593178a9ffa8ac484206dbb0d528131ace2af2ea3fc81c22b748945d5d *d5ec2434dc93f47ece861bca3a8c0dec72c39ab5f0308763ed520bf39fb3911e3e653177a7b30b *cbab7f771a371e5cfdf9f2d91e76490612d844b9a8209ba2cdea8f671469f5473518c2cef0e6f0 *cbaeeea845fc3eb36e8288fdeaaf27b2e0f5d56559fd2f65f5174785a2f3e44f872e747d4213c6 *6ef62d6c04f0df5c29fec8bf2333e26b58f2ced0711378765b42714ae81efbe15f6b46c1b81b26 *0aea18b061d89e158a3ce655a8d7b78056aa9dc0f398dbf750fe6647366d0c2be9dae8e3638b8a *9ac7c4dcf1afee8fb92f938db7770c3e261b9673098d347a2816b3555204a300779645c0876313 *b3e5c7c9c6d4ca0986df2c5d66cb03d7d6c9c684a441ccf0cd83f54f57a3ba655a638d8a2d3431 *63a20c2ba772eb29db1dbdaa5ab39ab90b630d5d4970b43159a61c2f0e9687b71cfd6066045d8f *69356e523bd746ed0521bcc429d1d4aed59828fcbcc927351c20c71ab64f56196f72e55b585977 *cef2c3d4c4721b1b2cfac816121eea56f6c31f8ec5e12c56e54e9cf86a9d235698c30b8ceb131e *1bfe2da37f2f19358b2bbb9c77731ff4e1bc606c1148562890649ce82dc3478289d81c64f12c81 *0f1206c62c0812e08e0a202a236709e9acd40a93eef04159c9e38c8f3833b86ccf124e6adbc9f6 *dd03d25795f52251822d093f87d2d986bae6ec2cd1d934ddd0ef44ccd3596951e36ed78363d207 *af3574bb1e9c9afeb78cfe96d19f6946c110147a11f90f245268eb38f1923b4b77bb1e1c4a3f1b *e33a8d177183f713b9dcf03948d698cde438e62071dc6657aa57a95b629f194cd574c724fb7677 *29f3a9168ec7c1c60b73157dfb025b2b3119dc74f1a98b8f9c519bb03bbe3f74c7bef8b78cfe82 *32e209b8c836d8d0ed7ad086f11c2796d573aaaacca76cf4d7ad620a6ac4b5c38922b385ae67e6 *a900a98ed55b943f069cc8975d7163bdf9becd8dee4ad7edd7b18fa9748695b231abdb766d54fb *ba6bdbc198750497edf9d05363eecb6433a8183b1e688636bf8f09e9c7be697baaef62e9fec9cf *8686b778e826f66650db01977bcea6798c5ee16be03ba468d1af6b292e22decb43ec2f357fa3b6 *c415eda95ea056b5bed5ac31d6b406e230219c2e326c5b23f10aeada8aa6354139e68b917b1bba *48f5b1ed6e88cadacc7ff2e22b956be24e45eec1db273be3bd690dc5ddce170e99d674f1de4250 *5a7d6adc3d3503add1a919ec68a23bba4f7674b2d6e8d028a5163d7c872e8c164ef1a4d9aeb5bb *6c0d7a2441442e0711d529f733748aa5a135ada1a9a0fa2b9c2a14a53e322b8976f269f11d6ade *d3e3eea9197ce91a85ce0b242fd0a7c7a94671bbbe4897b2b223d51e5413c05c31edddf938053c *2beb1368346365b2c97574ce81dce8021f4c501c04f20c25c232647711691cbbcf33272c0daaec *879a757629f131907bcac716725f269b061f8f87a897ac5096e94057cebce82d41ab54b8be821b *ab496eb9c4c1c115baae6c6e647e0f0425600848478445f30dbf6cb554976b52b567f1a55baf8e *61fba69139bfb817aa0e36a60588cebca9ff8dc68186394b267447d55cc6460fbb68e23733b542 *385be9234a1ce44d911485cb75cd36ad97d1e083590a25ba655348a9c7dd74c988c1c0d76cee84 *98d67b03b19e4b0e1944b1f94972a368e65b8b800c5ca222b0ee4b67ba9713ef9daf2f4f781766 *cd7614fdd9ea0cd9a38234202ae8d9ba3d903bf8623c0e72e6e6a12528cfa1b00019d347cbeeea *4c625ed0f87223e4c81de4da44cb229f06b9d33f5986dc97c9060c561ff7711c5ac82d253e0672 *fb1ed7ce47775600790be13c50ab1b273c5798b8de9144517175a0f2427326d6d7495056d569dc *ae2627fef4bc909a53e335149b5ea64f4c675addb308ca3aed9b11e0cb315449ddc8640b71c579 *fc4e6603d5480ea8f2ce57b704e9057bb3387293c21b511d85bda12a4a9c6ca5c79d71674d65b0 *4ab64254451347d9cdcfe2865b1bbd3d560b559c6c7c6aaf3acc537398d8f50981548ab68acd11 *df6c2e7ca42ae9458f26c1c4c76ce3510edb4a156ddc19ea2555da1bb70cb9891b8b9cd454e070 *3c3615747d82efce63cfe3fd31e5e6c64828b1ad7173447c29de56d0cdce4cf7a7a5f75410da12 *0dd79f9690d05460313eb571179a04df1d906f1b9c5a9cadcbb77430faf0c9dd10f7c7a843fb18 *6484e902b6c157c1d59b2eaf3fbc76ffe7ff397d78fdabfbbbdbbbb705beb87e7bf3e1d7d79f3e *7f2c917c7df5e9f3fdf5cf9efd7ffef1fae1eef6f3a79bbb0fcf0a7ffffae38dfbcdf53f5fdebc *faf4ecfbfa4179f757571fafef7f7df3afe5edf3b5c35c399f5f5dbd2dc9e15970e1997ff6fddd *c767210dcf86b36757cff2fdf3ff74f5f0e38bf7cfaf6f6f5fc4f4ecfbe7571f5ebfb879fecfff *f05f7ff6e2cdf3ff78fde1fafee6d58bb7cfc7bbf72fdebbe7dfdf7cb8fa7477fff0e2f5f3bbfb *173f3cff4df9f4a78f2f1e9e5f7f7371f570fdbabcf99b17df8452ccf3fbab0f0fb757b5d2ffe1 *450829ba18e2b39f9ee57f79fe0f57b7afee6edfbf88a1bcf64f2fbe196ab1b7b757afae31a956 *e14d29f1f6e6c38bebe7fff8f9c3ab9bf7571f5e84751adc7a7bf6eca7e7ffe3c3cdef6aa5ef1f *6e3ed51abc78f7fcee4da9f6ffc4cceeee7ffc1ab3fa1fffa5d4e66ce5c22a6d6ae11f9f9f7fff *f0e9feead527487f16d6112a7557ebb1291f5cbf58c5127cbcbf7eb8fef0e2c3f34fa5269f4af8 *fbf2efee85bb79feeaeefdc7dbebf7f8f0eafea7d213571f3fdedf5dbd2a09efae1f4a2d3edd95 *6ef8fdfdcda79b0f6f4bcd4a5f5225ce42a9c4f3d7772fee9fbffa4c597c53beadf1eb8787fafa *4dcdedf6e61574dc43f91afae0eac53bf7fc4de9889a7a755b926faf3ebcfd5c06f6db17dfacfd *b370b6dd969c7ff9a1d6f6dd75f9fdad0febfb874fe54d53bbaf5fbc75f0fcedf3b734b2ef9e7f *babfae1f945ef9fcaae25b81a12fb9dacfc26658b9beda0f2fe2aaf4d34dade2671cf8ab0ad7dc *af9f7f7ff570537be24d4192b798e69ebfbe7eb879fba1a496ecdfd4263dbfbdf9febe76211693 *367568cbc3d559c9b9f4732947f0ed1af2ba7152f137cf9b8efbd98b58bf7ab8bebd864efa1a73 *81b7af3001c760580fa5948a62b5e905474bbeefe18d52d352388ed73574cb03f5ee3686d201bf *29cd78574a7875f7019aabfd5a62a5b96febc0bfa9bd517bbd46cbb33239ee5d991d9f743a9477 *dedc5fbdbffe06dbbd2a23556a040876ffe38bb02dd5a67ebb2f14a022c51ba85319bb760c0835 *6b11cfeb98bebeaea3fee18651e7b7cf2f7f73f9f0db173836d0fc95dfa68a82d7af6eafee09c7 *5615ef714c6edf5e971101b4787df5e9aa768314f0f075cda736dd41eb5e9761f8dd8bdbe74ddf *d5a1c656852194825edddd979954bf2f9d569bf283a0f1c30b4783fabcb4f335b613a7bece9d1e *e9b011ab4dedb1ab07d3c7cf0b0abe7e0ef5b9fd0cb3f0a6763450b70f95ba7d4bdfaecfb64808 *c28ba176f52f216740a5d79fa162d4800d4cd6f06d28a55cb6fdbedabaef9fbfbfbafff1f34733 *151fe8c3b44e4852eaa0c55ac66f9f4f7ff874fde1e1e6fbdb3abdfe01bf2cfdf85fe9d33246ef *9effaff0e25f9eff6fc6a5abf2e2fdf52b2ab1e0ddcdfb6fa80943f4a566854ad4e1464a51fa55 *fafffaf9dd6d199c12fbf57f2c3528b4e0f9af3f958ebdba7f7d0333d5215dbfba8528567a5b89 *33d76c55a77653b707ca0066f355c5bc524957a8dccdebebdb9f9806bca99dfe9628ccc7cfdf33 *866f01e94a71efeaa8c6da7b371f5e7f2e24e727a4badfbed8c0587cc23508a84ac531eae36be9 *e3af5fac57b5efafaf3e4056f56da8101414fd507ba6ac098528bf7e5dbb91c91a10cd9b0f3ad9 *df142cbebffbfce1b554f8d3f51f3e31f1abbd4fb8478d8861537b8850e0db17ebe8a0c2ab2d56 *f8edf36b19e3af4b0e5cc5d758bf7744977f07eb48c9f7eafbcfb795f615c2dece9cb85a57c493 *a643677cb8fb544aa8e3fd07a0b5ff4f2d4f884fada96be8c2abb25ebe2bb30f57a99b1a2933ad *62d49beb7b6e512c78fcd3f3eb0f65dd8511871ebffe74f54d3bebbe86fc6e6faf5f53c714aa02 *58656685c3627fa3e4e8e6f9e5f51b2e691d56755c9034fdf64521ce7599fefdbb1b6cc1755d1b *5edddf7cffc25542239df5f1eafed3cdabda4f25493ae4d5d5c7abef6f6e4b5e34e55c44aea0e2 *2052ec78962a95af143b565ea4d2e4374add618abd814e7df7fcdd1d2eef854ad7c1b9c66e2a78 *53f8ab6b5825ee6855ad14b9102a6ed46653291cadc80190faf5f51596f3164964d38fdf625dfe *e1aac67e7a119053795bd0e48128f14dc5c93a81cbca02341358022c2dad2bcd2b757947adc186 *c0a27b5567dd0d14727dffaa36e55d992ff525c4f7f20aae281f717d07dafe9616d042f5880ab8 *38acea44fd1eea07956d98919b3285819a961abebdbffaf8ee9b8fb7779f4a916569f8c13d7ff8 *58e9f8c3bbebeb4f0f5f132dbf2e5d797bc53db60d5e7bec3554a3700ab4ccbab8ddd619f69f7e *531a76e6816cfe2744a6fb6f7e43dc5999a1eb049d08c870d352a93a0dcb74fa50dbf87b24fb54 *f4da57feeff98f1f60b03f2059befec355e5e578edbafa0004ac92ba3223dc3b1c47a2a1ff4f79 *81f0e3a7d22aa824e61cea82d2afccabc10155f8a1e67a8d99f4ab5945e53ba048c8f801db08e3 *82684fe47ebd5ad7c95327c1eb3af5be2db5f9a777d7f7b5deff0c75bb795f47f203d096eb4a89 *24228b40e9961be126efafdfc31b825cebb8aaf3e7e1dddd7d215640126bb51e98dabf2d9ffccb *e79b5aa47b0e94c5e005f33defaeb8d492421d7dcb6d58fb3a1faf5f17a48c6b6437de5a224b5d *f2d50392976f4b77e432e4aece9017b172e43c305fcbd2fe1b68fcc3dd7b229cebf53628e18411 *f8edf387cf4862ded14c29c5d6923e037309b8755db1b4ac4d9f0a0add704361058645e21abaa3 *660a1dfaf754d659aad3f1ae9085fb17ab35b26cd0615a244cced2616538af60ba3c00929a7eba *ae4357faf1a6ced0ae20226debcd599d92659d2a499f6a67c19c2d9ffefeddf507214c1feacc78 *5b99841ba496b53ac0d5175c7af8fb17ee07988eafcbbc2e99d757b1ead898b4f6da713f9826dc *209375f3e19b228bc1e81749ac703ac05302421586fbcd37bace00138018f4e1fabaacc01f9f61 *3306bf7e960a1bb07ef6bb6758e836a52a817e784e73fbeec52a20c5a9c372758f240d1bf8eef9 *afee718d2b9916b47dc039cb0f7f49a4efc395c847e3dd079afa67feac8a2f65dd8395eec7e780 *b2190b55910ab8e0524a19a9f775427e5d3aeb5725dbabfb9b42cdca34bafef8a97663d86eb7df *52ce01c8e579796bfc8717af4a991f2be5bcbf79fb0ee9fdca57e9a1889e0ef8c10f7734cc6f74 *98bf45ec3eff80722720753bbdde514f165c040af13d71fb572495d6150368159616811c215600 *e37dfd0af9c4f2d28f37b570872c0e0df7ebe7c41d20cb0845bcbe23a6a8ac84d41858934bb760 *a38a288b4c6e61a3bf5dbd18ea5206dc6e25db1d957b6b444bfc765317676690611904fee9fd1d *2c4ef7d76feb8acf1d737b8bafc8f2ffee0a17ca0fc072d1f479db4f1fea8d046bf4ef6f3ebdbb *fb5ca8722528d77f785586b2f4eccf9014095587693cab7c95635d7efffcf7d7b72f3e3dbffda6 *4eaceb2266bc2ea85d9af0f795fe7e0216adf00cdf50b1032cd6c0a1ae4b9156b686a63efc8413 *a6205fe5ac2a03fdeaf6ba36faacb6f5bf97b9162b7f59c8439df1f79fae84b12b0bf13517b305 *fcfb97cf80d8afa0aa48b0af914a93d4d86213b4f09af91f9ca748c3856ce33815c1d4132afd20 *ececdb4a90df09b35196fc4f2cd4e2227a7babbcda2b5747e8be4ae8957ff8a1aca250f12285d6 *95beae7355b287c500d16d26e00223eb08e9df917c7ffdbacec8fbeb6faeeeef2ba3035190b0a9 *6756a1ce392082f521cc6de46aaecd6014ea765b9985b2bc5d013584e5ae3605df2d5d47cd2e58 *0f82cc0a265799acafa16f672bfa1b248aa5c1987083838b0273af68210cff0dace558ed084b7d *9dd1b07ca9e2e92da854aa22eeff3612f9574806df32a3afb580351afbd3990afe8c24a6abb7a5 *d390092f1dca9db6062e8065edaf018b2a6a7cbcad12844309a9d4baf6e639762ae5f4ae666306 *ad8c7659501f5ebc535e1856a2170e4b3a0376a07c5c4a16851fa02c92c7f2a4aef32220548289 *c35717e457b7770f307ac848972ebda639f016491b2dcb58d416f510b683800efcd6d4f901e523 *9101df94159b1ffdf6456972eda9df2043d2f69d64700da88a656e8039409c05e2556983ca1257 *202ffd043a948f9fde7d0dbce76b59cb9770ea46f859c4e94a98dec07afc89ca4cc02748cfb352 *873abfe03030ba9fee3e7e738b14efb6e4cc0d703c6cb48c23438add088ab68f8c2303b00ad7f7 *b7752a51b39a7c1e08ad7f0de30d8b5a19cd879ef1a1058ae8e01f4a53f2edf39f97375f225dfd *fa05722c58ea76553bb4e206906cccf059fde23bfcc4d127bf87c9f4aa3eaad8f5ae6675c3cc5c *9958dfdf7c028d63217b57efcb0c3cab629b9981d5baa652ee076c042fa0c0526865596f05bcfd *f5fbc2189496ff64faa1ceb47519f867d4a8ef5e427e549b7755f278f5a97421d0d9e8b7d0a785 *f144fd156329f4dd1d35b4b6935b5bf3a9f310eb8e0b17ceafb78449b81a423fa116f68da80bb0 *cc902a0536b3f6b5d516dc20c1baaa2ab9da511545cd642c722e0e367016c02c3f5cbfc7350a88 *14285a08658a6c81fa0c582642aa53a84e8dba20b3ea45682272f7af61b502852049e7bc3ed0e4 *7f5d69eaabcae261113102d3c31d57695c11663edfbe167ea95db2aa9e206eb9fb06e9be378835 *4c6daa46f4e1ae55a460f7ad5740a83f7dbabff9fef3a7aa1b050d8ad1685c8180f670431266ed *c5ef583d5979b0ef6f40215a45e7e724bedd8012145b54b8d652c09bcff7300781afb2daab77d0 *870e3a9155fe3a98dfa2909c6fded6650e3642aa16f3013b93a60336e46c00c18c2461d099a362 *a1d7019541bdbdad2a3b1c991b58e9a1e8428bdd5bd81701352f1144e27e634a67cc28466414ff *f15a77578045f2ee7b96642beaa9ce96b2d87a52a8fee65d993d3f16be01b502a81cbb517472d7 *eda640e9da9aefebe79f1f509d8cd8663652b013b6300159c758deb36ae3d526d63a9c01cffa63 *e9c8555a555dc6d62357ff0f209015e1a39285a52d1a903bef1b9d0414bbf63807cbbcff481a6c *4045d0f1bcbe863c2ae75a7bb9b00edfc824794d2a1cd4badc550eeac3355015245795fcd78e5b *079879b5d1b0809906c23aa49244994d6f55b64445e3272173a854365ce4b72f52a54d131073c2 *a4f50ae6e0c3ddd7483aebe601f4e14f304c0f9f2b17096ab71f0a16e9cc4691c3156eceecb9f5 *e827fa2498c6d8b8b8aa629d5111025fa2f4e20ed41665e6bebab9bd16d578d55de2e686d93a71 *6fbabd132c610d73f0a6909ccfaf4ba7c3cecc0df3d53daf0a021a0cd70df3b255cbf6ceeea0c0 *7c017d0aea677100b0fbd63011a91ab09901ba748b89d0afb24f0994b451ba00854325d0a79bb7 *57c471181e72b67789459fa5ca2235bb983f2b8f36455a4fb037f5dbe7a148fceb4a472ea982b8 *07d2281e2bd6bfe5565b9187760cec08d7690bf4dbad4a41a51cd821f8c40f81985679e25991bc *ae3e94f59ac5c5bedbbfaedd5e48e935f4f087d78240a8c6bfad55aabb60df5283b680a5bf7dbe *82069526fcc71bc662987b307288246f40d201fdd29b45a248b2cb0f4ebaa0747c5d094a8bce3c *ac100f3f150ea9d26c14f3d6c004bcc7bdb38294956d6931ef0d696adb4e3524f1e33318b4c241 *c767ffdf22e894c5ee2c14127ff52cff50895355479ec1c47f966f707d4bcf98bea202e9f6c72a *31bbc2e5debd8795153824a1aa6f79ffe503eea7dddc5ee1bed59d6eeefcd33ffd537d8519fab3 *556dedb35c98bc4f9f3efeecbbef7efffbdf7ffbeae1db9feeee7ffcf6ead5b79f7ffceecdc7ef *fed3d53fbfbffdaeb4e0fa4eed128a54e556cf02d8259096b808b6453e144d511856b5758507fa *0f7f787f8b68f8bbbaf57ff7e1175f856ffd57ffe1256d8cc106f2cfff8fcbff3efee67ffe6a02 *69f4fbcfefabfef57ffefa37d33f9484bf83946f5f7f7afd772f79efa0cebb9f437a492a846d1d *eb74f8f9a79b4fb7d72f7f73f3be128ffffef95361be20a5bee3ce605efcbc129f874f2f2faf7e *573be5e2fef3f7d7af7e2c3df57f7d2e4faecb27f402e47bb64d8560fdfcd55da93cf26a0f9f7e *babdfec557576492f0d5cb1767cf36b085f5f3db3b16d8eb8efde7f7df7f28e3f08baf3edefce1 *bb87f705974a65de5f9735efdb1f3ebef897e76fbf2aecccf02cd52daa6a28707bfb70f3afd7f8 *3a94f7d0bfff1dd66980bda69f7fc795c2d6050ffb353f2f552812f2db0f75b12848705d2a30de *dd96cadc5c7d5566d787025ddf97b48a5a216e53a9c5d950be86dd1864567ef1d57ffd15171602 *ecca1cc8d669bebf2e2f0c61bb827c9f8515287316f28debb53ba1babffa2fb5be610854df35a8 *514cbe402a3f7ff874ffd32fbefa2f77f7d75752d219a8446c498e8bfaf5dd879fbe1b2f7e6d8b *faafd76faf5e556963fc2f2f5e3d2febc97046659e810684cb1c2fa584042a869f7f2c6376f7e1 *c3f56dc58930ac2324de5efd740d5610959dfcc5578077ef18efbea2ed8bfb4a9f3ed5c1bffa70 *57f33dab9aa2aa0fe10cded2f7bfbafa5c998ccbeb87f7771f5ef7df5fdd0227f270f507c8a4cc *74bf35b57843994c9fab914579f19faaaef0539fcbf7570f0ffcfd76f56c5e89ff7c57e7ce3f94 *6ebebdbdfb0a489f7efdba000fd4376e15124cf0ef4ce7d43e5bc535ced832897e7ca8ed5dad41 *60c4944ab4eaccfdc5571795f72e13ea1f4b6b2bdbf4ffae7af9df5dff3d306b75fbf2f37de9c5 *d5001a0a10a70bb37553aa213dfc43157aaa7af8175f6ddeaf57d8b2aa64f05adc3517f7eb4fa0 *9d2ab9ffc3f5d5ebbbdf9712feeb1595508815707fb31286baf47119e9fdca3f7cf5625dd3b00f *13b07454d21b2ee937573fd662725954a8fe03ac739cbb8cf05077cf39f7b3f7abb5cdbdcad9ab *a5dcdf55cdd5bbe7bfb92b5cc97fbcfe045d585af413965564e6b3832d29650528cb5159d103c3 *d395f577ffe5ead3bb9fbeaaebcf3f15fcfbd7bfc31242aa0638fb4b58bf5f0f4d6b8ae00964a1 *2b612a94eea7efef5ed7526e9effe7cfef3fde7cf88aca897171d49b5e5bbf5fadda72d62bbfd0 *6bbfba29b177cfff4755b1ffba30003f968f1c9472e60f8ffcfa7dd898522afa17ba81c49af1bc *e27e4c6730641fee8a145ab9f4cf9fdeddddffe2ef3e7ff8f1c3ddef3ffc5d459a38c43a40bfba *7ba8d6093fc9f6fae5c5ff053dfdfe0e18f23757efef3e837058d7c2afeb87db007a3a64100abf *5625e087d2e4b5f73ae3eeafdfc0d6f0871f7ff1d5ff2b7ef51290b1b017151ba9b2e595975fc3 *77c39a24926b2cf62d17fbeef90f57fffaaf20ebe09cbd7b83d66ac02f97197f735784f69245d8 *24dcda7f2099a73caac4e281378c5edfbc81cd1ed8b3a8cbf759114eceea1055fb33b0a96491ac *eea241fedd0a0e5bc954c3f275ac468275dbf4ba92f5c256ff5029779182b620cebeaa9b27af91 *31f9cf9f3f7c73feb9eac9c3f66c5b3f5e831d11d4ecbffdcf913efa7599506b507d560583a841 *aa1ef3f6eb17c3ba7c06167dc897d41e7e473dfceafb876f6aab40355016f4c234844ddd900423 *3d6057de3ccfa43720c6853379f92d32381b6494be03a4213e689d9011fa8e38a1907cdda35ba3 *e44daa04602503d9dad53dabb5d36df4778b3af16f690bb0eec3a5cab116eed87db3d93ebb4251 *0115d2ad8c7407dafd461e2ccd79ffed8b4d429d4d197af8aee59ddfa2e6bcb2dfc09e81aaa86a *d9ea57df5fa185d29dee29b6db636f71e31914fd0194a9e7af81ff4569a9caf10e2430d8e74091 *e80d4b87554079cfb689379f7e42cd23e8e2eae611eb05aaeef5fa96d5ed8092afee6f3e821a84 *b47a3f8ad12d54bb31c0785bed3a5e032f7e05ca81d7157c755b965836abac43804a8d559c9925 *80091feefa80105ebbf50ea6d1c3bbab7bdcdeb9a27d43a73d435bf2ef605feaba8c37a9ddd6be *62360fbed84da194f9a9f6fc1b670c4ddb6d2850053c5c5fdd83c469adfd583d32d40960ec4d37 *ac1bb9fe035af076fb1eb08778f549f27be350787b57449b6aa5f2a1e00fecae7da6bd81b30442 *cbfbe7fffce9be0e74c972b55a6fdd596527aaae67f562150bcf43ef81ee1674ad8dd80bfac47b *3499c0fe73bc87f9828d49cbb406a5b35aed029a6dcecec84ae9bae65437ecff6fea2f60358038 *bcc18ebb1603d3ce268736fcde5fa1690ef45d8a03b60c3a8055cf054dca6a277385b566884c73 *430c6784f8b7cfbfff2c9b85d079c3aaae0015994069c83b87bcb65419a4f2090573aab55799ad *a9f248b557638917711f32a8d542399ba8c8d768edfc1c841ca8034c10de99be7a4dc56f3d9880 *a215f26f7ffbe9ae30e47f074a85c2f0d7fd39c01420ab8e369500418d0dcf27106b6fca54ae6a *a2b71fd03892f6fea01bb7438242de5935d31bdedd0465319874f0fe721538cb38d244fac03b56 *503076cbc367568b079feafc07134450fb6e9e7d6ff7065760ad1cceea2cbe406bb167734af283 *2120af6b67fe9e744175e352d44d8e08de47326f90edf1551483f46bda33aa23da18f3103d0675 *f335ceb9576532415f81beab6e6315c6e056b6fb3eaa1505edf8c750e7b2314b8261eb55450f65 *7d3fa33d7fd8fee67c699793ccd6ac6ae9fdd5871bde9b0a6b5f97c0cf64650d0bc42bdace4545 *e7bb9bd7afaf3fe8fee85bb140a79abf2b120cec8f39da20532b74290498b06a935e0db17ef901 *29425d87e2f5ab4f5fc366c1fbba3942a6ebb02d6436c1eb1ef63df7ac5aef91f1e8376c5eb1a9 *1df63d10d6d777ef0bdbf54dbb5abde96949d88099cb6ccd7acdebd56abe5e3d00ddbb2b32ca7d *59773efdf411d0c8f1ca85f806660fc04bbc8297b92312309598c32deec01502bb86bd61d8a5eb *762c6f16f577bcbdc93b1d75c65fdd904182d5901621381051fbddd5ed0daa638128d7e6ddd06a *4056588e282560172842dfb2e9dcc54fb0415f273fd923e39a0796eadcfd5b606fd96e1db6967f *c0bab03af5fafa03691665f7d628e9c02edda9e13c5345983b1f493d49361cc011e3ced04d1108 *8068bc5205b1034401f4787d2dfdc2c3b8bc1ad8b3116ccb015c73c70e7c8b03f5df9888df7d00 *e900cf32c0a6a8f6615dc2cb6afef9ea1e91eb5a34bb6fb10e627a01ac36d72856d1a93406c9ca *9b329dd17eaf5a2112467fe2d9d761c66b6baae1709c6b3762312be0c96f3e7c04bb1ed270be33 *38800b06915d44025c8ffe5e89f31bfaaa106fc8078d308061b7c6b1abda88dfdd5ca9fdf33778 *fae1c373e0299b5318a03cb5fd24d635424279b4bfe51281d7ffa74a4cc19cfcf5cd7ded96d2f9 *af60087fa8dfbf46220e4d9811839e947eddf4d51a640343fd43a58defc0b6af2ed455a7c4bcd4 *fd5da57b8654eb4e8d03d6ee3319fcd0e6dbebbb0fd7dc8eb30df1333fe15ec52b206dd55c19e7 *183305f7a8adbfff7477c3e78dde35ab466587808ffb70f32ff53407e2f00624145873d0f80485 *a6ab37d7b5bb61b30379211d8f6f703fa3fefe48a3e5ec44bd29d981c552919b0b996503ae5502 *1d3069ed41da517c280554ac71621c0bfdc0635afbe5036c3db5e8fd0e76c4ecb81127e5560348 *2b2a7d007b5456fdbbd2d01fbad36535e3dbca4a8232fe0a51ab6e04a3521f4b024bba6b321982 *236bdcae2d68979b8d5adc7f4526acdd3d7dbb6ba30bd74fedc69fe169889a076c36dfc8c6bc87 *43136cb9fb8acd9b1f806146b259f96718b06f3ededfe04902308b5c3f63510ff7f33f7f245b38 *ac9a362a8675556eb68d42bb22e05c6fcca61718fb7ea69376d77fb879d0dccc9a2d8cc10de1de *b3b85ad529fabfd28b7f794ef664c3fffe968d0182d842ae718bfbd7d774c409bae3cddded2d4c *21b3bdbf1eeaeef1dbe77f40b96f85d61eafc934e7eee3839803b5e7cc7827fbaa95adacb4cc56 *d9623e133780cd573429edc13ad05ff329bcdaaaaf11db717dc1a988d28e6cfef36e63b31fec68 *b33f80be409a15d1d0de368b493270ca1f24bf6ae3a7123a59f3ddb2b0385b7aa938d851814518 *e8269aab35eb30f18c46c1f0ed8bf5da7d6f2ab926b3d59b87579f1f1ed09a0537fd4ac73f988e *747180e9f30a37eacc812bdd64bde9e6eb1b6a164dd8bb227bbe75bc535ff00badd60045199db7 *f6a011a00c1f8a7d27c38fc61f9fde7d4bc29d34e68c10c934a69ec0401688ce18fe7ddd78942f *36b529c0bedef3c6b7875d21e8841f80672963cf52231e007cf8fcf66ddd65468e16255f66e1ae *b91c5a16f000439d1fab1743dd35660507747b77ce93f6f6b75b940d7f09b8f08e4ccde964e70d *1dd7a924ae76e35b20b8248bd4d1de372f708395f7dc57a48d7c33572598d3420b5a94eb3ff004 *79e3989b201ef3ad394b0cadc165f1a63968580d031d4874c8557faafa4a18baba34d4b9f18002 *ddd50330615574bc4189f59dd8821256d74353d4ae77e67825168e8b664bd857786c0e5430da43 *8eba48ed11bbb17943f6208505f824b2dd1a974a3e3100529736a12e4f6faf2b5a7cfb2279940d *128e3ae888ea0bd028471dce4db359dc705b70a17cab3bf68e0c32483df9f6f98a2b7f8dd9cd5a *70c507fe6eee2bcd691588b8b75eca497a580176d8d775630476d857b0c3eed65bb47f7f03baa3 *f75577f4b3ba56231ffd7fbfad69d71fbffae6f6e64792a0df572989a70aacab709cf73de215d8 *4b6d414b8a2474ff4efa3f8302ecbb17b572eecc6f40b3f243d5acc0f6bf1fce70fbbf4c1fa0f9 *b76cc56fa8d69be7bffd2d70bfeef97fbb7a5fb895ab821e7f078c79e9b552a7d7820dd0c72ce2 *92ee2c80b879856be17be4d6ea51b6f76436f4ee3992b8f7379fc894af8ec4e7db4f37681057a9 *361a307d6693b93757aff8585fc5bd6abed74880672bd88e505d4c61845eb9ca5f16c6f25bc4ea *aa58afd6235d0ffe3e7e7b77fff6bbdffce377ff388ddffce1fded3775f3f1a10891abe0ceca68 *22b95975c609f15974f1d94a8d1340710d5227291804f3226917cfcb83b3462b4e8c2d338a6485 *f701194583bb6b3aa20c485e55ad40f7c5a80b28381d0c2cac33c92fa47525932deae9876b50fa *2ccf809b076694a14568785359765842eb51c4873768b32ea7c16feaf668b51cfc7be03c5e3d67 *420425d0b35a6efd98585b56a4b937b0e89125072e9f4d8d5ea3bc29b39a7671a85b6e9e6fa85b *e266a055e45b3aba7dd9f1a5c203f427fbf92c15885997c811bc47b3bddbdbda6567cf36b846dd *22c3005b3313708d957dff45a94f8dd54ead73a57cfebfced9f6f37f973afeaf1129f8ff2e3925 *b0a2a7e3f3944e798c9c09675d66d1b3016ce1ff7f25cff137788aebd79feee568def68cb4a417 *d7afaeaa2405c865ec0cdf2cd8191a5b3e30d2e9cd228b340d1685342a3eae814917f3c21fd8bc *90b400afd922a8eef9d3616a27468233e68ced2cd583440873ed036e1ea1728b180b2b53bc10cf *14adb11e282ddcf7a279030b5b96a7b0b495f7645bf135f21848eea8209b9dc30d2731dbbd11b4 *688ed0f43527972243a4c31a756ba2e28e600c6ffebcaea98c0364d7beaee2d6ef61dfe5d5ccf8 *0b2516a0949f3e83f0894d8a9b2ae214cafcf9fe01270a4921bcbce2d242c273550530b5fda64c *e10f446171d82b0d523d33e67f76b6c6c9f51b38edc3ab6f5528a96ee3cc85cd7683d3e4d34f1f *690773cc37f02aa13835f6edf36f5ed669221383bc6f4462ec6013068ee5c0826fcd24859541eb *bdfed0ac9bd9f82acb73cdd48d8e8486ed8ab6780c970533485a48a3726d6db73fe15eca03ab2d *f43408aba26963a13f7783d4983d48a05d04ecc8a5f9d1b2d290dfd6f30a307a37ac4bf89e7a80 *76aeea7994ca6ef2d692324ee4ce63a08334702625346752ea397b16b28b8cfdf9fe8388366fcd *911959274c53f468127bf30013d1c22816944236b59e98ada82a9c8513353b9e88782e1225d4eb *e6539d5dca871893fab7a864c4332aefea9996ebf77544ee68d958adcee038dda7173f125bf0b6 *ffbc6eadddbfbd461dd52df980e1c1aaf9912b97155a78fc1a451b6532dfd1cc43371674d2120f *9b5586570faab135342a1e3b27116e85a620629bca27a8e0244d5f0a6a72ab3009b31135236847 *6c0a22d52476045a8ef41bec3fa2ca0d8f5600e5acdbb9d7aafdc4256b3ed3be6684c3a5e52d9e *297654166c747cfff9e616c41cf4ccf4a26e01fe7e362bbf96b26e048bdc73dde91573ec6fc813 *c33da85fd83fc806763b7853d79e73602bd537d437efccf4ab6e4e66daa96fcb9a5aada461ddc2 *31410b19d08656e69c90d838fa105ac0c7f76ee834a02072ddc4bba7b7114f3f55ce18d6c7b23a *4a06d81c34b7a9cacf2ae3c18cab161b0fb2135529d4dde79625bf226a5389d5c7baa902874c6f *5e81879d221f119dfab1faeec18322af847ab00b974a0beeee751f8f4f75c2bafc112ca53fa117 *808252dfb25f134f9eb1e8f0338ef4efefe920f67db5035aadb748f60be9ad74b7d03410b7ab3d *f3f39ffdac9e7da655e0a6d2fd37cf7ff9df2b4bfafcb72f88778bdb55e766eb0c98b5ba234d47 *10fab369a606c6f9d5d7c8650bb1866cca12f8c09e46c044b00a3065e6e1a9f53558aadfbf35f2 *3b6c33821ef2a12a253fbc60036f1849b1a5971d046cc4199e01d115bdae7fb551ed8ce2edfa37 *0d72f181b6d7aed7789225396ed196e92efe45c0aab14efe185cbf7c143c5f118586bd54619f0d *3abf23b60deaa3640d276ad3dbe462844ed955bb194430733ecc503f773dab0cfbf708884a1744 *6a94c026d076dcd573a3a195ff6121b9e19de36b7b02423fbf216f03457672203c51815b3c678d *7d4022c3bb2221e0084befe0312c58b080eb434bb86b5b433db0f7e1ee83da4c082bf086b53c28 *4af844c72dcdfaff03517b5d6ccb24ac5b8c7f0f98524f38fe58e7e1abe58ce7c7786b76585cd8 *80b100650c0b3058f0bc13774c9faa7d141d9927b90df9c77a4a90bca1e161ad6b72198078f0af *d7f777a43341bf0c2bb035fefc019c5248f77c5b9685cda69e8989a8e12d4f1298275682f5ab39 *c182e314c87cd475b4a4be628aaec32a27199f99938c82bf6feb685cdfbeb7c7380949be7951c5 *e4356ec6572d749979a06ac62e42c74b74d088d487b5876a47c976317a8b81c9af785eb58b8584 *d6cc710f9e8610854b58c77f7ff350f8e64d6123d76731a14dcbfa452aa21c7e522b3bdec9599c *7bb04163e5ba7780639faaa0575fe421bd6eaa598bdfc0b2055bb22029ddbc79419b8b781efb9a *98c34d35d4dbacc8b8e6ec452a35c58f79235ff0b0d2176d413c5becf5b0ae3abd33a474afde95 *e5ffbe9295beb2a8b67e7ffdfaa68e76e1e72a39a6975131c03e1a9486d466c12e7e6d4c24ae10 *3d3abc93e985f80a721b70bd5c7718ba1beca6eb76aa7cc3635b09052e7cf58c752d0e77f2edd1 *c81fb1cd67334cab473f4138c3dd70dbe01e8978a31cb94b1c978f8efc9a6ca27a3ad99c558d1e *e90ed72fbe2913b4f070490fe7c0e61b38deb9fe009b53552f5511fe1d60fedbfa1e78f9801353 *b58fefaab2f69abd052192ddddbcae0e8b4040b8bd7aa84706617d36a2d05900de913dc12119fe *d5fd355a83c8fa5aed15f1347f9d9c376572421b6053bfb6e10cdb10126918f38b6fce70a4421d *38b42704a3de9bdb9b2bd80c68cec481458fd1aed7837db4d381ac166c0f93b396aa1caa9fdf10 *bd3f5bc19208acdc6a41a202c286ca8d2b3c980edd66e7cbb7ace4fd26147a2f078d40955de6e8 *153242d77002b96efe85329229e164a80b4391df873512bd4239ab50f95d356af88c04b0beee02 *aa6391d87f8d1c5d3d315d5af8d37755db790bd228d866d4ec57d559884352575893159d1103a1 *0e1c8d00e94114fef41ff09bb8a23a554272b659e156023614b5fba5ade5dd38d463a0549fc2a8 *018d645e0d6abb868328e070418a061c84928759c967d59156ad6d3dfcac9fd04bf8055a16c8e9 *68aac7e66ceb9a7a909e0b58c6eba656cfd29acf57ffeeeab6ccca8d3b58ca77bfab47aba9ac61 *7566da0cde1eb0b4af31288ce98fb5d8d75a2c58156e8981f935fb11a521f568086d0862dc246c *39a6d401a5338460872b358dd5f130d813ef1a8267814c81dfddfdbe6a150bf1abf938b474fa7c *6d7295c6d28760e45bf3fdedf3ff509a2488f0f053c1d59fdee397b8e500b9d76952460dba28ac *fda6eda31de301664a6403fbb1ae6c28af6ae780196bcde8b690c7fbabdbafb573407c448c44e4 *24171bf82199a9d6eaff1f58fd67bbaa0f598389057529998f1e854d01ad45dfff08fad7f5facc *f595b3c3556db2d2bebcff1765febfab3fa81689603ea36527965607b4ccf3ff7f7b7fdaddc671 *2d0ac3dfeb5720beeb2e03ef116974374625718ee221f179ecc4d7d249ce7d4caf6b1068002d81 *0083c1924e72dfdffed49e6ae8ae0640129420b98a4b140976ef9af6547baa6edb5f0f65bb9c1b *cfa5a92640c34831f8b37618aaf9a3416aeeffaaf5933efc753b101d058a917e6cee8c764e6733 *8ffc530acd5ce7b7507ff9055464190c69ac88d3f031b1368709619936acde025ba1b1373d7a2b *d20ef8a6a43f5e9d2451c7f45859a06e6fe07394e08a7440bdd123f109afdb1ea874d0effbf90d *a0a5a59cdf40879894dc95ae629ebb6af12d97b4196aae4fd90dfa483d80f406ad82bcf24f5064 *f57de914d6e0282aa9cabca185237544b4e38e98e270418cce8289145a0ef0da233ba6941254ad *5cf5c5e4f8baeacb8cf4a9024d775223c553d7a65c6203e79461acba148749ad59ddf2a4a932da *8b1e8f51eee59c8aef585b8b0c9a183cb2e8d1935f341ba0fe3a1917099349a0bee8ce63e6cc63 *1ed6e65bd5a236a43c400f5d8c6077586a8f74f31129bb8e0225117b50b9039ef845e69626faa5 *acd74b0367228f515298ba3df750b42c660c99122446059b39bc949ed9201ac24b37ae699ae6d1 *efe0ce005b9d943075569abe5e21736ce45a54782c800eed69ace39e0bcca808df0629b36c61a6 *b82be0bc25ff1b804026b7e1d8d1d29956f9bbe329875cb1c7a0fe6f7982c304b2ffb08c45afe1 *997268a9a69bd209916dd36852308b8ece66298233a13f1a33120519506f685310a3496ecbbfea *b9ecd66b299794b399fa15175624c32b0516ccd8c8e8a52481c9009218c93c2d066031c0ae6e72 *6303728f5233d7618fa657e59d6608748299d1b0674915935c4184f997581ef9170cdcd9706201 *2f1e6705499957e775dafe0eeaaaf03855d1b37e0b322c62660e196b352330272bec4cd5ed9043 *813819d46d9d52de5abe0c75cfc32e9d707bfa037dcceeb00abc8255e4026f5cce64bbe5f02b63 *6467778d46300eb1e4d09f6714094b11048eb9c3458da9adabb15afc8281471b8e4b5861711653 *731e7d3f133a9c22e95fd8002045756f35bac01a20bdb1ba4724341247945f47682ac94e1238a7 *a6961779c67067156ddc0fb1b397b0f4a6d8031ed6199191453804296e587bee75ad4c33650494 *98aba92f0a01ba2df2714e96bc8a3b29a522a018daf0777032747a2456994552452141f16a8ec0 *5533bfd47bc7823297ac200ed7c118865230854fdd7c0f00ec9cc2229be41c43600e9217988fa4 *a947768ee265898543882b8e0b9cb048e354a954d3f2c2d431ef02cf34466e945962d1642bdb4c *99886893e6646230f970da6d6b65c58b40d2ea4a5fa115a127353e92948ee0cfc6e22aee92bb8d *caefcc5d2253ce39c92079aee9b4001d06d59dafa43e981b8426262761870a098a2380fa0393cb *eb20d434845084a3c41547cc41cbf64eee4a77dd857cbda570df82eb07ae4dcc593745916708c1 *a7562c09b5815c5fcb64b94aeee886ece066312e3102a8612380b2520450a7d1519d46168800d2 *cbda7105243a5777320a2cfdab116b4ea1324cdc740cd09fae57afade71996882ac3e8bf8c214c *0c08d699d2682dfe6ca01f66d278480293c90d9849e094f4ca4b5353e5dc51c00307d74d908209 *032a0b0b3256ae28f96052508ca8cdc81dcd3086ea096eec643726c64036cf6baa5e4e261dd4cb *24386340a5865f71983f25e23a95f5b8146761cbc18e26b0846080c6da8a60ae784659d374341c *5b5beb12036ac1a624797086f8a6923e411c86c3a8280409958e3fa0e2e32d4ad6e113f26fc02c *86b198c89e034bef71f49989ff508e26f792b459490b2087cde2ed53b2da6308165be0a12cff48 *8e237cbb0a064501556b4661d219488da052f15bbc1d800ca61cb9a7127d166d406518949cfd96 *565707009f709d3246601ee8f2b241cfeccdee621518ce19d990e57d0a919c384c0e058178ac94 *e2b1bef003bb10c62035b5db72e3fa719f9a39d7c7d8a45ac7ae8ce90d935cca7e83e7a858d078 *c6126a4185e5d790228501aae4c984477ec6ccd00522e16e49214b125f02fed7dd0d16710449c4 *b9b19fc29939c1bb387e4373e0baf47c4f80a4904a8a4d4e65ff9d52a7b511f65253aa9c0902ae *32cae2e6802cac5e4b6e619f868b8d7034e2d6456ec2f1891e6e0cc3b749872d93184377498cc4 *c59850ed7a0ce87ac565228953ea15d4347773c929efcfe82ce04fccdedf332b575b9c1a151226 *cbe1525cc69e6bd0e18988b31e319b080cc3ab35260a6e57c6c5c003a168d91bbac9e2c70e6cce *253aec200e8c43a430ee0e0f881418a621631e94132c37534eb4dc8ca3e5dc7b3be6e234426cb4 *373751fd7aade4e68b299d427027ecab97ad9ef1c706ae2f221eaee698619aaf2fa8dc36b021d9 *0a2a5e2f1c09dd1f90286ab42d480dd7b2eed31f7b400f3fb5a496ec6693634f0bd78a6f490950 *053929df4085956991610836af41f54d4b992100c32938a730981df5d402b54850aa25ac40b8b8 *5bc481ebaf49514866280915b3e7241d9aa41d32c740ec9605e271cec67b646ee2aedd60c525f6 *791abfa939eff045529d36c75fe4e6502023d9d8bc65e5a401ae28441dcbadfc9d3c0e1c240fbd *2ef237e04d458cbf29e41aa264802516f444c7cc08e62b7465dbcb6a66ecb229a436b1e5ce98e9 *2a54633284e4fe2fc18a219658e0a2099cbe63a59d04d9b0f3da38c2bd0c98d74c877a3da88c2b *e775429acaedba40d7a9e2deb0e4821199e8230371091123245da6aee08440c2b77291c26ab101 *9b2431381ffb39f48aca5d3e5f3da1130fa598539c8175fa4bd186229009004943a00e186f6a87 *92cd301286e399554a452fd167069bcb86234a452407f8940f7ce8c3138665864c372495a8c74a *a69c52c638300dab2c81a41f7348c31b8ceb9321ff8198c11585a5f71a5ebc3804c760481a165d *7a81ec8e4bf160dd77e5147ee7c49be049b5246e90c983def1f3ea6731e9d068a99ea53d9ca4b8 *2e6cb740afaab7b9aaf9cdba405fa2219e421270a67c9bd06843ccc628ab1c068761898cde5837 *539679758dbbbeda6dd832f8cd966c16b78b1d568976ea552a6fef25d2f529bdb71563c7229fba *910a3c02aa6909b200e3102404c63d0d581b8d93c965ef3bb0bd5fb2555b632e32852997c097b4 *460e62ebdad2468eec859a5d7df68fa08d0e6db4b03733eb4c9ae30764019b353fc10a529fc86d *5fa467adb0a4031769b8ba620f341de7d1b572b1a5e8f18a239ecb3fd49efa6502c3fe903385b0 *16712e15c98ddd4b558e7753ba8d81161467082327fd972a29c311e113bedfa70d76528abda442 *3a1cb81c94952c0d0c67d4f8d24bc8403ba5fdf8d7bffea59f9a19b55d6cd81cd68647440e215b *720eb783df7cfb43c1e1ac2f57c57213460d3cc74dad528f2660ae2d4e61b4e8bee6681bb40250 *bc582ab652cdbf69dba7848f66b4d41b9fd3677229db888d49baef1cfa8689b241b4a08809c8c9 *d38c7b89160d1ba2d6c8b2c4c6e96e28509edc912681d4c17537fcd5310fd17c37346118db65ab *db6fb82bff33c8cf9ff560e472aa6cd8a162c868a922922303f0ac49b9d9335b3d746ac647358b *6879f9340ce932bb251f0edd4a076ced9728bf3e5a84c19d52369811f2dcda1bfda4e43cdea143 *b39b556ddd68a9d981f3724e33253ae5d22e3f4b0820c661cd8cb18e2ea5c21152940895539209 *526ca7833fa571ceaae39cf138a7de3825223033f5821c168394774b03fe0378f8608b9f42f83d *e48e2a413732b0b9dab0af9d58daf82dcfb69ff6385647382e58e26e253c026f01f26368e05643 *29725f9e1a1bdc964661f45f9d9a5769b203ac36c99cfb895c4700a14bf4fc0c2c772bcf3c0541 *911ae3f96e1fc0684effa0d81df8e6d56dc03bda58d752d900cb53ae25d5caaecddce71b1d8718 *746ffffa9cd9103bdd3812d309249e96b80a7265ea7328a261eaa1140a1842268abba409a35f0a *c98082a108b1a6869dec96e535bf742f2983c3ba7bf32306c6e21d4768c7a69807e0c0fd3e4dc5 *464174b8203398b8aef16ad4962478399794610c0ac6ff411605fd0459de1b33c6a98d0c9ad331 *4f6b34eb8d27a872b8def78de0477e4135949f78579591164b196b267ff0567a535ea0fd4c0ecc *584b63ced535a8328f5330c3bda88cd2ac530e7987c5ff8ce8d768ef0c94ef2ab0b1f63fa37eae *c4e3f6295e29b6e02c79e436cfe5224fb9b00c6fec4255d64c8043349577ade67f3dff9610fb05 *c73aa24a4b71cba59b6c692e74d83327ee59f3c78c0ecefd840ece59df52c7180aaa7288f54b3e *344c94673f6bd924f75bdae28de490f13565822ed35241850d09cdcf3e2f49d1df7d260c0e4fcf *58f102d3732a4622a2463ac179b796197cc4483a2e1d08de0b2a808135d071bf2458be2ce3e7f6 *26b11929931cc847c73bc3a4c67ece892fc9e6551d52353db5940d5c8e76f69435175c97b467d4 *02ce55a4e27ab0963fcbd9a358adc13ab561427d62e66a8da9802b4b0a9937b8fd5b42e1df310e *171c6dc9e18a78e6fb192c1955f858ca4e3a907b26b43844b5cd492233251ec96da16cece3a04f *b18f7d8e1bac382dd81fa8d7fd6263b087c24739c87429864d870bb3ef5c92224929760f8a62f1 *602f856b7679620caec59a1890b81ee0ee533465a3ebc17a2e202691cf057c40737dd0129a8869 *9f5a7b930bec36a47372feca2f45feba2ef830d147240a3e5c34f521a39b7118179dbf509dc2fc *b51b60a97c0a6be15b129a78054a22f8b4b23e87cac13016a4f9625c34461c22aee28b26481114 *1c3849734c14686b14fa074fb1bb772115eeb4781a7221ba254408cea07e07df05e0bf690214af *3476c3c0740ff462b1244ca3f4fd0d80c117c7737ad3842b5e698cf5de141ca5fe026f0e4d349c *16ca58e09fdfd42c9f03d4b570e7984ae03220df4de026853672385129b5d10b64a21c17e50436 *c14ea0791338091ce548210076ff7be2d5a4b1b720a0166a35c2bdd1204d2fb18c0b41c09845fc *d49c6c5c08575763ddad3e7a83feaf1ffab77fc36780a5c0eb6a88920b0760d5f364d8b310a632 *fc2b906397cbdd627149050c2fc18dc1605026c128acee0b90b06c6d009000c1b908108a97c4c1 *7cf6394da59bd9f7677ce00d9c800500556005009a6d550000afe559429a11ac820f0fc288100e *8556021caba7757c407f004d199e784a43a5173b62796b015a39953a38c101ce5e645af2480bc2 *1ab172a98b477b42f09014bb101e30469b264464e01d80deaecf197fa0082b200fa8e15757d38b *cfd1d5ae278bf1378ac05165ce7c0b7c44d07f03e75b8e9bd5c72b0eddc4c048e50d5502e82e3e *3711742d0c72aca478b973501cf388d8976f09ff5d8cb9a22d5be1263997c6ddc04675074345c1 *8eb849536f47b76fb6bc990d8e55bcd23b06c4dded10cb2aa61770acb8c8171b56094b74ed0528 *62a85989b0f5896af9d502ef9493bfcc4293ecf60692da3fb32f913fe7f72d4a9047241af1807b *dd042b534d01c9e62e924df105da5dbacbcda5ca5bbc8b5613f6a0d751693f63cb125e3104ca15 *ae1dca2dcb001ae910f3de3509dc3a0cfdeaaa585e484ce5275c23019d4a88c7246f5197f50299 *71bec30133d40946b21b766a982966a3e7e2ad70f8f114929bb7ab5b1097b27d59bbd7b3e0e8aa *1491265588650e0f5831c9314014e9cd824d2439f106f2dd1d1178c43021e8100b5c0ac3c8d28c *7165ba5a4cfeeb062a91f6f7ccbab494c800b22ce91e254868fc9d418256f79c8482e67ccae34f *4013339cbd7e62e6889832b3cbbabd0e43a25c37c0aadff3cad1678579dde3957326bc29f390ac *07e56d6841114e920c7ca609220a06651f618255e56135b27e46f518683dedb0a6460c5c21d6e2 *0ff2983ec34daf5a08436b709db6140e702375338ed495e5ec574f0e8e1a57c049dc2bb820fa98 *ea24690ad1bb547caadba53c1028700ebb0775fa297bca37b59b9cc60d14e2a6c83b4e56361924 *7098127d1a6e89a3ba5310db6a0d0c921a9a3b0151620c72c2170baec6913bf79ccf9bb69e31fb *06dc7a7f1d8a71b5be01c7fe04d6eb099e95d1af4e017c5c9a065cebdb7cb642dfee3f5b7c7d62 *751da454770fe3eb97a499cba906b794cc9ead94d3296de9865cecc69326dd58efe58e05027999 *8de54f25c06dd0e7a8d0d4ad3925e6bb59d938640c8a3851e71cf65b2ae598534d523ece911571 *9d432cabc499f551c68d365c8a5352e1bde19b024b18158999f7fecd7c1c5706ea8dd238f60395 *f4d0aca3cf86e16fd8225d907d748b40796fd9eac0b63fe0b26e499096ad7bc3fbdf6df3cdde26 *0648529dfd82df706fa7f8554a9573d097ee44d29123cdb9b9ac9be0395956b968e2cc6fa4fc75 *397008bca914f9e29f9a5535e80fcef51cafd94df13e16a88a549009e9adbc6dec3ffe65c30599 *9bccc2ddae8b9bd1baa080719802d82e9cf24fcd4e29f24b9f5e55579fcfaa915f68e500fb90dc *73c73608606d40ff73be3a5eae1ba5c122fb9e361738cb91185a460b2e05c05100ca2dc6444580 *f9865fbdcd79cb5effcd96212e9ece9469eaf3093538c19a5c8ed9a9faa43f46f6690258c9c542 *410cb0ed1e72951d8d3391e4a4524d99eec902b882fcf88244abd4b019b48983dfee365019916e *38a61482b1f5784cab66e106de9286ab572c91d78ae36b4297c2bb778defae4d55094c6c431cea *b1a731934cd735dd7e80053e1998b239f48ed946ca51561d6810fefdb4d54d2835d7c68ba14b69 *48041cf443a0228779a36043819a9873cd3ff23595e3d8619c0e20f672e559a9461c0e2716378c *1203db0c58c72704754a506f4cf95e739d064fc0f30d32aed02a682c9951780deefa85b9e21e6c *6c12ab26fead0eec1dc6f1e24c776466e38c89912b009fd8945d2c1f9acfdea28509ef7d505822 *933a022fa777df246b8f2dff5207d771c995680bf16fd25e4b5d84357bb84df0640ffd9b18340a *610f1c37c13e455190322ee9606ea6c8c90b2956fc29077e6f5737dee8140d0f3beaa39fd319e7 *6f8d4c247529f7738be5cef4ad2c091698645ccc8d53c961c2664e03b43a01d2931174cca633b9 *ba59960ecb668182528d6273bc751c5d01a88777acaba9752d0ec19929943a3636d34d8531981a *7398880d120a4277d9a982314b563b6acd4d919fa48dae4ba32b91cf3869236f7eb6e42bbd3152 *a012bd5408a7b2a667a794af1e8c9ab91a3d9a9c9f924fc3cc2f49b0a283e3564bc5ddccaf892a *c31822653ecade54cfdf47e25a74b4a9917d2d27769f8b96f5da8ad8d513ae1a0ca26462229046 *96a4e7cddd2dcf7fb49e6c244a9a5518bcf17db545eb0c9a14f4bb18c34fc5e725b228435f221b *615192fd53bcc3226b2058eebff1fe028eb416d7c78dad5dc1de030ed605e5ba372ea4fe941434 *ec666d0915cd2854f42bae8e4863e104aa95bdae92cb04b176b041f6ec556b0ad527652bae2955 *ecc4cdb24b24a15c29a9cd88817c9c4ac05a81a921d2d15283ca52c065e070b2903a8e53ab23b9 *96f4c4a446c9659219fb5ebd5bb625b088ef7d805c845620e1011548121f9a27403806f9d33950 *2bb13721c2345f69167073638a38b31fd4943fe14ea89414790dc0c78c0ac43547c00926aa8412 *a0fe926f3763ba125483bf5e531006d5b129b06a6375994dcdc6ee654bf500899f4b5958529534 *9242681a974743823325c130da4cea234d47c59a8276a194cf8a8b651650d01d6a93aec7a51b89 *25c68ceaa4d89045c035be9906ce7eb0d7d205174233640875b2168cba2053a6395f153675d36c *6cd12aaa9382887489570ec2ed23647dc6fd9f928b82cc9a7c76bf92081f7ce2133cdf72bc924b *02738b94a2ac4c3d8934f75433d4693116de4842233bf3456ef421c47d537d1196862d712f9583 *b5261003176aba9268c1c55beb659a95b81d4f78ce2c8ffaeba71433cb92e705865b6f38860aab *66709d683ccde6ff107f9028aab6a4b37f59c346b3278c5828d55e1b2051c8fcc64242d66b2739 *ae2e8d16aa4ca0d41b3998e7527e02d43589931a40b00b73a02bba3764bc5dbc45338abd2500f0 *660964ce05dce432edf2b1cbad3c887f9560ac3e159fb1373370ad3bbed216ac9026aeaacd6121 *5dac9a221d56ae74a299fff9ab675ff2c437a6509ebb4a8ed4cf12c272bcc69654764cf19de0fc *0b331a8afb2a344048fda39ba789b34c90ecc7ab053ac0c1eb62ab63739d32e92b4de9baf2d1d6 *90a415c7781f61d61bdab2174704d2d1b83f811bf254d6c1823a075e40bae4f17425aac96cd018 *b221aecd910103fa7623ba28c84d657233f388b6f81ee0a2240f38ae07379b51cd562c75a9b2f4 *e21309e6072ec67718eee02faf8b7c31e12a3a9794a00457ab4a4db13ea28a73bb0772dd82d20b *d7a36241f69d2da8c284b1aab05972de602889bd206634d92d27231ed9044ae48da5681a5d5dbb *3571f123aab85bb847ac7949fd243f2fdf1b24f1def61c00c5971a4e75ca6c8888e3aa6e3d75ed *592a667e9d582bf6e42e080c689859f5131661f514ee6f6c0bcebda2b36e032fe49c95516c0e9f *4e1131392226618e0e94c21e67da3249b9e1d5e3201530e813d76155844fa5acac50109e6638e6 *743e5ad8a3207076a9d63c361599492c2bb98e42ff9e5e765bf3e02d3e46955be7afd762e733d1 *08197ad1e1aa15095bee7430e758043cc69ffbf617b9916ec211ddcabb806e6a2fa073aa1475ba *1daf16b1d6b6d5b59b02cdce17c3964de4690da15cd20d44df2c290c5942c196266e05938d2592 *77ce16493b50562add9c8379c3a5e87955c3db501158a88fc5b2a9d34fa82e28653551320d9fc5 *a5482b5f2783b76ea18d12a3e16a2a6ccd4c5ce49ccb1a714ccc30d3b2e99b29219c98c666a595 *e7185f36eb684824c338ae7b46978b38b98425510b05f27b0da7cca91497f3f402b65223dd21a5 *5582d37e4b22526b75ebf5caa49a62fe27a82524dd3ac3aeb91c89ee8f311721cc3c6bfe13c283 *395ced8bc7fae6efc1d56ef219753f9ffcf1af5ffe6fe6eedd7687e9134dc83d0f7d35dd779301 *3b7108e2001db957cd4fae6720ccd69f3cd13f6bc1b0cd3ff90de8713fb5921432847fbcbcbcfc *89acaf17520d0e381186a91ae31da8df9bad5ba61b4fc65cb89d96f29af2fc667845208ae80554 *529fbb1537ec3d621d2991c029a6bf83b97e4e4987c0aa72b7f8a3a424164e610b9036381f09c9 *c242aa7f596d2104124fa47c0f1401a17a4960827733cff5534e562e974cc3a4a9b9ab7e4f3033 *87927746aebd92738ebe594a8511ba7978b4c9a5da2adf05d77643b35e32ae51e937eb11c9df8c *9193c1bb6458e328af1161a88b3e2d1beb7df3eadb62f98a6f4cea657cf7a739ee6ccc599bb3ca *29c54edc163925982327e53a662d8995ccc9fcbb7a656f024293a13ecf23a3a3ddf113fce78cf4 *92c240c541f4f82881d7adbe72c5e2cc618b7f685110c0caac161ccb53161b261b3f55e63a2db9 *6fb37072339d4b73436c41789fe2c4708c84c1f0db4ec329cb993c312e1fd651255b9b0c9b189d *05e3578efe949bcc1b0859a60ed056284929e6caa7c2ca094ce0d11d68018eae9425df1e3be702 *2e4c1c282b60427e6d67acc18abe0d3219e2a1b9c3316354d3fd777c753227018cada8907a10a8 *02d305c0d65e50ba60942c85545a4e839b9aaaa3f6e8256a00f4a98fbaa3c56ab65c55a41c9cc7 *b1f69deb602b5d664aa64224213646b2cd604ad01c12c44b1cc53141c5278dacd5627b8338ed24 *bc7ef9e24b323ddbbb5a86faacf096f2984cfade4ba7e0490bef42b550e4882775b50517b06a0b *6d8bc14c8afda54b54f1cc972f377c5237aa4cee9cbc9481469c02b5f58d96de6e758a069b1a41 *bdc2e2141e734046abe6168378c3e6eeca8942574a15e319cbdd926467e4cb1cf8289cbb757da6 *395936a98c414861b2193da153c7482e7795103f83ac78e473af08a4d235741bea64227c103712 *6f055a5b2702c762c2821299b3055196f612e3e2b9a6a5a837a3826a3078213a73f69872de81a7 *ca4dc5fbc0420d157bf1408d95638d45f36ad9d48bab4a57d82f5a338f73b8f7c62ae71a1c2e6f *d71efa6bf5aaa4d6e5ee7da414164b939b49299ca9e7bde00267c6da42b7ba628681ee3ae352c3 *bfc3cbeee1667612bac0c48864c7507c5c9f8b0a72ad50a9570a135013abefbaafbe74394bd2c3 *42d8288950b90191b1916b85fb50c91abda948eb966f4a022298ec5f11f21a3b586103a5edb104 *754b94512c98b142e7ebf96a01d75ba00c316a832d9433339c91698451972aba97cb828c58fd59 *9aeb59537b4830ee08e38e2f1751462ec359c54f5a545519ee0970ae0676223be47eebb48d1ee7 *d1820d69824b7cd1d12cd72ae85b288a8cf656bab7b13d24ebe3acc9ba105f2e6902d21d571cd6 *2835f65e2cf9ffb251e2f2f33297e71b56fb74f52905bcb8873ba87a339ab2fa8def88ca4db63b *be5582ca34cda0c2e4423315a83c0a8e5a0cf276c94a6e8d4c31a5569279e9d2ca8eb9d44d2e3d *fc16f913dda82343edf6597d025cc36af88c4e1223c12c93eaea8c369898a4d7b510c77d6e13e5 *8001c2fd5078b3ae68cca6d893a86b38d4050f8573d130d1046f8190b3352a9d7207061609a003 *88c9e9645715ace14e529cb164ce48d31926ecd132f4310378c52952d807dfd721b9a6b0cf9e93 *482bfe9f2d46188c8575ece4867053176b5a8a9958304da783d468562895391e9fd328f99a0bd2 *b9c8c606b1d21dab47dfeed69c042fc58f66ca29e260533f65fb8698312ca52a46b01d0b67975b *e58b33dd9a0164e233a2407237e69238e362672e874e2061b9a914ab0bb5a4a6c05389f693ba9f *f6061a8d78f9c244d8211cf72a1a8e57fd11cdb5a327fc31c6b5fe24b77b763b542efb19e7672e *3ca02f39962837652db0140b5e0520fd2a5b142d27096aeb906d588997b5e35eb30c2398567a20 *5e7ee68c0d72ecfbbf2425d6292aa5b7deb84d66ee5ded33a7443457690079090e44b76b95d13d *254e8d355444dce08adcbde8e065f996033a4d6a3a0473236b8152b861e6ae0b5f77da6636e0c2 *78c567b25778db7a7e6b4f2e738780e7c6a64c627d25a62dfde04d452ccb7138a3db4be49a01a0 *a0445cc78bb737abf5eddcbd4111f10b0d45233aa89be59a991b67c4216faf931f89571a97942e *31b1e53961b388ab180b5e4a36d82ee7fba37a4f896a9b9c2acbe1d55ae2f39af8c4e65c7424c4 *301874c9e7b4dcdd5ca3432f8188da4a996126019f50be8180708c1b1d625c3326666c6ea1603d *608c8631c112415e20344382bb64a1007e1bae27ab027f2911d09d846297f982a27e4f06a70e0c *8e4bc8129014af0f33475d3d4b3c2d076799421a4527c3506817e4cc290e2b35a07f6255b6d3c9 *32e37ddb70e18b12a3734bab2c8ae9963996cb028cc3dfd08f3b000ec84c7ac4695ccc93f46ab3 *8be8399cf24511aeb399952fad746b868b4cbb1c2d35e7db09972c1fa5df21840b017b7503ac8c *55d36355aceacca8c8d295e4862740e3b780a61279a079a8135e246199a993813e3755c7a654f4 *f4b75c1f75e1a3db0ce3e840bdfc6f8a8e714764ac5623ba417d211566a752fe91c233f19a55d0 *fcc78ea65a1a8a139b61f476310a6d50c536ce9e09dd2b231abdcf413b03a9aff8df929b2f9708 *ccec064ab2bfcbce6c348892a74b3518d9ed4981aa4ead600e1dcde0e2cd2b722b90070d0e566e *509457bad65e62c435f4ae5abf45838f14e0659ac2dc1b0a1aa5f07577d8d8516e2d6b92c2112a *e72a23772ab35b9320561ce4c0d1361426e39950ad99d24c66ee4ca6762653d493c09045e1ea94 *7cd7c09a27ab9f4929d0cc01e57d259125f7a812d4ae89a24ad942c8a59280dd526068afd153bd *46d7090c4d6d2e1f87712694cc77b39aecf44108b1e1bb11c648bc766ea6c2634c7173bb5a8386 *08a75af267e1c9e3869eff7deb42ebd0199e2c4ab72f15cac61a4c8f0b34805a9d60b2657f3d43 *efa2d23cdfea01741b3dd468415b9acff3d1a435e834fa29a01c7e448edea4973606a81bfe08bb *837547a87fe3582dc29e5805d5e806a8db1d78813cb1d0d3b00f59344f5a3363b7d67f7f0adff0 *cf491b2bafc0df5fd1ecc91387f547a4960ab9e7148e155f4af022b89f607a498ada105cde9964 *784b06c022b3ff4ced37fac3eb19ea1ab83ce37c89bcbe93a8a4d3a385d4a012dd3ffcfd152579 *b8fe43777c390e6fae4732c391a9a48bba029c5ae729c3d023f80bd8286004a8c2c2107a78e518 *f85ee7a02cc195a41a1a1ba9349ec0d2ead3070da0b00b346d7e820f7d82094704ab8f37b43cc1 *b8663610c2500678930a2ed260d0c11f3918a9c7a10ad817a354daeefa491f573837f08435b04a *051229b954fba0713d05d10d87db8cefa3a0273e110b092cd11f3ea7907753ab5eefef57df7da2 *a1cbdb69d2e3b7a78c42ceab62d8876a25b6c3146f8575925628002343396656004918a7a68fbe *2868b8b2e714f1e38f7ffde1cbaf7e40f4480435bafaf88b976f230a40c5cf19230996f8c48ff5 *f3cf3084624e2114b8a9b0f938b41ed6d5859da077f0158be354d1d841a2196316d223c3e8271d *deb6b48f51df4fbcd12817348c86e8f4378c0f08826ebd47e4da3f0ccf176e911981d0adf6308e *8cae97df3f8e1ff2312a39e09b9f8c88de344802a60f8143218bd288140ea9afd5d20c1df0820b *6b8187c0f4d9e333b8b7c159299591171d4748eeee27d57d13cad223fcdbb36fbff9d35f70cbb7 *ab5bdaf45607304b83d0b2232307f98f9200f9c91764d8812b8a50cf230a9e4bf7e4f936abac4f *308d8cbcd3c063e76819e868a695f59384d9cd78b445ff294abd6eb7a3b23edab08d1ee9a48d5d *c94a18fb1249050d5265780f821e08763aec11378495eeb43bb26d9d048db13f49cc417b4849ab *18e4b4c40c4820fc4e8a464e2932dbfce4db6f3e81b7b37e9749e14a7f41a954b0d8fddbbf7d72 *0976753d96df40ae779fd76a0122fa933fc04710c7fa09cde813bce444abeb5dda1ebe36e013e2 *8a08604049ac9f506c244198c307572d5c6ea4e39fa440061a2b992bcc6402bdd45e1642e55c35 *597c821604f054363ff9f30f5f7d8dfb0e3655e88219b11e59bf4d1b3671238ca4bba19c322487 *0d4c331d2e44f58c5dc4d6aeea3bd72ed0b3a3ccb5b773eb0f21a79f13b5a535b81e06842cf3b5 *56665f598d3faf1a6c4ced06cd0739052e4d7ba0c0fcfb753e2b965a4507d30f7898ff7db17803 *3588f5ff6f1b9d41d6f8f7ddfa4da3ab39a5fee1ade699c3a4f1efebd745e3df375a73a6f7b4da *f44700f3e58a2eba7fdab85eefaef3f1abcbfc76a3fe67e33f377963f57ad99814549648c3d9ae *1aa35f56c5a4315e2da70bfdf94675f1ef0d1c907ee9059c89c08bdbd0fbdc584da7ba3f2d702f *933e16ddb23f6de541ef25dd0142d26f36a65a1fdd3636e3d152ef66aeda976d6c8d6eaf77394c *87707eb5403abdfee5a0d7ed6bb2bc701ed06f2fa087bf416281160ad00170a3c66a9937002c74 *b4d6e78b7cdd800016f599f407b14b8da471b35b3448396f4cf2a986f4cd8d56351bb31cae0e5d *bf55f014dc6c3990699804ad86fe6f5dbc513f22a476a38dcfc1ff3fa97f362861653b2df4984c *97106535cfdf707fb75a8bfdbfaa80fed4b87dcaaf082e82fb38c0b5e1dbf4844d9d12580417c1 *bd2770fd8c49a39d9fea4b9d0e540417c1bd3770913422b8082e082e924604f741813ba050b50f *9c0df4f9612f10fb4c9534066df8b243a1df07ed76fbd8c19fc30246701f2bb8e974cfb919b0b9 *fe01fafb7e20f699106900e158e218b45d527287889f7a3f3de6023a447daf057578cba1c78e01 *5599ec43467770ed029ced3e6bf7b0b17d50a4516d0f278d30718464865d6c7fd11f6b01a9bf87 *100782db0fe018f001d270d9c449265bed4fbedfa51375cab17d84a4219fbb3f1f260d4b1c8748 *a3bce4bc1f275fc0876db1bc7390348e07e54cd63289bb8cadfaec1e99769f69abc363bb0bd00f *8a34fc3fd6490d21084b248748a3ed488e30695821ed2e3dfc5cb12fbb7f2c733f57d2977ff616 *b0faa73220ff2ffe96dbbf28f7e1eaa8f68da7fca4195df9b13211fb23f5f5237ff4ca875e9d40 *5986f84f97275e210d7f6cfe741f09974f0ceec4a431f6a4ca71a461d5aa3ad270b7dcdd25e5a3 *58152baa3853f7176701f7e186fb7f58f1b268a05c10c78ea74a77cee8dc9e0e4db2ae6bf9aeea *046379fafbc66adff544e4fe657e345c3e31b8939386af561d431af6ccb19f34aa0bae7c6aa9df *d62aaf0eed94b2fd59207705649f53553eeb5356ddb4aa9df3e88ec1daf062549fa9c596c39d84 *26aef6bfe6aeeaa3e1f289c19d81d4909f8038aaa411da70c348fdfd70ff548f2d3ec25516300c *a2faa93f92f26899340ee34b68d4e58ecce8f64f2f3c651fa7ed277b2c54750b2fdf4313af9046 *78c2c77e7d84a4719fb386fd1917b0421af53b65f465f9838b05654e57cfb7bd050c51934f1055 *51e58ed6fe6d2f2e873fab8e33481af574564708d56e94ff507902fbe82e3471e53f5e37b647c5 *e51383738d4b3ec3bf0769dcc742d56e2763faa203b94f1a16cb7d22a19f9db386bb07fbd400ff *990a6994c1d56d7215903b5afaf4c0e1a07e3ce1ee94dbc3beb1f99ff99f7b32adcacc432b591d *7788a8d471637b545c3e31b8a349e318e36de8ab9e348818aa90f5e7a79df1b1bb720efb7110dc *dd14930f7cb2ef15dc7bf3868b94780871fcfa48a32c54ce6b741f17b8e9b49f85bf147c03f4ad *7b80febe1f887da62235f6b7d3cdb82ce7cf7b3ff682abd366ce63741f1db8daa60e20af8bc447 *3c13236f23b8082e0cce90469e9cea4b9d0e540417c1bd3770913422b808aefad5ebfaa4719d9e *e24b9d064c0417c1bd2f70bd6e248d082e820b7c45d288e022b8e057248d082e820b7e45d288e0 *22b8e057248d082e820b7e45d288e022b8e057248d082e820b7e45d288e022b8e0d7f1a4510ebe *a24fee31441f88fba90559065d0bce7db00af4040b181aeb8327bb7f2ef7dadefa0e8e06b77f9c *6674c72df1b15fca5fa543933934f5f7461a873e29cdf85840d54fef4d1ac7cdfa4ed872a2c91e *1eddfb258d3aae7492d1d57f19d2386e8d0e4dfdbd934695c51f8dcbd5f9bbc0ec77ffa923c0d5 *8fa9fabf3a6e07423b75efc986572b344e2553913fdbffc3afd44d967e3e0a5bea763700ae7e89 *c363dcffa5fcdec3c87068d5bc9dad5f9bbbd1dec349a3bc2777c096f204eea150854923bc63de *02de155f429ddd69b2874726df551d45875fb12dfcce0348230452853ef61faedbc5d0d701d270 *2757bf9fa5c9d6bdfe98a4115a81f03a1cad7eef9ff51d906fdf98ca7fbb878e7192c91e87e72a *34b1fd2c25cc560f8eae3ad5faad90ff6b492334aac35f0749a37ed542db54218dd0948efb3a8d *d4f0f7e5086c09cfeb5ea4010fbbdf43632a8ff78ea471687c27941acee8ea70d39d9a0fbebab2 *f0fbbb270db7f7435f07152a7fca77248df0948efb3a9d421598f1614027220dbb0ffb16cf7e3f *5fd280ef7754a842e0dd85793fa4712c711c4d1ae1b1964758431a779364f475d6670dfbdc81ed *dd8f80d50dbeb785ea1d90460df21d471aa1a7ee69a1aadb922315aaea2a85bf8216aae3275746 *a1b3220d9f6b1f892dee2b2eb0ea6a1c04e73f5c3726bfb37bf83584501f38d93280ea4220b8d0 *c7fed44280ca9b73c7c9860056d7708f856a3f4a84bff6f835ca7dd7ada1db6dc542154292e3be *a2373c820b7fd561d2798cee1ee0ee4618913422b8baaf8f8c34ee2a3322694470755f1f1569dc *9d3022694470115ccd57248d082e820b7e45d288e022b8e057248d082e820b7e45d288e022b8e0 *57248d082e820b7e45d288e022b8e0579534e093877fa9d38089e022b8f70ace218d731d620417 *c1bd0f708634ce52b0457011dc7b03174923828be082e0226944701f34b8935c3d131cdd11a471 *d2db71ee0ef24497ed48c78f7115d0715bf74893ddd7cdf9dd7be48ef6cee01e89347add33200d *19c489c0dd7df68f812de1957d47a4b17f45cf8d34fcd19e8c341897ef2e72e00b8edc0f218dbb *f4553b443b88bb803c81d8753b56a772dff0e8ea5656beeeb67a779ceca1153d2f0da83cda9329 *540f1a5d240de93892c60326fbb0d71f8d34d27ebb9df6157cbbfbbf481ad271248d074cf661af *3f2269a43d4d1af4df5dbf47d2908e23693c60b20f7bfd3149a39f75346974ae4112747457fa9f *960859877ea3bf783ff5e599d39046b546c69e05ac3e14da48a9d7510ff0010b284083a411aac8 *71f7af3b90c6fed5bb4309100b20bca247172a0a4fbf7e391e8b348e2f42125e5fa20805a8df43 *946702e91321f450756232c1ff5dd2391d691c5abe3b92c6e16a0ff7de0f0bf87c48a3bec35f2f *69d455c839ee0b40b5db03fdae2274a70624d0b916f9017fee99bf11e1c0e7f0efb148235423a8 *a6025fbdd4f0f7c57ec675c1fc0fcaff1ff3d991a4e14ec6d673f24b7c9519dc8348c3ef904923 *b4a475459a8e208dbb80f33fad2e803a04625f6735a4e13ee002ab07535d5fc273050430e5361a *08599002d5b91e9bbf8d914c8074e089c7210d7f5be537159ee13152a38cdf5c17ec6e4451fefc *48d2084f66ffa70f228d1068b5af3f1f4feb56d4238dbb81ab1f1dfdaff68338b45677208d2a02 *d5118790863e6bc07f96088038e06bd026cae9f5e92fe3f6201199015f8f7bd6289186ffb07dec *d059232c1c94ffa08ff4552055007b48c39dce3b210d775142a055b587bb205bf9cd3b82dbf757 *268d7d0f557ff301df496adc8d3480fd1bd2e85c5bc901b201f42df809004ca7f4047cdeeb9f96 *34fc9f42b87527d2d82f350cb8d01fcabfd7fd7f62a9e1cfeb1e52a3ba767b4823b4c00f208dfd *e0ea97c3218d7a10d5d5f131e0dea45145257f7d11c3fbcaca08519e4472d003faaf8990867c0d *4e68a13a8c4d2af448fd46fa785efd7f8fd4d84730eeff2757a89c057cb842e57e768406f400d2 *3804ae7e390c691c03b00cac6eb477921afbd697b05cd1c15b48c3aa554014242184348880e8fb *7b3b6b1cdac823a546f98f77f93f9e358e05573fbabda421200eadd591162a1f5c154c757d09f3 *955191fa80d08336110710001141486a3cde59a33a8d8a85cafe741f0b952735ca2fc8c327911a *767a75fb557e0647f74e2c5455540c235b7993ee08ce1d5d68e2ea10885067610eb5c7af511e55 *194c757d490494142af8d91207fd85480355abf669a5c6715fd11bee7efd2abce1f598bb6fb435 *e08e03265f8e42654f15441abdbe4f1c9d6b7b0cb7cf46d2908e23693c60b2e50fcaa2e56ea33d *21690cda834491341824421a242be840ce92232169023fd1b13c4a8d481a27996cf5a3fddacefe *d19e8c34e888a1496390b852e33a25c921c4017f1792819fe9781e49433a8ea4f180c93eecf547 *0b2f242ae06338fc0808ad91be4fc462890348833eedf5496a44d288a47192c93eecf547230dc2 *75054441b2002d5409490dddaf951c2c35e05378b63b7c38691c5bbc07bef6d603ba3bc8139517 *928ed5e90a6e99d11ddcbad3acddfe8985ba39bf4a4fee68ef0cae9e3400cf954882ee902d549a *3806090486e82f1341059f89dc40e2a9017c1c699c7001ef0ef2d4a4711a70dee8f693c6c9d66e *ffc41e71ed4e08ce1dedc9480304034a0d2086711bfec971bb73ddce295a4a880308029e01127a *a84275d7aff392e211dcc70d4e142a2d3546039002edbc8d26dbf6de4687759420913422b88f12 *1c90c6182db64ab235486a20991c680f8da1fa18163082fb58c14902acb937dccdcb48fbfb4903 *5a248d08eee30447597ed0d4613288a411c1fd7ac045d288e022b8e057248d082e820b7e45d288 *e022b8e057248d082e820b7e45d288e022b8e057248d082e820b7e45d288e022b8e0d77bbd44e0 *bdcc38828be08efa8aa411c14570c12f1b8dff80b8e0e0e8226944701f34381b8d1f4923828be0 *de09b8481a115c0417046748e37429d3673ee3082e823bfca5f5b3481a115c0457fd8aa411c145 *70c1af481a115c0417fc7249e3216522fcaff32b6311c145707707174923828be0aa5f79e293c6 *190ab6082e827bf7e0c0c51e4923828be02a5f55d2804f1efea54e0326828be0de2b388734ce75 *88115c04f73ec0c54091082e820b828ba411c145704170913422b8082e08ae441ad31334750a20 *115c04f7bec045d288e022b8608ba411c14570c1164923828be0822d92460417c1055b248d082e *820bb6481a115c04176c913422b8082ed822694470115cb045d288e022b8608ba411c14570c116 *4923828be0822d92460417c1055b248d082e820bb6481a115c04176c913422b8082ed822694470 *115cb045d288e022b8608ba411c14570c1164923828be0822d92460417c1055b248d082e820bb6 *481af76aed5253f49ffce144a3b3f04f02ee54ed57022e92c6bd9aa0ab20ae928f4e461a2ea087 *023dafb5fb50c045d2b8572b23ad920f4f441a6530c781ad7be2bcd6ee43011749e35ead96344e *d35495100e9346fd13e7b5761f0ab8481a0f6a1e69d8c381ff73f9b3f2eb552aa8210d0bccffc9 *3ffb3cda647f65e022693ca8954823744408e1b3fdbbfbbf85b18734ea286d9fca759e6b77eee0 *22693ca81d411a77f949de8ba47106e022693ca83d9834427a50248db3001749e341ed2452a30a *3492c619808ba4f1a0f628a471c0421549e3dd808ba4f1a0f698a451e7d788a4f16ec045d27850 *7b0069943f2d8dae1eeddba5e63f138db7a7021449e3decd454f553e5a877f2e7b32caf85d1a5d *dd9fcbe0dc4f1f69b2bf4270913422b8082ed822694470115cb045d288e022b8608ba411c14570 *c1164923828be0822d92460417c1055b248d082e820bb6481a115c04176c913422b8082ed82269 *4470115cb045d288e022b8608ba411c14570c1164923828be0822d92460417c1055b248d082e82 *0bb6481a115c04176c913422b8082ed822694470115cb045d288e022b8608ba411c14570c1f650 *d2a8e6f5578a6c9ca6457011dcbb05f770a911228e930e915a0417c1bd5b70ef8134ee770dc5b9 *2e6004f7b1823b1d69b835c4f60cb1ae56d2a176ae0b18c17dace04e411ad5c26366887515c9aa *5750f87faf7673ae0b18c17dace04e431ae5327a3c44f9a8aec29efff7ead36e3bd7058ce03e56 *70a7250df91987e87e50fda9eeaa090bc06fe7ba8011dcc70aee54a4e11762c5211e471ad516ee *e65c173082fb58c19d8e34cac5baef20357c00b1a47104770ee04e4f1a82dbf7208d7dc471ae0b *18c17dace04e491a3e66df9934f6dfc872ae0b18c17dace04e4b1a2e66efb5508549265aa822b8 *f301779a18aaf22766885505c9ffddd5c17c7dacdcce750123b88f155c8cbc8de022b8608ba411 *c14570c1164923828be0822d92460417c1055b248d082e820bb6481a115c04176c913422b8082e *d822694470115cb045d288e022b8608ba411c14570c1164923828be0822d92460417c1055b248d *082e820bb6481a115c04176c913422b8082ed822694470115cb045d288e022b8608ba411c14570 *c1164923828be0822d92460417c105dbc348a3ddaeaf75503b44b7bead0039d4c95e70e5318446 *55fe5d1deaf56e4d492f270527cd96957800b85065a30780f3db31e0daedd0c60447f7907626a4 *e197f5bcd310efb24f072e79aa8ea1fc49b58e8f3a1d1e33b85302ac4cb6be16f01dc0bd57e4f3 *b7a6421aef7974a1762ad2a84eed04a4e12ee711a4515e7ffb53f509758a9d708490ffeb43db49 *4943efac0be4a1cd80bbefebe54f1e7bedeedb4e2d354a7cb9ace5f80fba985c05e057a8522e7a *972b5f957ff647157a5ab91ff89a574881a9ea66a5528de57a73874195ffe20e43957b0d95b473 *a757af72f1dad9018716b9fc4279a4fea855194c791c75a0cb5b456f18d2a88eee3eed8c48c3c5 *10f7bbaa7e74fc77016eff57871f73ff5a1d95ff842abf50057197b1aafbbc580ff0c1e0fc097b *52e39825b70c25f4fd2870e1d1f82cc8dbd93217284fe3d87646a451fdcd90461dd7adffee338c *1ad228b3a33abcb640ab63744823bc7df5dfcb3331e0aa9cf82edfdd61a887009a96da5e5c3e06 *776b48e3d0f842d8ede3bfb3b3a7228c0f8334e8c72a79ec278d10f01269d48fa1bcf2615231a3 *2b8facfa4a18e9aae2e8246cbea4503d149c055b4b1a7593dfdfc1d142a8aaab85807b5223a485 *ddad7d08a471f7edac5bca1269d4a17b99f7b8cf96595954a80e4dfe81a4111a4d8834cc29927e *29efe0dddb9990c6be439c72ffe88a5e397e953f096fab3447ecfabdb69d56f789fd4c7e0f2805 *feefee777fcf4292b0a250b93dd681b27f298355f580aa2f87baf15752b9eb51fdb9bae4fe4f7e *078eaa5c06581e471535425357b6bfd086dcb59d0969ec6bf718e2be1539c18c83a4719a766ee0 *4aa4f150707efb95803b23d2d8cf2a4e34638fcd9fae9d17b8f24a9ed7e83e147067431a87a4e8 *b92e6004f7b1823b1bd288e022b8f302174923828be082ede1a4e19b274a06c863011c7eea4131 *6d2701f7284682f0e44b5e97635ed9d76a46170613b659b9ed24f1670747f7dec19d426a846dd1 *7718e22391c6231bbc4e04ee006984fe7c22d2387644654745248da35b78a58e18e25dfc3b47cd *b8cec3744f70c7b720b8e330e80ea47168bdea3e7f2069943f8da47164ab3a6ce87bc00b567e71 *9f2bcb05cfe0ea1e2a3bb3fc4f5dd7951d5f2090d7f76bd58faafc0432d2aa53d15533cb23298f *2ae8a32b8fe1d07a85a6ef3924fd55084d689fc3cd238d435b51fe7c5ffb9849a3bc52f4bd26d8 *c17fd57f25fcac71c1ee7b34d4c5bea78281bcc78ce32870e5e9ed7b55feb9ef55d6eeb8f5aa9b *7e65b27759c572e7f70a01dad73e66d2b0dfddfff74491fbaf56f7cde7370749a34c9655f05564 *388234ca23ae932638bafdfddb4ffc91d4757407d208030d4cb6fad88948c3055c9eeaaf9934ea *f1a71445beefe5fdfb728034a48beacb0f921a2ed8fa51caffca7f3134bdfa4ede9dd4b80f98f2 *5bc1ad701f3b5e5e30b8631f7cc7e01e2bf2d6d1e6abccb3fc72885b57f8f22126bf6f34f7208d *3ac43c0a5c78e2e15743ef3d0669947b3c196984a7723c897c9ca4511508764554f8b1eae3f257 *572cfb9c1bb7b7fa50680c21f5cabe697f522150f6d1f0d4c2cf38c8175a0d7ff22e068530899a *725f3966bd42606cc7cafdb5fc7ffd02543ba69f025bb16fe70eb58f9334f6b53bf999ee0deebe *eda37593d8e6b0f95380b3ed5702ee1d93c67d09e31c163092c6af0b5c8ca13ab2ed27eaf73dba *6a73d599f31bdd87002e92460417c1055b248d082e820bb6f7461a773d75ec01b70f946f07b286 *9cf7a9cd9fb33df318a392638e3bce0655edc27db7e6507a0870dd131f3e69bc337061d7c4b98c *eefcc01d49b8be3dfa6ecd7ff7dea6cc481a0ceebec6ad939046d8c361db63e1f2fd2d7a4170c7 *b4ba2e4b22b2ea3eba4f171f3769541d5ad482d50bcbbe37f7a5ba67e96727dcb3ea59f21ff6c7 *e677624657df53f8337f9ae539a8ba49d48dc507547e57f9fdfa93a8775656bd740c2efc4a687d *c2abeb2f41252aa62c41eafe0f3faf6caf614f6268aa164c799dcf8634aa9abca7cd57e7109ad7 *31df2bd58ac263d8ffb92735ee3e2a1ff05e707719cbc1d1dd6dacd537543d32dd751b10dcfd81 *c8f3254abb1f52586c73db19914699bae57f8f34ec43e1cddef76c8534cacb716fd2088d2adcfb *9d49a3ccc4ab6b54df89578bbc7e8afe58ab38e2205fe815775cf4afbe137f09f64a0d1773eb17 *c3fd49ed9b663d0285277d56a411fefd24217241d2a08ff693c0e12ef606a3ee077b14694c03ad *8c7c7616b5a3db4f1a61f0d5372a919ee5c9b8fcf7f0c6d49c35ca0fd7777a0fd2a87bb90afc8c *4823bc2215a9e1ff793f83288382ef8fa150854615eefdcea451e5705560f57f3d9234c263adbe *5191b85536b36fa47b49234cdffee7e1c590bf1c2935aa530d6dcd1991060ddb9d807caf1cc3e5 *8ff67ff73777fed5671d5c0ea9046550eedfec1325e4abf654df7b08b0db54dd24c2abb46fa2bc *7655acf0a75207343479157ac53e66bfd74ddb1f4aad5fa3bcc8d5c957376c5a2d8e2c885f7dc9 *7da63c2a6967441ae17622a79a6d1f1db8aaec7810b87d2d82bb4f8ba4f1bec045d23873708f43 *1a2cc54f314069e7ba800f0017d2821e00aebe4570f7691f8e373c828be0de29b8481a115c0417 *6ca7f66bd876f6d1a3fb5e390cc0b7b3dcebac11ee0495d1723f7707eefe767410749d55c8ffbc *e2f2f347ebbfbedfa216583bf74ff76967431af5ed03881ead7be5b85d7137fc9e678dbacfd531 *8f1d0f7aefe85ccc757faf7a3ae49323c185cdb87e1715d2a8ba45eeda3e26d2386e0dce9734ee *6d8e7b34d22833dd03b92e655b599834ecff77248dfaff0352a3faf25ddb9990464856d26fd372 *751cfff1b2bfcb5d349fa7c867b5b1adf6f3fad1949f9c566f35afd323ca2fba93b7cfabf004eb *fb2feb197ee7156c7127181e4df50d6f74e5b5097182aaf4f089c4218dfa918468cda7b6f2c80f *eab66104aa6b67421af573de1379bbefb5b23cb7dff7c4b6dee5bbfc5f33baba4985f6a4ddb658 *b667b2e1fef77f0f30d243eb567edefd7fef647d2af2ffeab31c8734eeb27676adfceea4050478 *f9e163a65d0beebeed54a45165a90748a3cc51cabfb9cc2d481a65aeb6afab2aff53e1d7fd4985 *ff1a7aca893ba9624515cca199dc81345c02f557eecea4e18fc5efdcfdfc1ea4515d10db82b86c *57c45d9df2e842edcc48837ef257622f69b82fd49186ffd99ed8d66308a40c5c855fdf0f303c75 *1edd7e4cd8471ad58e1f536a84d8d831bfd99f8e200dfa3fbc2065a07bcf1a7520eadb99914668 *1af756a8e47ffbd72069f87fdecf56fd277174e1d7eb26b58f349cc986801e268deab3ca42be2b *69d4525a88e7845e098dcdfde948d2f05fa9eb24401ae5557157673f4f7046778a769a9ab75531 *ec9d9bcbf32cbf10fedc075e1bdbeafeef7ef7c1973fad09f794dffd71b932bd0c947e56e50743 *6855d765f5f360de963b097721421be2ffacea7a2b4fee98cf0391b7e1fdab5b2dfb3b8faebcf4 *e1dd0b8109b533218d7ded5c9d9cbf6e70f5b2e35ee04ed1ce155c248d5f17b8481a47b7481abf *3670c728257700f7f076aee022694470115cb045d288e022b8603b1d6904ec18c73f7cb8dd2124 *ab0c3a19b95ff0fb91e0ca2fee1ddda147aa60f7823b658be0eed34e2935ee401a773f07de2928 *ddff9d90d0fd7e34388bbf0749e3d02316908ca4fef973c5965f15b8774e1af735913c8034a8f9 *887867d2d8ffcc9d48631f70faec5cb1e55705eeb4356fed27c160d4b2c3aace736a9fb43fabf2 *1f42de267f1c7e1344246ead48b3b2dfdd3f865eb27fb55a9955b694fdb50ccaefa20ade07cae0 *4213b87f8be0eed34e1f2812884e08050cec0f7ca87e7e87cb910f490d66f3553dcbd7b9e867ff *60e03f677f53fb40f904531d53f5fbb962cbaf0adc694bb4c9ef6688c792462890c0efe0206994 *c7516e479146f97c5c66f62112aa210d0b2a04b00e5c248db301f738e1854603ba8bd4a882f6a4 *46dd6bf55df8ed68a9117ec9fdfd28d2a8035295209134ce12dc99285455da2aff5549e8595d7f *f6b707498deaa35520474a0df9ad4c1a65352b92c659823bd531bc7abe0e1ec3e513ff2c5d1799 *e9fe562a84eff7ed7e6eff773b75d51b3e3797cfbffe63f6b71066974f20caf59af8a0c220ca7a *9b25213e863f2c96c36fe78a7ce70deec3f4861f8337fb9f39d7fd88e0ce06dcc74a1aee13be53 *db931aa7fa3a35b8475cbb08eec8f62192c6c36347cf773f22b8b301f72192460417c1bd037091 *3422b8082ed822694470115cb045d288e022b8608ba411c14570c1164923828be0822d92460417 *c1055b248d082e820bb6481a115c04176c913422b8082ed822694470115cb045d288e022b8608b *a411c14570c1164923828be0822d92460417c1055b248d082e820bb6481a11dcc703cea949f0f0 *760ad2902205fe3f55f787fbfd53a704e6d4563cd7d19df7da9de5e8a89d156984dbf9f21603ce *aee749c09dae4570f76b4869a702762aa9516de7bb80115c0477448b52e374e04ed722b8fbb5b3 *961a8ece572e657ed7e68355a7c363686601db5ebb1bb9d8b7ce175b22b8fbb6534b0def3844bf *9c06a71f83342c29dc67a46ee5c573ddde5f19b833961a2edbbd3769f8cf1b708f2435427d1ed7 *dc6907f6e321e33d5fe4fb15813badd4a8210d97bfdaeffeef1644b9262eab2cf2d0c3cbb3f1e8 *ca34ed8e3034b6f2383d70e557ecc0ef3dbad3b55f0db8b3951afeff25a971ccf7109892d43895 *8e562b358e1d6780341ea29ded1ddd435b04779f764aa9e1b2fbc7238d5394f5ac951afb4658ae *deee818ba4710ee0a2d43841bba7d4a87b47d5bd7c92d13db44570f769a7931a65ec7e3ca9517e *e13eed5e52a3fca4fd4b248db300779652a37c210c3a22fcbb60ec1f5df564ff51bc04cefefad0 *797b0b58ee2b3cb66ac78e91a03c3dfbf38347f7f016c1dda7456ff8e9c09dae4570f76b672935 *aaed7c1730828be08e68516a9c0edce95a0477bf16a5460417c13d3eb828354e07ee742d82bb5f *3b3ba9116ee7bb80115c0477448ba411c17d3ce0ce4e6a8825dfffa7eafe70bf7f31373c8eeec0 *3f6a67451ae176bebcc580b3eb791270a76b11dcfd1a52daa980450b550417c1055b941aa70377 *ba16c1ddaf9db5d4d8abf33d04151f6b3ffca8a9bb35fbe69e1cc4c380ab4f2817fa5d47556de7 *8bcbe70cee5173c34fd91e4f6ac890ef471c0c6edfcb87c10648c30d6abceba8caed03d88ad3b4 *33961aaead40851ea87ff5507bbcfdf0877fb7e64cf6e4a471d751859ea3cfce1797cf19dc23e6 *86d32f7e93c7caa1e987dbe34b0df7e732cfaee3e125a9e14f2a1ccd1efab93c1055edc507e9bf *5a5e61bfe35f51bd93b3951afeffaabcf33e0654d1727f7b1752a37e847563ae9c3542c87ef8bb *6f990f92c6beef8756f97c71f99cc1bd83dcf0eaa6dd478579f752c3e7caf6d3d0f3aa0c6c1f1e *9771b92a8c0e92467984d5bffc2a49e343921ae107aa9cee707b97678d1053f79f2cbf7107d2a8 *ebd8931ac78c2adc65a88bf3c5e57306f70e72c3cf57a1aaf261f9a9eef32abb6770c7ea8ebe30 *aafe6446573ddd1c4f1a65c0e78a7c2707779652c3d5348cfa5dfec81e25eb7589baf66efd1a32 *52fad9ffdc1fbb77d6284fb9ba36a167aa9a668d5fc31f95055d05e77f76beb87ccee0a237fc74 *e04ed73cc23d21b8d3b4f305779652a3dace77013f30700f278f0f68b267042e4a8dd3813b5d8b *e0eed7a2d488e022b8c70717a5c6e9c09dae4570f76b672735c2ed7c1730828be08e68913422b8 *8f07dcd9490d6bbf77ffa9ba3fdcef5fcc0d8fa33bf08fda599146b89d2f6f31e0ec7a9e04dce9 *5a0477bf8694762a60d14215c14570c116a5c6e9c09dae4570f76b672935aaa148771ce2a158dc *0ab8873989bdc8db87fa9b4f1aa5e46c6f5df0d55d477cbeb87ccee04e1f792bbb76e721eedfec *00b80793861df2fd01d1fb27db0f5a3d2f2eb8cc32fccf8f69e78a7c2707779652a3ba77ef8334 *ee892d0f9519d387dc6aeebe698c36ee1fc2cb7befc93ebcfd4ac03daad408079fbb7cb0ac22f8 *91dceebba59a1df5b1d8c731d50af21dea7fffc44b09b0fed8ecb8ca9ffb6376c09547e7ab53ee *e7c7b47345be93833b5ba9513a6bb81be91283ff4ae899d07755469ffaef55465b6d01a971ccf7 *bac9ab70dff701ec9046555ef8eca47e7a7b26fbf0f62b01776aa961f74bf94c3cf4d85db0a996 *34c20cf5d049b55665097d2f1f80cb12c59369c79143553f727ff78ee1a1891f9a5e60b2a76be7 *0bee6ca586fb5b1097cb0fdf0535efc0e68f61a877961a75ed80d408938cfc2d04beb4bdfe9feb *296a5f3b5f5c3e67708f911b6ed87c488dba3b690498c1e1170e61b5911ae13185587c0898e103 *fb867edc98dde794fd252c6cee2233ce17f94e0eee2ca586cf1f7988d50fdd9faa7f6d7bcd7fb2 *527fc6c5e9f2cf3ef050ab205f75148781d9cfbdc996c7539e641960403f2b7f5c057f9776beb8 *7ccee03e006f78456539457b37def0e315bca3c0ddb7fd6ac09da5d4a8b60f80341e1d5c248d0f *18dc072035820ad543dbbb8aa1ba9b29e920b8fbb55f0db85f9bd488e022b8f701ee83901a8f05 *ee1d488d08ee5d823b3ba9116ee7bb80115c0477448ba411c17d3ce0ce4e6ab89e33fb4fd5fde1 *7eff626e781cdd817fd4ce8a34c2ed7c798b0167d7f324e04ed722b8fb35a4b453018b16aa082e *820bb628354e07ee742d82bb5f3b5ba961438fe0b70343bcab27ecdd82bb6b2b81ab1b8bbf42fe *e77bc0851eaa9faedb8913925537c2729417fdec86b295df53fe1fca716f75e3aa6be74a69a78c *bcb58b7ad4104f8ccbf700f710a9e1a3872affa9ee95babf1f411ac78db7dc499091bac460ff77 *5f2cffddfdad12b3e352d6dd57f5e3971a2e1b81ef8128f2d06bc7b6774d69873af399aa72ff54 *3796f20a85ffb66774c79186ff53005bc2722b440ea1a7f690c6bec9d7b78f5d6a54d743f91cac *ca327d5e637ff69f3042485892ab2bf8e0ca80ca202ab87c5fa9d1f69a01b76f35ea3eab4e9535 *a0fd53f43fdbd7490d230de1f621d270d66e9fd478c75caa3c90b3228d30ab08e486fbbfedff5e *7e5edde565ff7b08f88316f044a4513f62b5ffcfe1eff59d1c79d628637658660449a3cad28e6f *bf5aa951ddbc10ae9e9c34aa5dfbecf51ca4c60948a32a2c439d1c941aa175bb1369ec07bebf7d *ec52a3cabaee25357cfc7da0d47041c8cf27911a553e799485aabc428f2035c29d1c4d1aee4f75 *a47ccea47152708f68a1ba3b69d433b37b480df92dd4f5e35aa8ea49a33aba47208d6a2781c996 *17bc2a5b8f228d6afff5d3af6b1fbfd4288b63730c2f6f157d163a5256d503fbb40abd5cfe1e7e *3524921e9355d52b25fe0af98be22e8653a8283cc5f20b65e2f09f2b3922ca230c6dc45ed2683b *adbcb0e157f7b58f5f6a94db3d8658cfb0a237fc2cc0b13e70cc43c7b75f83d4f0db07401a11dc *1ddbb993c649c19d95d40809e70781ab6f516adcaf1de4cb775fd328351ed822b808eedd823b33 *a9f16ec145a9f191818b52e3ccc1d56b85d6a853fdfce0e80e1990c29db0852a64c4aa820a5bae *7ce031f2f6c1ed5c67ec807b14bfc63ebf40c8481a7afa6491b7e6dc1c2285f26842d6e0905536 *46dede6940d5f60190c6fd9bcb276bc0ed43ff47250df727c7a414268d1019d40ba703a4e1833b *b69dd7ceda16a5c63d5adb6b065cf9a1fdbf0b20fb57eb413b69e46d2595c902f15f3a441a0e1f *d82735dea3cb2f4a8df70dee08d2382417ec27a1ef278cbc457055777558c1da0f6e0f69f832f4 *bd91c649c145a9718f769034c2181afee441a4517fa2765bf0ac11c2e4fd187e506aec1f455d8b *52e381edbcc0ed3d6bd461461539ebbe9f2cf2f6e059a33ade7ad67ffea4715270516adcb39dc0 *42f548a4e17642dff75aa8ea5e0ffdcd4cd6fff3d99046941a670dce172861a5dcfddd7e6e3f39 *61e4edc1b34619546816f2194fd65727cb8f45a971a89deb8c1d700f911a0170a76be70a2e78b0 *0a3f747c8b52e3812d823b0370e74e1a270517a5c6e9c09dae9d2fb8837cf9ee6b1aa5c6035b04 *17c1bd5b70516a9c0edce95a0477bf16a5c69983ab9a6cca7fa95a3bfd4f4e16794b3fabb23169 *bf51a96ca72a7f5e71e254cd6eaefdaa6e9c7b277bff7656a4116ee73a6307dc7bf66bf87fab8c *2ed4e771e3f2ff37937531b56accadfe5c765e0448e390d7f018e28852e381edbcc095cdfee71a *79eb618bc5d32a26bb381e220df7f3a349c37fadae9dd7ceda16a5c63d5adb6b069cffc8e14fca *1cda2a3b278dbcad488df048aa3fbb82c7fd5f555fda27350ead73941a0f6ce704ee006984cf1a *759f84be9f30f2d63b6bd49f83ee75d6a8270d5fa6be33d23829b82835eed18e901aa1a376f889 *0791461df6fa9d9434a043845b77c6b8b3d4a81f95dba2d478603b2f7027396b3c82d4d87bd670 *3fdc87bda1b386fbfff992c649c145a971cfe673eb738dbcad218d2a719c8834c2678b2835fcf6 *0190c62381ab57b37d51e3e3b18bd1a7ae795b1d59751c210d2dfc7385347cf5d2075d5d84bd6b *f7f07656a4116ee73a6307dc43a44600dce9da0703ee98153cf44c941a0f6c11dc39823b33d238 *29b828354e07ee74ed030277680d0faf71941a0f6c115c04f76ec145a9713a70a76b11dcfd5a94 *1a1f00b8d09a5813ce1dc0f906256b010a198fc226a7134dd676a2dc5fcad6a8b2ddaa3aa2f2e7 *95ccf52a88ba6987c67956a4116e1f002e3f8a5f43fe587da1fe6fc1d1d9d77c436d195418b0fb *f309d6ce1d82b77655acf68dca654f47d50352cb56f64f3bdcf99991c6af506a9419d81d48e31e *52a3fcaaff7b18f0c949c3fe547148fa0f96f1b83a62fff33da4e17f5207c46f67451ae1765eb8 *1c04775fa9d1f69a0167ff5caf50857eaf0a06e54a84c302683f257a91b7fe04429f87c0fae0cd *da857b0d93465804a0102aaf4aa8cff227e1a7a2d478dfe0ee491abe16e66388ff5db9bf8439b3 *afd0f9bf5960d4d4fedeaadfebb8b40117ea31fc7299eeaa6f96ce1a0f210d33ba53b42835eed1 *f692469da6e1be5c7eae421abe40a982a8fe54961d15d27019b7fb40f973dbed01d20889c11078 *ffef5551a5aa0f55fb0c81aa3e15a5c6fb0757e6dbaafe4ff673ffa703a4e1be127e557eaa2314 *fb7305f9f6c9ae2ad8f2dfbcb34615b06865e131553faf218d43d3ae8237e04ed3a2d4b867f3b1 *ff08e36d9db25dfe8ec85765ecd557e5f7f25ffd0130230d4b8c7d045a260dfb79c94215e601ee *d8fc4fec532c71ebc4ddfe69979f76267b9a16a5c6e3800b33fcea0141fef7715c555f76f51e5f *305501979fa91c0eca3f5709224cda065c7934e1a9d777e8fe5c730c3f34edba719e156984db07 *80cb0f911a0170a76a956b941eda2aa665fffff0188e06f7d07694bb34dc4202ebac48234a8db3 *0d76a07667d2d88f9ce74b1a4170f76d516a9c0edc299aa3019dae0590af7a44288fe10ee01ed6 *02e08edb9890d27766a411a54604f711828b52e374e04ed722b8fbb5283522b808eef1c145a971 *3a70a76b11dcfd5a941a115c04f7f8e0a2d4381db8d3b508ee7e2d4a8d082e827b7c70516a9c0e *dce95a0477bf16a5460417c13d3eb828354e07ee742d82bb5f8b5223828be01e1f5c941aa70377 *ba16c1ddaf45a911c145708f0f2e4a8dd3813b5d8be0eed7a2d488e022b8c70717a5c6e9c09dae *4570f76b672735c2ed7c1730828be08e68913422b88f07dc59490da94651fda7f6fdf1eeffd429 *81c5d17daca33b23d2a86fe7cb5b22b808ee88164923828be0822d92460417c1055b248d082e82 *0bb6481a115c04176c913422b8082ed822694470115cb045d288e022b8608ba411c14570c11649 *23828be0822d92460417c1055b248d082e820bb6481a115c04176c913422b8082ed82269447011 *5cb045d288e022b8608ba411c14570c1164923828be0822d92460417c1055b248d082e820bb648 *1a115c04176c913422b8082ed822694470115cb045d288e022b8608ba411c14570c1164923828b *e0822d92460417c1055b248d082e820bb6481a115c04176c913422b8082ed822694470115cb045 *d288e022b8608ba411c14570c1164923828be0822d4c1aa7f852a70315c14570ef0d5c248d082e *820b828ba411c1457041708634f2a4d73dcd973a15a0082e827b8fe01cd238d5973a1da8082e82 *7b3fe05cd2385fc116c14570ef1c5c248d082e820b7e8548e32482ed6c671cc17d8ce01eac5055 *413e1269f4ba67b98011dcc70aee81a411c2d73ad218b7ebbeda6d7017dadf07fc653f414bc159 *2ee0d1e03e222bcbc707ae8e34ee8d2861a0f5a431a8f9f249630096ad14bec6863c22697ce8c8 *77cee0c2baba218d765ef7753ad21094f7bff41f1cd220c2007219b48138da1f13690cf3e3bed4 *b10f46700f07173e1678a411fab346cd7cd0deb7dba14feb4823195b39216dec480dfa1b11469b *89839e89a4f12123df79833b8234da79e014909f9234acdc7049c3ca0c91236d3e81d8df22697c *c8c877dee08e921a65e280df1f8f34ca87709114d369248d8f0bf9ce1bdc51a441c4e012c6e393 *867b08a7369d0ef0afa47e4585eac347bef3067724690c0c7100493c0e69b4db2e69106158fb14 *c98a81233322697ce8c877dee0eea050915dea71142a910c5575caf572e4981768cf241f0d691c *eddf7cb88b3482bbcbd701d27817c7f0c3ee3e977c2c117d14a4f16161cbaf0adc41d2087f9d8a *341eecc9f9b0492382fbc0c011ce3ec021590519268d871146248d08ee5d83239c7d74d238a319 *477011dcfb02174923828be0d270d49c90463f3bdd973a25b0082e827b6fe03469b44fda22b808 *ee6301a736f3d5ebdbd12c57f972a2fee7fffc6a39f97235dedde4cbad6afcbbfe6c739b8f8bd1 *a291f47a8d37cdaf8bd96e9db7d276e3bad97ddaca52fdff8b397ff0e717df7ddb9a35d7f966b7 *d86e5af3e66ada9aaae656ff7dd6ccdf8c6e6e17796bdadc8cd7c5edf649abd04f2e27f93a9fe8 *d73bed46da4dda8db7cdebd6b2f9b6f5aa39d200aed7abd652355f6ff2f565ebb6c18f0d3b8dbf *f1cf83b4d718e1087028e3d58d7efbba588eb6ab756ba6be5e347f5ead7e6ecd1b5faf9ac5460f *63a407b0cc5feb9fa6abf58dfe4f8f710eefddb6d6cdd5a6d816aba5fef4f5bc186b48731c994a *87eda11ed964bdbaddb4d2beee68d49a3534f06f47d7f9e2eb62b1cdd7ad97d0c7f5085e7bd51a *37b72b3d41987a0ea3f8c27d680b3384fef2d684a7ab07767bbb28c6a30b5e8be130556f9b3c1a *3d46fdc072a5c1e95935afda4907a1cd7407a3ad9ed178b5dce83ddbe027b99ed062740df01797 *2d9526ddb491b5fb5d3d035ca8811eff6e033b8173dfcef5c24c6939e6d495bcbd289633fd99fe *7bae9ac562b1db6cd7a3addeaf82873dc1ee70c459d21de81eb6eb7cb4d5d8a3ffbc6da55d758d *9dc05afd6e3cda8e16abd972f5b9de4abd0c1b0da658b6728431350882d32d04d3a6cdce539843 *326c64593b69bc05501ad272d5ea00cee1f6ce9acbddcd3562d2bc79d59ce4f9ad7ef1aab91de9 *e1abe627a6e74fae5a572d1e6fa7d301682bddd37aa3d131ed687030948906b0290858bec87132 *1a8b117bd684ca7a19c6b00e1a8bd61ae5a6f05eb186c55cdddeac365beea29bf6f5263a98b569 *65803d7ad6539eb55eaffc49eb25fcb6a4e57ccbfdcc9bb3e217bd8cfaf3996ac282ea1d5e6bb4 *cccdfe6c9e70473da49cd152535257c30704598e168bb78c0f536516ad80193b08542cc7ab358e *10765610686aba80edc7cd5c01296f5637b2ddbd61a6bb9ce5cb9c5022cb60f9f4d25cb6baf0e3 *3346d74c2bbb0ef18f474ba06b44fe597393e74bea61ca6c6292c3e0880a54d6eff774274ba2ca *3121273e0758f073befd197e5a95c87e0af0e682407aedb2cb562781656902e2f18ba92603ef5d *3d799ad9a00bc43e6a653d756d976a0a6f4e8993ac60bc821a8419af8bed5c773a72c913977de6 *bc42cbd3eb40cf002cebd2186e475bfdfc52663deca47a0037a32db22018176cea68362a961ab5 *5e025a2f4740ed79f39f66c3cc8773c21ee5a0e994c915e7d769a7c00afc6d464a7fd99cee9663 *5c6b645a1ae44cbf8dc47a0974039ca493b481cebf6e5df4808fac61936f566b8dc419507b01ec *08392da1fda6b85ee44818c8a664ad4b5d6ff4aab4958812186432645afff9cdcf489aa17d9e2d *7639701160a8aff53fc4d112f39229018fdbae66398cf789fefc7654ac99d976d27e47d3293def *afcb8698f85bbdd4b75a16ad9b93dd38bf6c213fea74124dde32c66ca897e3e9536440cced2f3e *77e5839668b0869d7eaa3add36d0ebc5e7f456cd0b1d6048d7fc4ea3d31d64eab877ae9aa327d7 *86d3a94ebfdf86b5bc6da697ddd600d8ffb3c52cbf5e8f3433c98030162358c00d4984a9bfcc1b *06326ca7c42eff4e3b9f13c3bc5e1740b15d60355a95c08d289afc435e06a5b192582891f91271 *b30011b7d991bc251282cd1c1994d59d0f0865b5b07bd5fca5b5d0508ad50e39b29949e14c63be *5a4c34d17705a586a41b6816b4450d24dfeac771aef20e2242b7dd03dcd6e83bf1982ff227e627 *45b3774994d04dba1a479b7f2a7e01ccc9603534cf456d02d9020bc189321c81b10946a0491590 *cd6a02b926f837c54db1411216b1aabaa906fc16e4f574b7d03c8a990172c2d2e2a20c07cc5eec *663318d2cc207c4b4d1d4240299f0cd3a4d1ed0c017a4fd378bebad5eadff75a137cdae837faaa *dfd0bbbcba6d5cc0542ff4fa2743cdf13b8d5fb426a8e73e688c00a3be59179b392151498782f7 *54d2612a9e8ab406617da599e2147f9e37e71a4bfbb03dbfc73fc0738a9ed3e4adff36e777b426 *96a6c0056e9aa3cd66a551406ba55bbdf4dbb7d4559a76a8abe54ab317a7b7a9d6d8bad801f633 *25faa1def1d901f4f87bbd01f89b5673b197ffd6abb6d01ce582d52702fe0a548b327015068ecf *0eda0d02ae577c9011e862a2b56b18b85e494d9d1911e79f76a3f56443fd75bb3d7fdd40bc407f *0c5309cc41b75d8289eff7f43082ef07268ca2911fd058a21ffa3de8c8f0a7a4ddad2e86eaa729 *01bf2a819fe38ee5f26ba1b799b7766a36560632f39643638e06af2966acffcf690e03ddb9d38d *aaef061070d8180c80767923aecc569887f43b5a3a8406708b93bb5919bc6d0cfb49b96fdc6ee8 *78666150c77a953a077b46000abacddaedba6e93346d57f76db5db1a74ea0f15918a83e5e69942 *bfd6d56349b276660744589d682cada075920d0278c6fde17ba63fec5d4309615bd2e90d4318c1 *8066cecacb4780fa8da4db4ded38dd65c3c75eeac77add4ced4392a49775efd6f59cbaee27256c *a9bc3bb74846c35130ec76a776f306eda43c9432d2202065063118748e1bc48a162d0354acf40e *a0d2769765fcf7203ab52e9a01a88d5652c7281c88472659e6edf7679fe33909f41efde3cce5c6 *538bfbf8275c4af811469fc143b5bcb891a6494f95983102d1ec32eb112f1ee096db3ff9e846ec *4708d443da549f8dcbccd8025765e0b407e379b198ac73deaa341b00e201afc315404069d6b72f *9be7893bae8835d2cb9d1e2823f8ce8c7ac69fb54a18789f5ee97600dbec62fceeb3d26228335e *fc132f46e3d062a8b497f91256bf6ee7535969c3b9bcf1a9b49f00225ee18ae00068b7f58ff332 *1397211ea6cdb43fec9708c2818d9834931d9f7ab880b0f70a8774d8cb940fdbc1521cf7bc0ed7 *04e361300a51dea81655aaceda9d5efd24b823e5f5e43f387757b2be239525e9b0565722b2d390 *92a1b3a933439e44ac46578207eb855b962669fddab15ae6f754128373e468d8ef5e319aa5c3ee *9e9eacfc2e6398b34b22f469a77adddabe323dd2da8d92be94db59557f2176cb9b15ec0b54b6ac *4ba6a3dbe697c53ac71336725b3cc1ac8a31e368d64bfb252de25f9fffcb0804fa794e0bfc7b38 *a9920084cfe73879f30ca1a8dac371b37e92949922bd5cd250f1cffc0aeafe962939cfb3baacae *fd41b1f6b847a325541ef4fb82ca49b7cfaf631f1565bcaf35ad1a425720d83aed0eebc73fe4e3 *dd7a63f6bb93a44c981333e32a1f27a529e3616e0a7d042ce034063d8c2cf274d2f6509580e164 *3d264a5cf91030d5498769796486df0e128437b19f74f5625dabbda3cbfadd3240b6726aac4191 *cd4c94fe9ee0ca1a163ac96fb53e8067e0c5e835aa0b9d2e1ccc945ed5ef8acd987be9c9092a5f *dcb818b17db3c54301fd34655c8087f053458b9c7558ad1d23b5e0511bcfab04bc2f2728026e58 *491938b11f039cd6dcc0cedf8c17faf40de2f2a6984c5adbe622970e86ac3a874437c033ba852f *9b3b03388005df82119534924eb7d16d93feb132ce10e0fdbda768cd732c2b29a0a1675999974e *ece0d2a0e35ea2f51176695cf4866a4446f9978e7de0924c3b7f5eb1a92b47ebc4fa099dbd8bad *a6c7024ef69b6d013608cde7f2c5ed74b700f3fa0a4cac13324714d3b7607ed881796bbcd0cc44 *cc9ea801e8418e5df3856ac29e58f3053b1c66cd95fe2ccbc1da8056461004faf83aa217733d33 *3406be20a31c5a2cd804ccbd816640767e31fce4663805d8889eb6527dae5269070c65899e3db8 *779eb53cf999eb7f9382882507cbf6a279dbca6167e623b1646bf4bc5daf7009d75b76b590d384 *1e27ea64b8abe668614c4f1b6b81df00180d521fcf7a5aa801be90934b6f515e905706c0fd38fe *890cd22bf9e0a7d6ad02eb29ce46931898b3533b1bb635809a0e3c1dac9a388d0dd88edd694ccb *b398d22ce6f4b4cca2afaab39839b33093e87686ee24466814fbc74eb35e341db379c93163a1f9 *74f48a4c6253727be050c76c1f266bdb0f08118c4fd84d2f033dbbd8e6371b2293c90ac508a290 *864548bc18dd3e4107d744dc857319dacc0e6b0a9fe1128cb73c8b7e622dd9abf504f1b1408b9d *f1dfc9f295264326c61ced79d3d54ef79ca3d740b933424c1da05beb3998afc12379bbce35ca8d *d08c8804474b47c72cf0695eefb6e02d1be1d0e963f0736dd0dc02135ae663cd1647eb62c106f9 *21f0621f38591855d206966c1cac686a166f26faeba6b4538e3fa76485d37b395eed16e4020033 *e3d431bdce9abb0d6e15d27f021c5a0f03f7e9cfa30deeb5e62533904d8b62032653e6ed487cf3 *7c89d238054d3149bbeddac3af5e7d180808a81fc79f7eaa270a6265fc29e8c517a86ae9df9ec0 *63f847fd19a821f0eb4f64044db261462cb7caff5ed2af5aa2ead59bb25314fd89ffd815682a5e *b02156e3d6bc986962bd205c29642968a9d2b65649924edf5844449d0605fcf764d61d03f3531a *3566cd9bd12d0ff3924e2c43e220b8cce311385851292c60cfd121025e12c24476f4245df43491 *9db9e051a21d194de2d6b4fdb2391e2dc6bb05ea049ab72619bc4cdae5abe6a095a5e9a041d060 *085ff838c0920115c735288ed27d0ffd4c5be20e4f68e3d18f35334777e46623785d1f3b57b047 *44a5a26816fcf7a91530c49fd047c086f2a49f5ae7b32234668ddb60724ed200a4c8249f90e7c0 *43645c434045a0a23975bb59b1072719a0538a94629a0d794f34316620c109470ae03fb966abc2 *7a4060824bd3f801f47b20ac6e47eb6d010bbed6443a66dd74adf9a2e90fdc53c04ec01b84a107 *c62d920cd111b0014ee7f4946bd22a5018f14922e73e41de01d2ac765bcf450634bb236f805e1a *dab1619f55345ebf941d88b829c21e987b212221ebe8e80598ec460b60ba244346c8ace6061259 *9b4472e630ffd162912f38fca1dd05d6c04bc49b9a26289a71537bc49be0d4c6eeccb9cbfe78ef *1c0ce45d024f30b04b0c0ff88c900d7155ef31f0527468e3085214ba206959df2237126f1eef0f *9d1d720c6020b5ab4097c80c88526fde76ceabf21dbae8014c41efadb7238e58c0e08bac0d727a *5ed5b5c0bc043de7ecadf65c51766ba79501a0301a2dd12dc3328ebb1a000b20868423a2580f0a *0661cc878f787d519b78427bad570cb75a64273e83f42bf28bcc557d882431911f1339b2ce9cf3 *aa87180408b57ce8ed9722c74500a294609562ab3717e875742b012bdd2ed0384219694d11ddfe *e8f425b933b7ec0c031334e181fcb85ee44f180bc6c02a9142d7a0ab4c89d015c408dc90164b1d *f532207587b2f088460e321891e19a73d69914284d05bacb91af6a06ac65b004fa90df9e6215a8 *837e0ab45d72ae8d95cbd9394ea6404de2ba18917399d105dd38c6919c4fb7f0388f43ef13eb15 *e9a02db27d4c473f881860bde7422300f4b69c901f0f07a36c60136ed0bffe45ec97047c6e177a *293d0c50a28366b034249766b43122260d3eccebf0e109c2841e509d87cee6c8c8ae4db0521fc3 *4faef5bebed4331e4dc8e1cf222fb7ccf595bbd3c06a14acd00696eb671fe7afb5d2f8e925eded *330ecc68773346b1152b7205e25296283075131de2ae6bb4ba21b957909e4c043b97754302b970 *b618914109a36d68090b1cc0c61520695a6b3a7134c4d0dc53e80ad0079579926930d33a92f04a *38aead8d2963ee139e9233fe4c78f194789c5eca6289310fce5aa2810223463270ced3115334df *27ec6b9ef0f95fde7c426c007ddca491e05ea2120c5118ae284366e9501acd9856281b74355b79 *0b9f6f291440d31fae00c60bd189635bcc46148042fcd21e620a3c8ec08865cefa69e167b84f37 *7090f0391c076e81931ede9aae1693ffba5978ea7ad6ebb16d2e6b0d4012bf685d000e69cadb90 *fe44e8a27bce9b5fbef8120f5820aa5f98a3b68903423e905d261433810f73804e976321f4b100 *37743a0229474ac6d45d310acd2b261c9b86cc0da32bf16c7d413125803e44e7d77cb6c3b02ab0 *2150c04ed6a5c83aa15e980c684d389fcd13dcf51c95cb9bd1fad5ee5650df841001f142f0d18e *79afa608c57136e8075bef889c6e72c02b14267aabe1c1b1e62eac3e3339c92130a7dd6ba2e47c *2bc627d85cfdde4d3e5aa2ac3324d549dba8328d66ac41a84e8aeeafaa4a3f86e92c9943e12e81 *9d0b15093856b98ba8c7a544bfc545d7f2b8588c50acbcb462b693f58015caa88073c36ef04908 *951382cfeb37c171c28167b424f501b15fb3fe09e10b8737c9c8d7207b2854a50307a1668ef691 *3104c3b5590d4344c1e0400d70b4d1bb8b00e97430e7003b8d2d30263cda6df21bd24ae0513013 *fc325a1413b0b222c23fe5a97533880b1ae9e96eb6ebd5728647a0a528229afbc10c6e72d297de *22c0d11861c2d8159cf12e0099f20998ebf480bb96e5767a09f041d881149507bb6278609dad47 *377ac960e4b47ea5bdc9fd73f7533a19eac5476b249fe6d1e4994b9c516f48d17733a4200437ba *064dfc2df30b7f8f045f27cc61348253c830a92c2fcbc138968f74fae8041c6db7eb424b253d00 *b459d13cf211990f30ae8e42f69a5ffa73c380473a601613e22c2f59d1453d75ba5a0bf60dd063 *38a2d06188a1d5c75080a11f618501cfd640a91c3eac486c49b890bfac9fc2f26b30bbf116231c *9d236567889e46d8cf8d602a81a8ac2609f5a9d94363279290275161f4ee9be0eb6e5b1fb4c0af *07814069a227d485c3c1a8f1f54b7d0ed5643d54ddf600b963c1c14195e86aa657ec61aa51517f *f072b791c9e6182ed52d48019a5c8cd633b3e4533618a1e82c0c6be9269d817acbd2eeff59e4c5 *a6a093941fd3ed495a778264dc509a3897232d039dc828a0b37e29386ad01828bd064e7094eede *4647d1473d5812ada2ffe18d964f6852fe8586fdfb4f93cbf6a77ff89c4369802bfdee375ffef5 *8b17fffbfbaf5049bede81e6f2fc7f3f7ff1d577fa834ff093cbc976f2891ef48f1c56d56be37b *5f7dfbd5775ffde585f3de151cc049a786232cc4354340fe581f3034e3d3689affe149ab9b8061 *b5834aae1e967ef0097a1a4d98f455ebdff029adb8c0006ff5d041675e005888297da5c94e93bc *6632f906ed3b9f8b4fc61f5741a3d1e3fa1fdf7ff1e5b317cf78da1d8c1d769fa3c1961f6c7431 *fed77950f993d1c3feeabbef5ffcefcf5bdd460f8d29bffbcdb3172fbefde6f98bf2bc4170c07f *1abfb007fdfbfff8e6bbefbffde6ab2f5bc34ebfd14763c8ed6284ea6ff9111ef8000d19eec065 *05d19db85891fe7ad5fa837e1706356c0366da41cddd1736dbb718136d3afbe1abfff59fdffc60 *7a1ba291c1ed4d3ad02fe1bc71e9bb8da40d7601a71bf7496025bb9beba5968b6662533bf77e37 *6924091ef04181db14ff0d6788f2639fb714472875ca5b6cb0a63ca82ccdbcb9a79a0e920e1ead *ed3bd950d34e070fc10b886375d75e96a3a5f0a96e1f768822fd838fe1533d3c8792768458fdc5 *97e0488575f8f67b363d7e572c8b2f8bcd18e30bcd4ae0eb7d3c5daeb5fe3ed2c29ef0867b52a5 *47077c4edc2db7ebb7661be7659c4986ed4e895a0d4121d6689c7b9baf35cd21ced0320f077d55 *7a079fd214426b3cc7354edbfd76c3c72ff31c4483c3a0cdb0cc3a81af58b36aa04188285f63b6 *8fd9f4bc8287699af5ca748d5c80180efc78d5faffe19038bc261996468f0fc9e071e41d3cb2b8 *282bcf10cf088ebca7856edac160e031d8cab78165878754dac5485eadd192161ade9b46daeb26 *a5bd41a68652487811224d4e2c568b752de5ff05ea068c56ff0a332f6833fa59a744ec0cac39da *6de72b8bb4151c4907493fc4d1a1bba9e589ba8f61bbbce1f641a525d9f2553d43d16f0fca8c57 *a6e176a334e36ff77aa57e9c27cbddf893c912742efdf4b956a83288cbe8faee525082fa4fe970 *f96ce979073530d23688db649deea0f1b7c605e59b248d51f3bfbefb96fcac254573e268627040 *7f8566ba29888bd1040ee6d3f2f9402b75a971a85e484804f251dfdef79acdb733d0a5a694f0c0 *76707b84100303982247641e9a2b51d949815bd070b7dcd500592ec596c0dfc0a542c740f6183a *3e423339b26e3847c682b3e944a95a616a05d9001486d3dbb40576c5674364e1a35632702157ce *5539d8f55f2ab04bdfeeb660fab7fa21ebe77b5f0543807ef192457e1b2db83679000e02a46417 *b99c95d1eb3de75370ae17576b64987246531d0153d0229dfd80abe584cdbd783e13634d6e3cfb *09ca1a3c04822f1e4e317c841855746a18f372c23ae8ccf70c49021e5923b7e2cc074be3857485 *124cbc35d66d8f9e1180601d6a4f6051ed91852c04e8e4c471cc0333e4181534e456e6fa4a865c *3e23949c9e6c4399d3329ae30360a7e3ede3801314a2b4c13b201538aefd19c6f2848237688bf4 *417d5d6c2975a8b49ce312a2be6244654b29e1440785ad3ee516b7e0dcb2546417102c17cef00a *332839dfeba31293c0bc741aa3a974514a8b4d907393f0bc8196d2a94219382244c27d5d82eeb0 *f09765e6a66ac0e1619aaf2f78163d94efe40a4a3abac77e4a8eb9a1094d49d824759992518a0e *d462ca21bbd4e6921f1fa6ecec04e69834dcec396b0a9939bbae9c759f4a16ce124fb1eb45918b *03c6d22fe2240e5e9fe780469835bf6cf62fe95c8b7ea30c1d24375ace92bf7b9a8f00633662dd *05e9867e1d08d7c0d7ae9a09c4aac18f9c20a6878abf324f7dcb212fba63adb9c841f2429f8fbb *6089c273a45e360d4c1fea323a466a9e812202482781455bc2bcdefe864c127fa3bf926904b132 *e98b03ae805dd1c7408a2b1153aa6a4a222dd95467eed15b9f6ce8e491e2590696fa95c51089ba *50cd6fbefce1abaf81a4acf960da0473326196588c668bd535dadca6cdddb2f807d0d22d59defc *532387fed0a9f16635d92d3831e3194877e25c64e363d72d0c4ee33930327c44f7f97b72c5d3c9 *8e3e9c365fa032356f3ea30316e89bdf8dde5e6394c70feef908f3ccb2948f7c5fc829459f39bf *1065fd270de77ba3bac2d38a4e7c2f481b9c36ff82fa0e193df08cb7cc5f6fdfdec24ad040a618 *4b453fcf9acff5da69de400b42673d79c18c7886b186fc4b21afe02ad089cf76e1cd8716a4a7d5 *403ad9f97f9c9566ff7f9ee97de491d3210f17370f3ef54a4346af72e88fe877fe276dc510bdd2 *d8e118720367bcf632f32790d90ccfe1414fce9e8107f564fe2f7b9edb98ab6827edec142c94f9 *b5d03b2dbdcc195cdefcd69c5079d5f9e867975d9e6078e6d7c2fce8ac95e2f3206362e989971a *c2b8fce12b5e1c9564ecd395c3690e339f569688e24be8dc684ea898c2f494ed89b56b45e74a67 *adccb113939c94f3c1dcfeece2021f3a797ee5477082aaf2b14c510ea374b09dd0c6bad3527cdc *e433ed1c9ec84b13a753269f670b7a82265c34bfc64f058bf8a0e99e5d11e2c43cef43a633a69c *5f67a1d5d73ff05af249131762c61d2389e570c05670449a560fd8fc2e9d352d8e5926c2fb603f *98377ffc1e4fb03ff1bb74f6b47b487f65ece45f0ac53fb95b07a750bb75dedf0be765f3d13f79 *19f9648ac7e7bcba6772fe744ece05ad322f991e8cac191d421d1e487c92c6cebf14cd1ff1270e *75e21369e91de19bf833ffef92211c3dedeeb87f2e30d8d8fde4a510201f3ac5441798291d36f9 *a43df771cfe7607cb2e4f3f62cf4a89ec3ff15476eafa75c7c20b14173a49f67564e999eb428c2 *3ffe9f9f24b3994f9abcc5f4472b08357f818da48f35108bd590beadb20ca307e1684f8f3cb307 *7cf323179e180ef0c9093ff9428ec25a93373fb37372e06edfd442623926bf16caf267facf14a6 *e8f63a550cb020ccaf08a2c42d1d50bd0442fcdbd550e5c1538ece9df307be7e39334a2916fac0 *188e1a4d58abac8a1d031984517308331ebc464e8184277466dfb293920bb1ccd001a4c403e486 *bb4cd98f236e1c384b2e35a14fbcaa0be4f1a0a397d47630061498f5241f2f466b167812503471 *2a1360ad0dd414216233f73c52ee78a44c003a8cbc918dad0688ee0945a713c2601a9231a15486 *7449d16657cd14760c340a476b1e621ca09428a01319ac414a856e9c93dd13f16428c79923c304 *16e0c4d05e815fe466b481f5983a111fecbc447174c56e962dc4ea909de67ab4a6155cddc2d0b5 *b6bde543fa5553c3de480005f8e6e041891859934b782b2196e8b0448976a58fa023d8518c6ab8 *5dec36b41e5073a399e17a4028c29c1c9774d821249855ceb5cea2e2b9fc42bcdb74349385404b *d314dce833f486e3e8698fc4d487b61798c04b676da6d54337b9d38d0f8d0e14582e461c71bd01 *799c4dc0317acfc90575536c35713d81989d9d13e34cca0b17e5596d504b75f19dbdfa2606830a *3b78302f29f0eaaad9c17a1d7abedf2cdd530a7bbbd06d8aa7a18939504b7d9b39ece212ed6852 *316480f2dbac9531c7a21f5a77842942445b1cad028094c516443c7e5bccb4fcf26f812ccdf0d8 *898932df0e0c2d55e48a97707beb935f8ec948c421931be4801be28ed4256f2d0f76461807fce7 *26bfb990ca0fa82c5c53fc42da531c88c7d3b95de717366e3ab7052466dc9f3187ed72096fe826 *a847bca0535b82f1436881c0701389c6c60ef4a68341e5170c609a5a0390120bd0062b2e957090 *7d9f5c1a43a3c6b829876c2cc2a50746817ecaab75e5183220266839db8d66b9c16422b435c510 *5134353faf30b6d5168d1894fca2c3c6500d1b03c72fda1bc27976653bc1682e64ef56a05cb67a *10d3f2153bdc333aea0bd257881b65c77ab59bcd176fa5c6841e0c31eed12b94ee606f80ed853a *5f53d40e3ce38d0390f3549e0b7fc46d42225b14afd828c906d40ba90ca07bdb8db75c7546ac7c *33c0b6e2521fefe74db077693e4068b91b93bbd96007703964a95f30e3c5aa39302bdbe5461fdd *25a79cc3d0a4238c35e6ae8a264605429c94d7dbc4ef0d033afeeaf3ed2c935ed11406e4c00e11 *4e1027bd026cf57ec532183c9e7c3dbedeb5cba699cb65eb82e2b4c00e01bb28d4dd01de848f20 *9b0e8548cf5d93d8d3561fce774ee06507e39fa0200fdb44315864cdd135bb2506d222895210d3 *680c0648a76219f9c59e0097f3941af874728191280b53852349497a6875e1154436f20691f232 *c3cf5b4ae306d29be6111b425a46adf0ba33279b523d27a16b76af7687b066f91b80b5c1883188 *bdb7fb31f33703ca26c1927a8b8cc86579e75c52b646365404e9a6d787b5339c13354134ebc1e4 *6c00bc31abeef20b607bb95fc20ba226803cf42a3a85a68c019da9a6dfc33c20289333f0889302 *e1a0b099181d3cf664cc77e400e04c2847deb15bbed3a5a9502929229d76968ad5954301bf012d *f7c6d9236620498f0dae9a574bdac67ab73012918ae3e93da42d71aa95d930dd3710ca7a658b04 *0d8d76f7cc14f74082282a8348db246d707e58978f3a8724600c4f3631a0a3c9a460813a372314 *6b7a922131e40b3883c1e1ffa546cac94e4bf2e5f82d4669387afd9c27000abf5f2f4d1fe5fbf4 *d1524037924ec2e1f7fab93aabf8d465ac1b90fec6123d2d55501a1087d0a7376411c0080021f2 *092945a3c50ab71b27af4ca5bc1a1ebe794219832d2a71c4d89d7411bd692c63371f0c3c82ecbf *9ba1ff2277507c23ce1ede0ae5737992dd242931058e8b90207a8fc6105fa9971d9c94d372ace7 *c65ad6375c3b8b28d296d09b829f7805519d14234f13e92372636f68f0aeac4669e15fe2fa41c2 *28c4b9fe276578a1491c95e35b88c15d1714d90004cd82261d5004710a6ff9facec4edad903c4d *37f54a33dde217873762854dc7b3223e0b09abe32007c85977e64f2cc89998e204358afbdc22c3 *05d4b792f2cbf5375fbfd0ffff98f45aff68fec4cec6b43d1c08ed77d8e3526cc6bb8d4d1f4fd3 *94b3a59e2d20ff65362749ccd530ed282eae471cf5e9841017221536a471fa017de011993c31b1 *101867016785ed6e8d65e820d3672ea53be9503c978416f69340b28e461ad2c35ebdc543f30675 *cb0b346d0dc96b83852b5125a050597ff1fc11df5041357de05a629836c59efadad186098356b1 *d317f3a97de08906b0e441968972f3768907b3b73788ec686228b8602aaeeaa835b3899de46bd3 *440f3bcc65527a58f47445328c6873e6d3262649a17719a80c0a203272d881e4ca19498b23fdca *2eceb48764556cd0bd33d13a891ec6aed8cc213600556653d8d39fe69c32fa46d7d7ebfc172023 *24044a6b8087b9a00a9293456df4e5f8eb2cce229b2143a3186f59c62893d3eae7d1e0000d6f4e *0748459a6089651b773f57de5c8e172b0915d852dc19f1af9cf47d88737e49ac56b29af0fc31de *4a680a6afb1474cbe837c4b845880fdbe4902a86dbe471a4622389003820852302b56c8ae9b036 *bc76bc5a2c381987936a465b89c668f7da800eec5fe3506af64223d28ffc3a9c2d4ec975753124 *ddeb9622dd6f0447f051b136276dea085d8d1428807cd9faf4bc6391f20d0facc79389825e84bd *a2a29973775c9a41162c97b214ca564068e27601c4c810a1b427ee0c0c4b0ecda535450eca4108 *c69e533ad26d4cf48770d92c6b8b8e8c89807a26379b7cc119e178d6b8f0e87b4acc8af2f038b5 *e5ad1c5b0b126639958cdd10bf4734904dcb86280b1129f03057a32f3c014d23bf9c5d52321b99 *7de794cfe42d09fd5d4cbffa5caf1f215728c708f525099c1203776f8a4541e1e21e3b944efe0f *654d51a2e3760ee6a07929494a4e30dd2e446ffe658446ed89a41940c6d74c38f2254df28b9108 *f51bace56ae23e3497c2c3c686356b8c0ad638f2b9d488a10a892b8d215452818f78cc7e46941f *f3bb17cffef43927e3223e5a8b099e0ee057fab305c31a0abe0f967f4993e14827cc2cff6649dc *d9dba36ade23aea472d420e15d9c74362b96c243a6cd1de9c4eb8bb15e13c9dce1ba309862ce87 *ac0b2a578b95934abc70862c9b53f3c4daaa04a63ef40c0cdd65fe9e736cd5b07c6ccec5b46531 *1a0dad4fc82621315e7ee60e1a00379489b222dd89b47d504ad11ab583fae582f9432c24b219af *309282323eb100ef9aa847ac98306fb67a3cd30b9e71d6e7dca8ff1014cf596637426774dc6d77 *c17122b61d54f72869d4169426b1cec7092c3be0a80120aa26bb1c6a923a03928c3a13cc9491ea *8cca2cfbc12831a5ab7b25e2501da86515ac038ce59f49ade9f4c530005ce2a6d8484612618ef2 *0d5a8583879f4ae198acdd656f1c18dbcd017dce0a3cdbbd1d7a806735bd7ea637e2962c73729c *2a4c3d1d2c15a94993ed3fdf184a9d19023222c5aff3cc5ad4cc4b8b53bec810b9d2e9f413614d *68ffa3a2afbca2148ce532c4b922c686f9f6de524c7901a67601e8684a1148dd2e397e8dc90f05 *136a0d840e404a4853c8acd13ee5f5ad656b0fed087844d9bcdd6c732e2ee19ab926522828eba3 *9562cb19bc642fa5687b18d88f5dd0c55b339b2f6acdb523e11e840613366b626d7c2a94bb25e6 *dbe9432dcce697f9e616d4405172379c4608d15c1b52ee666230c1dd5692d5c7739e19adacd119 *605d4c87d9a135c2e11338f1279cc283e6d12d9749dfe02191acabb93b8329655116a58430090e *1b0c386e81e239311d8b130fe758bd9bf28de4a4047679fc231ede3c76b4e4d229262291a3c5a0 *f62675be78ab8772ab89fe46ef678a783dc9e1489d598a244658801bc4841ce69418a4792b1f20 *31fd8ec3b4b0442798090a52c8d1a7ac577b85aa247111ca2c84a5188dd7ab4d2b497a7dfd2a15 *337dd54cdaad24d5c3246068c25ae1d6712595392da1890c1bda14a38b214682f528324c03a2d0 *302acf5ae8f3853ebc509c1a6a2ea08cdee4547bbde9d5a38083c714a87a8c067aaeb4c4a237d7 *cac6028d841216c9a884db35158c32862774ee694d7db19b902669975f6a6b0041e256b4921e3b *47e6cd7fe855a26cb789d14ed05d0b268c9c83f3202c14cfa3a035ecc46a81b5c1c6d8358ef1c2 *a9a3c4e3a51a74a325e6cd1b07833e3d290e8a645d98b235e1f854c8995a2f49072d645b2e5a82 *a5a48ad9923da19c6929b5361a6fdd0040a6150088b95e481c4b5af74f21cd1838c38c63695f29 *cfbed2046bd5d6dc7ad1cb8ccd46ca5ccf69f5a7482c1a92f8054c5da7d566b4d8b085618ad594 *c65ac51d413a5f2f69a4190763268996b4dd4ca562ec1b4d26c03478fc925aacfb37fe4c3e9094 *9c218a364d14bc91a02f888ecdb8d0db44b5756e46e0ade40cf04e0a19117f5df2497f246644a3 *abcf43761d66c4ec1324be85099b62b32333adf8b0d05c8d365b706c62f2f8ea961588891c2339 *f651997ae0684c1417cd065362f0b0ae99ea62556ce57616324debbfe0c1de2b5cce0621cd74fa *0d3ef33b7204cc59d06fcb947b5a8d886c54f326e7c2184028e8dec4bec8342dec163181eb3b88 *21698ca7dc62fa16e307e76cfef8e6b3bfb6a4fcbacd14147a1ff439339c4d42df03abcac0f84a *aa04b85088b34e9d3064be5740631522c18d24aa266da8bcdaec487af817d5a2f98d046aed9992 *3c23bce906025859b3a541dfe0b50e1a2760a337abc58e718f264ab6441b4b2dfc2525f305c4c5 *50b542cdf7a01402ac1558df201517205f78210de065929d060f29d28c2b3e69d8195a2f305316 *f5168cafe6eb112ab9e78ae751ba7b872c8d23e15f70dce2a03c4453c7d085dac36882661e3af9 *e9d13d95f83b2ab677dbfc0a4e58e868466260ed0365216ddf2f2d4591c060dc843ff4b922d373 *337c5c1dbb00d4436f004627b0b043fe3b188b177c89cfdcc1bad1589f30a06a01a8d07a7e14df *0e3edb09b3c01bbc24678939818280a65e501f3380f5de020a647ce2a0026d6c2afb0a263431fe *4bd13fd8735a90b30e95d3de78b7d8f25bcfe869bbf6a64011e6016f71a48be27aed9c78d0df10 *3ae4915f4a34b57ca939c98c0ac520f6cae918a299956bf5943e8719872a7252339603f9a73999 *b83915724d8912175dc129fb14458069f253be066733075d83a31051b0d2453750f403bd295251 *256db3c707a86d47de153cc3f8aa59abdf5325c4c045b488012a0d997d40ca49ad43ae4484fe76 *0e43c01815c955cfd14c82020d574dc80aa95980630ccd1a8a168ce8a88dbec599bd6407d2c429 *7c1183073596614c0f2559b040002399d882e45a0b8c65aa1c5e16b4bd0b635ce39a2d4af38f84 *dd7f637657827efa472898854ef029339f9949dc101b350f6943b913acd31b4ce5c8478c4714f5 *858c63fea9468296728551bda244d95db28e183c334bfd9a325168497823f13e692fa1a01bcc58 *a0e8ae5629ebcb29be03f54f9f5d9b2578629c31e2ad1db3deb6cee118d5ef113f79b640f4c454 *042e7e31932b7cbcca3ba455efd6147388555796ece42e17f491456d956f482ab444608f1d4554 *4d24c228c54b0a9ae2a4c11899111db567ae5d769d5fec3668349e4a76da8fec2c410b31d9e8db *0d53b40c0bf1902b801d14a6fe0e129f53a7072d8a8263b07e528704d4404af59fe43828b445cd *80608bc588c583bdef4c6549d6b7aa1f4ce586998b86a121506d9d500943c14053dccf41798ff1 *5d92f4e0e9c27c34c350145a0d5e91296ef405dd8c7643554e36247b716720d98f20af6e6dd218 *9f0415e970ffd891c38630980be5e0a1d3dccd85e58eb4b6bf5eebc38286bd649c545967c825fc *bfe5e26164084483391805565cbbc4548b9b1bd2ec0f88a399cb6e9cda21c6a53992f852b65359 *a9a82cf36b89cb7b35dda2e5cbbda9c794ff92abe09071f4e0a80a9570f01c26f5817a5dd11761 *37e750e3826dc834173ea13b454f249bcf991f090e2edbc21321f0fd0c146a9e3f7bdabfd9e0e4 *1b5fe75a2ea23514835b4847df204943f009963ea16391a80a53bea52e6ffe91aee8c3281a5a88 *2d872016e67eae015abeb484d950ae116d9151e5c58d62b5c739d7e832295880ae155ecdf726fe *81f61d3831d2341ec669d2c37697eb5cbcf27798b9bba0c3ccab5b53a517b4e0df4801265b2f53 *b4876c3818186a445b924d399b9678172a447e5da7dc30fe29717daff01ff3568af46b230f33c4 *011e30b4a391d0a45908260a4bb469a1e05152a404d88a9314aadb65b5b11af3910a554d291654 *b4812fb9f01cd56f6c4d3db5d7210fc7284373c830bf68c4a67412e439ca147189cb675a1fd0df *f506f79549ed05f95d2cf053bc99abec05bf70ebc2005bf903a5254b859e0e662be90dc022b0f0 *e71ccdcaa2456e38b116e8c75c0d67b2fad0075592919058b9e2033d47ec621e9360d74bc545e3 *50c0da6025ac2e3cf37d09a22b98b4b70ee444409cb8d6eb3b20aec9b09360ed18fd49075538a8 *5fbdddde3efdecb3d7af5f5fbece2e57ebd9672f7ef8eccdcd824ef71709ee13d880602b5fda7c *56be135175fa6d39c46856303f042f6d8d05d82bd729ae28ccaa541366588a7d4c20314b1f091b *c340f8e35fa7b2d3bbf52667bdc798e2d0ed6b4f3f8a8e3f745ad76c50a299924c6e1ce0908adc *78a8414bdfba38dae732d0fff5fc5ba28a1724df7fccd02e3bafd4959698198a3e5b3ba16a1ca4 *3032b246ac0323d7ee8adcdcd85ab54ecf63b26ae1537325080543cca4b469fe66848834f5ac48 *58a70a96e24d6bcaecf57a572c266477a1fb5b4bbe58b97241bdf58fe21cbf317798a3f55e512d *c7116e82cf8d95a9950543009f099bf4bb64fc425aa7832f3a81166f4938cb842f89c85120c3a3 *0b0a2f20e1331bdda23b84351cd0f976e2e3e9a603ccca5a4e775ce668c4d5a9c7203841eb5de4 *a3f5520a4352bc2516134a447fa01be9a8d6166a9cc04c77cbe9e806dd642d2a55b75a6b9124b8 *e2ad19f17ca3e753081f9560be017fdc02ce2c588a6e51bcca5b13bccdd52caf318b6d6e4668aa *0a5b2294bb56e8482764652333763ac09c50f6b9a02155a220c87ba49774819b2bc19de8f282b2 *a4606d111d6d638ca7549958c12918d93cab79c8030b335ee3d21b6282e91a4a60c2f51ba28183 *b0b31172737105be5a9a70b7f16abdc4c80dc77047c1ce74d607e58f6c2b37f9e6420216518e6c *90fca958dc886765622d0b8c875c53ed6d3c311714cd4efbb9c96dd54743ae06cd38d811e5053d *0ff7145f63440dd665471bc89c686c07c71964f0206997b0491c65481739dc363b92cc6e2b2732 *ad51989a137cc471dad950aa2662e281843c028296ac3fadb9d54c722a2c79e130e460c0ade378 *d3ff5272f0b5ca751136ece555a600f468011181e67881c91dfcb0860a291504b3dfc61b876e21 *e39c32cc4dc6799fef92c5327f187d7e5dc81952f8179f758d6f0def87a62a0fc00ef13c805ebd *dd762518d1a71c121b1048a88bc769aa3dca850cdc0b74b5ec923af413b24719460fe4fc846a36 *6210019cf738fcafcf46fd5710fbc79e08e24d049643994ce1b5292123050a550a804c6dbc10b2 *fd7637712fcc69c1cd519e696326fa39482f5a4cf12c1b2b75c73da7a0ec108f759a6454cd6cb7 *46138435a0997baea1f436dfb22b3e680aeab802a6c76e1c2f6a7ad532f59d2fa40e129a174047 *023b79c69e77295a01a57e2fe67a692fa0e0a7b84f41ade6f20e78500adce041f58b6d181cde73 *edd7aa2f5b0c30e815f31e278eea2386ab195f35807320e64113c8b0e2a68bdd5414796e87698c *4b989a4106fd9c544e3f3b9093ad24f027edf4a8a08dd87c73ae7adfb2ce5e25be521411c81373 *f6d13b26f1a9d929d9191a7c172b6b0a9e48bd7a39754d1d13ee148b106f247b110d88b088cac8 *b4df38b15ba38dc97d80833187b1f8f59f61b98b2dc70029af2b1b51c248b3ce2fe04a14e38230 *3181892d4763a301a85430a95058387d2a6bb15908e72e1d57374f2a2b65d42bcc62e265cb9bce *cd1fa4b263ac021a5cc563868720519fda98f0fba5ab901a868c553eb8c0d3800dad7f8611a259 *05630b77b7b8707a8b8423fe91ca6062ce883d4f058aef885f418269523498dfd808ef02afd508 *47a58dc6ffd8156b0c36724e4be64e11c77d22ee0a8e55432339569ce2621bec7a159276b81e1f *b15d27dcac146244aa87e5df59070de237234ef69b62ca033ebeba5d48e9140cf8318a59bec401 *3012cc9c12c51e25675d3284c3716dc2588ed19d73e6245372494cbda31eca0f88f520aa7e4b96 *06880428902cc77a3832f6ee904b02226fde4db084d612b3c950e18563c844aa16eb714d89b245 *244c6b8c1134fa1efa90219e00f4f7543ce4722629c049305a946a49dbd2427a275e29aab14b61 *08b77cd7cd948cf582ce831ee3e9374b73fbb35fc9c7a6af18b9f342c2756c2eadeb8646a6469a *22cd6588470234610c703539384b0eff6371fd31b2d214372b880ed86200c404a49333aa096b09 *1202d526775ce9948e759850bd0f7b722f5b7d60717fa4e01a342e8021cd5a7d5a26afcf047e61 *287120097a421a063923d92b43174d1132006956aca31ad130a660c9e148260c27a188e27c648b *4e9b33b1923cb22d958b81282e56f9c906e5a03750ce0e8b42955c075365e363528c5536a58bf8 *306692fbca71335c98aac74a6e9754dc1f7232c2675c1e1df318b5faccf150184b89a5e9604fbe *f70a5f891792f3405173647be27424398e7eadacb972d41c2e218591939b9dd61277c2dc317e6d *06e6852939cce6c6d004b5d4e1ba1b935aa03977afd7e80c323c22e28d417d8c482ad90970023f *666024b86ae6ff6522bca6cde7a29f4d9bdf8aa1e1258b9017c4598c6bf802eb600d1389e60065 *29b34900f3e6dfb32f2e4cf806a5a89a1c16a11b273555dcd40c17cd14c6654d7e1878813d6f53 *3fddd57758c3c71ced67c41080858254203bcd39816f565bad8b99d601a86c3a2fef726242d9c1 *9a0d0420d7ad63642852212aff10feb6c551773114a04907a4975ccf05c37e2004ba0bb9ff7f7e *011188482b7089afde517250e253dbf125c833ca33a083268e9ae2005e6b8513ae93ea51a40470 *521b3e700b1bfe1b0affa52351694d2ea188877e9703a24ad8f1e5f3e71a3f5049fd3149d98274 *55ae869d238228c49079f3b96f9c2629fcdce12b177481170a31a937a40c6261b69ab95deb0649 *57fff0cdf3bfa23082ecf4f5449446488847680a259661f428db2ad97610a59271a49349f615af *d494ade360cfa4b4a5ed8a078a02cb120a63071f9e7388402a4464234fd2509eff09171bab205a *5d04e5079f930132c53cad580a3e97281353231ffefa9715ecfa0d3b1b3d86ffd2354dc38178b4 *e6682593bda88fba8514bbc89726e11d8868369a617e9784aa5fac99d18945e19573a599f567cc *4cc1038e1f7b4537a1189c934e06e0a4f1991bb250ba43e78bf91a44205aa7be059d75f629ec39 *25f66899b9c9d7c661f1d74fbf18dd2cb4aea93973b7cb375f6974e478210eb32125e2d972825a *fdacf9977c0761589f8276e604c291339d436bdc7e9acf81890f3bbd46af23c18b9996b449a24c *1fec62e863418e175caf8318bb3e7f6a886c075ae493194ab625070be081504998f7cc0920c18c *338f26396209cb718c47b7644f28306685a4feb469a01a7fb231df4ded697a2e69235e22ff857b *88a340c234710e576c91fb7eaebbbd258fc9df89c78f26704f0d9eb0c98a2c4a1c1b89315663c6 *09b3ad69c04dc551846d2ccd0114553867a0424e34b0633f265d8d383fb17f344986accd3db31e *68b63875532f080623b040f042ae085e88be46dcc3da6c94df87460d949a349c14b34838aa48c2 *5c3ac09641f92dc801efdd50238168fec293cbb99020539564747f6001fc04719f1417912b5882 *572b27968f4a80e61f776b8c71f851f35cd5fcc9ea48a50b46c46ac5d1551d3a7210ab40ff3c1b *314c7aa8932cb02556839bfdfc75015afd7a44d552895b7db9a33aa4c453728845e7b8ac9474b8 *2d86b0e81da06bebb4fa4f176a119129e8ed42f70299f55d08a810a51a84c268f17683d79c9a3b *19921eea39e41ce7a304acb6125e4dd113cbd596031a9c8050a786f08f499b021cd064646bce82 *2a37677d92fbc34c91622bb93b9ec115435214970acae578ef4d9273a82fcc6466449cc009902a *255eaf8f4e77839c858d9cb1211196fae8dabc01667b984329aa50b2b312c859588c6b49e9240f *4d1dbb918dd31a526c18c77d04d109fcacbf40c6bb5b5d88a263301402a2839189e9f5286e2915 *9d48c244fd50c4560a2e193b484adc5b936eaf851585e96070f65a6e5799dadb1972286a0dee54 *d001240550af46bef9548acbb58972ddcb1e108339e86166073be5501b7d248245bc80c1236f42 *7dbac43f34e5f57f026796c48ba4c980ce6163aee589f58d367aabc7a00a174bf13fcc9d9b4aa5 *1492ca39c968ee2f375fa0c4277c8eb99578b67ea210395ff1dd4aae8b3b85dad8c80e5f201de4 *a5cb84d061e15c79b1313699674b0a2cb0d5619d5b354cd415b2c9db9109adc21ba339049e941f *b8efee167df064d69bcb6533ab652ee15c7220c174647bfa15f7031b55beca176373bd1b3296bf *159b8d29b33da32cd1d10c2cb34aef4b923179b379b258136b85ebf77ea1bbb3f18ce8524221fb *a8523e4c558fb9f6023e0a2f98150e5a9b082d85199a37c566245163c8c125503ac572bf148ab5 *cea540f2dc098006a4f68203e16a2788031d341c8f21274ab31919a6f296f074c4d3c0786619e9 *5b72682107f23403cef69961c807a47a00cf988e8ac50eabf602962c358f9e4064c24db134190b *06eb875820d42bd5cd61cc22a9ae295e16e2e8e07f9a2e55b6c25c7309e2c39b8d302047b308b1 *c6e1880da36c646d2c287abb439b199a1625276a6a2ed80285db68863f4b4119647e0c19d80320 *4a8710a5373088c2e166a8577be481185412eab4e00e32149cf69153dc927bc3cc13f422cb34d2 *b6a4f9225e807ad2e27a6252880efdb23344054eed8000a4ab76daa33c58ffbe1a1a99b939ce24 *d8e76fa547ac83e746a7a4180866e2ace7fe7cf958ad0c2150307df9c4dc92abcb71ff177c2167 *96612dbccdee1a23899ed2c57158a6848a81ade5b638a8a1851c11e2f2c4a4dca25bc9159f475f *7388950627ebd7e9da3bcf801afcbb60d97fb5661f9b92ea367c9720450c51b2dc1bbe7e0e4f19 *c5d221649a4817756ce3ecff2d058957c3a3a7c8d67237628aa294959b4b4531a7184039c16a79 *940a2b3171a864d3f293f90e917f4189d4146cbc5b53c273e9723b083ea57b4bf1c5726ecec244 *7777404b60f6c9a172549f5c42c6478b4b34993bf4dc825ba0722ce82a7c493eaf04e512d12b2c *3a62f09ff0c6048a1abf2576f2d93abfc0e80d524737e450784557f0190ef9c46cab5fc7806e4c *fdfac69289d49bc47bd696bf147885c2122ab16e70f6740b33d5ba30eea1429960a88d78346cae *12ddb93d68fbf1a1c32e5c6063424111313037de1690ccc9c7940b4b621300d0c522df9252b691 *f850be1641f471cc9c6cd3057f3debb6810c04134be3891d0ada13936bf9c8c8e937cf16523232 *c1927652dc64a0e4e8616f0e63f14b4448866dbe887426a96fe407b1af7014572a174e5266afeb *cacd9d58f75788cfb909c49d492024dfa6bac4c0c46d8b73d519f6c024f4839a21458fc4a0b7a1 *04733867e64a8283d8e335751777439c05afbf735cbe1cb487d1f5b04f247b538eee0102fdde99 *0d3a79c5deb261150dd090b2201ca12e5c812298c0372b1bc1c1f0b2865042852f5de60506a3a1 *8d4397e087b207d20bade32293e89096d8f3b137cfa96760985bf4e29c53e5cc1ec36721e2148f *4828b4b9c2243a0421c912d576b0fc314fc51b72d00f82296372c928d51c903282681d4203266f *37383827188fa4dc95e4ceb086b0264fb240c9b466b21ca6c29de4cc7cb79a2f73be24e1c72127 *1d7b77145294dad698bd3a032c3dbca1dbfa4caad7cce9ac64779ed1bd96b9bbb64fa97b0fd752 *beb79dba1976e816c3570e603f2697aea4de2df9c83337b2b48571f760b5bf2eb64c35b2ba2606 *b98bd5cd9a1868f02a6052d080f4ae8a3ec997cedac23b266fdee4e3cf44b1a1dabce6babf616a *affb8398cd6ed24914c56ca614b3d94de0aaa072cce67873b9dd5d5c6f2e27f9671b90c7e3f967 *b7e8f6fc6c81a6becfb6abe5dbcbf9f60670793854dd3441f3ce4bb0b811e034433b9f17bb592c *99e1bdbad47cfb62abcf946be803820b9664edfbeceb37b79f697558b3281bb199b4cb219b70ed *9982efed4acce60d5ec7b35a628d57f4ea09078028d195177b643285bd2d7809dbd9da365fe678 *bf21eadeecd3e58a6a7af77e9eaf16a0a8e25d02a32d5f08032afbd6dc8eeba2dd6f21ec5bb004 *2332c80521064504e794a9c49a2f307a6099a891d81bbccdb58a509a4cc291881464ae7cfbf273 *366e4abce51b7cde141fe074608c4927dbbb89b4920818f4e1166b94d1f8178d9a3d4bbea87873 *ad386054ac7be9f9143632c3d12760c5c7cacb00a4083fbe47b4742dfbb67a36862a3d1bb8ea43 *ae99eab1073773ae0ee16160399ca947bc73b7921eea2b8a23018d6fc2af70ead4aa44f562620e *c053931980cc5a513ee1948fd0a2602d4d589591b81018f2f67a8d974b41d2288728510e301d47 *30a2de861194e22fa78108ba19e85998f204582e9710cff83ad1a971aa522eb017e482388fa71a *e56e14d572a07c5e564a27a88ace500f9dc959bec575b829897ab7c18aaa6e313473678b9356ea *963fe412938487786c900268f6245348e1884b09ef642f6f8fbcbc5fac8005521104bc249af4d1 *afc9dfbb43fd87aa52973cc04992309b016737d81c41ed99b1514a2f22d5ac7ae90a70a79c90ad *2bb1d91564d9745cc02d8a4ae78e90b0d943e2e2b43ee3c2767f4d567a08e1855f650b3ddb35dd *994b0f5020c3dc5e6b45349d2251970c6228e1c896961befdb14afc1928baffc3c10959322ab15 *a909d70da5596448cf444c146aec9d3228e88423616612ad0816e4fc0d5b624d980c929d1ed478 *5db82546d007c761a748dd18c32a0aaff13760b86cbed9f2fd02d0d1d82a1a1cec482e93b5f11f *4b1919fd8f843c56f6d0d208ddcea0028d6e7226707da848bcb2eef8acbb19cef197640844d9d1 *c87b48cc8826ac75a1e980027eb81422565e2475cfbb378c1dd27ed9263e364b368e8499f68618 *c182010e5832fcb3bfa2f2b6d3eb9253c8d48e3c32a4db96afa09348e8bc92fb218905fd3e96c3 *13a51a9549477576637230c21a021bfd9c0e8306b448de95604eb28c84b3f6f06ace969f398367 *2f255784a135c72490613dd261277c21390a6872be30d96a31472c99fc05c8964da88a186bec65 *81c699aa5e1af4d1472834433a89f0c054284e0f30437226b4324481c77ff29253d15a88e85c76 *7c996864761b984b0c3dcf116432614a9a0da34df19e0ba78f39a5f48c284083ade8a3e2a62551 *cd74bcb372a4e2117392303902954b22c96d1474ecf4976e6ef270595c63e8252fe7a596da5ae3 *4cbb9d6a2ccb4df3ef059c8d91b7592f79b17dabf9639b321dd088820ff8d708e448640b4c3e60 *4b1171f1f16e8d1122690f8d86925740d99c3c39c98d36a6d7db1dd7f3044e43ee04aee6ab72c9 *f46b7111502d3cd8264d7e7129efb73198b5bbbec0939a64fdcc45e1e4f8a7ca6d98f0b43e9721 *647471e18d121074bd5b73392f7398c2a14172493836b3728d20d7c604d803f46ad9b0e9ac2b38 *29e2da8990848ac8b0097424e91a61629420a9b7804634e2e6d0c910dd60a8ee4dc4988aeaaa31 *c5da222cb9f151bda4b22424d550b199e46092013587acab189793b5d11966d8fb2bf2e3387559 *ece283c9d75703e7702385541b07c6b8c3546c0d3649a9e2756bee6ba3541eb6c5851f3a68d403 *5230d21a0db5145c27a9b825fa26dad30899a5ed2ee5e4e4ba8b09391a3209a604fb101a5c5103 *823fa129f109a6aa122b437b2d05cbc9919df2b551c8c13452747991e6f62947cf55745755dd37 *893142a7de25069f659d52f0994282fd0ecad783db965cbc4b4cab959a1e74f7e8863c3d7225e2 *40d92c4b92dd70c830a70118761743cf8876a81a7f19a99597de59d87c3808e05f90f4a4f31758 *08a1c23eae3845c5c2708959fbb9257c62fadeb55de2701937d90a0dcabdcccd0b426b7060ac19 *261663e64b3f1c23ad51634da6304a54a9dba99928fa93b957ba0a56eb79f97246bdf47b74f733 *5ccb89ee5626c47279e832e229e6ce60eca485438e062007a86579de06da4bdc7c4519c5156ead *711feebd254240f44756029ba199c602532fbba9cd6d471c596082b816fd5cd55642a630b367c3 *fa094b392046c932e6622e53715323f25714e36bb182d1591c0a14b3545273535a810211132abb *076b95a2dd79d1fc16ae7afbba5860ba815facdf240f00b382ed2b3673de411ba1903a110aec11 *c06541eceba041a48985e8692930d50baf38e13e5f56fae4b2ad14b3a03868611e1cab5e3c9856 *96d2fdc013e319c2eda4d29b7885c31fdf12fadfd0851b443a73771ce5b9e7529a8d26d2c19a08 *70327945d9a04e2ea4641f49259ac233b7631046aeca51189248e6aa823097ce804faa36da2953 *7c070907747b7502cbeacbaca4cd5378704f2a497d85e578e078f796d22d83fad8d0c90e030f08 *9404d9a32e4934761f1dafa45f64c65bf48f5db1a5cca61197cca1985064e9859411e76b6bdc85 *53a8d1e7ce05bc8dce009dadc856e864eecc87830d807a3b78bb5b857ae1da093cfc6154fa98a8 *78c95725d06ae70af3fd80e8465824a15529b40ad7f0ac290a447373285083d1b878ffb8863387 *ead95c3a112bda70710c30d02c26523208d3379c2a8618b00bf72c53c9d6d102a5b49e3786e276 *c83192df381516e64debaa37a702f1b1b273bd524b602ac507002c5d3767cdcf299f1aaa183133 *66b82dfaa467151fac9335a6304c1463739bdf68ad2d1fe95973c1225a0ae35531c6655bbb8db2 *b99448f740350409c395ba29ac96882581af114351d633c137109dd707c3cd13d269ca812d9c55 *86277f28cf8ace57e89c037f87cee558b294724f897707c21c2fb11893f6354265d7594c2a1763 *0374f5068f81bf0276f235ce738a06c78bbd9e482f532bf1c1693cdab0eb139d14e2fccc611728 *9e444e7bca09d91dbb45a69ce01c88a4c6db4a2baace73106923bce9fdc2501ad02e8c70c7fc69 *62326401d7fffb2d10ae97e081c76a1c075d6f4a39da69c792889bee44b125943b8c7fca39a370 *46f98adbd5c55a782f9439dbcc19385d7c0a23ca4083f19d17b8a4a017c9652298f7b6e39b3e34 *e8d5ecaaf917740c6d6e477031763f916c78004ef7a242f54227e686aba6a0ed8ea6c2dacc3c5f *70e512f058e4372bccfcf2cc1d9ceb87c0e94e553670714a1d971f326e298569b75c1291b9e592 *3281f031c4443ce95b660d7e2a0833a71b59d13f49a5445007dc705eac8b177c2b360eccf00258 *767363c9cfb3d1fa7a34cb3fe5830653077aec69e7d8674f39ca6ea608598334ec894ccbee23c7 *d7b17f8f2226197987e89be7b033bafe91cf6f23ba3f0e89bc6202a1883a8c6fae175fb8596e00 *8a5ead842e8e85014c4c70611983d80536db692581347bda06320e80ab5789f717d0497403c922 *a0fb65a9677dce5a8354b06a0472a2290f0b7c6e6bbe4201349a0dcfd8de542157c5e75629a189 *d04db4e6ec47c14efead475caccc1381856bb296548b24eb57732d6e2894f4f58894e282bc5037 *6671e78ab588c93e1562862a04f3754a3a612f22258b6b4e30d32344b40015e8b235c00af6fe46 *5a913bc70a9517bc085d2a80015757a16b492e10b256765b71e089b18471682eda58e938229127 *7456a1d1f630cf0d4f2d78c8373c92e769921b5a724106532e6ea4b9e26b82e7708e42d3f824be *02eaa49f4050259598b2ce57088863c147215509da8748aa725db46bd66431c166ce15d46fed7d *1b53097093d5ef639e1b992128dd6052a9460076cd8dc9d117c31023fb3f76e03b40d73fd0cf94 *7690366280796de882794db6407d0486080253efcbab48e1d6faee8162f26ce396be2f45a50abf *a1790c7b4cc1140c8c7af34459cf155afce7a3db8d73fc1f6db7eca4318581e4dcc6d1cf388db4 *6dafde407f8416bf62a607ea7843468bf4b2f394e8540a2f622e821b8f21b11f9cbe8f6827753f *98733780f4d45b8eaeb187130f7f25bc364b58c7c7dc3f5434a458392eb9a29af5135a0e531b90 *4b82055775a35f78622385d1f402142f3da25244f65fc93730d9f4262bdcd95313dec635cf0ba6 *363c789bd859cc40e390e101c7563e212f152d1866c49006266e4d76ac61ac1494acf16cecc6ac *ae30d6f3b7e2c1900aaf6917f523f13da5dd6a6e466e2c7e14c369a2c89141503af2948d6a244f *a5b0640fed0c385d948c93b750ee7fec6a6078efde0bbaca2dc3c007cf3e0d649253ea3e2da9a2 *0a4cb248fd7428364d9bfece717fc552bc5085bd0177b5b4f658f2dbced9d182ebcf377c161ab1 *c73be96480ae9db5a91142f96f243e5664e596e80db9dc90647a39fe7fee549265ba51d686c59d *a17f676df0785cbd4b74caa200cfa7ce25c4cef5d04f49b5cddadd6e40727d6fb268c778eec2ad *33252cc03c89833527ab616a0fc51dd755896c214b48877308e095bd4d60dac4ab13c16ba9e5a0 *59c3626a6c6b845d1836a8493be7bb5146c405b2141538905c6e6a24fc8e62c7897fc8d8d88139 *6b5afd5ecdde8ad16be66ae533472bcfb2764719b57c4076395626b7732c2fb3846c0654e6a97c *c1863d2b92323fe5c413bba40c197537ca960143915f210476f0098a6bb4ca4c9cc8e2c21c3427 *f98c2e40864a8a08b483fa192fbf5b2389cf32598f02734a1bfe8df8ca297ee31a5496ed6b3044 *e3619ad0096e31a05d2e369c7e3332520297c261d1b010ac66643d8c30d8ece0d20b8a02648924 *358c81b029fb9220de62f0dc988a06dcb0a98b2aa571159c8222528879d2d4fb1897207ab33ea4 *b41dc1b841272b790f677263039957d6524ff109df4336a9dcf6c73d6005028d3010b1470162f3 *d13594b2402ba0d682d6a2d23051938ecbd7a21b259295d43f15acd49643bba9b361a78bb16d92 *cc4a0841f91853f7320e7b9129ea30a5dbfb142b75e4e18360935f8ab51c39a916015ff760aabc *72a09f966d57f68aa80df931319957c2eae971f0d783336769b46bac3da0e08e69adb9d1d5e899 *29268f6af98ccb3312c3230f33a211665963d568609f7091bb4996e49c004759e6be503173441a *3209ba514b4a346d24dddabbc6440a864db160185b94e9624e465d2e3820125562ba4becc2e6cd *b624bd9da2706fe9ba3413d5c1451efb92fa88f8e824981a45920342e556c32f4670031ecabf1f *6c56b0eee60b7a01f1f8aaf9d58e2336f062ec6fb713be3964b39b69b1871101544c09d381e06a *0389d54c3800d85433279710970899eed05707c15335b9a40dce25655ab6b9c033ce053685aab8 *431462ff8158a085c157cb191807511638a6445b877b9e2f6eb1763be66938d5bf3881000c3e26 *016ab21e4de552f5419f6fc29cd82c280e01317e29886864e93982b434a4cee70e3d62c16bb983 *106ff5567c01091e54f044c191a218aae04c62eea2d52f05184f209651f1b5db49520e6484ab65 *157c4f2a818ca0bdcaad27ad0b2822496e9855f3c7e427b2e5bf286ed88db41e31ef470e8bfbfe *1f396e08a6d0ae168564ae8c9b5f5c7e77a9a9fd392f0cdd9b3ebbf80e9437cdd8b57c6fe0252d *54d69e2cd0686bfd0eeb82c1269b305b0824d6c88f7c22b96c43b40b1488d0bffd906362d0109c *fd642f245515efd645d1b208d7f5fce1ab2f2ede48f2c413b204fdfdef7fd790b2ac8f15229760 *552876375c468a559efc7abd1bc99513c9700817d5c2aa69fad36ffd98fe44e7e2bf530d813fb7 *384bf7126ebc21b1f8031edd174d4cd3f9256f753b5811040ef2fadf0c4de514043395e4717c7c *8e19851b49f718aa2e9ac89e69c6b2592d2ffe8ed6f1450ec7f82732bc7e9787d743432094edc0 *2dfd0fbc58ed55f30b2d068026af9af904960c742eccb846858b7b2f95c7c0c0cc2ba1504dd330 *d461a38fd6c02f814c903793bbaba64aebdfbfbc78b3596c65f5a7b8f448125fc0edd34335c0b9 *991d289acff40100048a5ef221cf694873eaf092ffc78a3dbfbc53a3627dadff2db972d3777cf5 *fb100d7298e83615d33594db60defb9442799e2d45b305cf9a46d5364e6f5c6cb85a6f5e31b99a *d825caad579c25cfcad073cd0fc46c336efe53bf8f5b3e1a23f4044b61c3398acc3ac443be7a73 *0b1509283a10ffc2eb356b26fdab66efaaf534eb0fffa9550858a1ffd82d0174321cf4698134c5 *6360c78f5d5ea13f6a0d6e528cb7c46e7fd060fe34d21c7c4d65783cdc046c449d1c4260315feb *6fbcaa6bcd81b1f649df4411fc2f736911bc01f3c9fa9017c3f8c37e5a41dc2eecc697f92d5f24 *842e78ba8e01f21e9bcfc72616f23f975ae9509478ba65c30daa3f7f596d71d93abc6ccbd97cc4 *748a278df997fa2138df69e6cc66fd994bac499716a6675067be241647be8b4b2a3ff877d2b9f0 *6ce5ec76514a66e1fb1c91a3f5fa5802f2c69dd17f68e90eeff1e6e5cd2cbd6aa670a5d38cd13a *875d1bcaae0db02c31a416dbc1a177490657e09928b7c131b82878293b252eab52e6f2a45ce71e *65ec374b18f160985084480286a301de09b65d5cea779e8fe758c815668c31d4cf26bf8c181117 *78a5fdd7aec2e2b130253c8c27ad3b1a6232ea2d5f9fd1cdfe39ec419ad97318e80c7d8bdffee5 *8be7fa93bf895fe992d8d830ed0236e8fd136e9626b444035ea23fad477348d7c31a39bbed1615 *2b3a607eb52e4039ff2e2f5ee2919992e496a3097823db68fea7ca0f48d5439526989bebc66603 *5f8205927d9c525e5aa5fa245af0838cdc90ede0aad9818d9f6a6ad5e799216470c351d0c1cdb4 *43731bf2dc501c824640b1f0c6162ba1f6ad0e56ca949a185ca5c41dffa0279b9d7664b3ffaef9 *f606c20830e10ed74beaa06f9da4ce59609620d7be45db07d79f620a0319ec6cf1a4d949fed9ed *7b5b9cd316cfec161362eb43e400b6f8b9e60a399a8128891c0d657a6d7a5225b4df8672313f26 *ed9f288bf1cbd5481fdab86c862d4f2117187fbb83d8f472850a0e51f8d2e43303df1d42185cda *285796905054df809e2b2e0a036961bcba09b3d054f7fc8a6968ead0d01062e1e0f4b562bb7889 *9ae62e354d6bf0483107b9e5fcc464d0f967daee03eb4987544644d67a4a6b3d75d61a879a68a9 *00368067bb1955b876d6376be312fc9880ea0768f525394c2674c07a663592dd1a6f2e9382f4f0 *57aab91df080c3510fd79e4a2290c55feb5909165431d135e5aa5e1bba7ab32c3c71edfe292b84 *477afc7cee0a4d9099a04664292e4a497c4e9bc3ab6602d25363681b6527dacc50b19b80da34e4 *380ebeabf8c7246584fb4f6331d73b8f72b154e56a08cb662aa1cd4275ae867223b15bee8aeb0b *8cadd6abe0f485a5b5b4de0b5568bfe6bc21a3630df1fe612068ab67adc6e3d1cde5e6e5f472b9 *fa05c85f63ee67ad7f6841bed9e8ff169f4df0ffcd620837bc7c668997ee19d6a2558e190b4698 *ef77d74ef8d3dcc11795f5b1faf68f49c6cb43651ac61c0e082bfbff16a895e0652bcfae8b4981 *29d25a1319e947464f88144d620dd6657a0da31960616d299eb4b811e7589ff210b9d23b663adb *8b71b8ea0255b6626b38a50fe7007348e5b34dae3e8bf96fc84045262bbee419a9f015b0d92946 *9c0906cd885772e88325d821d83dba98195acfff51f321d245253ac9fe99a20c8430992fbe439d *509fea9f500d933233d45d68b1e7080bcc18ea107e767803f80c3df30ed05a04746c5de10e3b9c *31bd6731c222665ceda135370eb211d68dd97036e05075329c9e299ec085569cb5ab480ab48dd6 *1c6c3c015230597448f419d529a55b2c96cd359e7f6017f5ffdbddda25e6b991375a7afe334907 *2189a300380af6bf09461172a7ed044094d71a98c0a06b82b952c2f2aebfc8c3ac64a80096d041 *86384c29f58ec24b4c0151d6d46e47a8be76fa78ef3ae67e4ebddc35295ca14f620033b3673161 *a460c61c92e946529d01a0eef76de9c83bde5c5e6b5abe588cae37c20cfeffaf47136006f9fab3 *37c80c0c1f4850e4fe11887f08860ed8f36ff59b4f88c73b7c32374731bc9115a7f263d2e325fa *0b5a611644d57fa7bb6be16ccafa670f0f2039ba4a386f1ab315f99a08bec042ec8e58ae658526 *832e49a86f300ae60686d0d7e8f3a7c568335bbd8625ab57499ba690b8517eec519a64d11f35aa *a46dbbabfc1c1741c2f018839c337b5229047f948740c3be5c232bb5cd9fc9f5e0c59ba7540503 *5d0a1805e60420bee4fba8b11e7482911eb682be66a6a61026c636b5075df0f59201fe05eb21ab *e68f7a6760277e84592e9abffbeadbafbefbea2f2f48a9d4e7d7c6d710bda9f1e916ae7fff9cd6 *e2277ee9a7d61078d5efa9d08496ecdbb7b739c62fc26b377449fdeff59129c36239d0377c8c4f *5f350116fc7adbd0f23301ad4d6b9e94203c6cbc6ef06df37833a43cd7d7480ecffdcd3c021541 *dbfd4c8b387015ca10660c5961ac38fced6f8dde80def83d3984bf6cad2bf3b7535d6126e14fec *a4005859a7d36f74b21e59bd5e9bbc13fe2bd78863e0dfd13a95167729ab079061431add64a80e *6cc8b3172fbefde6b9d990341d248d5e3ba5e3e304591d980921168aaeed1837dbfaf7e1109e82 *dff3e6d316427caa79ca53f26599f7fa9a5e7b4942efbdd2bf6b92e3f7fcdd56e5ddc6d42abbd5 *b0896040d2efeacd1938fba77bd528907413d51b740505f4e3c9b0db804ffee66f3740d7ba1f9e *29fab4a8de92d8c167fdcea0d1a3db4460d21924a8601f76ffb24eafdbe8f748fb69cad91fa819 *2142e2e8253d34d003e487d09987bd5736c4ed5d53fba0d756bc74595fab22032261833db83cb3 *e68cb06798757cec510ef634ee843d80f32a69274ccfcfe48d596598907891a0d2c1ab94656df3 *a60bae912458a3c15f1afa0344ed2ab79ff092605f5c5d11d724d373a4b71dc48780c024ebf0bd *5a3ffcf9b9b1f09482293c06a69060924ec63ec432fd123fc99b6f348974c0e80311c9eaeb5740 *0de9a063decc9bbfa509ea07b35eca0f62814e50d57bf8a0e2079160f4bf19fe830005fd16d00b *95476c7c7d0d44d3c3fee8ad95e648963de28820c3a92f1b3c6494f8a2b535c357bc92f0289a32 *dec052769ca1c1b675fbce1c80a4d5358f0c45847e07d248dd8165dd9e7dc7a5637da6d27fe826 *3d594acda1f5ce75883e47d05dda6b9b270c62295c5f8d4119d76d94b16902b30ff336f769a21a *7807448f0b1cae0173813bd8841d74358f830e14ef4bd6030957ea20e31bfa0c7793a550d42ba4 *9479bd0e86bdbdbd0e7b43a57bedcaf275daed7e755a8885bd7652c2c21961a07230b0d71eca0a *11069ab75e1a54cdf8416530b0f46092c92c67f2cf87d085c565d64fd898660642181bfb996063 *42ce0f1f1d1b2e3af608b5f4167b13cab2bee622a617db073158de76586f2a05cddb8e934d54ed *b6a77e275095c6edc4723e16258be6bf90628e9a42476f2f8b0b44aa6c000b4580bc2958ccd50a *ab7ea48bc65a9a42eabe139802e098db492f4b94db89e5b6462ac914502a7590f54e99f56a8dad *9bde6ba298b8cc6c00a23d0450cd5e75db7a4483347126da73de094d74d8f03ae96503e5766289 *6598f5c3c442a050dbba6afd815ee1b974c107e972cc45f3bbd1dbebdc1d73d6d5983f6c5b02cf *fa03d35b60cc25e54b0b94b4868a9de7af5affe60d4c1f76546960dfeaf36f521a582341b7931d *98e9edf0c0b812290f4cd50e8cf494ab763b7321c8026a9e521ae78f0683f418f5f81a699bd28f *88e1ebe141c735c4e98eb14ff0cc6807031514c981777974509d97f5e590406c5405624913c5ea *9e69d6edc8b51c90f14755915d0dc216c7e41350ca7787c160d3a4d3033b7a5fd620d594db48cd *ed629e6a218cbd0f171475fa86b1c32d66f28aa75ac0cae8070d63ef2443efc199cbd251d500d5 *426b88fa2d5c4f62e6fdc41991cbcc133cd7dbddd5834cbbcadb5e676ab4bdd5a9197a4e871de5 *4e4cab6eee5af83bff849474e01b49a2bc7eba7042dbd34f0fa2679d75417b62b91fd44f52e0b5 *a2b6778dacefa0da034a5936b0a2266b1baf050ea3a38f7c02a0a265bd21f6967649336255a9eb *bcc0d3ed0192e2199330bdd7eefbc8d3edf77ce4e1279c2e5dbd1490a797747de431401dada09f *2afb6042c73bf7c1aa563067088ca73dad61a53d525d5847ed39a3731129c57b2f5c44faeb32ff *eb5463008e2e617d082e5f69a7de1ae87353a6dc35004dafbc06bed4e8e2b0ba4ab0acabb1d8be *50d11ce1264aaf837ea67bdcd3c10017caae9c56a712ec40b9e8d501f4ea0dcbc7635120b9f35e *afa7fbeab54de7101d21af853a87ca41699ff41b44aa41bbedbce0d39041aa7ebfe722954afb9d *8e8f54fc44f0b0c3b280a567b7db2bed254b4dbba4d910fab45d641dad644117c7337e33743efe *5a7a18a4437fe8035abe2033f5e56b171debeed059ae7a43576e1734f46a17c1a12b7fe878d992 *3bf4215d8c6b878e4fa8bdab1e96c05d0cd5d927779dbe883157fb3a2c77b336ac8472a730f445 *193d115e1a6b22e975dd85af13c4a59174fb0a0d38287dff0217d0a5740d2a44d361bc388c30ed *73ae7eed699754d634d523d747de9ee58cddbe791d195a4793957d02582218fdcc13151a4626d8 *81310cfa569a0eec3b9e229c2466097cfb07d6fbe022ede852a47a7e52f2a4f5b2b984c96b151b *a2aa31020f0298e17a5df0d66290e01464c80d2f4987282f6ce4c97d234f0fbd5ec16161ad8ee5 *867d1cb8f672d759de84baa6e0dbbc18f350c876a285de40fa4e41c2ea83828330c3a179a2b253 *feb0d0cc7dd4b0943bacc5eab533a674d0066fe2b06371080a1d637cd062c2ea5ad6170c0a98e3 *841e96b4e15f7cf9ecc5330de17ffcf0d5fffacf6f7ef8ea4b267a6fa3875ac2732cb5c5f8ef34 *596af19ff1a556489689461bb9f66dff2e75b962c3d3a798a0df7cbe5d0b05f09d6e771cff37df *7dffed37f5c3ef20550786ef903f0ebf5347fe7b874f02033da6ce4c20ac3a3d6a2618f547fd6c *808e214a3a6d5bc2d64a9a85f5d23c084aaf7d10e85bd3aafb60bd214411845e1fbbb266b93e96 *d648f8fcacb935165638881e1d2a8d5759df0e7cf3d6371986f590baf585e851751ce9d39a63f5 *3c5e73b51f7bca6b9e527caeacb9b2b0bc35771e9435771e0416506f7c92354fe9a46bd75c4350 *fe9a5b946e04975c9f0278c995b7e41969e8b2e4fc6078f1d40194eef5643bcbabaf2aab0ff5d5 *f51182af41ff0219fea8584a5dbbd15653c635d6c04032eff4122e6b513190d710f9e525a54895 *1603bda7827950472ceb312a601e0bf7a08e46842e788f3b0e224064bf407211a1ef3c88889034 *dc07938e20c2b40e11b0abae83081942f01101a7dd0de300e5d0d0e49538987addba4d0b101aa9 *78e06f848933f3ae7b7703ea23542ee9b7cd6904d7c1307d5febfa17f8427d60ca05d607dfe5a0 *6f18983e0db42bc06064aac342016d7a217fd4ccfddb9e2e7b1db8c4906c20648303fa65e866fc *9dde407513ac63f57531db49b9bc21f123722dc30fae6bb920d7f2a5c6352adf9c805d73a80f6b *e09eb515914750bc59b2085e681259e46b952f276ab7c9d71043dcf84cff76315fad5e355e2d57 *af97ff945fff6f31d5af7cf5d7afd5ff07f26ef3aed94d0b00 newhex * rmfile ./docs/icfp99.ps.gz hunk ./docs/index.html 5 - HaXml: Haskell and XML + polyparse: alternative parser combinator libraries hunk ./docs/index.html 12 -
- -Warning! The development versions (1.14 upwards) significantly -change the API of some modules! They may be incomplete, inconsistent, -and liable to change before the next release! Do not expect code -written against an earlier API to be compatible! DtdToHaskell has only -recently been fixed to work with the 1.15 APIs! Warning! - - -Notes for migrating code from the 1.13 version of -HaXml to the development version. - hunk ./docs/index.html 26 -
-HaXml is a collection of utilities for parsing, filtering, -transforming, and generating -XML documents using -Haskell. Its basic facilities -include: -
-A paper describing and comparing the generic Combinators with -the typed representation (DtdToHaskell/XmlContent) is available here: -(12 pages of double-column A4) -
-Some additional info about using the various facilities is here: -
-Ongoing development:
-The development version of HaXml is also available through
+Development version:
+darcs repository at:
hunk ./docs/index.html 59
- http://www.cs.york.ac.uk/fp/darcs/HaXml
+ http://www.cs.york.ac.uk/fp/darcs/polyparse
hunk ./docs/index.html 62
-Older versions:
-Stable version: for 1.13.2 see
-
-http://haskell.org/HaXml/
+Released version:
+polparse-1.00, release date 2007.01.xx
+By HTTP:
+.tar.gz,
+.zip.
hunk ./docs/index.html 69
-
-ftp://ftp.cs.york.ac.uk/pub/haskell/HaXml/
-
-FreeBSD port:
-
-http://freshports.org/textproc/haxml/
+
+ftp://ftp.cs.york.ac.uk/pub/haskell/polyparse/
+
hunk ./docs/index.html 75
-To install HaXml, you must have a Haskell compiler: ghc-5.04
+To install polyparse, you must have a Haskell compiler: ghc-6.2
hunk ./docs/index.html 91
-to configure, build, and install HaXml as a package for your
-compiler(s). You need write permission on the library installation
-directories of your compiler(s). Afterwards, to gain access to
-the HaXml libraries, you only need to add the option -package
-HaXml to your compiler commandline (no option required for Hugs).
-Various stand-alone tools are also built - DtdToHaskell, Xtract,
-Validate, MkOneOf - and copied to the final installation location
-specified by the --prefix=... option to configure.
-
-
-To build/install on a Windows system without the Cygwin shell and -utilities, you can avoid the configure/make steps by simply using the -minimal Build.bat script. Edit it first for the location -of your compiler etc. +to configure, build, and install polyparse as a package for your +compiler(s). If you don't use the --prefix option, you may need write +permission on the library installation directories of your compiler(s). +Afterwards, to gain access to the polyparse libraries, you only need to +add the option -package polyparse to your compiler commandline +(no option required for Hugs). hunk ./docs/index.html 101 -Version 1.17 essentially just fixes compatibility with ghc-6.6. -However, it also include a lazier pretty-printer to use in conjunction -with the lazy parser, to save running out of memory on large datasets. - -
-Version 1.16 adds laziness to the parser combinator libraries, such that -they can start to return partial results before a whole entity has been -parsed. Partial is also used in the sense that the returned value can -contain bottom - an error which gets thrown as an exception when you try -to explore the inner regions of the value. In terms of XML, it means you -get an element back as soon as its start-tag has been consumed, but if -there are parse errors later on, BOOM. However, if there are no errors, -it does mean that your processing will be (a) faster and (b) less memory -hungry. Another cool thing is that, even in the presence of errors, you -still might get enough output to satisfy your processing task before the -error is noticed. - -
-Use Text.XML.HaXml.ParseLazy and -Text.XML.HaXml.Html.ParseLazy to try it out. There are also -lazy versions of the supplied demo programs: CanonicaliseLazy -and XtractLazy. - -
-Version 1.15 is essentially 1.14 with some bugfixes, and some new -functionality, especially in the parser combinator libraries. DrIFT now -supports deriving the XmlContent class, and DtdToHaskell now also -derives the XmlContent class, in addition to determining a collection of -Haskell datatypes equivalent to a given DTD. - -
-Error messages from parsing are much improved in 1.15 - they should -locate any error far more specifically and accurately. Let me know -about examples which do not report correctly. - -
-Prior to 1.14, there were two separate classes, Xml2Haskell and -Haskell2Xml. They are now combined into the single class XmlContent. -Make sure you get a recent version of DrIFT if you want to derive this -class from Haskell datatypes - the included version of DtdToHaskell has -not yet been updated for deriving the class the other way, from an XML DTD. - -
-Version 1.14 also contains a new SAX-like stream parser. - -
-A while back, Graham Klyne extended the 1.12 version of HaXml -significantly, in particular to ensure that the parser passes a large -XML acceptance test suite, and to deal more correctly with Unicode, -namespaces, and parameter entity expansion. His modifications will -eventually be merged back in to the main CVS tree, but in the meantime, -you can get his version here: - -http://www.ninebynine.org/Software/HaskellUtils/ - -
-The previous stable version (1.13) had the following features and fixes:
-
-There are 3 main changes between 1.13 and 1.17: - -
-data Document --> data Document i - -
-data Element --> data Element i - -
-data Content --> data Content i - -
- class XmlContent a where -- old - fromElem :: [Content] -> (Maybe a, [Content]) - toElem :: a -> [Content] --becomes -
- class XMLContent a where --new - parseContents :: XMLParser a - toContents :: a -> [Content ()] -- -
-import Text.XML.HaXml.Parse --> import Text.XML.HaXml.ParseLazy
-
-
-
-
-
-
rmfile ./docs/migrate.html
}