#!/usr/bin/env python
# -*- coding: utf-8 -*-

"""
    Lorem Ipsum is simply dummy text of the printing and typesetting industry.
    Lorem Ipsum has been the industry's standard dummy text ever since the 1500s,
    when an unknown printer took a galley of type and scrambled it to make a type specimen book.
    It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged.
    It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages,
    and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
"""

import json
import random
import typing
import zlib
from pathlib import Path


class Lipsum:
    """
    Lorem Ipsum is simply dummy text of the printing and typesetting industry.
    Lorem Ipsum has been the industry's standard dummy text ever since the 1500s,
    when an unknown printer took a galley of type and scrambled it to make a type specimen book.
    It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged.
    It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages,
    and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
    """

    @staticmethod
    def generate_bob_ross_text(number_of_sentences: int = 5) -> str:
        """
        This function produces Bob Ross style lorem ipsum text
        :param number_of_sentences:         the number of sentences to be produced
        :return:                            lorem ipsum text
        """
        assert (
            number_of_sentences >= 1
        ), "number_of_sentences must be a positive non-zero quantity"
        markov_model: typing.Dict[str, typing.Dict[str, float]] = json.loads(
            zlib.decompress(
                b'x\xdau]\xcbv\xe38\xb2\xfc\x95;\xb5\xa9\x8d\xad3\x96\xec\xea\xaa\xe9E\x7f\x0b$B\x12\xc7\x14\xa9\xe1\xc3*5\x0e\xfe\xfd\x82D>"A\xf6\xa6[R\xd1$\x08$\xf2\x11\x19\x99\x08\xdfv\xdf\xfe\xf3\x7f\xe1\x9bK\xff\xfd\xf5\xf2\x7f\xdf\xa6\xc1\xa7O?\xd2\xa7\x9b\xfb\x9c?\x1e\xd2Gw\x1c\xbaf\x1a}\xf3L?\xbc\xa5\x1f\x9e\xdd4\xff\xd3\xcf\xf9\xdf\x9a\x86\xfe\xc05\xb7n\x18\xe9\n\xd7V\xe9\xd3\xc7\xf2\xe9)\xbf=\xbb\xd6\xeb\x97\xf1Z\xb7\x97\xf4\xf5\x9d\xbe\xd67\xf9\xc7!}\xd8\xcf\x1f\xe4~\xd3\xd8\xdd\xdcX\x9f\xd2\xf3\xf8~GO\x7f|\xec\xbbG\xcb?N#\xfdzj\xba\xa9\x1a\xe8\x15\xc6\xab\x7f\xd2\xc7\xca\x9f\xea\x8a\x9fts\xcf\xe56\xf3\xabT\x1d\xfdXu\xed\xf7\xe5\xc1\xf3\x97\xae=y\x1a\xcd\xa8S\xe2\xdd\xe9JW\xfb/\xdf\xd2\x05\x8f\xe5\xca\x1f\xf9\xc7\xfeI\x03Y>\x1f\xbb\xeaIW\xc9\xf7\xef\x03\xddb\xec\xbd\x1fh\x1a\x1b\xbf<\xfa\xdf|a\x9e\xb2\xf9\x99\xe7\xbe\xf6m5\xe8c{\x99B\xfb\x83\xdc\xd7\xff\xf6\xfd\xa9\x1e\xf4\x9as3\x9d\xcf4\x8cs\xd74\xdd\x83\xfe\xa1\x1e\xf3\x1f\xfdZ\xfe\xa1\xe7\xcb\xfb\xeeF\x1f/\xcb\xb0\xe6\xbf\xbbt\xf2\xa1\xa2\x7f\xbc\xba\xfb\xfd)\x9f\xbfxr\xaf\xbe\xc7\x8f2\xac\xeb\xf2\xd8eF\xaf\x8e\x1e<\xff\xfe\xb8:~H=\xff\x9f\xe4\x84\xa6n\x19\xe6\xf7E\xdc\xf2\xc7\x1b\xcd\xef\xc3\xd3\xaf\xcb\x1f\xce\xaf\xf7\xf6\x91\x85T\xaf\x1ee\x00\xf3_\xd47w\xa9\xdb$N\x1d\x8bM=\x7f\xf8c\xfe0\xe4\xb5\xffX&\x85\xd6\xe4\xbf\xd3"\xd8\xfb<\xe4z\x19\xf0O\x1a\xbe\\\xab\x0fk\xdc+\x7f\xf2\xaeg\xe1H\x0b\xbb\x0c`\xff\xef<\x9e\xf9\x92yY\x9b\xfa\xcc\xb34\\\x9d\xccXS\x8fc#_\xba\xeeS\xa4>\xed\x85\xa7\x88\xef\xa7.\xee\xad\xfeM\x9f\xd2\xabMr\xa3\xb6\x16\x01n;\x12\xa5\xb6C\xc9\xa1o\xb2>\xed\xb2>\xf3ltg\xfa\xa9k\x1b\xde?wW\xb7\xbc-O\xbdw#?h\xf9\x07\xbd\xeb\xbd\x139\xba\xf7~\xf4\xadJ\xcb\x17\\%\xfb\xb5\xf77\x7f;z\xfe\x9b\xc1{\x9a\xda\x81\x05n\xe8n~\xd6\x12<\xceA\x96o\x18\xbdH\xddp\xf7\x9e\x1f5\xba\xc6\xcb`\xd3\x17\x9e\xc4Y\xd2\xe6\xfd\xa2\xe3\x1b|/w\x18Ip\xf3\x12\xfb\xc1\x8b\x12\xa9\xdbO\xb9\xa6\x1b<l_\xfd\xd3\xe7\xf7^\xe7\x9b\x9f\xfd\xe5x\xa8\xa4\x18\x96\x8fI\xab\xb6\xa3\xf7\xbdN\xc7#\x8d\xab\x97\x858v|i\x92\xf1\x9e\xe7\xe3q]\x14\xce<\xa2G=^Y\xf7t\xfd\'|\xd4[\xce\xfb\xa0gU9\x7f\xc9\xef\x19\xe7\xcd\xb5\xe8\xfeE\xa2\xea\xf3\xd4\xd0\x9f\x1f\xeb\x0b\xab\x08\x19u\xfa4\xba!\xe9_\xfa\x17\xd9\xf1\xef(\xaa\xfb\x0f\x9a%\x99\x8d\xfa\xf4i\'\xe9\xc7"5I\x9c\x975ZF\x9b6\xd4}Y\x8a\xf9\xdb\xadKS\xe2j\xde4g\xff\xa0\x91\x7f%=\xd6\xf1\xcf\x97\xb4\xaaM!\xe0y$b`\xb2\xb6$9>\xfaq\x94\xd5n\xea\xdb\x91>\xf6\xe9i,+\xc3\xff&\xdd}\xd3\x99\x8d\xc1\xf8\xe8^\xebV\xb4}\xd3\xf1\x8e\xbfv\xc7\xe3S\xa4\xb8\x1f&y#Z\xe2\x03\xaf\'\xdf\xa9\x9bNW\x11\xe5\xb3l\xe2\x93\xbb\xf9\xde\xb1\x9e\xed\x16\xadz`\x03\xc6\xeb\x96\x14\t_~\xf5\xfetu\x9f<\xc0a\xd2\xd9;\xbb:\xd9\x00\'S\x93\xf6\xc5\x9d\xfei6{\x83*\xbc!m\xf2\xd7S\x97\x86\xaa\x9b\xa5\xbe\xe8X\xb31^\xe6zje\xd0\xfc\xd7\xfd\xd4\xa8\xc4gQ\xa3KE\xc7\xbb\x9e\xef{\x9b\x9a\xb1\x1e\'\xb1\xb9\xa7kw\xea\x1a\xd5\x1bU}>\xa7a\xe8>M\xaf\xd7\xd6\xff\x9bx\x00M\'\xb2\x9c\xfe\xae\x12m\xd3\x8f\xa2\xf8\x062\xcd\x8bT\xa3<\x07\xabG_p\xd0\xecd\x0c\x9f\xbc\x12\xac\xb6w\xf4/\xdd\xa2\x9c\x96\x9b\xcamB\x9a\xf0v\xf0ca\xfa\x0e\x8b\xe6i\xdcp\x15\xf5T\xb7\xc3\xd8O\'\xb02\xc7\xc5\xa2\xfc\x01\xb3\xb6L\xa6\x1b\x92[3\x18\xcf)\xcfS\x9f^\xec\xe6\x06\xd1\x01\xb5\xcci\xef\x8e\xe9f\x03\x8cw\x99\x93\xfa\x04\x8a?=\xdd;\xb6\xdf\x95o\x92\xf3$s\xce\xb2H\x93*\x9a\xda5\xf5\xdf\xae\xd7\r\xdc\x8b\x16\xbe\xbbQ\xf7\xc0\x17X\xacJ\x9c\x88[\'\xcf^\xe4\xfe\x9c\x9d\xc3}\x1eK\xda\xf2C9\xfd\x07\xf4\xd3\xfe\xb0\xdb?{s4\x9f{\xf0\x92\xf6\xec\xc8\xd4rC\xd9\xec\x07r\x84.\xe9Z\xbc\x89X\x8cdA\xae\x85?\xf4\x14\x8b\xd3\x0e:w\xea\xaa&\x9b\xf6\xc4\xebe\x93,\xd6/\xcd\xf7\x86=\xfa\xdfT\xf7\xbd\x97E];\x1c\x83\x9fW\xfd.\x1e\xefivJ[YQ\x95\xc9\xc2\xaa\x9e\xa7V\xfe)y\x17_\xf2\xf0K}\x1e\xd5\x80\xd7C\xfe\x87\xb8(\x08\x92\xd7\x90\x05%\x8a\x8e\x0f\xcb\xba\xc8\xf6e\x15\xc1\x93|\xea\xc6\xb1k\x0b\x1f\xf5\r\x97\x8cFq~\xae\xe63\xd2\xa2\xb7\xf99`"\x93\xf2_\t\xaeo\xbb\xe9r\xc5M\x1aU\xfa\xc2\xb76Yt\x19\x94k\xd5\xac\x8a \xf1\xcd~\xa8W\xf6\xa6\x1b\x98\x1d\xbc\xf9\xef\xfb\xfar\x1dIR^1\xde\xc8/\x99\xa6W\xbet<\x10~~\xa0y\xd3\x7f\x05\xd7\x99\xec\xe9!\xc2;\xc2\x8cg[\x9a\xee\xd0gq\\\xae\xe3/\xe1[\xads\xeb]\xab\xeb\xbd\xa3\x8d\xd1\xd4\x9f\xa2/]\x0eIT[\xecA\xb5\x91K\x90\xdf\xe6I7\x8a\x8bg+\x91\xdeO\x8d3\xc4\x1d\xcf\xc6\'_\xbf(3U\x10d\x93\x16\xbbx/\xf4\xde\x9e\xc6\xf8\xbe\\\xd7\xb6\x8e~#\x97\xf9 \xbe\xee\xb22]\x87\xc1\xca\x03\x02\x84\xa1\xc3y=\xa8\x9b\xf3&A&93\xbd]\xe6\xc5\xee\xe0nO\x8a\xce\x83\x83iD\xab\xbe\xdd`\x93\xb7\x9d\xcc\xa28\x82\xdd\xd1\x1d\x9b\xa7h\x9cI\xa2\xcd\xa9M\xda\xbdm\xc5Z\xe2\xe0\x93\x01>\xfb\xd32\x9aX8K!)e\x7fRc)c\xfe\xabX\xb7\xaa\xfe\x9a5\x80n+\xb1[q\xd1\xec\xf9&!\xbb\xe4\xcbc\x96O\xe1\x9bO\xba\xe6~S\xf3\x89+\xc3\xde\xeb\x9b\xae\xc8\x9b\xac\xc8\x81$\xf6\x8f%\xee\xa7\x1f\xd6\x9a\n"\xf5\xc23\xf0\xe8\xcb&I|\x8a\x88>=\xc4\x96\xf7$\xe4C\xedx\x03\xd2\x12\x92d\xdcT\xaf\xd1\x8f)\xd2\x04}\xa7K_\x8fb\x95{\xf0Be\xe1O\xe9\xf7A\xa3\xa7\xbc\xcb\xdf\xb2;,^\xc3\xb0\xe8ox\x1bT \x0fU\x1cI\xcb|\x89VH\x01\xb4\\\xe2\x9e\x83,zw\x17\xc7B\xfd{\x0c\x8fv\x9bk\x89\x0b\x06\n"C/!\xbf\xe7A\x873\x7f\xec\xaa\xf4\x0e~\x18VO\xa38\xd2\xce\xe5\x16^\xd3\x83\x8a\x12W\'\xf2\xb4\xe6a\xec\x7f.s\nVZ\x02\x11\x7f\xea4\xee\x92i?0\n\xb3\xdc9\xcd\xcdj\xd1^8\xe2\x1e8\x98\xbbvSS\xc9\xfa\xcb\x84Ow1:\xfa\xa0G\xbd\xdc\xe8\x1dTu\x86\x9e\xca\x90\xe4-+\x01\xb9\x1b\xc8\xba\xb86s\x0c=\x88|\x8e\xa2\xdb\xc4\xa3\x10T\xc2]\xd4\x03\x81\x08\xab\xf2\xae\xd2\xb8\xdb\xa3a\xc9/\xad.CR\x15O\x89:\xd5\xef9\xd7m\x9d\x1c\x1a\xbc\x0bC\x12j\xa9\xd2k(\xc6uWys\r\x08\xdfY\xa7X\x9fZu\x9e\xd0\x8b\xec\x10\xa8s\x00\x02\x90\xa4\xb3\x83\xeb\x11U \x9f9\xef\x19\xbdQ\x8a\xceN\xb5kX`\xe8\xdd\x03\xe0Q\x87U\xa0\xeco\x83o\xf4\xf9"\xd3:[\x048\xe6\xf5\xfc(\x01\x8f\xd9Q\xd3\x90\xb5_K$\xf9\xfc\xc3?8v\xae\xb9\xcd\x1a\xe0YF\xeb\xd1\xe0h\x81\x97\xf7\x00N?\x05\x81Q\x17\x9f\xf6\xe4\x07\xeb\xc9b\xe3-\x18\xc3P\xbc\x17\x0cuhE\x15>R|\xa0\xe1\x92\x01B\xba\xaaZ\x0b\xafJ{\xa1\x01\x8c\x07v\xef]\x8a2N\xfe\x1f\xe6\x82}\xea\ra@<\x96_\x9a\xedG\x90\x004+\xce\x16u\xaa\x86\xfc\x07\x01\xdd\xac\xb3\xca\x8e\xc1\x1b:Z&\xeeB\xd8\x04\\{\xf1\xf9\x8dg\xe6\xc0v\xb5\xabP)\xed7y\xfd\n\xa2\x1e\x9d\xbf\xe3D1|\x84\xc8:\xab\xbd,|*\xac\x9fI\xeb\xe4\x88:\xda\x17O\xeer\x1a?\xb8T\xfa5y\xb8\xd7\x9e\x1d\x8d\xc5w\x95\xafA\xf0\xa4\rw\x9e\xc4(\x02\xea\x14\xc4\xe7\xd3\xd1\xab\xbe\xd2w~\xb8a\xe5\xc0\xb13\xe1\x04\x82BuZ\xf3\x14\xd7\xa0&j1\x930\x92:\xfb\xaab\xcb"\x18\xb6\xc0j\x19}\xeek}\xc3\x87\xd8\x1dR\n$AU*\x80\xfb\xb5\x9b\xf1Z\x0eO\xbdqz\xfc\x1c\xbc(\xbct}\xdeSXP\xff\xedK\x1b\xf5\xa6\xc0\xbd\xe2\xd8\xa2\xf9\x0be~\xea$\x07\xa1\xfe\xb1\xe4\x05v\x98x\xa0\x08\'\x8f \xc0\xf0\x96O\xd9\xcf\xde\xcb\xc5\xe8\x19\xbc\xf3=\x7f\x15\x081A\xe7\x1f8\xfc}V\xc0\x12\xdc\xa6\xb9\xeb\x9fv\xe0\x8b\xba\xf1\xe8"\xf3\xdfe\xc18\x184\xd5\xb7\xff\x15T\xf18\xd5\xe2\x19\x89W\x07\xea\xe1QK\xe4\xec\x7f\xcf )\xafm7\x0b\xeb\xb0\xc6Uy\x1fg\xc7\xc0\x8d+d:\xdd\xa6Q\xe3\xdaO\xad\x18\xe7\xc1o\xeb\x90\x9b\x82\r\xb3\x03^.\xde9=Q\x16=Yh\xb1\xd6"8)\x94\xe7\xa0%\xbbX\xef\xec\xbd+\x00\x0c\xf8\xfa\xe9\xeaE\xa8\x8e\xea\xc4f\xb99@\x0ee\x85\x7f\x0fb\xf3I\xcdk\xf0\\u\xfaB9@\xf1\x12\xa1\xb23{W\x98b\xba+\xc0\x849\x01\xd8R\'\xfd\x15\xb6\x13X\x1d\x95_\xbd\xd7Hi\xab\x05v\xe9$e\xf3\xa9\xfb\xd9\x81\xdf~L/\xf7)\x9e\x8b\xea\xfe$\x07\xf50\x82\xb2\xa0-`\xb4\x85\x84\xe9\x01\xb6\xcb\xd13\xe8\xe0\xe0~$p\x1f\x10\x9c\xbfATy\xec5\xa34\xbf\xb5:)\x123:\xce5\x9e\xd3\x8dY\xa0\x8fi\x11\xf4\xda\xba]\x02\xacI\x81\xb6S\xd7\x0e)\xe2R\xfc\xd3\xc2\xe6\x08\xec\x9d\xe6$`\xdf\n\xc0\x8b\xae\x9ew\x03\xcf\xe3\x8c\xa6\xa6\xcd\xa5\x80*\xe8\xfd\x14U\x82\x92\xb9%\xf3)\x97\xa5p\xc0kB\xc5\xfd\x8d\xf8\x89\x13\xd3#6\xf6\x05\xb5Qd\xeb\x1b4>\x12\xc0_\xb5\xc1/J\xa9\x15x\xc5h\xd2r\x18,r\xbeao\xc3"\x9b>\xc8\xa1\x82\xaa:\x05$ykE\x83\xf6\x87\x8c\xaf\x14Y\x93\xc8\xb8\x8b\r\x87H*\x82\xc5\xf6lx\xba\xe4\xa9kA\xf9)4\xfd\x00\x0b\xfff\x13l\x95\x93$\xc9\xd0\x89l\x9c\xaeI\xec}{\xd1\x0cR\x975\xc5~\x95\x91)\xd1\xb8F\x93\\\x12f\xfe\x1b\x80\x9d\x9c\xdb\xfe\x9d\x16X\xc1\xca\xab\xcf\xd0\xf5\xafE\x1b\x8f\xb5\xac\xd5e\xca\x89\xe9C\x01\xca^\xa7\xe1\xa8v_s\xddg\x9fT\x89\x86\xaf\x85K|K\xc1\x91\xef\x17\xe0`Pxn\x96\xa9\x110\xbe\xe4\x18\x8fu\xf2\xe6tx\x8bN\xd3\xf0_s@\xf3\xf4\xfe)\xa1r\xd7(\xd6+\x99\x8cN\x91\xb7VS\xbf\xee\xeb\xb9\xb1\xe6\xb2\xae$\xdb\xec0\xfe2@\x11\x87\x88\x11\x05;\x08REzW\xbf\xb0\xa6}\x87XW\xef\x86\x89jL\xcd\xa4\xd8Uw\xea\xec\x0b\xaa\xb9\xf2\xf30O\xa5\xc7\xb6X&\xef\xda\x8d\x18I\x14S\x04D\x8d\x1c\x84_\xc6\x83\xab\xd5\xe7^\xdc\xa7 \x1e\x86\xe3@\x8a\xa3\xd3\xa4\xf6\x1a\x7f\xe2\x85\xcb\xc9;\x8c\xf2C\x06\xb3\x16\xe5TU\xf5\x89\xb4Kd\x94+,9\xcea\x92D\xe0\xecG\xc0\x9a;E\xb1\xcf\x9ajj\xea[\xde\xd3\xfb\xb5x\xa1\xaa\xa6\xdcn\xa4T*=&\xbfNF2j\x91\x16\xb3\x9cY}\xc8\xa0\x98;\xf0\x8b0WV\xeb\x1b\xe4\x0f\xe6h\xfc\xcc$\x0eq\x0bF\x8b?\xbe\x1bK\xf8\xc8\x0b\xf63\xdb\xa7yp\x1f\xe0\x82\xbd\xe7\x9f%\xfd\x9f^\xb7Gcd\x16\x04b\xaeC\xceiu\xa22D\xca\xca\x98\x15\x1dMEA&\xd1\xbafN\x01\\\xab\xeaJ\x1d\xf6\xc7\xfc\xa7\xfa\xb5b\xbc\xb4\xf4\x80gk\x04\xaeA\x86p\x04\xca\x18j\xf4\x1f\x92(T6\xd3\x9f\xa3\x08H\x8f6\xf0\x82\x80\xdb\xcc:h\x03\xf9\x02\xdf\xaa\x02r\x8e\xb8>@\xa7\xd9\x8b{j\xe3\x1b\x94c\xd8\x12\xc7\xe9Y\xa2\xb6&\xbbk\\\xb2#@}I6F\'\x9b\x87$\x14\xc4D\xb3\nE\xae\xec\x9c\x95\xd6\x1eA\xffU\xceR\xe1\x00\xc0\x8c\x1d\xa85\xe1_\xec\xd1s\x81\xd9\xe6\xf5\x8e*\xbdA<\x9b\xe4\x08\x0c62\xf9\x95\xcd\x8f@\x84\xc0\xd7\xd2x0\x99U\xc8%|z\x7f/\x19V\xe0u\xe6\x98C\xc2pu\xdf/*\xf4\xc8\xe3\xe8}\xe3~\xdb\xb5|\x03\x96\xc4\xde\x88\xf6Q\x83A\xd9T6\xfd\xbc\xbc\x8c\x0eV\x114J}\x901>A\x90X\x00\x1f\xa4>\x0e\x04\xc0\x81\x85h=\x12e\xd8-\x8b\x86}\x10p\x04{t\xb0\xe0\xf7\xb4"\xc9\x9f\x19x\x92f\x80\x08\x92\xc4\xf2o\xe4\x13E\x9b\xd1\x0c\xe2\xd3\x12"\x14\x05+\r\xc9\to%\xc7\x955\xe3;c\xfc\xcb\x8euO\x8b\x87\xfdP\x1di\xe6\xd7\x1d\xf3\x80\xf6\x96\x8b\xc5\xce\xdd{\xc9]\xb9nlj\xcag4O\x03\r \n#s\xc3\xc3\xc6\xc4\x04\xe4\xc1\xc1\xa1\xa3\xc1\x90%\\\xb8T\x19\xf4_p\xb5v\xb15\xe2a\x83\x93\xba\x93@PMt\x9b\xfc@q\xe4\x8fNx\x18\x90\x9e\x93\ry\xef\x1e@\xc1\x18\xc5H;\xe6-JvWYQf\xb3\x16\xc8\x04\xfa\x10\x8a\xc2\xdeg\x10\xf0Y8-E"bV$\x950\xea\x08\xe2\\\xe6\xa6\xea4\tx01<\xc9\xea~\x8b2\xb9N[\xec \xadc=\x1f\xc4`\xf6\x16\xd7\x16\x9a\x1bd\xa7:\xe0\xd1\xc0\x88m\x98\xb9\xb7\xb9AI\xf7\xae\x12+\xae]\x00\x03\xe1RP6\x1a$\xb9\x16\xd2#\xe51\xde1\xc8\x87\xe7)\xa5\x00&Y\x17\x9b&.\xaeB\x85\xa0w{\x81\xfd}@\xc4\n\xd0B\x9d\xf3J]9\x06\xbf\xaa\x12\x9c\xd4\x1d\xd7}\xa1O\t\xcc\xd7\x07,\xa4bPG\'X\xc3k\xb1\x84\x92i\x95\x90\x90\xd7\x950\xb0\xcax\x8cc\x975\x04Mp\xf6h\xc27\x93a\xb5(\xdc\xce\xb26\xf66\xe5*iX@(\x05\xa0\x94\xd5\xd81\x9f\xf1\x85==\xff\xbd\xb7\xa6\xfc\xbdH=v\xc5\xfb\x12\xdb4\x8a\xdd\n\xfal\xebUW\x9d5\xc8\x10}\xe7\xb4\xeb\xa4Jv\x11\xa5\xd7\x8d\x94\xf8U\xc3\x19\x9e1K&R\xa7\x9c\xb4k0sq+L\xbb%\xe5.Q[InP\x05C\xe1g\x01\xfcf\x8e\xdb\xfc\x98\xae\x19\xfe1sh\xf6T\xc6\x19\xf3\xe5A\t\x13/bz\x0e*\xbb\xf3L|\xef\xae\xab\x08\xde\xa8\xaf2\xff\xb3l\xf5\x0f%N\xbf\x19c\x9e7\xca\x0fC\xb7\xce\xa1\xd2\x9c\xd6T\x11;z\x88\x9b:\x83M\xbf\x11"1?\xe3\xf6\xdc\x00g\x15DqM\xb7\xce$\xdb4hA[\x1a\x9cl\x1eI\xd9\xa5\xd1\xdd\\\xab\x1e\xdbS\x9171o\x02\xa1@\xaaOu\xcb\x8aq\r|eU\xb4\x04%\xee\xad\xd8#\xea\xcaD\xe0\xb7b\xbf\x9c\x9c\xcepw\xbd^\x91\xe5c\xb1\x9b\xfcD\xd5Cm1,\xd9\xc5F|n\xca\xe8(\xf8\xaf\x1cL\xed-n\xd8\x9d\xc75.\x0e\xf9\x17\xd0^\x1c\xe5\xc4\x15\xef\r\xc4\xd3Q\xb8\xcf\x96\xb7V\x8ff=c\x18\x0b\tM|a\x1d\xb4\xbe\xbf<K\x1c\x98\xbc\x8b=\xcc\xf5\x1eW\xb4\x8c\x8eT\xc0\xac3aY\xe3\xae\x01\xb7\xb1$u\xd9\x84\xe5\xa8\xa8p)j\xa7\xa4t.\x08)\x9c\xc6\x15\xab\x1e\x1ch\x0e\xec\xb7\x02\x9a5\\\xf3P\x9a\xa4`\xd8\xf7Io+\xd8<\xa4\x8c\xf3\x1a/y\x88^\xc0q\xcaY\xef\x8b\xc8\xd7P\xf0\xb8\\b\x9f\xff\xf4\x01t\x98\xd93\x97\xcf\xf5Xr\xbd\xf7V\xfd\xd9\xc0\xe4\xd8L\xba\t\xda\xcdl\xf6\xb9n\xab\xd28\x9f{\x03g\x95t\x11\xd9d\xd6\x8c`.\xfc\xbb\x967\xb4\xa8g\xa1pAb)\x88c\x93\xcd\x12\x8brr}\xff|\x15\xb8\xec\x06DT\xa1,\x07\xa2\x9fE\xb6/\xe2\xfb,\x95\n\xf4\xb8?T\xdb\x00ly@)\x1ef\x9c\xa1Y3\xc9]r\xb8?]\xc9\xfe\xdfo\xe5\x1b\xc5v\xf3[\x1e$\x0b\xf1\x0e\xe82\xec\xc4\xdb\xd3\xf8^\x99TQ\t\xe7\x18\\$\xc2b\x01\xc7\x12z\xda#}\x14}\xf3*+yV\xa7\xfe\\\xf7\x9aU\x90b\xa2\xb0V\xbb\x1c\x0f\xc6R\'\x83c\xa2b$\xb4\x8f\x88i\xb5\x00U.\x0c:n\xc1LbR\x84/\x93\xff.p\r\x94\xacY\xaeD\xf1\xfa\xac\xf2vA^{\x85\xe0\xbf\xc2\x1d\xd5\xaa~\xc8\x04\xfe4\xa526\xa7e\xd0~\xa3iF\x11\x8fd\x11\xd8\xffV\r\x9e\x83|4:\x1a\x0b\x16q\xb6\x1bJ#\x8e\xf6L\xcc\xa7zrlP\x02\xeb\xe5\x9f\xeaO\xed\xcd\x16\xae\xab\xaa\xf1E\x92\xe9\x90\xa7Y\xbd\x81\xeb\xa4IOHV\x11\x9c\xf7a\xc5\x15\x98\x92X\xb0\xa19HU\xba\x90P\x04l\xce\x10p$\xdf\x1a!\x11\x1b\xc0\xa7\xdb\xe0Vi^*\x07+Q\x9c\xc0\xf0\r\xaa\xdc\xaco\x87\x95*\x1d\xac\x96?\x9f\x151Y2\x04s\x91\x83z\x81\xf9~\xa1\xc8^-o\xae\x9aW\xf7!\'\xec5\xd6y(\x8e\xdf\x98;8\xcc\xa0\xde7<9]o}xP\xc2\x95D\xe5Ze%\xfb\x9b6\xd12\xbb\xa6TE\xa0g@\xe7\x81\xef\x0b@\xe5C\xd3:\x0f\x0c<\x11\xe9IS\x97\xb6\xe0F\x18jf\xa0\x1e7\xd2V04\x001\xea\x8c\xd5\x00\xa3\xa7\x96\x80\x94\xa3\xael\x15J)EtY\xa5p\ts\'/\x80\x12`]\x80f\x89D\xee3\x1b\xf1\x944\xb7H(\x0b\xe5\x1b\x1bno\x19"\xfb\x12@\xbe\xbaj\x85\xc7\x9a\xf8\xaa\xa8s\x9a\xf2\xae\xdc[\xe6\xff\xc9\xc2\xd0\x0c\xfe\xee\xb1~r\xd9v\xea\xc6)N\x8f\xf9v!\x86\xde\x15H\xa3\t\x0eV\xbb\xd5\x1b\xd4\xdbY\xa3\xcf\xfbA\xd9\xeeNVM\x1c\xcf\x1c\xfe\x84o\xc7\xee(\xa9\xe8\xe5#\\#\x81Q\x98\xc7\xaf\xb0\xa5x\xbb\xf3\x98Z\x93g`U\x07\xbc\xcd\xd2\x1d\x8fjs\xf3\xde\xdf}\x07\xbe\xbe\xa0\xd4\n\xc2r\x16\xf1PrX\xce\x9a\x98\x17\x0e\xe5[\x91\xe9|5\x1c\x9c\x0f\x1b\xfa\x96\xe5y@K^\xea\xdfD\xfb\xb8"\x06\xbd\x00MP\x97H^&\x18\x0f\xc0=!\xe7\x0f\x10d\x04\x97\x1eP\x0b@E\x84\xa1\xdf\x89\xf5C\x0fE\xa3\x15\x00\x0c\xc0\xa9\x0f\xa8\xb1j\xe1b\xd3\x8f\x01-\x84\x023\x02\xb2<hF\xf7\xc8f{\xd8x\xf7gA:]\xcc\x94\x1b\xc6\x02\xa7\x14\x91=\xa8zx\x03\x8a\xd9\xbb%\r\xe0\xe2#\xf1\x14\xb2\x90\xf3\xc7J\x00\x0fq\xb3\x05-\xd4 \xc7 \xf8b\x86\xc4\xb3*\x9247H\xe7!J\xfa*k7h\xbd\x88]\xb8\x05\xec}\xd7\xed\x1b!G\x11\xd2\x8f\x8a\xa2\x9c\x10\xfb& \x8dr\x1bm!p\xc8\xf4\xec4h\xcc\x17+\xa1s\x01m\xfb1sP\x16\x81\x91\xcd\xe0\x7f\xbb\x9b\x92\xb2g_\xa8\xf9>\x80O\xc9\xb7\xb0\xdc\xc6\xd2GVx\xa9\xacFTw\xa1\xe0T\xe2*b\x19\xcd[D\xd7-\x18\x84\xed\n\xb0\x9bz\xc1B\x89\x82\xd9\x00q\x81 \xbe\xfb\x149F\xe1V\xd68cT\x88 >\xae\xcf-cw%\xafX\x94X\xadH\xb4J\xb3X~e\xedZLJy\xe2\x81\xdf$Zo$h\x82"B\xb6",\xe3\xfen\xf8\xc2\xef\xb0\xa9\x00y\x1b\xbb"\xa5a\xf1jW\xa0\xe2\x91>\xd3\x02\xe4-\x02\xda\x19\x7fP\x17\x1d\xd4\x8d\x00\x11\x11\xea\xf6\x02D\x18\x0f_\xd6\x18\xed\xa0\x8a]\xd2&T\x99;\xf8\x12\xd4x\xc3\xbc2\xf2\x1dN\\2d\x8291\xb2\xf3e?\x90\x18^\xd0\xe5f\xa4@\xf1=\xf1\x11.\x8cf\n\xb0\xf0G\x199\x808\x1d\xfd\xa5.|\xe4\x03\x12#\xd4\x91\xffm\xcd\xb8 \xf0k\xe6%z,\x90\xa1\x16\xff)b\xb3\x08\x9c\xe9\x1d\xfc\xab\xae\x84f\xcb\x18;\x87T\x91\x96i\rv\x86\xdf\xd5\x9c\xd94\x0b\xef\xbb\xa8\xbe\x1bA\xc0?i\xd7@C\x82\xd7"\x97\xa0<\xd8\xc2\xe9-n\xac\xfd.x\xfc\xd9y\x01\x8c>X\xe6;\x08\xcb\xcb\x9a\x1d>m\xd1\x06\x8c\xac\xa3A0hoDL- \xfd\x9d\t|\x8f\x99I\xb4Ej\xc3\x92\x0b\xcb\x12[\xc7\xa9\x10`\xb9\x15X\x83\xa3\x1e\xb4\x82\xd5\x16\xb0\xc90\xc0\x96\x10\x03\r\x8b\x13\x01\xb1v\x92\xcaKa@\xb36\xac\x8f\xcc\x9a=\x14Y\xbdZ\xbcT\t\xa0\x14\xa2\x94\xe5\x9c\xb8FYj\x15\xf3X4\xbc\x84\xf4\xac\x13\x1d\xea\x84\xcb\xf6"\x8e\xcf\x97\xebk*;CO\xe2\x04Z\xe8\xd2Ky\n\xbc\x00f\xb2/\x94UK\xd6\xb0\xccAe\xbcX\xcb\xe0L\xa6n\x06\xb0j\x88\xcc\x81K\x01\x18\xf9U\xc9#\x02\xd7\x1b\xbb\xa2i\xb1\x99\x1c)\xd1\xca\\\x9a\'\xbb\xc5\x86\'\x85\xd0\xc2\xae\x82\x1d\xc1o\x13d]\xa3\xaeq@\xde0`\xd4\xc9\x05pe\xdd\xdb\xder\x0f\x94!?@\xde\xac\x1b\xd8\x95\xf4\xb5\x80\x84#\x18\xf2\xfcs\xd2I\xd7\xa6\xeb\xbb\xfb\xf5\xd9\xc8\x1e\xb2?\xa1\x8c\x12\x12\xa2\xe3\xfbk\xbdg\x9c\x1a:^[\xc9K\x82q\xd3\xc7\xd1\xed\x02\xec\xb6\x97\x15\x87f\x8e\xa2\xff\x94\x023\xc8\xb1\x1b B|\xbf\x08V5\xacrB\xda\x17\xc2\x02\xaa\xe2\x02\xfc@P\xe3\x83\xda1\x0c\x1bis\xe3!\x15\xb5\xc5\xa2\xb0\xb5\xc4%\xe2CL\xf9\x81\xd0p,`\xf7\x01\xbbK\xac3s/\xfeZ\xa7ILA\xdb?&+#\x90\x91ay\x95\x93\x8ck\xce69\xcc<\xa6\x8d\n\xb4\x056\x96\xab\xab\xbc&l\xb7\xa2\xda\xb0`\x12\xc3\x19\x9ez\xb8\xbe2\x15\xe1\xb64\xb3\x9cmi\xe2\x02\xa9|\x9b\xf2\xca\xaf6\x8d O\x1f\xa6\x99\xc9\x8a\x12\xec\xd7\x93\x88\x80{\xd1\xa8\x05G\xd3B\xde\xa9FW\x87\x00\xc3\r&Q\xce^\xd4\xcd\xba\xc3\x10\x001\x08\xbc\x8f\\\xa2Vod\xfb\x06\xdd\x87@\xa2w&\xf8<\x18+\x06\x94\xcfI\x8b\x88H\xb7\x06Q\xd78\xbd\xca\xaexU\xdb\xbe\\M\x96\xce\xcc"\x90(\xd4?\xafo\xf7\xa4\xae\x94bZ\xd6;r\xdb\xa3e\xd4\xe7Qs~\x90^\xa4\xf1\x1e@|\x8c\xee\x17\xa4&j>!\x18\xceJR\xa4\xb5BM\xa3w\x95z\x17m\xf5\\\xf7\xe58;\xc9n\xb5J\xcd\x82\x08\xa6|\xaf\xa2\xbc\xb01 \xc1;G\xc5\xb2\'_WJ\xae\x1e`\xd6\x81\x8d%9\x9d\x00,/\xe3Fr\xe30H\x1c\xe8m_\xb0.0jE|P\x16\x06\xbd`0lm\x08\x1f\x95\x8e$j\xf1\x80\xfd\xca"\x10\xbdU\x8en\xae\'_ \x9aM\x180\xe3\xa3\x98hQ\\\xcc\xeb\x15r\x1d[\xa5D-\xfa\x86\xaa\x8bU,\x92p_\xfe\x89\x88R3\xe5\xde\x92\xeb\xcc\x97\xae\xdd\xe2\xa3\x00\xa1\x12\xb1\x1f\x8c\x1cY\xbb\x04z\xb3=\xd3\x8f}\xb5\xd1\x9c\x80;\r\xa07\tTJH\x01\xa067\xde\xe4\x93\xdc\xa5\x97B\xbd\xfe\xa5#b0\xf0\xbb\x90\x93r(\xf2axH\xd3\xe0+\xab\x99~\x14\x80R\xba\xe2?\xa2\xfd\xbc\xa2{_^qR\xe8\x97pQ\xb8\x1b|\xe6\xafN*[\x04\xa8\xbd(\xa7b\x86C\x86\x15\xc3\xc2\xa42\x0c\x14\xab\xd3\xb2\xc2\x8fM\x12\xf9\xcd\x16\x97=t\xdf\xceEN\x06,_G\xf7gn\xe0\x01>\xf9n\xd3\xbc\x9f\xd8\x9b\xb1\xbeKY\xb4\x1c\xd1\xb9\x0b\x05C\x93\xe4\x988\xcbEjR~\x0f\xa0\xce\xebV\x12w\x1b\xd1\xcd\xcb\x8a\xc7\xb3\xf0\x99\xa2X\x84@mZ>@mQ\x8d\xdeP6\x1f0\xbe\xd1\xbb\x80\x909Z\x1d\xc6\xb5!8\xf7\xee\xe6!:^7fx\xd4m\xd5=\x865_\x16\xe7P\x18\x1a\xe7~\xd2ZJ\xed\xe1\xa0\x1c(\x86\xb0\xe6_\xbf\xdf:\xd9_O\xed\xe4\xf4H\xc3\x93\xf2\xbe\xb99\xccm\x8b\xf7\x84\xd9\x98O\x8d\xc5\x8e3o\xe1i7\xeb<s\x97\xa4\xee\xdcEK\xf8\xbe\xeaf\x85\xeb!\xf0A\xf5yYS^\xc4\x1crjg\x9fkv\xb7\xea\xa4\xfbZ]\x8f\x87\xf2\t\xcaZqh?%+\xf8\xe7V_\x88S\xd7\x8e\xbd\x02\xc0\xa7\xaeo\xe5\xfe\xc7\xba\xaf\xb4\xa0X\x9e\x85P\xec,\xc7\n\xc5*\x99}X\xd7\xd0\x00Go\xf0\xa7\x1e\x8b\x03A\x04\xae\xe95\x169\x94\xc0\xe1~\xef\x86Z\xc8#`>N}\x9d<\x89\x01\xe3x/\nH=\xca\xaa\x13\xd6k\xa7y\xe2\xfb\xa4\xee\x1c\x98\xfb\xd9\xf4\xe8\xe0\xb1\x0c{A\x9a\xc4@"\x0b\xce\xdf\xee\xa3\xc8t\x94\xc6G\x01\xf4\xeb\x0e\x1a\xa6\x94\xa4\xb2\x7f\x89\x85!_LE_\xd8\x9d\xa5\x97\xf0\xba\xea\x05\xe6\x14\x05\xb2\x91\xff\x9b5v\x11\xbb\x87\x06\x85m#`\xb8\x05j\xe3\xff9\xd9\x88\x94)\xce\r\xa8u\xc46E\x02\xc0\xe1\x03\x99\x8a\x13\xbe]\xa1\xed\x82(/h_eZ_>\x80\xcdI\xce\xde\x17\xf8\xe9\xca*R\xbf\xd3k\xd0I\xe8b0\xf8\xb7\xa1\xb9\x0f\xa6\xf0\xc7x\x01\x00\xb3\x07LL\xd9\x1eF\xbc\xe4\x1f\xc8;0\x19/m\x95\xc4\xb5\xed\x91;3\xe8\x93q\xaa\xa4,\x14\xcb\xb41\x06\xc5J%/\xa2H\x9d_\x03\x92\x8a\xd9@\x86\xb2\xdf\xd2\xaa\x9f\xc3N\xfd~\xfa\x8b%\x0e;\xc4\xb2?\x06v\xe5\x92\x92\xd5 \xcc\xac\xa8,\xad\xf0M"\x17\x7f\xfb.k\xe2\xd5)E\xb1\xee\xd6\xf2\xbdSykK\x0b\xcaD\x0c]\x9a\x08\x94\x0c(/E(\xfe\xea\x11b\x07\x80}(\x0bf6\xaaOk\x8b\x17\xbec\xb6ao\xba\x14=\xfcV\xc6\n\xb26\xd1$\xbft9_\x91\x12\x05\xae\x10\x00LB4\t&\xb3p\x13\xff\xdb\x13\x9e\x83\xe5\xb1\xda\xfb\'\x9a\x08&\xd8\xae@\x08E"\xb3w\x11\x02\xb92\xe8\x06\xdf\x95\x9dN\xff\xa3+v\xf6e\x1e\xf3\xa5(&\xb3\x8afEoW\xb5\xfe\n\x80\x04\xce\xe0\xc4^\xdcN\x81\xe1\xcc\xf3\t\x98\x89Yk2\x9d\xaeOn\xce\x00\xdc\x17R\xf8K\x90\xa1\xad\x9d7\xa3:\xcc\xe1\xb6e\x1d\x0e\xffy\x80\xcb\r&x\xb3\xcb\xa8\xf8\xf2\x9c\xdcx\xae\xd4\r\xab\x19h\x89\x83U\xdfXG\x03\xdd\x18\xb0\xfd\x9a\xa69\x07!\xaf\x8bw\xd9`\xe2\x88\xf2\xb6A\x8d4\xb4\xe9\xd12P\xfd\xb7\x80>:7\xa0\xcb\x1b\x9e\x8b\xc3\x00\x08\xd1\x1a\xfb\x9a3]9\xc6\xdc[\x07S\xa7D\x03H\xac\xa5\x05\x9cDh\xe4G\x05j\x85\x96\xb7\\ps\x7f#\xd7\xdbv\x91\x05H\x00z\x81\x96\xc1?\xd4f\xa7UH:{\x18\xb7\x90-\xc8\\$\'\xb8]\xf5O\xb1\xae\xb3\xc1\xb0\x91\x19\xe6\x9c\xfb\xfb\xb9\xdbiB\n\xf5\x07C\x01\xf7\xe4&BSc\xdf\x0f\xc9\x17n\x8a\xaf\xea\xc9J\xd9w\xae~\xe5\xbf\r\xd0\x1a3b\xa3L\xdcI\x9a\xea\xa3&\xe2\xc1\x14\x12*(\n\x8c\x94v\x9a\x9b$\x0f\xaf\xaf\xfcb\x11"\x8e\xf0\xcd0OhN\xf4\x91s\x9d\x83\xdcSR\x03/+^\x84ISc\x98\xee\x05$\xaa$~)%z\xee7\xde\x88\x12G\x98y\x18jm\x83\xc0mx\xa3\x9d\xe5\xd5\xc4\xf1\xdd\x82i\x9aJ\x13\x12a\x05\x02\xf8/;&\xc0\xbc\x98\x04N\xd1t\xac.\x95\xb3\x84.Q\x80\xff\x00\x05\xf7\xfe<\x97\xc5\xa5\r\x8b\x84#+\x12A\x01\xbf\xe9^\xa8\xa3\x02\x89\x03o\xad.Z\x1aE\xd3\x16\x16\xf41T<\xaa\x0bbZ\x1c\xaa\x01\x80N\xb2\xe8(a\xb2\xc5\xb6\xd6\xb4}\xe3\xe2\xaaU}\xb0e\xaf\xb1\xa8\x83U1;\xf6^\x81\'\xdby\x03m\x8b\xb6\xb7\x87\xfe\x97\xa2\xea\x08mPb\x97\x07)\x18\xcaL\xbb\xa8j\x01\x84\x91[\xf4\xb2\xd1$Og\xdaf\x11`\x05\x19\xe1\xadK\x8e\x8f@\xea5\xa4\xb1\x87U\x03\x1e\xf56\xc5\x81\x05j\xd4M\xeb\x9f\x05\xd1\x01\x0e\x9c\x10\xa0\xbf\\3A\xfb\x90R\x85Z_\x04.\x0e%\xc4F\xb3\t"\xb9\xd1V\x80U\x04L\x03\xb7\tB\xed\xe4\xda\x8d2F\xc4,\x82%t\xf3\x17\x15\x12\xeaM\xbd,\xcb\xa4\xf6K*\xe9a\x98Vd\xb4Y=\x83\x85Y\xd9Q2\x1a\xdc)\xb9\x01\x01\xb1\x11X\x11AJ\n\xa2\x96\x17\x04\xdb^\x1f\xc0d\xf9\x1dn\xaf\xf1\x9b9h!\xa0_\\\x96EY\xf7Z{\xc7\x01\x13\x91\x03\xdc@\xad8\xbe\xa4\xeb\x06HA\x03}b\xf02\xf0S#T\xa3\xaf\x97.\x1a\x04\t##\xea\x8cb\xe0\xb5\\\xdc\x12\xd0\xe7s[\x81\xac\x1c*a&\xa1\xa1}$\xdb\xc6t\x16\x80\xa4f\xe3\xda\x02\xa2Fi\x07\xd3\xd9\xb1oI\x08\x17\xdf;\xa2\xf9_\xf8\xc5U\x81\xe2\xad\x8b\x01\xa1$\x93\xcc\tu%\xd1\xe4\x94\x86\x007\r7ZbL\xcc\x85!\x83\xd2A\x1fm\xd9\xf97\xe7\x85\x028_X\x81\xcd.W\xd4\x86[\x98\xd4\x85\xfa\xc8\x0bY\xf3c\xa3\x84\xe1\x0b6G\x92\x85\xe5+\xc2\xba\xd6\xe0\xf6,\x9a7\x16\x8d[\xc8##\xf2$oE\x93\xbf\x10\xdaG,\xba\x94\x07\xd3\xe0\x85\x80q#Z\\\xbf\x02\xd33J\x9f<\xdc\x19L\x0b\x93\x96\xff\xe0\xa4/K\xfd\xd36\xc3\xb3\x05m`Z\x1f\xd7Z\x18s\xbbU\x111\x805/\xb6\xd7^\xe4l\x86\x86\xd6\x06\xfc\x1b\x11v\xd1\xde\x0c\xda\xdb\x1al\r<\xe5\\\x97\x10MT_(\x14\x0c\xde\x08\xb8m\x80\xdf.\x9c\x84\x868\x96\xf8\xc4\xb8\x110\xdd\xbf\x90\xf1s\xcf\xe9R\x1f<\x97\xc6\xb9\xcd\xd9t$+\tK\x02"\x05[H\x1c\xe1\x14\x85\xa4\xb0\xea\xfe\xa4\xb6H\xbe\xd9\xa5\x95\x83\x16f"=\xf9\xff\x99\xf4\xcd1\xae\xe4`\xfe\x12b\xef\xf7a\x03ISn\'\xb6p\n\xb8g(\xf1\xa8\x90\xc0\xa6\x06\xeb4\xb6\xe20\xcd\xf5\x15\xe4\xa9\xbf\x97\x85\xb9\x1a\x9b\x98hC4\x9c\xdeR\xee\x842O\x99mP\x89\xb6\x17\x17\x12\xa28\x00{\x87\xccV,\x88\x00A*\x9b\xa3*\xb6`\xb0R\x8c\x02\xb59\xa4\t\xfd\xb6\xba7\x7f\xd6\'.$\x89j\x82\x02\xa8`m\r\x18\x8c,E+[[\xf6\\\xfa\x08\xae\xfag*+)\x08\x8b)\xda\xf6\xe8H)\x9ex\x00Z\xd2\x87\xe1U\xfeU;\x95a\xc8\x8b\xb9D \x08\x81g\xc1\x07/\x04\x04\xd0>q\x1a6\xe4j\xbf\xd5\x95\xd6\xd6\xd4\xa3\x1bu\xd3\xf6\xa5\xd3\x05\xdc\x03\xe8.y\x88\xa6Z\x15\xaa\xec\xc4\x9aF\xa5\x05\x07*\xdd\xf8S\x85\x82\xbf\x82i{X\xb7\xd4\xf8\xa2\xc8\xa80\xcd\xf2 \x03\x9e\xcfI\xc1\x942\x9f\x19\x90\xee\x08\x86\xfd\xc8&T\x11\x93#\xbbk\x84\x98D\xccW\x86\xa26\xa5\x9f\x89\xc57MTBT/]\xdc\x81\x0cr\x02\x16\xa3\xde\xc8\x94\x08\x98\x82+u\xd9\x01\xf9\x12\xbb\xb4fX\xcd@T\x07)|\x9eDd\xd7c\xef\xa1\xa1\xb6\xcdD#\xe4\xd8f\xe3:\xb8\xef*Y\xf9K\xe1(\xea)4z\x84\x00i\x01\x9d\x19c\x10\xa0cp\x8e\x04Zmj\xab_\xa1^K\x11k\xee\x7f\x07a\x19\xb0\xf7[\x1a\xb6v\xef4\xf5\xc2ZC(\xa5\xc7(I\xfd\xd4\x16\x93j\x08\xd6d\xe6\x03\xd8W\xc0\xa4\xa0\x1b\xac2((Ai\xeaP\xa4\x8c\x1b\xe2\xadA]\x13\xac\xa1\n\xd2\xe64Z\x90"|\xa3\x1a\xc7\xa5#S\xc7\xdc\x98s\x99\x1f\x06\x91\xee\x8df\xb2N\x80\x92\x9d\x9a\x0e\x13\x02\xb6i\x9a\x99k\xad\xc8\x0b\xc5&\xe7L,f\xbc\xca\xd4u4\x15\xec\xc6\r\x83Jvu\x11\x1b@"\xf5|\x193\xad\\\xe5\x0e\x1b^9\x9d\xa1,\xa4\xd0\x1d\xc2g%\x05\x93`y\x90\xd3h\n!\x17\xd7Uy\xb3\xad\x06\xe9\x15S\xc4`\xa3cyQ\xaek\x93\xda\xcc\x88\x9b\\W\xa4\x96\x94\x95\x1e\xda\x14\x04|\xd4*m\xf9\x1e\x94\x01\xa4\x87\xd1\x05\xf4\xb6Gp\x8e\xb4\xbd\xc8\xa3\xdb00\xb6\xc5\x90[\xb5\x1eS\xc2F\xc4*\x97\x196\xae*h\xebp\xe2c,2lL\xfff\xd4+\xe7\xe7\xd1#d\xb4E\xbc\x0e`\xca\x9bU\x80\x13\xaf\x94!\xb0+\x8e|:P\x13Dl=\xd1\xad\xb9\x88\xc6m\xb6G\x05\n\xc96\x9f\x0fdM\x15\'e*\xb5\xfe\xfc%h\xdb\x03iy\xa4\x08\x86\x9c\x82\xa4\xab\xfe\x02=Us^\x1a\xdd\xcah:\x12\x18_\x04\x1aEJ\xc1\xb9\xc8\x80\xee(\x95\xda\xc2\xd7e\xc6\\X\xf8r\x7fB\xf4X\xfdY\xee.\xad\x9d\xa9\xcb\xd2(\xec\x86\x91l\xf1y>*\xe4\xe4\xf1n\xeb\xedUu\x80G\x0c\xdb\x87\x04\xa0\'\xf2D\xd1|\xc1\x92\x84\x9c\x8e\x00\xb2\x05\xaf\xe2/\xe3\t\xaf\xf8\x07\xb7\xe9\x1f8\x16\x9a\x1bH\x8e\xfb\x0ci*\xff\x98\x1f\xb3\x90\xf6F\xbf\xdd\xb2mT\x00t\x1f\xcd\xe9#\xc1\xb2\xeb\xf8\x9c\xab\xa0\x9d\xd4\x90d+\x9en!)\xd0\xb5?\xea\xb1\x93\xdcC*j\x81\x10\xc6Q\xf5P\x14\x93Dd\xc6\x04H\xc9\xef6\\T"\x89\xcd\xc4\xec1m\xa9I\x13\x90\xfa\x1d\xe6$Bk\x9c\xa0\x07\xe0D8\r\'\x08\xf8\x8d\xef\x02=t\x027\xde\xc8qa\xfel!\x03\x9e\xdd\x0ct\xe4)^\x18P\xab\xe9~\x8f\xb6\x0f\xcf\x8c^\xd5\xb7\xec%\xe5\x99\x90\xaf\xa1d\xaaG\xe9\xd9S\xbc\xca\x89T\xbaF$\xb1\xe8\xaf\x92\xdc\x90\\\xbb\x90}\xa1j{\xd7\xf3\x16\x0e3\x8b\xd6)\x87vW\xe0\xc3\x10v\xcbu\xe8\xf53\xfd\xe1a\xb8i\xda\xfe\xe2\xf7\xf2\xaf\xd3}\xa3\xd5\x08D\x13,M\xca\xa8\xa1$\xe0\xaa+f\xbb\xa2\xfcA\xceO\x19_P[\x83\x1e(\x9cB\x02\x1da\xae=$W\xe8\x18B@\x1f\xa1\xae{N\xc5t\x1a\x06\xf1\x97\xd9\xb3\xbf\x1dku\xed\xf3\x97\x90\x02\xc1\x93\xbfkJ\x8b\xbfY\x8d(\xa7\x1db&@\xba\xc2\x07S\xb7G\xe5C%\xadg\x1f\xb1`\xcdv\xbe\x16EM\xcd.\xa1Up\xc4\xee;\x01V$\x9b\xea\x80(\xb1\xa9\xc9\x99!\x8f\xaeU\x15%\xdf\x02\xd4"7"b6\x927\x9c\x0b\xe1\xda\x02\xedZ\xbe\xd9\xc6\xe8\xd1\xf4\x9e\xb6\x1d\x8f\x11\x05\xe0\x16\xd4\xb3I\x04\x19\x1b\xcb\xb0L;\x98\x17$\xcd\x13\x831\xe2\x14\x18\xff\x13BIk\x9eK\x90\x97\x0e\x08\x84\x87\xaa\xa9\t(\xa2\xd7\xa9/\t\xae\x11ro6\xcf\x07\x07\xb4h>\xc2\x1d\xa1\x88w0\xb1l\xd1w\xe4\xcd\xb4\x12\x89\xd2\xa9+`!\xed\t\xaa\x88v\xca8R&l\x8a\xb1\xean\x1aJ\xadR\xa6\x03\x11\xe0\xa1,\xe9\xad\x1e\x06\x10?\xfd\n144\xeaE\xa9\x94\x86\xbd\xd0LT\x8e&\x01\xa7T]\xca`\xeaK\x1fp\xb2\x9f\\\xcc\x17\x08^\xb4\x8f\xda\xe5\x00\xfc\x0e\x95ki-\x94\xfct\xc8zBd\xa9\x8e0\x9dR\x8am\x1bbqb)\xcc\xd1\xa7/\xbd(\xe9\\\x14\n\x8d\x8cBI\xbd\xd9l\xd1\xdfNk\x16\xa9\xd4/\x80GH\x91\x8d\xfd\x13\xe1\x97\xa0o\xc1\xa5P\x8a\x17vP&\xad\x1cV\xe3\xfbq\xf0\xbd\xf0K\xd5\xa1\xe4o\xf0\xcaD{\r\xe6\xd4T\x10U\xedJ\xe6M\xfb3\xad\x83I\xb2\xd8\xcf\x07\x88\x11\xad\xd3\xd2\xe4\xf7\xd0D\x9e\x80b\xe6\xd6\x06S<k\xd8\x8aj\xa0=s\x17\ngP\x13\x17\xae\xfd\xe7\xb67\xda\x07iU_*\xfd\xa6\r\xee?\xf2B\x01M[{\x9f\x05[\x97V\x8b*\x01&\x9a)u\'\xbb]\xd3M5\xf5\xe8(\x86\x12X\xf9\xce\xa7.\xba\r\x06\x936K\n\xb6\xc3\x8d\xe2\x91GH\x0c\x8e\xf23R\xd4\x1d\x94\xd3\xe7<\x15\xd5~\x05\xe4\xb2\x00p\x0c\x90\xf5M\x18@Nb\xd5\x07\xb3\xd04T\x04\x8d\xfa\x025\xa0\x92g\xec\xeb\n\xaast"{\xa2BjT\x88\x07\x14\x98\xd5\xb0\xdd\xe6\xca\xb6^t\xb8(wO\xd68\x91c\xbf(\xf5L8\xee\x1a*_\x0860\xc7\xd6\xbe\xfc\x03\xbf\xef\xc4\x14\xff\x9d\xed\xba\x1a\xf1\x14\x18\xa6HF8\r\x06t%\x9e\x8f<\xb7\x83\xc9]hr\xb8\xdc\x15\x07P(\xbd\xc9:%||C\x90^JG\xbf\xae\xd7x\xb1\x8d\xc8\xa2)\xf8\x08\xcc\xf7\x91\x04A\xc1?\x84\t<IQ*@.\xe4\xda`\x03Fi\xf6\x91\xac+\xf4\xda=r~T\xeb\x8e\xd5am\xccK\xaf\xf2\xb2cI\xe2\xc4\xe8\xd2\xd2\xb5\xd0\xea\x13\x83?@\x81\xaf\xf2W$\xad\xe7WM\xb3n\\;cz\xfa \xb9\x03YF\xc0"\xc7N\x19_Z\x8f\xb8>=\x94\xb3sQ\xdb!\x06,\x16\xb2\x8cn8\xc2Xgh\xd5?\xe2\xcc\x01$\x87\xe8\x06E\xe6CLn\xb5&[\x99\xaf\xf4\x0e\xc2\xb4\xdf\xac\xf0\x00\xb0\xd1`\xbe7i\xba\r\xaeZ\xcbY&d\xb6\xe8\xa1\xdf\x05\x8e\xc7\xc71\x07\xe3Lj\x83w\x04h\xad5\xe7\xb6\xef|\xc3}\xb4\xf9\xd7\xb0Ev\x17\xe2.Q\x14iV\xb5\xebD\xc4\xc3P\xc2B\xaa\xbag\xe7\nyV\xfa\x93I\xa6y>ZW\xfd\xc6\x97u#q\xedl\n(y&R\x07\xc0*\x05\xae\n\x05\x856\np\x81\xf2\x9b\\\xf6\xbb\x96\x16B\xf1\xdf\xa5W\xea\xfb6t\xdf\xb8W\xd2\x9c\xafZ\xc7\x80?e\xba\xe9U\xff\xb1t\xb0\x1dS\xd4\xb5\xec)j\xe0\xa7/0k\x81\xd7\xb4\\\xaf\xd8\xb9\x12\xa32\xf1?w\x1b\'\xc7jQ\x1f\xd4\xabCc\xec\x89+"\xd6\xf3\x05\xe7l\x99\xe4\x04\x17\xa9\x06!\x17I\xeaioZ\xf4Ad\\\xf6z\x85S\x0f\xdeE\xb5\xfc\x80\xb87BK\xa5\x80\x8dk\xb5\'\xbd?}Z\x0b\xc1=\r\x82=\xf2\x83R\xec$z\xb9\xcb\xc7{\xd1\x1d\x9b\xd9\xff\x01K\x8c\x9d\xad\xa9\x89\xd2\xfc?\x00w\rE\x14\x8fcj\xcb\x1e\xaf\x8c\x1d\x18\xa3\xcf\x07p[\xf6\x85\xf4m\r\xba~`/\xa8\x9fD\tWu\xe2\xfa\x0c\xe4F\xda\xfa%\xe0,\x0c\xbc\xea\x00.\x19\x04\x10\x1e\xfc\x02g\x91S\xa0\xa2\xdd\xe3"\x84[\xe8E\xf1)[\x1b$\x16\x88\xc8\xd0.^9\x94\xdd,\xb2\xa1W\x9e;1<H&\xad9\xd4\xdf\x83(\xacC\x04\xed%\x0c\xa0\x83U\xce\xd4\xb93\x96\x07[\x03\xacrs\x9a\xc9\xd1\xb4(\x1cc\x1f\x0c\x1a\xa8Z\xc5\xfe\xce\xad\xc0\x02r\xd3\x1e\xbe-\xe7\xee$\x92\r\x13\xc0}\xe8\x8esGi\xe1GCO<\xfe=,\xcf\x1fp0\x05G\xed\xec%\x9f\xab\x0f\xe5\xfa:k\x82\xa4MpA\xfdT\x98\x12_\xf0\xc8\xae\xb9i\x84$\x07\x85\x14\xe8\xfaj+)I\x9e\x8b\xa8\x83-r\xd7r\xae`\xbd\x1d\xa4\x0ca\x01\x0c\x9fh\x0fh\x03\x11\xcf\x9e\xdb\xa9\xb9\x06\x15\x08{\x12\xa7k\x11\xdd\xeb\xf9KE+\x89\x95]\'\xf6\x0f\x04\x08\x0f&+b\xfeA\x1b&Bz\xadl%\x84\x80\x81\xe0J\x94\x9d\x8a\xe6\xa41\x13\xfb0/\xe7\xe6\xaa\n\x91\xfaJ{\xb38\xc8\x86\xdf\xf8\xa9W\xe0\x86\xcek\xf5\x8a\x0bYq\n\x9a\xd2{\x92\x90\xd6r( \xfb\x9b\xf4%%\xbf\xcaK\xcb>\xa8Q]><\x9eD\xfa\xd3\x04(\x96\xea\x00\xffd\x88\xe4\xea5=t\x95\x04\x1f\x80\x93m\xb1\xc9\xb9\x99n\x802\xbb\xcf\xb2\'\xb2\xc6]Xi\xaa`=\xfa\xa0\xd4\x06>h\xa1\xe3\xbf\xf2\\L\xda)\x8b>[\xf3*\x1cZmC\x05\x1bUJZ\xcd\x1f\x8d\xf5\xa5\\\x01/\xa1\xa8V\xf8F\xec\xeac\xcewQ\xaf\x1d\x90\xa4\xa9E\xd8\xe8\xce`e\xa7E\x13\xda\xb6!l\x9c\x95\x10\xb1\x07.b\xf1\x9eIp\xba\xa9\xb4\xa6(l\xc6\n\xd1\x16\xedb\x0c|\xdb\xa2\x15\xc1\x01{\x85\xa6\xf37?\x97a\xb09\xd1y/\xf2\xffR\xee\xf4P\x97dd\'\x12\xe6^j\x87\r\x91\xb5\xf4\xda\x10I\xa2\x8e\x1f(j\xdc# `{\xf5X\xf4c1\xee9\xe0\x92#\xd88\xdbp\xcdT\x8d\x16\xa7\n\xa2\xf5\xa50C\xcb\x1c/x \x87\x91\xfca\xf4\x92I\x01\x8a\xbf\xa5\xa3o\xd8\xfd\x14\x00\x88\x19P+:8\xbb\x9bm\xc7\xf0\x08\xd5\xd8\x185\xc8\xfb\xee,W\xdb\xb3O=\xf6\xd3\xbaK\x0e\xfdh\xb8!g\x86=w\xa0\xa1*\xf0\x14Q\x1d3;j\x87\x89\x83?)\x1bG\xfeY\xd6\xe86r\x17\x81$\xad\xddU\x00\x14\x8b\xde\xa9\x81\xd0\xceG\xcd[\xd2\xd5\xb9\xebW\xdcQ\xf1z\x90\xc8\x93#]8`J\xddQ\x98{.b\x0fE\x1f\x92\xa5\xa5l\xbf\xda\xa1c\xad}\xb0\xa1\x93l\xc6D\xdc@\x87+\x10q\x93\t*\xf8\xbc\x8a\xcb\xb4V9\xbe\x9b\xe3\x04\x92\xea\xb9kG\x1e\x80=\x03[\xb2\x13E\x06\xf7\xea\x9b\xbb\xce\x14\xbd\x179H\x16\xa3\xfb/\xb5\x0f^\xc3\xd3\x05@\x1b\x80p"\xa5\xfb\x16=\x9e\xe9i\xc0\xe2\x1cm\xc9\xd8Pv\xe5\x83\xa2\xfe\xd9\x88\xf6\xfe\x84\xf5\xf3\xf8\x03j2w\x1aK\x06\x9c\r\xeb\xf9\x08LT@\xc34\x17\xc6\x98\xe6\xfa\xb4O\x1d\xef\xf6\xd1d\xc4\xf9\xf4[\xfb"N\xf0w\x10e9[rU\xaf\x11\xa5\x9d\xa4\x05\xa2\xc5\x1d+\xadT=\xf3\xdf\x86\xd5\xb6\x84&\xf6J\xac\x06\xe7{\xc1\xbb\xa7\xdeP.\xa2\xe6\xa7\x82\xf6\xa0$\x82HS8\x1dL-\x0f\xa8\xdd\xb9\x12(H\'\x07R\x85\x03\xf3x\x90\xb7\xe3\x8bgC\xabuT\xf6\xd4\x1f\x8cj\xff$\x90\x94\xaf\xb8he\x81 \xae\x11\x1f,m\x12w\xda\x0b\x02\x0b\xcd\x92\xfa)\xbc\x1bm\xae\x8b\x8f\xab\x84O\xb3>+a\xf0s\r\xdb\xdd\x975l\xddQ2\xab@\xfe\x84.\x14\x9a 9D\xab\x8ap\xb2\x8a\xe3l7\xec\x85\x92\x97\xcd\x93r[\x8b\x125\xb9\n\xebQ\xf7\xf9\xa8a\x9b*\xb1\xa9\x9d\x01~\x19\xcf\x08T};\x1e\x80=3_&pG\x8dh\x0f\xda\xc5\xaaA\xf5\x08\x9d=V\x95\xa3\xbc[w\x83\n<\xf9\x86\x1b\x94\x0e\xf0\xa3@>\xad\xdaseI\xf9\xd74$\xedbYM\xbe\x90\x98\xe2\x04\xdc`MaK\xa2~\x01N\xc1I\xa81\xd3]i\xf5\xcdX\x8fS\xb5R0u\xbb\x8aw\x9e\xe5\xdc\xc1a\x84\xeb\x14\xf9 \xe9k\xcc\xe1h\xe7\xe7\xd9z@\x0b\xd1\xd5\xd6\xc2\xce\x00\xe8\xc9_\xbb\xe4\xf1r:\xccP\x8a\xbe\xbafjG\xafz\x11\xcb$\xf8\x8cd\x9c\xa7;\xbf\x12\xc6ft~rXN\x03Ok>>!~\x92\x1f\x82\xed\xfa\x96\x15\xfc\xd7L\xfe*\xdd\x19\xa8m\xc6\xb0\xa8+\xdeK{\xb4\x18\xa5\xa5\xfd\xa3\x8c\xa9\xe1:N\xe3\x94N\x8ceb\xd8\xdaKZS\x01vID\x98~\x02e\xe4\x8a\xa7\xa1c\xf6\xe54\xf7Y\xe1\xda\xb8\x9d\xc1\x1a\x95I\xa1\x1bUOz0\x9d\xc6}Q\xca(G\x13\xabG\x0b\x1aQ)\x95\xe7U\xbaR\x0f\x8f\x98\xd1\xfc\xdf\xd0\xf3\x8b\x08\x8d\xc4\x00\xa2\x17\xc1\xb2\xc8L\x83\x83{\xf1\x89\xef\x01iv\xe7\xb1\xdc\xf4\x9d\x14\x8e@\xbd\x9b\xb4l\x80\xb7j\xd5\x81\xf3\x1e\xfd~\xefW\x02oZK\x04=\x80,j\xedA\x98Sg\r\x18\x1a\xfd\n#\x1e\xd9\x13\xc3\xf4\xad\x9e\xd9\xbbU\xee\xc1\xe7@\xcf\xd4\'\x18\xe6$\x9c\x88\xb6Co\x99p.]\xe3\xa4o\x9e\x1b\xbe\xe6\x12\n\x0e\xe6\xbc\xc3\x08L\'\xbb\x18\x04\xcb\x97\xe4\x118"\xb6\x04tF=\x07D\xeb0Fi\xe8@\x95\xe5Y\x96\xefEP<We\x95M^\xa6\xe7\x1a\xee\x9b\x8e\xa5j\xbcHK \x8c\xeb\x85\xf8k\xb9=\xca\x075&\x9c\x8e$\xc5\xdbn\x84\x92w\xd7\x97\xd1\xb0v\xee.\xb7\xf9\xeb:\x99$\x11~\x80\xd3\x05#\x9c\x981/@oXg}\x8f\xacK\x88@\x0bY%\xec\xcb\xa4\xe5\xe8\x8c%\x8b\x04\x12\x95\xb8H\xb0\x08\xab\xb8\xb88\xbb\xf9\x88]\xd0\x19\xf5A*!#\xe6\xcd\xed\xe1\x05\xa3\x13\x0f\xe5SM?\x1f\xedjG\xeb\xb6\xcaa\x93Zu\x9f\xa5\x1a\x94\x16Yh\x9c\xbazXi\xba\x87\x9c\xad\xc4\xdd\xe1b\xc1\xa3\xc5i\xf5n\x85\r\x9b\xa6[\xf8\x0f\xc9\xc7\xa8\x87R\x19\xc6\xff\x07\xa8qDk'
            )
        )
        return Lipsum._build_text_using_markov_chain(
            markov_model, number_of_sentences, seed_seq=["."]
        )

    @staticmethod
    def generate_lipsum_text(
        number_of_sentences: int = 5, start_with_lorem_ipsum: bool = True
    ) -> str:
        """
        This function produces lorem ipsum text
        :param number_of_sentences:         the number of sentences to be produced
        :param start_with_lorem_ipsum:      whether or not to start the text with "Lorem ipsum"
        :return:                            lorem ipsum text
        """
        assert (
            number_of_sentences >= 1
        ), "number_of_sentences must be a positive non-zero quantity"
        markov_model: typing.Dict[str, typing.Dict[str, float]] = json.loads(
            zlib.decompress(
                b'x\xda\x8d\\\xd9\x8e\xeb\xb8\x11\xfd\x95\xa0\x9f\x05!\xad\xbe3\xc9\xe4o\xd46\xbb/\x03Y\xf6h1\x06 \xf8\xef\xa1\x16V\x9dS\xa4\xef\xe4\xa9\xdb\x9bD\xd6r\xea\xd4B\x85\xb7\xf6\xed?\xff\x08o\xc3}r\xb7\xf4\xdf{\xf3\x8f\xb7uI\xff\xfc+\xfd\xf3\x98z7\xbbq{\xf9\xde\xa5\xd7O\xff\xeco\xeb,/\xdd\xbc\xf8\xcfuX\xf7\x1f\xfes\xfb\xc1\xcf~v\xc3\xb0\x7fe\xbb\xc0\xed>}\xfa\xed\xc3\xed\xb2\x8f\xf4I\xba\x98\x9b\xff\\\xdd\xf9\xf9\xec\xae\xdb\xa7\xbf\xa7\x7f/\xeb\xd4\x7f\xfae\x9d\xd2\x1b\xbfm?\xed\xdd\xc5\x8d\xfdv\xa5\x7f\xa7\x97\xbd\x1b]?\xa6\x17\xdbw\xc7u\x18\xfa\xf3{\xe3:^\xf2w\x06\xff\xe7\xda\xebb\xa6\xbb\xdf~\xf1c\xbb\xd1:?\xdcx\xf5\xf3\xec\xf2\xc7\xa3~\xf3\xcf\xd5\x9f\x8b\xda.\xb3\xffh\x7f\xdf-~\xff\xd2\x1f\xe9\xff\xeb}t\x97\xbc\xf3\xafu\xbe\xe4=\xf8\xb4\xa5o7\xe5\x8f\xae\xe9Z\xe7M\xef\xd3\xc5\x9f"\xbdL}~w_\xfc\xed\xbc\xd7\xad_\xa7\xfd\xfb\x1f\xdb\x97\x86~\xde\x85\x1b\xd3\x8b\xac\x90\xf0\xe6\x1f\xf3J\xaa\xd9\xfe\x19\xfd\x9c\xaf\xdd_\xf2?\xe7\xdf\xf6\xbc\x9e\xcb_Nz:\xff\x1b\xfa\xcb\xa1\xbf\xed\xdd5\xffn\xc97\xcd\xb7\ni\xbbi\x01\xe7\xe7\x8f\xfb\xb4\xe4k7p\x8f\x0eT\xb1o\xf2\x9e$|K*>\x96\x1bw\xa9\x1d\x97\to\xb3_\xe0\x12?\xceK\xec[qy\x03\x8fux\xfa\xb1\xcf\xf7\xfd\xea/~H\xfb\xcc\x0bN\xd65\xb9e\xea\xed\xbeQ@\xee\xafbS\xc7\x9d\xc3[\x7f\xdb\x05\xd2u\xdb\x9b\xe7\x8b\xb0\xaf\xe6c\xbf\xf7$\x92\xb9\xfa\xcb"W\xbc\xf5\xdfc/\xff\x9f\xea:\xd6}\xd8\xcc\xfba\xbd\xb3\xfc|\xf4\x9f?\xb3\xbc\xfd\xf7*\xf2\xf9\xef:/\xf7\xac\xc8I.z\xf5\xdfI\x9b\xb3\xbf\x89\x8e\x92\xeaEw\xd3\xcf\xfb\xa8:\xdbm\xe7r\x9f\x1eN\x94\x93D\xe2e\xb1\xe0\x02\xdb\xabd\x9a\xa0\xaf\xed\xef\xdc\x7f\xfbe\xf1bf\xcd.\x84\xa4\xb9\xd9]\x16w\xb8_G\x8b\xf8\xb1k\xf6v\xbb_\xef\xe7g\xc9\xdc\x97\xd3\x13\xfbSz\xbb\xcft\xc5r\x875\t2\x9b\xf7\xe3>\xafnr\xe7\x17\xbf\xdc\xfa\xed\xfb\xbc\xcb\xa7_zw^s\xbe_\xfb\xc1\xe5_}\xfa\xcf\xe4\xb8\xfb\x06\xb7\x9f\xf9[\xda\xfa\xd5\x1f\x9aL\xaf\x17?^\xfcu\x1d\xf3\x85\xfe<\xdc\xafck\xfa8\xfdt\xba\xb2\'m\xef\xf7\xd3e\x15m}\xba)\xef\xd2_O\x1f\xdd\xfd\xe4\xf7B\xf8\x9d\xb1\xd0.\x1b\xdd\xf6\xd5$\xc8\x87\x18\n\x19\xc1x\x17Q\xad\xcb\xa4v\xfb\xf5\xe5/\'\xfcm\xabz\xae\xc3c]\xfa\xc5\xa9\xcc\xe7\xa5\xcf\xf7Y\x87e\xf2\x17\x91\xd1\x97O&\xb7\xca\xbe\xd9MN\x8c%GK\xb8z9\x95\xbd;\xda\xe4\xc7o\x7f8\xf2\xa6\xee\xef\xa9\x7f\xfak\x7f^/}upSF\xc8\xfd\x0e\tF\xdc$\xca\xbb\x1e(\xd9\xb1\xe9\xa3Yw\xbb\xefd\xbb;\xa0\xe2{\xbf\xdcGv\xe4\x030\x93\xba\xb2\xc5\xce\xf7a\xd8Er\x15\xe3\xda\xad[T\xff9\xf4\to\xb2\x1agwS\xa7H\xce\r\xde(H\x99\x84\x96"\x96\xee\xe3\x10\xa3w\xf9\xabO7\x08\xb6\\\xd6\xdb\xbc\x07\x9c\xc3\xef\x93A\xae\xfd5\x0bhC\xc4\xc5/\xf7l\x07K\xba\xb9\xc0\xe5,kb\xdf\xfcr\x93\x82\xa3\x81\x83~\xfd\x16,!8\xcb\x97"H\xfar\x83H\xf2\xb6\x89I70\xa6\x98\xa9b~\xde\x87uy\x88\xa2f\t\xf1\x19\x97wm\x8a\xd8\x18=\x92\xb0D\x88\xe9\xbf\x8b\x7fx\xc1T\x06\x8c\x84\xad\xd7\xf4i\xfa\xca\xf8\x9d\x17>\xfa\n\n5\x19]2.X\xd3G\xa8R\xfd\xd6\x91Ow\x83\xea>\xa2\xc2\x0e\xf1\xb8\xa6\xf0\x96d&\xcb?\xff\x0f\x12\xc60\xdc\xe5\x88`\xd7%\xf1RC\x19\xec\xd2\xa7\xc8:(\xae\xae\xc7\xf5w\x10\xf9\x80\x9d\x83\x83`\xe8,\xa1\x85DD\xbe#(\xf5\xaeXlB\n\xa2|\t}\xa7\x8ewX\x99\xee\xf9K\x9b\r\xaf/\x0c\x07c\xe0\xd3\xfd\xf4\x17\xc53\xb4\xdc\xb9\x7fx\x97}FA\xe9\xa0\x16\xd7] \xc0\x89\x90\x07\x98\xb5\xe0\xfd\\B\xf4\x14|\xea\x1c\x83\xf1\xdbx-\x91\x1d\x85+\xf6J\xb0\xec\x9d\xd3\xf6\x93\x97\x1fap\xe9\xac\x88\x06\x87\n\xca\x9bR\xe8\xac\xf9#C):\xe2.\xa3S8H\x96z\x13 \xdf\xed\x1a\x01\xde\x9a\x93\x12\xab\xa1\n\xf4\xb7\x18\xa0\xf6{e\xbe\x13\x18A\x08g\xb2\xd1\xe6_\x13\xcb!.\xa4\xc8\xb9\xca\x1d\xe4\xba\x81\x8dY\xa8\xa3\xae<[qD\xc3\x0fh\xdc\xc3\xfd3a\xae\xdc\xef~\xf5w\xc3H\x19\x92\n+R\xe3RZ<8\xb2\xa43\x95 qG]]83\x83\xe2^\xddK\xd0\xb2\x90\xcf\xd4\x0e\xb0\xd6DT\xa2\x0f\xb0W\xa04\x96\x0c!Q\xef\xd8\xe0\x1b\xf1\xf035{\xb7\xf8B\xb6l\x02\xaf\xc19\x03-O\x84\xd5\xfd\xfb\x81\xf9\xef\x89U?\xaa\x10n\x1c\x16\x13\xa6B\x9b\xd9\xba[5\xfc\x01\xbf\x9c\xa4\xb9\x14D\xc7\x02\xa1\x11\x18\x06\x0eu\x16\x83p\x96bZ\xben\x9d\x1c\xc9\xc1\xf6\xfa\xa7$*\xe4\xb8\x9cW(\xbf(!\x8a\xac\xc1&AI\x8d\n \xa7\xe4\x83\xa4\x80\x18\xb7\xc1\xa1\x95\xcf\x17\xd7\x078%w\x07_<\xcc"r\x81 \x14\xe9Z\xa9nE\t\xdd`WF\x1b!\x87\xefE\x91A\x19\xfe\xbb\x86\xf12MBB\xbb/\x14\xd7\x16\xd8\x11\x90L\x01\xee.\x16-\x80=\xe7\xc4/\xa2S\x05#UX\xa72e\xa0\x19-0\x83\x0f\xba>\x19\\$u\x05J\x0cT\x19\x00\xabD\xa2\x1b\x13F\x00K\x88F\x80\xe7\xe1\x1ayG\xe7\n\xa3IOBa\xbe\xad\xcd\xd0\xa1\x00\xe1\xeefI\xe4N\xd18C\x90k}\xa5\x8c}\xae\x01\xd9\xd3?\xdd4\xf5e\x9c\x97R\x00\xc6N\xf4\xf2Av#u\xad\x80jC+\xdaIb\xa27\x9f5\x87\xe0%h\xfeJ\xac\xd1\xc2\x022\x12\xc9\x8c\x8d)G\xb5\xa3\xc0\x8a\xb5\xb1\xab\x112OE\xb6:\x94\x92\xea\xc1\xe1UM\xd9\x98(0`B\x00\x86\x04\xbc3G\xd0\x88v\x18\x88#ZNA\x84\x03d\x02\xc6\x96\x7f~\x18\xc3\x1f\x1c\xa95F-5\x945\xbc\xa1\xc1\xe4\xde\x92\xf0[\xff\x97\xbf\xadE\x8az\x98\x08\xc2\x10\xef\x08\xb3J\x06\n\xd1=J\x8eD\x8a\xb7\x87<I\xca|lK`\x9bh\xd3\x84v\x98@F\x15U\x90\xad\x03\x132\xf5\xb6\xf6\x8c\xb06\xa01kI\xb4n\x93\x85+s\xe6"$A\x19\x934\xa4 \xa0\x8c:\xd2\x8d\xc2\xe9\xa8\xa2\xab\xc2TX2\x19LQB\x148\xa2\xf8~0\xfb\xc9\x86\x08\x85\xa6\x1a\xa7\xc0"\xe8\xb1\xfe\x0e\xb7\x04\xd9\x8e\x8d\xa8R\x1c\xe8\x905w\x15\xcb9d\xd9Qn\xcb\x84\xd2\x96\xbf\xb0j)xg4\x84\x80^& M=\xe3S#N\x82x\xf6\x90!\xb0\x97`\x11\xd4"\x1c\xf0@r\x000\t$`Z\xe2:\x8c!\x83\x14\xb0\x99\x92\x99\xa6\xbb\xe9\r\xfb\x174O\xfcPL\x89\x93J\xe4\xb0\xd8\xc2\x08\x7f\x93\xce\xd9\nA\x89\xb4\x941\n\xe8Hb\x1a)c\x0c\x88km)De\'\xea@&\xb5\xe7\nN#\x19\xcc\xe1\xf3A\xb4\x8d\xe4\xe4Rc\x12?\xea\xe2\xa6\xa4O\x93\xc93?\x08\xd5\xdc\xc1\x08\xa9 ,sAO\xad\xfe\xc8\x9d2\xef\x8f\xe5\n\x03\x84\xf7\xa6\x0c\xd3\x00\xb0Ll\xa8nA\xc1\x11kt\xc6w"\xf4\xb70c\xb7N}VG+\xd9\x08\xf1k\x04t\xebH\xd6\x05MP\x83-\xb2\xbd\x825D\xc4\xcf@\xa4\xb7\xad\x94\x9c\x0b\x1c7U\x18jw8\x8b`\xe8\x8b\x96\x90D\xa0\xdc\xa1`\x03X\x13\xa0;>\x81\xeb+MQ\x0b<\xfc\x07\xf2\xc9\x0e\xa8\xb5\xcd\xe0\xa8\x9c\x06\xf1P\xeb\xcbh\x9f\x88\xb1\xe0\\\\\x13S`\xa8tA0\xe2\x93T\x8d\xf7rO\xa4\xe0\x15*\x1b\xea\xce\xfd?\x8c\xcf\x16"\x086\xa9z}]\xbd\xc8T\xa5\x190\xdd\xc6T\x10j\xd5 \x9b\x0c\xf1P\x88\xe8\xc0\'\x95}\x9d\xe0\x16\xd5\xaf\x83\xc0O#!\xf3\x14t,w\x1bRv\xfd\x99<g,m\x83@\x03\xcd\x87\xa5L\xa4\x02\xd2 \xd8\x8d6J\x15@(\x05Qn\xe4+IeS\xf1\xda\xb8\xd7\x05d\xe5A;\xe5\xd1h~\xc3\xb4\x91(\xe3}\xb4\x9c\xdf\xc0Evh\xca\xa3{eAr\xb9\xf0\xa6e\xb7\x93v\x8d\x0e\xab\xce\x9a\x88\xa1\x93B\xc6\x80\xbeaj\r\x84\xa3\x9b\x0e\xa1\xc6\xa8\x86rF\xc2\xce\xd8\x92\xd6\x02\x10i@=\x15\xabo\xaa\xcc\x10\xea\xf2&A\xc9[E)\xe4,3`\x1f\xe1\xe0\xcfbO\x9d\x8d\x83E\x19\x8ei5\xe6\nVU\x9a9v\xd5\xe26\xf9i%\xb86U>c\xe2C\x96wD\xaf\x08\xc8\xb7\xec\x9d\x98i\xfb\xc5\x18\x96\x11~YQ\xeaM+\xc5H\x84S+]\x87f\xfbX\xba?\x11\x89\x92w\xf0D[\x8e\xd3\x02\xf4\xe1)\xa6\xdc\x83\xda`nM\xc8,M \xad|\xb2\xbcZ\xb1\xecy\xee\xebpn\xdb\x8b`\x98\xd1\xa4\xf0\xbash\xed\xbe\xa8j{\x93,GN^B\x91\xa1\x01\xb30\x96\x81\xf4f\xf7\xee\xc8\xe9\x83\x91\x1d\x93mE\x81\xb2\xd2\x87c"\x87\x13-e\xaf\x01\x8bQ\x90\x13\xd8X\x05\x12\xe9~\xd1\x9eC\x93\xb1\x84\x89\xad\x13\x83\x01g3\x1c\xb7\xdbW\xd5Y\xe3\xc4XA\x19\xa4\xf9\x0b\xe1\x9a\x1a\x11\x83\xf3_IW\x19K\xd1\x90\xb1\xc5krzKa0[\x8df|*p\xdaQ\x81\x8du\xa9\xc4)-\xeb\xca\xcf\x03\xee\xed+9\x08\xe4\xb8\xad\xb5G\x1esX\xb5n\x06,\xed\xb8Z\xa0\xf4\x12GKr\x91\x9ff#Z[\xb4\xc1\xec\x05d\xff]E\xe0(\xd9l E\xa0\xedCUr\xd5\xb9\x04K\x88m\xd7\xdf\xe2~czA\x14\xbb*\x01\x0b\x93_\xd2\x98)Eh\x19\x15\xf2\xd4\xbc\x15[\x17\\\x8d\xd0\x94\x91+zR\xef\xc7&\xb5"\xe5\xd2\xab\xd1\xc5$\xb7\xe4\xaf\x05\x9e\xa7\x01\x8b\xa0\x90I\x19\x17Br\xba\x85\x1f}_p\x1d\xae\xbdJ7]\xf3\xe5\xcad\x94-\xb8\xae\xf5R\x87\xd4&\xa2\xf0\xc7\xf0:W\xb4\xe2j\r,\x15\xe8\xa5\xc6?\x9e\xe5\xf2\xbcz\xeb\xe3\x99\xf8\xa2<T\x02\x08\xe3XN\xa11\x82\xa5\xb6\xf7H\xc8\x16\xd4\x9e\xecZ\xdb*C\xc6\xb6( \'\x19\x11T)\x1a\xb5\xd0S\xe1A\xc6\xc4\xda\x175\x01[ 6\xfd\x96\xaa\x0c\xb4\xde+\x16\xce`\x0eH{NTJ\xec\xa3\x1e\xa51\x07\xca\xd6\x9a\x8a\x90gIm\x80\x8f2\xcd\x94\xfdD\x9ed=$\xd1\x95a\x9e\xa6\x97\xb8\x88C,\xde\xc4o\x80l\x88\x0f\xe1\xf5\xd8!\xe2\xbd\xf2*\x85?v?H\xb4\xd5\xa9a\xd3\xade\xde\x9c\x01\xe4\xcc:"\x14h5\xef\x17\xd3\x1aL{\xfdR\xd4G+\xbd\xc2\x88S\xc2&\x04\x16\x85V\xb4#c\x8b\xdc\xcc\xe9!5\x90\xf0\x17\xfe&\x13a\xa6\xa8\xb8{Th#V 4\xdd\xc5\x9a^=\x91\x10d\xd6\xd46\x82m\x1a\xb2&\xd9!\xf5\x92_\xf6\xb0\xa8&\x82\xfe\x98\xd7\x97[\xa8\xf5\x19\xd9\xecxV9ZC\x8f\xd4\xe8\no\xaf\x98M\xa3U\xa2\x8cB\xc1,\xbb-\xfb\xbf\xe00j\xd7\xc8\x90\xf5\nA)\x0b@\x9b\x08\xc2rbKO\xfbb\xa17O\xb3d\xd0\x0fcI\x10\x8d/\xb2\x8ds*G4^6\xd4\xc5.\x10\x8dt\xb7\x98\x8b\xdb\xee\x85\xc4>B\xed\xa6\xd2\xdb\xc0\xc1\xbd\xa2>\x14\xc1wB%\xe4\xb6\xdc\x12\xec\xc0\x0cY\x83\'9\xae\x0c\x93ZR\x05\xc5\x023\x97A\x98I\xed\x19\xd0\x96\x10\xc9\xaepm\x83\xfb\xbf\xc8\xdas\xa2\x12\t\x9c\x83\x01}\xc3\x8fqN\xa1\xb2\x19\xf2\x9f\xd6z\x0e\x14\xcd\xa4\xad\xd3\xd4\xd9!Q\xe5\xbe2X\x13)<\x053LX\xf4\xe3\xb9\t\xcc\x91V\xe5\x17\xe5\xb74\xa6%v\x86E\xe1\x02aY\x8f\xd2\t\x16K\x86v\x03\x06\xf4lJ?\xd3\xf6\'7\x89\xefg0\x8e\x94\xd2\x07\x9a\xb0\xe8,\x1d\xb5)"\xa8\x0b27\x0c\x14\xfeJ6\x90\x0bfJ$t\xf3\xe0\x9fT\\\xd5x\x8d\x0e\x1a\x8a\xfa1e\x0eT#\x8f\x86\x82\x06*TB^kr\x8b\xbbuQ%U\x16+fW\x99\x0eE\xe3\x8e\x8a\xb7Jf\xf5\xe7L\x02$\xda\xe3\x9c\xa8\xd6bm\x9aK\x91M\x0b&\xc1\xb2\x85\xb6f\xfd\xa4\xe0j\xb1\xa8\xaf\x15\x87U\xb1\x19E\x82\xc6Z\xbd\x8c\xdag\xfb\xb2^\x87\xfd\x0b\x8dz\xe7A\xa4P\xcccc\x16\xa4\n\xd1=E\x86)X\x96~\x9b\xf8*\xb1\x1e\xe1\xf9\x94ze\x85p\xf1\x8bD\'\x00\x1a\r \xabOQu\xb7\xd2\xf7D\x02\x97M\x84\x84\xae\x1d\xeeY\x93Z>\xa6\x15,K.\x02"\xe1\xaf\xb8\x1f\xd9\xbb\xf5s\x91\xe0\xdfUX0.Ef\xec\xc1V\xfa\xb4\x06\x02$\xd6\xc0\x1c\x85g\xf4\xef\xb6\xc8c\xc0\xa5O\xf3\x8b\\]\x0c\xbf\xae\xbe\t~b\x9f\x88*\x036\x99\xc3\x121f\x85\x94\x08k\xac\x80fP[\x0c\xcc\xe1\xd0.\xd8\x11\xca;\xfc\xaa(\td\xc0VP\xd9\x82\xb8\x9b\xdaT\x8am\xdc\xa5Q4\x93<\x99\x0fn\x08\xa1\x88Y^&Z\x8a\xc3~\x94\xd9\xe6\xe8o\xb5L\xc6bog\xe6t\x8b\xf9Fr\xd6\xda\xe9\xb4J\x8f\xd7-\xf5\xea1\xa6{\x98\x0e\x9b\xba5t\x0f\xa2\x9c\x8c\xc4\x11\x1cb\x8d%\xea1\xb7\xe3"je\xa2\x04JR\xe64\x9aN\xd1\xc8,\x84\x89CRP\x16\x84\t0\xd5\n\x992\x18\xf7\x8b\xb1m\x83\xd7m\x01\xf8\xa4z\x06eQk\x80#\x99+\x97r>\xea#\xcfP\x1ec\xbbW\xb1@vI.t\xd2\xea@E\'3\xf0,\xab\xd7b\xafq\xa2\xbe\xa8L\xe9\xf9W\xd8\xce\x8b\xa9I\x1c\xae\xa3\x02o\x179\xf8\x87\xe2\x80\x07\x9a\x1c0a\r\x949\xf5\xd20\xc3\x8d(Y\x85q}\xaa\x80\x92\xcf\xafe|\x8bJ\xe8CQ\x18h^\xdax[\xcd!\x0c\xd9\xb1\x15c\x18b\xccg\x89\x03\x07\xecu\xa9\xd6\x0c\xfa\x17\xba\xc3\xf1V{zA\xc7\x0em\xe1K\xfb\xbd\xd0r\xd1S"f*\xa5\xd8ze\x94FUa,<"J\x86\x97%\xceW\xb3\x0c\xa6\xe01"1\xcb\xf5\xccPx\xdao\xbf<L\xc1\xe3\xe4\xcc\xc0x\xf4\x1d(*C\x9a\xa9GG8\x0f\x1e\x14\xe1\xfa\x8cW\xc6\xb1\xb9\x9eg\x06\xf8-\xed\xc0\xb6\x116\xcb\x0c\xff\xa5\xb8\x92cO\xa4r\x8f\x9d^\x835`v\x06`\xf3\xb2\xe0@1)\xd77"\xa2b0\xe1p\xad\x9cJk\xabEF%\x82\xc5\xc0\x0b\xa5Q\xe0\xd5\xc4\xe9"\x85\xe2\xd2\xa5\xc1\xe4y2\xc0\x8c\xb5\xd2L\x10$R\xbeX\xa7$bbY\x81\t/p\x81"\xbcS\xdb\t\x88\x82\xf1BNe\xe4x\x1a\xcd\xb7\x0e\xb5j\xb3\xc6\xf2\x00\x84\xad\xad\x90\xa3\xa6j\x9e\x86A I\x04\xd6G\xcbC\x83\xc8\x96U;\xc3\x06\xf8\x01\x857{\xf4r\x97l~\xc0B\xb0U\x95\x1c\x95>(\x07\xa2\n\x04q\x99\xa7\x1c\xf5\xc44\xfa\x07\xac\x8a\xcd\x802t\xc0\xc1\xf0f\xadX\xeb$\x94\x836vj,\xaaS\xd7\x9e\x82Pc\xa50\r7T\xe8\x1a\xd6\xb7$\x9dAp\xe6\xa0\x84A\x08*1\xc1&(\x8d\xcc\x1e_\xcdVQE\xd8z\x12|\xe8\x97\x97#\xc0:\xac\t\xb7\x0b\xe53*\x18\xab\xc8\x1b\xcd:qNH\xc4\x12\xa1\xe6\x81\xede\\.\x88\xa8)N\x94\x9bL\xf4H\xf6u\x9d\x90o\x93\xbdd\'\xa2\x9aT\xe4 \x14H{*^\x84\x023\xb3\x81\x83q\xf9\xc7\xc1\xa4\xec\xed\x8b\x08bB\x9c\xe1\xfdEM>\x83\x10\xe5\x94H#9\xd3\xe5u6\xd0\xd8\xfb\xb0LL\xbb\x91\x1c\xf2\x14\xb9\xe8$\xd5\xf1v(\xf6c\xbb\x94M\xedi\x01\x14+Q\xe9\x96\x92\x01\x82\xea!\x97{%VPu\xb9\xd8\x00\x1ez\xcc\xcf\x7f)<J\x08\x81\x19B\x83\x91n\xac\x00\x99\x08Z\xa4\x0e<\xe4U\xe9;\xb1}\x805k\xc4\r\x1c\x80\x00IZ\x18%\x99O\x8b\xb0\xa7YypRb\x86\xe2\x80=\xcf\t\x1a\x82B\x02\x1f\xb2\xc6\xc8\xde\xea\xacrf\xcbx\x88{)9\x8b\xd0X\x1ae\xb9\xbe\xf0\r\xb4\x8cj\x8d\xaa\xad\x1f\xe7\x9f\xdd\x8d\x9au:K \xb6l\x02\x95\x11\x05\xc5\x08D\xe4\x0c\x11\x1a\xe3\xdb\xe2@ m\x17m\x00:\xe3\xea\xf4fDSb\xea5\x1f$\xb3\x99\x83\xa1\x1e(H\x98}\x88\x86x\xd5\x1f\x9e\x00\xbdK\xadX\xd0y\x07i|A\'x)\xf6\x93\xad%\x82\xd2\x02]\x94\xcb\x0c\x04\xc8\x1f\x95\xaav[\x0e\\q\x11X\x02\xbfX\xa7\x1e\x97\x18\xfb\xe5\xaenF\x86S\x1b\xbee\xca\x1c\x19@\x90\x96q\x96a\xa0\xa9p\x0es0\x10\xd4\x168QF+\x97\xe9~\x86&Wi\xe7\x9bH\x81\xe9\x10\x12,H6T.I7{O\x02Z\x04\xf8\x06\xce\xd8\xca,\xf0\xb6\xeaY\x1d\xfeTq?%\xbdx\xa7\xa7_\xe9\x9dm\x84p\x03==\x81q\xbe\n\xdaD\x85\xa7\xdb\x84$\x8b\xeb\xb6o]\x16\xbe\x91\xae\xa6\x1f\xe4\x04\xa2\xe5\x8a\xaf?/OP\xcd3An\xb5\x992\xc8\x88\x8f\x8d\x04\x83\xa2\x90*\xa8\xbf\xd3P\xa0\x16f\xb5\xf4\x108\xa9m\xca\xd3\x13\x08\x9b\xf2\x80\x8dY\xa7\xbd\xff\xe2\xd4\x953\x85\xce\x96\x17\xa2>\xc2, \xf0\x1b6`\xb8\x02>\xd5\x01\xa7t\x83\x99\xc0\xfc\x1em+\x10MO\x99\x8a<9-\xe0c\x9e*$\x94\x1f\xf0\xc1\xe8V\x99\x86\xa4\x87=H\xdc\xa7\x8d\x92\xcbce\x0c\xfbl\xad=m\xce\xe6\x04\xee\x15 {\xe0S\xf6\xf0\x98\x8a\xa9\xafE-\xe3\xa4\xf5\x033\xd10RE\xb2\x1c\x18\xa2<\x98 \x1f\xa18\x1f\x8d\xa7\'\x13r\x13&1\xd9\xc5\xf5\xc0k\x8fW\x19s\xe6\x85\xcf\x17\xcd\x0bo;?\xd5.Y\xdbc\x01\xb7\x96W\x89\xf1%y-z\xfa!\xbf\xda\x8e\x93]\xfc=y\x8e6\x04\xe5\xf5\xf6\xcc!}\xd2\xcf9\xf5\x94t\xa4\xdd\xe9\xfcjO\xce\x93\xf7\xe9\xad\xe1ux\x83\xc2UV|r\xae\xf5\xd3\xebT\xf7\xc5=\x16\x1de\xd2OS\xa2q\x9f\x17\xbd\xa5\xbc\x020\x82_\'Io\te\xef\xf4Z\xf8F\x96Y\xfc\x1f\x136Z\xb0'
            )
        )
        return Lipsum._build_text_using_markov_chain(
            markov_model,
            number_of_sentences,
            ["Lorem", "ipsum"] if start_with_lorem_ipsum else ["."],
        )

    @staticmethod
    def _build_text_using_markov_chain(
        markov_chain: typing.Dict[str, typing.Dict[str, float]],
        number_of_sentences: int,
        seed_seq: typing.List[str] = ["."],
    ) -> str:

        # build text
        n: int = 0
        seq: typing.List[str] = seed_seq
        while n < number_of_sentences or seq[-1] not in [".", "?", "!"]:
            prev: str = seq[-1].lower()
            next_options: typing.List[str] = []
            for k, v in markov_chain[prev].items():
                next_options.extend([k for _ in range(0, int(v))])
            next: str = random.choice(next_options)
            if prev in [".", "?", "!"]:
                next = next[0:1].upper() + next[1:]
                n += 1
            seq.append(next)

        # remove starter
        if seq[0] == ".":
            seq = seq[1:]

        # print
        s: str = ""
        for w in seq:
            if len(s) == 0:
                s += w
                continue
            if w in [",", ".", "?", "!"]:
                s += w
                continue
            s += " "
            s += w

        # return
        return s

    @staticmethod
    def _build_compressed_json_model(src_file: Path) -> bytes:
        # read file
        lines: typing.List[str] = []
        with open(src_file, "r") as fh:
            lines = fh.readlines()
        lines = [x for x in lines if x != "\n"]

        # store markov chain
        next_hop: typing.Dict[str, typing.Dict[str, float]] = {".": {}}

        # build chain
        for line in lines:

            # split to words
            words: typing.List[str] = []
            for w in line.split(" "):
                if w.endswith("\n"):
                    w = w[:-1]
                if (
                    w.endswith(".")
                    or w.endswith(",")
                    or w.endswith("?")
                    or w.endswith("!")
                ):
                    words.append(w[:-1])
                    words.append(w[-1:])
                else:
                    words.append(w)

            # update chain
            prev: str = "."
            for word in words:
                word = word.lower()
                if prev not in next_hop:
                    next_hop[prev] = {}
                next_hop[prev][word] = next_hop[prev].get(word, 0) + 1
                prev = word

        json_out: str = json.dumps(next_hop)
        return zlib.compress(bytes(json_out, encoding="latin1"), level=9)
