diff --git a/.idea/devEops.iml b/.idea/devEops.iml
index 758f1604..adfe437a 100644
--- a/.idea/devEops.iml
+++ b/.idea/devEops.iml
@@ -33,6 +33,8 @@
+
+
diff --git a/.idea/misc.xml b/.idea/misc.xml
index ee14b86b..a542795a 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -1,4 +1,7 @@
+
+
+
\ No newline at end of file
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 0a7ca996..93c72323 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -1,8 +1,8 @@
-
-
+
+
@@ -15,46 +15,60 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
@@ -63,12 +77,18 @@
+
+
+
+
+
+
@@ -76,6 +96,7 @@
+
@@ -84,63 +105,50 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
- t
- a
- adhoc
- task_remove
- queryset
- group
- host_group
+ TIME
+ ENVIRONMENT
+ scge
+ scg
+ sc
+ s
+ sche
+ crontab
+ CELERY_ACCEPT_CONTENT
+ c
+ cs
+ csrf
+ FormView
+ parse_inventory
+ Play
+ task_tuple
+ result_q
+ YoHost
+ YoInventory
+ all_vars
+ variable_manager
+ tasks
+ task_name
hosts
- groups
- task_tb
- author_name
- AuthorityGroupView
- User
- Group
- PermissionsMixin
- backend
- BACKEND
- ExtendUser
- form
- Storage
- group_form
- datadir
- u'operation'
- date_joined
- maker
- ManyToManyField
- ForeignKey
- kwargs
- str
- print
+ script_maker
+ ext_vars
+ new_vars
+ pb
+ pattern
+ extra_vars
data['data']
@@ -153,64 +161,64 @@
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
-
-
+
-
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -240,6 +248,8 @@
+
+
@@ -262,43 +272,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -312,53 +286,20 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
@@ -367,6 +308,7 @@
+
@@ -378,18 +320,18 @@
+
+
+
-
-
-
+
+
+
-
-
-
@@ -404,99 +346,102 @@
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
+
+
+
@@ -705,19 +650,19 @@
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
@@ -732,20 +677,6 @@
1501062126124
-
- 1501224121094
-
-
-
- 1501224121094
-
-
- 1501237427753
-
-
-
- 1501237427753
-
1501501469484
@@ -984,10 +915,118 @@
1505219853929
-
+
+ 1508161170808
+
+
+
+ 1508161170808
+
+
+ 1508162690424
+
+
+
+ 1508162690424
+
+
+ 1508345131076
+
+
+
+ 1508345131076
+
+
+ 1508491437670
+
+
+
+ 1508491437670
+
+
+ 1508752886121
+
+
+
+ 1508752886121
+
+
+ 1508811206647
+
+
+
+ 1508811206647
+
+
+ 1508838220340
+
+
+
+ 1508838220340
+
+
+ 1508893612781
+
+
+
+ 1508893612781
+
+
+ 1508895172809
+
+
+
+ 1508895172809
+
+
+ 1508900246248
+
+
+
+ 1508900246248
+
+
+ 1508927997422
+
+
+
+ 1508927997422
+
+
+ 1509009879979
+
+
+
+ 1509009879979
+
+
+ 1509932938819
+
+
+
+ 1509932938819
+
+
+ 1509933266485
+
+
+
+ 1509933266486
+
+
+ 1510044250018
+
+
+
+ 1510044250018
+
+
+
+
+
@@ -1011,52 +1050,32 @@
-
-
-
-
+
+
+
+
+
-
+
+
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
@@ -1075,20 +1094,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -1100,7 +1105,21 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1125,16 +1144,6 @@
36
-
- file://$PROJECT_DIR$/apps/manager/views/host.py
- 77
-
-
-
- file://$PROJECT_DIR$/apps/authority/views/user.py
- 36
-
-
file://$PROJECT_DIR$/callback/__init__.py
33
@@ -1147,9 +1156,63 @@
file://$PROJECT_DIR$/apps/manager/api.py
- 31
+ 32
+
+ file://$PROJECT_DIR$/apps/execute/api.py
+ 44
+
+
+
+ file://$PROJECT_DIR$/apps/execute/service/catch/db.py
+ 17
+
+
+
+ file://$PROJECT_DIR$/apps/authority/views/user.py
+ 63
+
+
+
+ file://$PROJECT_DIR$/apps/authority/views/user.py
+ 86
+
+
+
+ file://$PROJECT_DIR$/apps/authority/api.py
+ 20
+
+
+
+ file://$PROJECT_DIR$/apps/execute/callback/__init__.py
+ 19
+
+
+
+ file://$PROJECT_DIR$/yosible/runner.py
+
+
+
+ file://$PROJECT_DIR$/apps/execute/callback/__init__.py
+ 27
+
+
+
+ file://$PROJECT_DIR$/apps/execute/callback/__init__.py
+ 35
+
+
+
+ file://$PROJECT_DIR$/yosible/inventory.py
+ 38
+
+
+
+ file://$PROJECT_DIR$/yosible/runner.py
+ 58
+
+
@@ -1158,65 +1221,40 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
+
-
-
+
+
-
+
-
-
-
-
-
+
+
+
-
+
@@ -1225,14 +1263,6 @@
-
-
-
-
-
-
-
-
@@ -1240,55 +1270,59 @@
-
+
-
+
-
+
-
-
+
+
-
+
-
-
-
+
+
+
+
+
-
+
-
-
+
+
-
+
-
-
-
+
+
+
+
+
-
+
-
-
+
+
-
+
@@ -1296,23 +1330,23 @@
-
+
-
+
-
+
-
-
+
+
-
+
@@ -1320,7 +1354,7 @@
-
+
@@ -1328,81 +1362,79 @@
-
+
-
-
+
+
-
+
-
-
+
+
-
+
-
+
-
+
-
-
+
+
-
+
-
-
+
+
-
+
-
-
+
+
-
+
-
-
+
+
-
+
-
-
-
-
-
+
+
+
-
+
-
-
+
+
-
+
@@ -1410,43 +1442,41 @@
-
+
-
-
+
+
-
+
-
-
+
+
-
+
-
-
-
-
-
+
+
+
-
+
-
-
+
+
-
+
@@ -1454,39 +1484,57 @@
-
+
-
-
+
+
-
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
+
+
+
+
+
+
+
+
-
-
+
+
-
+
@@ -1494,100 +1542,112 @@
-
+
-
-
+
+
-
+
-
-
+
+
-
+
-
-
+
+
-
+
-
-
+
+
-
+
-
-
+
+
-
+
-
-
+
+
-
+
-
-
+
+
-
+
-
-
-
+
+
+
+
+
-
+
-
-
+
+
-
+
-
-
+
+
-
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
-
+
+
-
+
diff --git a/apps/deveops/celery.py b/apps/deveops/celery.py
index 6fc42845..f02aeeac 100644
--- a/apps/deveops/celery.py
+++ b/apps/deveops/celery.py
@@ -27,4 +27,4 @@ def ddr():
import time
host = Host.objects.all()[0]
host.info = str(time.time())
- host.save()
\ No newline at end of file
+ host.save()
diff --git a/inventory/__init__.py b/apps/execute/ansible/__init__.py
similarity index 84%
rename from inventory/__init__.py
rename to apps/execute/ansible/__init__.py
index 4462d07b..92b7dba8 100644
--- a/inventory/__init__.py
+++ b/apps/execute/ansible/__init__.py
@@ -1,5 +1,5 @@
# -*- coding:utf-8 -*-
# !/usr/bin/env python
-# Time 06 14:48
+# Time 17-11-10
# Author Yo
# Email YoLoveLife@outlook.com
\ No newline at end of file
diff --git a/apps/execute/ansible/inventory.py b/apps/execute/ansible/inventory.py
new file mode 100644
index 00000000..21324492
--- /dev/null
+++ b/apps/execute/ansible/inventory.py
@@ -0,0 +1,45 @@
+# -*- coding:utf-8 -*-
+# !/usr/bin/env python
+# Time 17-11-6
+# Author Yo
+# Email YoLoveLife@outlook.com
+from ansible.inventory import Host,Group,Inventory
+from ansible.parsing.dataloader import DataLoader
+from ansible.vars import VariableManager
+from utils.aes import decrypt
+class YoHost(Host):
+ def __init__(self,host):
+ self.host = host
+ self.name = host.service_ip
+ self.port = host.sshport
+ super(YoHost,self).__init__(self.name,self.port)
+ self.set_all_variable()
+
+ def set_all_variable(self):
+ self.set_variable('ansible_host', self.name)
+ self.set_variable('ansible_port', self.port)
+ self.set_variable('ansible_user', self.host.normal_user)
+ # self.set_variable('ansible_ssh_pass', self.host.sshpasswd) #密码登陆
+ self.set_variable("ansible_become", True)
+ self.set_variable("ansible_become_method", 'sudo')
+ self.set_variable("ansible_become_user", 'root')
+ self.set_variable("ansible_become_pass", decrypt(self.host.sshpasswd))
+
+class YoInventory(Inventory):
+ def __init__(self,host_list):
+ if host_list is None:
+ host_list = []
+ else:
+ self.host_list = host_list
+ self.loader = DataLoader()
+ self.variable_manager = VariableManager()
+ super(YoInventory,self).__init__(self.loader,self.variable_manager,self.host_list)
+
+ def parse_inventory(self,host_list):
+ all = Group('all')
+ for host in host_list:
+ h = YoHost(host)
+ all.add_host(h)
+ self.groups = dict(all=all)
+
+
diff --git a/apps/execute/ansible/runner.py b/apps/execute/ansible/runner.py
new file mode 100644
index 00000000..11b5992c
--- /dev/null
+++ b/apps/execute/ansible/runner.py
@@ -0,0 +1,181 @@
+# -*- coding:utf-8 -*-
+# !/usr/bin/env python
+# Time 17-11-7
+# Author Yo
+# Email YoLoveLife@outlook.com
+import time
+from collections import namedtuple
+
+import ansible.constants as C
+from ansible.executor.task_queue_manager import TaskQueueManager
+from ansible.parsing.dataloader import DataLoader
+from ansible.playbook.play import Play
+from ansible.utils.vars import load_extra_vars
+from ansible.utils.vars import load_options_vars
+from ansible.vars import VariableManager
+from apps.execute.ansible.inventory import YoInventory
+import os,glob
+from operation.models import Script
+FILENAME = r"/tmp/%s%s"
+
+class YoRunner(object):
+ Options = namedtuple("Options", [
+ 'connection', 'module_path', 'private_key_file', "remote_user",
+ 'timeout', 'forks', 'become', 'become_method', 'become_user',
+ 'check', 'extra_vars',
+ ]
+ )
+
+ def __init__(self,
+ hosts=C.DEFAULT_HOST_LIST,
+ forks=C.DEFAULT_FORKS, # 5
+ timeout=C.DEFAULT_TIMEOUT, # SSH timeout = 10s
+ remote_user=C.DEFAULT_REMOTE_USER, # root
+ module_path=None, # dirs of custome modules
+ connection_type="smart",
+ become=None,
+ become_method=None,
+ become_user=None,
+ check=False,
+ passwords=None,
+ extra_vars=None,
+ private_key_file=None,
+ gather_facts='no'):
+ self.pattern = ''
+ self.variable_manager = VariableManager()
+ self.loader = DataLoader()
+ self.gather_facts = gather_facts
+ self.options = self.Options(
+ connection=connection_type,
+ timeout=timeout,
+ module_path=module_path,
+ forks=forks,
+ become=become,
+ become_method=become_method,
+ become_user=become_user,
+ check=check,
+ remote_user=remote_user,
+ extra_vars=extra_vars or [],
+ private_key_file=private_key_file,
+ )
+ # self.variable_manager.extra_vars = load_extra_vars(self.loader,
+ # options=self.options)
+ self.variable_manager.extra_vars = extra_vars
+ self.variable_manager.options_vars = load_options_vars(self.options)
+ self.passwords = passwords or {}
+ self.inventory = YoInventory(hosts)
+ self.variable_manager.set_inventory(self.inventory)
+ self.tasks = []
+ self.play_source = None
+ self.play = None
+ self.runner = None
+ self.timestamp = str(time.time())
+ self.filename = FILENAME%(self.timestamp,'')
+ self.have_script = 0
+
+ def set_callback(self,callback):
+ self.results_callback=callback
+
+ @staticmethod
+ def check_module_args(module_name, module_args=''):
+ if module_name in C.MODULE_REQUIRE_ARGS and not module_args:
+ err = "No argument passed to '%s' module." % module_name
+ print(err)
+ return False
+ return True
+
+ def task_add(self,task_tuple):
+ for task in task_tuple:
+ if not self.check_module_args(task.module,task.args):
+ return
+ if task.module == u'script':
+ self.have_script = 1
+ script = Script.objects.filter(id=task.args)
+ if os.path.exists(self.filename):
+ os.remove(self.filename)
+ script_name = FILENAME % (self.timestamp, '-' + str(script.get().id))
+ output = open(script_name, 'w')
+ output.writelines(script.get().formatScript())
+ output.close()
+
+ self.tasks.append(
+ dict(action=dict(
+ module=task.module,
+ args=script_name,
+ ))
+ )
+
+ def run(self, task_tuple,):# pattern='all'):
+ """
+ :param task_tuple: (('shell', 'ls'), ('ping', ''))
+ :param pattern:
+ :param timestamp:
+ :return:
+ """
+ self.task_add(task_tuple)
+
+ self.play_source = dict(
+ name=self.timestamp,
+ hosts='all',
+ gather_facts=self.gather_facts,
+ tasks=self.tasks
+ )
+
+ self.play = Play().load(
+ self.play_source,
+ variable_manager=self.variable_manager,
+ loader=self.loader,
+ )
+
+ self.runner = TaskQueueManager(
+ inventory=self.inventory,
+ variable_manager=self.variable_manager,
+ loader=self.loader,
+ options=self.options,
+ passwords=self.passwords,
+ stdout_callback=self.results_callback,
+ )
+
+ # if not self.inventory.list_hosts("all"):
+ # raise AnsibleError("Inventory is empty.")
+ #
+ # if not self.inventory.list_hosts(self.pattern):
+ # raise AnsibleError(
+ # "pattern: %s dose not match any hosts." % self.pattern)
+
+ try:
+ self.runner.run(self.play)
+ finally:
+ if self.runner:
+ self.runner.cleanup()
+ if self.loader:
+ self.loader.cleanup_all_tmp_files()
+ if self.have_script:
+ self.cleanup_script()
+
+ def cleanup_script(self):
+ # if os.path.exists(self.filename):
+ # os.remove(self.filename)
+ # return self.filename
+ for name in glob.glob(self.filename+'*'):
+ if os.path.exists(name):
+ print(name)
+ os.remove(name)
+ # def clean_result(self):
+ # """
+ # :return: {
+ # "success": ['hostname',],
+ # "failed": [('hostname', 'msg'), {}],
+ # }
+ # """
+ # result = {'success': [], 'failed': []}
+ # for host in self.results_callback.result_q['contacted']:
+ # result['success'].append(host)
+ #
+ # for host, msgs in self.results_callback.result_q['dark'].items():
+ # msg = '\n'.join(['{} {}: {}'.format(
+ # msg.get('module_stdout', ''),
+ # msg.get('invocation', {}).get('module_name'),
+ # msg.get('msg', '')) for msg in msgs])
+ # result['failed'].append((host, msg))
+ # return result
\ No newline at end of file
diff --git a/apps/execute/api.py b/apps/execute/api.py
index fe9ef5c8..950f6be2 100644
--- a/apps/execute/api.py
+++ b/apps/execute/api.py
@@ -1,13 +1,15 @@
# -*- coding:utf-8 -*-
-import models,serializers
+from application.models import DB
+from execute.callback import ResultCallback
+# from execute.service.catch.db import DBAnsibleService
+from manager.models import Host
+from operation.models import PlayBook
from rest_framework import generics
from rest_framework.permissions import IsAuthenticated
-from execute.service.catch.basic import BasicAnsibleService
-from execute.service.catch.db import DBAnsibleService
-from operation.models import PlayBook
-from manager.models import Host
-from application.models import DBDetail,DB
-from service.catch.basic import BasicAnsibleService
+
+import serializers
+from execute.ansible.runner import YoRunner
+
class UpdateHostAPI(generics.ListAPIView):
serializer_class = serializers.UpdateHostSerializer
permission_classes = [IsAuthenticated]
@@ -16,10 +18,15 @@ def get_queryset(self):
return Host.objects.filter(id=self.kwargs['pk'])
def get(self, request, *args, **kwargs):
- host = Host.objects.get(id=self.kwargs['pk'])
- playbook = PlayBook.objects.get(id = 1)
- bas = BasicAnsibleService(hostlist=[host])
- bas.run(tasklist=playbook.tasks.all().order_by('-sort'))
+ # host = Host.objects.get(id=self.kwargs['pk'])
+ # playbook = PlayBook.objects.get(id = 1)
+ # bas = BasicAnsibleService(hostlist=[host])
+ # bas.run(tasklist=playbook.tasks.all().order_by('-sort'))
+ hosts = Host.objects.all()
+ runner = YoRunner(hosts=hosts,extra_vars={'ddr':'ls','zzc':'hostname'})
+ runner.set_callback(ResultCallback())
+ playbook = PlayBook.objects.all()[0]
+ ret = runner.run(playbook.tasks.all())
return super(UpdateHostAPI,self).get(request,*args,**kwargs)
class CatchDBStatusAPI(generics.ListAPIView):
diff --git a/apps/execute/service/__init__.py b/apps/execute/service/__init__.py
index ddd2fff0..1d2d9007 100644
--- a/apps/execute/service/__init__.py
+++ b/apps/execute/service/__init__.py
@@ -1,40 +1,36 @@
# -*- coding:utf-8 -*-
-from yosible.tasks.tasks import Task
-from yosible.run.ansiblerun import Ansible
-from yosible.run.playbook import Playbook
-from yosible.tasks.tasks import Tasks
-from operation.models import Script
-__metaclass__ = type
-class AnsibleService():
- def __init__(self,filename):
- self.ansible = Ansible(filename)
- self.playbook = Playbook(pbname='null',pbfacts='no')
- self.tasks = Tasks()
- self.push_tasks()
- self.push_playbook()
-
- def run(self,tasklist,maker):
- for task in tasklist :
- t = Task(module = task.module,args=task.args)
- #如果为脚本 则单独将脚本文件写出来
- if task.module == u'script':
- script = Script.objects.get(id=int(str(task.args)))
- t.args = maker.script_maker(script_id=str(script.id),script=script.formatScript())
- self.tasks.push_task(t)
- result = self.ansible.run_playbook()
- maker.inventory_clear()
-
- return result
-
- def push_makername(self):
- return self.maker.filename
-
- def push_tasks(self):
- self.playbook.push_tasks(self.tasks)
- return
-
- def push_playbook(self):
- self.ansible.set_playbook(self.playbook)
-
- def push_callback(self,callback):
- self.ansible.set_callback(callback)
\ No newline at end of file
+# from operation.models import Script
+# __metaclass__ = type
+# class AnsibleService():
+# def __init__(self,filename):
+# self.ansible = Ansible(filename)
+# self.playbook = Playbook(pbname='null',pbfacts='no')
+# self.tasks = Tasks()
+# self.push_tasks()
+# self.push_playbook()
+#
+# def run(self,tasklist,maker):
+# for task in tasklist :
+# t = Task(module = task.module,args=task.args)
+# #如果为脚本 则单独将脚本文件写出来
+# if task.module == u'script':
+# script = Script.objects.get(id=int(str(task.args)))
+# t.args = maker.script_maker(script_id=str(script.id),script=script.formatScript())
+# self.tasks.push_task(t)
+# result = self.ansible.run_playbook()
+# maker.inventory_clear()
+#
+# return result
+#
+# def push_makername(self):
+# return self.maker.filename
+#
+# def push_tasks(self):
+# self.playbook.push_tasks(self.tasks)
+# return
+#
+# def push_playbook(self):
+# self.ansible.set_playbook(self.playbook)
+#
+# def push_callback(self,callback):
+# self.ansible.set_callback(callback)
\ No newline at end of file
diff --git a/apps/execute/service/catch/db.py b/apps/execute/service/catch/db.py
index 5b67330f..dd838c47 100644
--- a/apps/execute/service/catch/db.py
+++ b/apps/execute/service/catch/db.py
@@ -3,30 +3,30 @@
# Time 17-10-9
# Author Yo
# Email YoLoveLife@outlook.com
-from execute.service import AnsibleService
+# from execute.service import AnsibleService
from execute.callback.catch.basic import BasicResultCallback
-from inventory.maker import Maker
+# from inventory.maker import Maker
__metaclass__ = type
-class DBAnsibleService(AnsibleService):
- def __init__(self,hostlist):
- self.maker = Maker()
- self.hostlist = hostlist
- self.maker.inventory_maker(hostlist)
- super(DBAnsibleService,self).__init__(self.maker.filename)
-
- def run(self,db,tasklist):
- callback = BasicResultCallback()
- self.push_callback(callback)
-
- super(DBAnsibleService,self).run(tasklist,self.maker)
-
- list = callback.ResultExtract()
- self.update(list,db)
-
- def update(self,list,db):
- detail = db.dbdetail.get()
- detail.com_insert = list[0].strip()
- detail.com_update = list[1].strip()
- detail.max_connections = list[2].strip()
- detail.thread_running = list[3].strip()
- detail.save()
+# class DBAnsibleService(AnsibleService):
+# def __init__(self,hostlist):
+# self.maker = Maker()
+# self.hostlist = hostlist
+# self.maker.inventory_maker(hostlist)
+# super(DBAnsibleService,self).__init__(self.maker.filename)
+#
+# def run(self,db,tasklist):
+# callback = BasicResultCallback()
+# self.push_callback(callback)
+#
+# super(DBAnsibleService,self).run(tasklist,self.maker)
+#
+# list = callback.ResultExtract()
+# self.update(list,db)
+#
+# def update(self,list,db):
+# detail = db.dbdetail.get()
+# detail.com_insert = list[0].strip()
+# detail.com_update = list[1].strip()
+# detail.max_connections = list[2].strip()
+# detail.thread_running = list[3].strip()
+# detail.save()
diff --git a/apps/execute/service/catch/new-api.py b/apps/execute/service/catch/new-api.py
new file mode 100644
index 00000000..a0ebcd63
--- /dev/null
+++ b/apps/execute/service/catch/new-api.py
@@ -0,0 +1,24 @@
+# -*- coding:utf-8 -*-
+# !/usr/bin/env python
+# Time 17-11-7
+# Author Yo
+# Email YoLoveLife@outlook.com
+
+from execute.callback import ResultCallback
+from manager.models import Host
+from operation.models import PlayBook
+
+from apps.execute.ansible.runner import AdHocRunner
+
+__metaclass__ = type
+
+def test_task():
+ hosts = Host.objects.all()
+ runner = AdHocRunner(hosts = hosts)
+ runner.set_callback(ResultCallback())
+ playbook = PlayBook.objects.all()[0]
+ ret = runner.run(playbook.tasks.all())
+
+if __name__ == '__main__':
+
+ test_task()
\ No newline at end of file
diff --git a/apps/manager/forms.py b/apps/manager/forms.py
index cf3fe761..351a4acd 100644
--- a/apps/manager/forms.py
+++ b/apps/manager/forms.py
@@ -51,4 +51,7 @@ class Meta:
}
labels = {
'disk_size':'存储大小','disk_path':'存储路径','info':'信息'
- }
\ No newline at end of file
+ }
+
+# class FileUploadForm(forms.BaseForm):
+# file =
\ No newline at end of file
diff --git a/apps/manager/templates/manager/upload.html b/apps/manager/templates/manager/upload.html
new file mode 100644
index 00000000..32ba9257
--- /dev/null
+++ b/apps/manager/templates/manager/upload.html
@@ -0,0 +1,15 @@
+
+
+ upload
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/manager/urls/views_urls.py b/apps/manager/urls/views_urls.py
index 8cc25a38..ac64e41a 100644
--- a/apps/manager/urls/views_urls.py
+++ b/apps/manager/urls/views_urls.py
@@ -14,6 +14,7 @@
url(r'^host/create/$',host.ManagerHostCreateView.as_view(),name='hostcreate'),
url(r'^host/(?P[0-9]+)/update/',host.ManagerHostUpdateView.as_view(),name='hostupdate'),
url(r'^host/(?P[0-9]+)/detail/',host.ManagerHostDetailView.as_view(),name='hostdetail'),
+ # url(r'^host/upload/',host.ManagerHostUploadView.as_view(),name='hostupload'),
#Resource group url
url(r'^group/$', group.ManagerGroupListView.as_view(), name='group'),
diff --git a/apps/manager/views/host.py b/apps/manager/views/host.py
index c00dd760..bc10c482 100644
--- a/apps/manager/views/host.py
+++ b/apps/manager/views/host.py
@@ -122,4 +122,17 @@ def get_context_data(self, **kwargs):
'storages':storages,
'softlibs':softlibs,
})
- return context
\ No newline at end of file
+ return context
+
+# class ManagerHostUploadView(LoginRequiredMixin,FormView):
+#
+# template_name = 'manager/upload.html'
+# form_class =
+# success_url = reverse_lazy('manager:host')
+#
+# def dispatch(self, request, *args, **kwargs):
+# return super(ManagerHostUploadView,self).dispatch(request,*args,**kwargs)
+#
+# def form_valid(self, form):
+# form.instance.creator = self.request.user
+# return super(ManagerHostUploadView, self).form_valid(form)
\ No newline at end of file
diff --git a/event/allevent.py b/event/allevent.py
index 30937a54..8cb7bf97 100644
--- a/event/allevent.py
+++ b/event/allevent.py
@@ -3,14 +3,14 @@
# Time 08 11:35
# Author Yo
# Email YoLoveLife@outlook.com
-from executor.base import basepb
-from executor.mysql import mysqlpb
-from executor.java import javapb
-from executor.nginx import nginxpb
-from executor.tomcat import tomcatpb
-from executor.redis import redispb
-from executor.base import shellpb
-from executor.dispatch import dispatchpb
+from _executor.base import basepb
+from _executor.mysql import mysqlpb
+from _executor.java import javapb
+from _executor.nginx import nginxpb
+from _executor.tomcat import tomcatpb
+from _executor.redis import redispb
+from _executor.base import shellpb
+from _executor.dispatch import dispatchpb
'''
info:基础配置 包含gcc make libio libselinux except
'''
diff --git a/executor/dispatch/dispatchpb.py b/executor/dispatch/dispatchpb.py
index 09271b17..a94af7f2 100644
--- a/executor/dispatch/dispatchpb.py
+++ b/executor/dispatch/dispatchpb.py
@@ -8,7 +8,7 @@
from modules.personbook import PersonBook
from modules.personblock import PersonBlock
import time,os
-from executor.dispatch import REDIS_CONF,MYSQL_CONF,NGINX_CONF,TOMCAT_CONF
+from _executor.dispatch import REDIS_CONF,MYSQL_CONF,NGINX_CONF,TOMCAT_CONF
FILENAME=r'/tmp/%s'
BACK_NAME='\'%s.*.[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]\@[0-9][0-9]:[0-9][0-9]:[0-9][0-9]\~\''
def dispatch_getcnf(cnffile):
diff --git a/inventory/maker.py b/inventory/maker.py
deleted file mode 100644
index 04b28e6b..00000000
--- a/inventory/maker.py
+++ /dev/null
@@ -1,48 +0,0 @@
-# -*- coding:utf-8 -*-
-# !/usr/bin/env python
-# Time 06 14:50
-# Author Yo
-# Email YoLoveLife@outlook.com
-import os
-import time
-from utils import aes
-FILENAME = r"/tmp/%s%s"
-SSHPORT = "ansible_ssh_port="
-SSHUSER = "ansible_ssh_user="
-SUDOPASS = "ansible_sudo_pass="
-class Maker():
- def __init__(self):
- self.timestamp = str(time.time())
- self.filename=FILENAME%(self.timestamp,'')
-
- def set_filename(self,filename):
- self.filename=FILENAME%(filename,'')
-
- def inventory_maker(self,hosts):
- if os.path.exists(self.filename):
- os.remove(self.filename)
- output=open(self.filename,'w')
- for host in hosts:
- str = host.service_ip + \
- " " + SSHPORT + host.sshport + \
- " " + SSHUSER + host.normal_user + \
- " " + SUDOPASS + aes.decrypt(host.sshpasswd) + '\n'
- output.writelines(str)
- output.close()
- return self.filename
-
- def inventory_clear(self):
- if os.path.exists(self.filename):
- os.remove(self.filename)
- return self.filename
-
- def script_maker(self,script_id,script):
- if os.path.exists(self.filename):
- os.remove(self.filename)
- script_name = FILENAME%(self.timestamp,'-'+script_id)
- output = open(script_name,'w')
- output.writelines(script)
- output.close()
- return script_name
-
-
diff --git a/jstack/__init__.py b/jstack/__init__.py
deleted file mode 100644
index 9da428c1..00000000
--- a/jstack/__init__.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# -*- coding:utf-8 -*-
-# !/usr/bin/env python
-# Time 26 15:08
-# Author Yo
-# Email YoLoveLife@outlook.com
-class JstackThread():
- thread_name=""
- prio=0 #线程优先度
- osprio=0 #系统线程优先度
- tid=0 #系统线程对应
- nid=0 #系统线程对应
- stack_top="" #栈顶方法
- thread_status="NULL"
- position=""
-
diff --git a/manage.py b/manage.py
deleted file mode 100644
index 7dd52a44..00000000
--- a/manage.py
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/usr/bin/env python
-import os
-import sys
-
-if __name__ == "__main__":
- os.environ.setdefault("DJANGO_SETTINGS_MODULE", "devEops.settings")
- try:
- from django.core.management import execute_from_command_line
- except ImportError:
- # The above import may fail for some other reason. Ensure that the
- # issue is really that Django is missing to avoid masking other
- # exceptions on Python 2.
- try:
- import django
- except ImportError:
- raise ImportError(
- "Couldn't import Django. Are you sure it's installed and "
- "available on your PYTHONPATH environment variable? Did you "
- "forget to activate a virtual environment?"
- )
- raise
- execute_from_command_line(sys.argv)
diff --git a/modules/__init__.py b/modules/__init__.py
deleted file mode 100644
index eaa150b2..00000000
--- a/modules/__init__.py
+++ /dev/null
@@ -1,5 +0,0 @@
-# -*- coding:utf-8 -*-
-# !/usr/bin/env python
-# Author Yo
-# Email YoLoveLife@outlook.com
-
diff --git a/modules/personblock.py b/modules/personblock.py
deleted file mode 100644
index 476dfa3d..00000000
--- a/modules/personblock.py
+++ /dev/null
@@ -1,52 +0,0 @@
-# -*- coding:utf-8 -*-
-# !/usr/bin/env python
-# Author Yo
-# Email YoLoveLife@outlook.com
-from collections import namedtuple
-
-from ansible.executor.task_queue_manager import TaskQueueManager
-from ansible.inventory import Inventory
-from ansible.parsing.dataloader import DataLoader
-from ansible.playbook.play import Play
-from ansible.vars import VariableManager
-from callback import ResultCallback
-
-HOST_LIST='/tmp/ansible.host'
-class PersonBlock():
- def __init__(self):
- Options = namedtuple('Options',
- ['connection', 'module_path', 'forks', 'become', 'become_method', 'become_user', 'check'])
- self.options = Options(connection='smart', module_path='', forks=100, become=None, become_method='sudo',
- become_user=None, check=False)
-
- self.variable_manager = VariableManager()
- self.loader = DataLoader()
- self.passwords = dict(vault_pass='')
- self.results_callback = ResultCallback()
- self.inventory = Inventory(loader=self.loader, variable_manager=self.variable_manager, host_list=HOST_LIST)
- self.variable_manager.set_inventory(self.inventory)
- self.tqm=TaskQueueManager(inventory=self.inventory,
- variable_manager=self.variable_manager,
- loader=self.loader,
- options=self.options,
- passwords=self.passwords,
- stdout_callback=self.results_callback,)
- #self.play = Play().load(self.play_source, variable_manager=self.variable_manager, loader=self.loader)
-
- def add_extendvars(self,newext):
- #print(newext)
- #ext=self.variable_manager.extra_vars.copy()
- #self.variable_manager.extra_vars=ext.update(newext)
- self.variable_manager.extra_vars=newext
-
-
- def set_playbook(self,pb):
- self.playbook=pb
-
- def run_block(self):
- try:
- result =self.tqm.run(Play().load(self.playbook.push_playbook(),variable_manager=self.variable_manager,loader=self.loader))
- finally:
- if self.tqm is not None:
- self.tqm.cleanup()
-
diff --git a/modules/personbook.py b/modules/personbook.py
deleted file mode 100644
index 2648805c..00000000
--- a/modules/personbook.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# -*- coding:utf-8 -*-
-# !/usr/bin/env python
-# Author Yo
-# Email YoLoveLife@outlook.com
-from modules.persontask import PersonTask
-class PersonBook():
- def __init__(self,pbname,pbfacts,):
- self.name=pbname
- self.hosts='all'
- self.gather_facts=pbfacts
- self.tasks=[]
-
- def push_playbook(self):
- return dict(name=self.name,hosts=self.hosts,gather_facts=self.gather_facts,tasks=self.tasks)
-
- def add_task(self,task=PersonTask()):
- self.tasks.append(task.push_task())
diff --git a/modules/persontask.py b/modules/persontask.py
deleted file mode 100644
index b2c2a193..00000000
--- a/modules/persontask.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# -*- coding:utf-8 -*-
-# !/usr/bin/env python
-# Author Yo
-# Email YoLoveLife@outlook.com
-
-class PersonTask():
- def __init__(self,module="shell",args="",register='shell_out'):
- self.module=module
- self.args=args
- self.register=register
-
- def push_task(self):
- return dict(action=dict(module=self.module,args=self.args),register=self.register)
diff --git a/playbook/base_pk_install.yml b/playbook/base_pk_install.yml
deleted file mode 100644
index 65128565..00000000
--- a/playbook/base_pk_install.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-- name: install base soft
- hosts: nginx-server
- user: root
- gather_facts: false
- vars:
- - yum_repo: "/etc/yum.repos.d"
- md5sum: "ccd96d70ecfe3b1655c98d8dabd8dcb5"
- url: "http://192.168.83.128/repos/Zbjt.repo"
- tasks:
- - name: repo bk
- shell: "tar -cvzf {{yum_repo}}/bk.tar.gz {{yum_repo}}/* --remove-files"
- - name: repo get
- get_url: "checksum=md5:{{md5sum}} url={{url}} dest={{yum_repo}}/"
- - name: repo cache
- shell: "yum clean all;yum makecache;"
- - name: libaio
- yum: "name=libaio state=present"
- - name: libselinux-python
- yum: "name=libselinux-python state=present"
- - name: expect
- yum: "name=expect state=present"
diff --git a/playbook/mysql_pb_conf.yml b/playbook/mysql_pb_conf.yml
deleted file mode 100644
index 196bee06..00000000
--- a/playbook/mysql_pb_conf.yml
+++ /dev/null
@@ -1,17 +0,0 @@
-- name: conf mysql
- hosts: mysql-server
- user: root
- gather_facts: false
- vars:
- - prefix: "/usr/local"
- basedir: "{{prefix}}/mysql"
- datadir: "/usr/local/mysql/data"
- port: "3306"
- thread_cache_size: "64"
- server_id: "1"
- extend: ""
- tasks:
- - name: config
- template: "dest=/etc/my.cnf src=../template/my.j2 owner=mysql group=mysql mode=644"
- - name: mysql restart
- service: "name=mysqld state=restarted"
diff --git a/playbook/mysql_pb_install.yml b/playbook/mysql_pb_install.yml
deleted file mode 100644
index 27ba88e9..00000000
--- a/playbook/mysql_pb_install.yml
+++ /dev/null
@@ -1,32 +0,0 @@
-- name: install mysql
- hosts: mysql-server
- user: root
- gather_facts: true
- vars:
- - version: "10.1.12"
- prefix: "/usr/local"
- basedir: "{{prefix}}/mysql"
- datadir: "{{basedir}}/data"
- user: "mysql"
- file: "mariadb-{{version}}-linux-{{ansible_architecture}}.tar.gz"
- fro: "http://192.168.83.128/package/mysql/{{file}}"
- checksum: "30a86202c8fe30ad3548988a7ddbf5a3"
- port: "3306"
- thread_cache_size: "8"
- server_id: "1"
- extend: ""
- tasks:
- - name: base-env
- yum: "name=gcc state=present"
- - name: get_soft
- get_url: "url={{fro}} checksum='md5:{{checksum}}' dest=~"
- - name: install_soft
- script: "../script/mysql_install.sh -v {{version}} -f {{prefix}} -u {{user}} -d {{datadir}} >> ~/a.txt"
- - name: clean_all
- file: "dest=~/{{file}} state=absent"
- - name: config
- template: "dest=/etc/my.cnf src=../template/my.j2 owner=mysql group=mysql mode=644"
- - name: start mysql
- shell: "/usr/local/mysql/support-files/mysql.server start"
- - name: secure_install
- script: "../script/mysql_answer.exp"
diff --git a/playbook/mysql_pb_remove.yml b/playbook/mysql_pb_remove.yml
deleted file mode 100644
index 26e764e6..00000000
--- a/playbook/mysql_pb_remove.yml
+++ /dev/null
@@ -1,10 +0,0 @@
-- name: remove mysql
- hosts: mysql-server
- user: root
- gather_facts: false
- vars:
- - prefix: "/usr/local"
- user: "mysql"
- tasks:
- - name: remove_server
- script: "../script/mysql_remove.sh -u {{user}} -f {{prefix}} -c /etc/my.cnf"
diff --git a/playbook/redis_pb_conf.yml b/playbook/redis_pb_conf.yml
deleted file mode 100644
index 80b5fe7c..00000000
--- a/playbook/redis_pb_conf.yml
+++ /dev/null
@@ -1,23 +0,0 @@
-- name: conf redis
- hosts: redis-server
- user: root
- gather_facts: false
- vars:
- - prefix: "/usr/local"
- basedir: "{{prefix}}/redis"
- bind: "0.0.0.0"
- port: "8081"
- appendonly: "yes"
- noonrewrite: "no"
- logfile: "{{basedir}}/log/redis.log"
- saveoptions: "save 900 300\nsave 30 10\nsave 2000 1"
- dbfilename: "{{port}}.rdb"
- dir: "{{basedir}}/data"
- slaveof: "slaveof mip mport"
- masterauth: "masterauth Redis"
- cluster_enabled: "cluster-enabled yes"
- cluster_config_file: "cluster-config-file nodes-{{port}}.conf"
- extend: "1"
- tasks:
- - name: config
- template: "dest={{basedir}}/redis.conf src=../template/redis.j2 owner=redis group=redis mode=644"
diff --git a/playbook/redis_pb_install.yml b/playbook/redis_pb_install.yml
deleted file mode 100644
index 8fd603b6..00000000
--- a/playbook/redis_pb_install.yml
+++ /dev/null
@@ -1,19 +0,0 @@
-- name: install redis
- hosts: redis-server
- user: root
- gather_facts: true
- vars:
- - version: "3.2.4"
- prefix: "/usr/local"
- basedir: "{{prefix}}/redis"
- user: "redis"
- file: "redis-{{version}}.tar.gz"
- fro: "http://192.168.254.128/package/redis/{{file}}"
- checksum: "2f8b49e8004fbbfc807ca7f5faeabec8"
- tasks:
- - name: get_soft
- get_url: "url={{fro}} checksum='md5:{{checksum}}' dest=~"
- - name: install_soft
- script: "../script/redis_install -v {{version}} -f {{prefix}} -u {{user}}"
- - name: clean_all
- file: "dest=~/{{file}} state=absent"
diff --git a/playbook/redis_pb_remove.yml b/playbook/redis_pb_remove.yml
deleted file mode 100644
index ea9bc69b..00000000
--- a/playbook/redis_pb_remove.yml
+++ /dev/null
@@ -1,10 +0,0 @@
-- name: remove redis
- hosts: redis-server
- user: root
- gather_facts: false
- vars:
- - prefix: "/usr/local"
- user: "redis"
- tasks:
- - name: remove_server
- script: "../script/redis_remove.sh -u {{user}} -f {{prefix}}"
diff --git a/scripts/README.md b/scripts/README.md
deleted file mode 100644
index 73a6a0ba..00000000
--- a/scripts/README.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# devEops Scripts
-## Introduce
- 包含了所有的应用的脚本。具有版本的适用性,通过参数应用脚本信息。
-## Use
- 作为python包,__init__.py中定义了参数SCRIPTS_DIR。将该参数应用到playbook的参数当中去来绝对路径引用脚本
diff --git a/scripts/java/java_install.sh b/scripts/java/java_install.sh
deleted file mode 100644
index 959f18b0..00000000
--- a/scripts/java/java_install.sh
+++ /dev/null
@@ -1,83 +0,0 @@
-#!/bin/bash
-#Time 2017-1-9 20:42
-#Author Yo
-PATH=/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin
-VERSION="7u79"
-PREFIX=/usr/local
-SYSTEM=`uname -a |awk '{print $13}'`
-function Confirm()
-{
-cat <<_ACEOF
- Version: ${VERSION}
- Prefix: ${PREFIX}
-_ACEOF
-}
-function IsAlready()
-{
- if [ -d "/usr/local/java" ];then
- echo "003001002"
- exit 2
- fi
-}
-function Help()
-{
-cat <<_ACEOF
-configure java_install bash script.
-Usage $0 [OPTION]... [VAR=VALUE]...
- --help display this help and exit
- -v,--version modify the version of java.Default 7u79
- -f,--prefix modify the prefix.Default /usr/local
- -y answer question with yes
-_ACEOF
-}
-function Avrg()
-{
- ARGS=`getopt -o yv:f: --long version:,prefix: -n 'java_install' -- "$@"`
- if [ ! $? -eq 0 ];then
- echo "参数错误"
- exit 2
- fi
- eval set -- "${ARGS}"
-
- while true
- do
- case "$1" in
- -v|--version)
- VERSION=$2
- shift 2
- ;;
- -f|--prefix)
- PREFIX=$2
- shift 2
- ;;
- -y)
- YESFLAG="1"
- shift
- ;;
- --)
- shift
- break
- ;;
- *)
- echo "参数错误"
- exit 2
- ;;
- esac
- done
-}
-IsAlready
-
-Avrg $@
-BVERSION=`echo ${VERSION}|cut -d"u" -f1`
-MVERSION=`echo ${VERSION}|cut -d"u" -f2`
-FILENAME=jdk-${VERSION}-linux-x64
-
-tar -xvzf ${FILENAME}.tar.gz -C ${PREFIX} &>/dev/null
-BASEDIR=${PREFIX}/java
-
-mv ${PREFIX}/jdk1.${BVERSION}.0_${MVERSION}/ ${BASEDIR}
-#Confirm > ${BASEDIR}/INSTALL.info
-
-find ${BASEDIR}/bin -perm -u=x -type f -exec ln -s {} /usr/bin \;
-#find ${BASEDIR}/bin -perm -u=x -type f -exec cp {} /usr/bin \;
-echo "003000000"
\ No newline at end of file
diff --git a/scripts/java/java_remove.sh b/scripts/java/java_remove.sh
deleted file mode 100644
index a0c5acd5..00000000
--- a/scripts/java/java_remove.sh
+++ /dev/null
@@ -1,57 +0,0 @@
-#!/bin/bash
-#Time 2017-2-6 17:24
-#Author Yo
-PATH=/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin
-PREFIX=/usr/local
-function Confirm()
-{
-cat <<_ACEOF
- Prefix: ${PREFIX}
-_ACEOF
-}
-function Help()
-{
-cat <<_ACEOF
-configure java_install bash script.
-Usage $0 [OPTION]... [VAR=VALUE]...
- --help display this help and exit
- -f,--prefix modify the prefix.Default /usr/local
- -y answer question with yes
-_ACEOF
-}
-function Avrg()
-{
- ARGS=`getopt -o yf: --long prefix: -n 'java_remove' -- "$@"`
- if [ ! $? -eq 0 ];then
- echo "参数错误"
- exit 2
- fi
- eval set -- "${ARGS}"
-
- while true
- do
- case "$1" in
- -f|--prefix)
- PREFIX=$2
- shift 2
- ;;
- -y)
- YESFLAG="1"
- shift
- ;;
- --)
- shift
- break
- ;;
- *)
- echo "参数错误"
- exit 2
- ;;
- esac
- done
-}
-Avrg $@
-
-rm -rf ${PREFIX}/java
-
-echo "003000000"
diff --git a/scripts/mysql/mysql_answer.exp b/scripts/mysql/mysql_answer.exp
deleted file mode 100644
index 4203248e..00000000
--- a/scripts/mysql/mysql_answer.exp
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/usr/bin/expect -f
-#Time 2017-1-19 8:59
-#Author Yo
-set MYSQL_BIN /usr/local/mysql/bin
-set MYSQL_PASSWD [lindex $argv 0]
-set timeout 30
-spawn ${MYSQL_BIN}/mysql_secure_installation
-expect "current password for root*"
-send "\r"
-expect "Set root password*"
-send "Y\r"
-expect "New password*"
-send "${MYSQL_PASSWD}\r"
-expect "Re-enter new password*"
-send "${MYSQL_PASSWD}\r"
-expect "Remove anonymous users*"
-send "Y\r"
-expect "Disallow root login remotely*"
-send "Y\r"
-expect "Remove test database*"
-send "Y\r"
-expect "Reload privilege tables*"
-send "Y\r"
diff --git a/scripts/mysql/mysql_control.sh b/scripts/mysql/mysql_control.sh
deleted file mode 100644
index 378a16a3..00000000
--- a/scripts/mysql/mysql_control.sh
+++ /dev/null
@@ -1,46 +0,0 @@
-#!/bin/bash
-#Time 2017-02-06 09:23
-#Author Yo
-#Control redis
-COMMDDIR=/etc/init.d
-function Help()
-{
-cat <<_ACEOF
-control mysql bash script.
-Usage $0 [OPTION]... [VAR=VALUE]...
- help display this help and exit
- start start mysql with /etc/my.cnf
- stop stop mysql
- restart restart mysql
-_ACEOF
-}
-function Start()
-{
- ${COMMDDIR}/mysqld start
-}
-
-function Stop()
-{
- ${COMMDDIR}/mysqld stop
-}
-
-function Restart()
-{
- Stop
- Start
-}
-
-case "$1" in
- "start")
- Start
- ;;
- "stop")
- Stop
- ;;
- "restart")
- Restart
- ;;
- *)
- Help
- ;;
-esac
diff --git a/scripts/mysql/mysql_install.sh b/scripts/mysql/mysql_install.sh
deleted file mode 100644
index dab7c753..00000000
--- a/scripts/mysql/mysql_install.sh
+++ /dev/null
@@ -1,109 +0,0 @@
-#!/bin/bash
-#Time 2017-1-9 20:42
-#Author Yo
-PATH=/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin
-VERSION="10.1.12"
-PREFIX=/usr/local
-SYSTEM=`uname -a |awk '{print $13}'`
-USER=mysql
-BASEDIR=${PREFIX}/mysql
-DATADIR=${BASEDIR}/data/
-SHELL=/sbin/nologin
-function Confirm()
-{
-cat <<_ACEOF
- Version: ${VERSION}
- Prefix: ${PREFIX}
- User: ${USER}
- Datadir: ${DATADIR}
-_ACEOF
-}
-function IsAlready()
-{
- if [ -d "/usr/local/mysql" ];then
- echo "已安装"
- exit 2
- fi
-}
-function Help()
-{
-cat <<_ACEOF
-configure nginx_install bash script.
-Usage $0 [OPTION]... [VAR=VALUE]...
- --help display this help and exit
- -v,--version modify the version of mysql.Default 10.1.12
- -f,--prefix modify the prefix.Default /usr/local
- -u,--user modify the user of mysql.Default mysql
- -d,--datadir modify the datadir of mysql.Default /usr/local/mysql/data
- -y answer question with yes
-_ACEOF
-}
-function Avrg()
-{
- ARGS=`getopt -o yv:f:u:d: --long version:,prefix:,user:,datadir: -n 'mysql_install' -- "$@"`
- if [ ! $? -eq 0 ];then
- echo "参数错误"
- exit 2
- fi
- eval set -- "${ARGS}"
-
- while true
- do
- case "$1" in
- -v|--version)
- VERSION=$2
- shift 2
- ;;
- -f|--prefix)
- PREFIX=$2
- shift 2
- ;;
- -u|--user)
- USER=$2
- shift 2
- ;;
- -d|--datadir)
- DATADIR=$2
- shift 2
- ;;
- -y)
- YESFLAG="1"
- shift
- ;;
- --)
- shift
- break
- ;;
- *)
- echo "参数错误"
- exit 2
- ;;
- esac
- done
-}
-IsAlready
-
-Avrg $@
-FILENAME=mariadb-${VERSION}-linux-${SYSTEM}
-
-tar -xvzf ${FILENAME}.tar.gz -C ${PREFIX} &>/dev/null
-
-mv ${PREFIX}/${FILENAME}/ ${BASEDIR}
-if [ `cat /etc/passwd |grep mysql|wc -l` == "0" ];then
- groupadd ${USER}
- useradd -s ${SHELL} -g ${USER} ${USER}
-fi
-
-#Confirm > ${BASEDIR}/INSTALL.info
-
-mkdir -p ${DATADIR}
-chown -R ${USER}:${USER} ${DATADIR}
-chown -R ${USER}:${USER} ${BASEDIR}
-
-${BASEDIR}/scripts/mysql_install_db --basedir=${BASEDIR} --datadir=${DATADIR} --user=${USER} &>/dev/null
-
-cp ${BASEDIR}/support-files/mysql.server /etc/init.d/mysqld
-cp ${BASEDIR}/bin/mysql /usr/bin/mysql
-cp ${BASEDIR}/support-files/my-large.cnf /etc/my.cnf
-/sbin/chkconfig --add mysqld
-echo "002000000"
diff --git a/scripts/mysql/mysql_remove.sh b/scripts/mysql/mysql_remove.sh
deleted file mode 100644
index ba4be132..00000000
--- a/scripts/mysql/mysql_remove.sh
+++ /dev/null
@@ -1,75 +0,0 @@
-#!/bin/bash
-#Time 2017-1-13 15:36
-#Author Yo
-PATH=/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin
-PREFIX=/usr/local
-BASEDIR=${PREFIX}/mysql
-DATADIR="${BASEDIR}/data/"
-USER="mysql"
-CONF=/etc/my.cnf
-function Help()
-{
-cat <<_ACEOF
-configure mysql_remove bash script.
-Usage $0 [OPTION]... [VAR=VALUE]...
- --help display this help and exit
- -f,--prefix modify the prefix.Default /usr/local
- -d,--datadir modify the datadir of mysql-server.Default /usr/local/mysql/data/
- -u,--user modify the user of mysql.Default mysql
- -c,--conf modify the conf of mysql.Default /etc/my.cnf
-_ACEOF
-}
-function Avrg()
-{
- ARGS=`getopt -o f:d:u:c: --long prefix:,datadir:,user:,conf: -n 'mysql_remove' -- "$@"`
- if [ ! $? -eq 0 ];then
- echo "参数错误"
- exit 2
- fi
- eval set -- "${ARGS}"
-
- while true
- do
- case "$1" in
- -f|--prefix)
- PREFIX=$2
- shift 2
- ;;
- -d|--datadir)
- DATADIR=$2
- shift 2
- ;;
- -u|--user)
- USER=$2
- shift 2
- ;;
- -c|--conf)
- CONF=$2
- shift 2
- ;;
- --)
- shift
- break
- ;;
- *)
- #Help
- echo "参数错误"
- exit 2
- esac
- done
-}
-
-Avrg $@
-BASEDIR=${PREFIX}/mysql
-
-rm -rf ${DATADIR} ${BASEDIR} ${CONF}
-
-if [ "`cat /etc/passwd|grep ${USER}|wc -l`" == "1" ];then
- userdel -r ${USER}
-fi
-
-/sbin/chkconfig --del mysqld
-rm -rf /etc/init.d/mysqld
-if [ "$?" == "0" ];then
- echo "002000000"
-fi
diff --git a/scripts/mysql/mysql_test.sh b/scripts/mysql/mysql_test.sh
deleted file mode 100644
index 1b7c85e6..00000000
--- a/scripts/mysql/mysql_test.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/bash
-# Author Yo
-# Email YoLoveLife@outlook.com
-# Time 2017-04-05 16:19
-ONLINE=`ps aux |grep mysql |wc -l`
-if [ "${ONLINE}" == "3" ];then
- echo "1"
-else
- echo "0"
-fi
\ No newline at end of file
diff --git a/scripts/nginx/nginx_control.sh b/scripts/nginx/nginx_control.sh
deleted file mode 100644
index 75f73d48..00000000
--- a/scripts/nginx/nginx_control.sh
+++ /dev/null
@@ -1,65 +0,0 @@
-#!/bin/bash
-# Author Yo
-# Email YoLoveLife@outlook.com
-# Time 2017-03-07 09:25
-source /etc/profile
-COMMDDIR=/usr/local/nginx/sbin
-function Help()
-{
-cat <<_ACEOF
-control nginx bash script.
-Usage $0 [OPTION]... [VAR=VALUE]...
- help display this help and exit
- start start nginx
- stop stop nginx
- reload reload nginx conf
- test test nginx conf.Default nginx conf/nginx.conf
-_ACEOF
-}
-function Start()
-{
- if [ -f $2 ];then
- echo nginx_online
- exit 2
- fi
- ${COMMDDIR}/nginx
-}
-function Stop()
-{
- if [ ! -f $2 ];then
- echo nginx_ofline
- exit 2
- fi
- ${COMMDDIR}/nginx -s stop
-}
-function Test()
-{
- ${COMMDDIR}/nginx -t
-}
-function Reload()
-{
- if [ -f $2 ];then
- ${COMMDDIR}/nginx -s reload
- else
- echo nginx_ofline
- exit 2
- fi
-
-}
-case "$1" in
- "start")
- Start $@
- ;;
- "stop")
- Stop $@
- ;;
- "test")
- Test
- ;;
- "reload")
- Reload $@
- ;;
- *)
- Help
- ;;
-esac
diff --git a/scripts/nginx/nginx_install.sh b/scripts/nginx/nginx_install.sh
deleted file mode 100644
index 79464eee..00000000
--- a/scripts/nginx/nginx_install.sh
+++ /dev/null
@@ -1,93 +0,0 @@
-#!/bin/bash
-# Author Yo
-# Email YoLoveLife@outlook.com
-# Time 2017-02-07 11:27
-PATH=/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin
-VERSION="1.10.1"
-PREFIX="/usr/local"
-BASEDIR=${PREFIX}/nginx
-YESFLAG="0"
-USER="www"
-function Confirm()
-{
-cat <<_ACEOF
- Version: ${VERSION}
- Prefix: ${PREFIX}
-_ACEOF
-}
-function IsAlready()
-{
- if [ -d "/usr/local/nginx" ];then
- echo "001001002"
- exit 2
- fi
-}
-function Help()
-{
-cat <<_ACEOF
-configure nginx_install bash script.
-Usage $0 [OPTION]... [VAR=VALUE]...
- --help display this help and exit
- -v,--version modify the version of nginx.Default 1.10.1
- -f,--prefix modify the prefix.Default /usr/local
-_ACEOF
-}
-function Avrg()
-{
- ARGS=`getopt -o v:f: --long version:,prefix: -n 'nginx_install.sh' -- "$@"`
- if [ ! $? -eq 0 ];then
- echo "001002002"
- exit 2
- fi
- eval set -- "${ARGS}"
-
- while true
- do
- case "$1" in
- -v|--version)
- VERSION=$2
- shift 2
- ;;
- -f|--prefix)
- PREFIX=$2
- shift 2
- ;;
- --)
- shift
- break
- ;;
- *)
- #Help
- echo "参数错误"
- exit 2
- esac
- done
-}
-IsAlready
-if [ "$1" == '--help' ];then
- Help
- exit 2
-fi
-Avrg $@
-
-if [ `cat /etc/passwd |grep ${USER}|wc -l` == "0" ];then
- groupadd ${USER}
- useradd -s ${SHELL} -g ${USER} ${USER}
-fi
-
-FILENAME=nginx-${VERSION}
-
-tar -xvzf ${FILENAME}.tar.gz &>/dev/null
-cd ./${FILENAME}
-
-mkdir -p ${PREFIX}/nginx
-
-./configure --prefix=${PREFIX}/nginx --user=${USER} --group=${USER}&>/dev/null
-make &>/dev/null
-make install &> /dev/null
-
-chown ${USER}:${USER} ${PREFIX}/nginx
-
-#Confirm > ${PREFIX}/nginx/INSTALL.info
-
-echo "001000000"
diff --git a/scripts/nginx/nginx_remove.sh b/scripts/nginx/nginx_remove.sh
deleted file mode 100644
index b1084297..00000000
--- a/scripts/nginx/nginx_remove.sh
+++ /dev/null
@@ -1,56 +0,0 @@
-#!/bin/bash
-#Time 2017-1-13 15:36
-#Author Yo
-PATH=/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin
-PREFIX=/usr/local
-BASEDIR=${PREFIX}/nginx
-USER="www"
-function Help()
-{
-cat <<_ACEOF
-configure nginx_remove bash script.
-Usage $0 [OPTION]... [VAR=VALUE]...
- --help display this help and exit
- -f,--prefix modify the prefix.Default /usr/local
-_ACEOF
-}
-function Avrg()
-{
- ARGS=`getopt -o f: --long prefix: -n 'nginx_remove.sh' -- "$@"`
- if [ ! $? -eq 0 ];then
- echo "001002002"
- exit 2
- fi
- eval set -- "${ARGS}"
-
- while true
- do
- case "$1" in
- -f|--prefix)
- PREFIX=$2
- shift 2
- ;;
- --)
- shift
- break
- ;;
- *)
- #Help
- echo "001002002"
- exit 2
- esac
- done
-}
-if [ "$1" == "--help" ];then
- Help
- exit 2
-fi
-Avrg $@
-DIRNAME=${PREFIX}/nginx
-rm -rf ${DIRNAME}
-if [ "`cat /etc/passwd|grep ${USER}|wc -l`" == "1" ];then
- userdel -r ${USER}
-fi
-if [ "$?" == "0" ];then
- echo "001000000"
-fi
diff --git a/scripts/redis/redis_control.sh b/scripts/redis/redis_control.sh
deleted file mode 100644
index bf4c78a6..00000000
--- a/scripts/redis/redis_control.sh
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/bin/bash
-#Time 2017-02-06 09:23
-#Author Yo
-#Control redis
-CONF=/etc/redis.conf
-COMMDDIR=/usr/local/redis/bin
-function Help()
-{
-cat <<_ACEOF
-control redis bash script.
-Usage $0 [OPTION]... [VAR=VALUE]...
- help display this help and exit
- start start redis with /etc/redis.conf
- stop stop redis
-_ACEOF
-}
-function Start()
-{
- ${COMMDDIR}/redis-server ${CONF}
-}
-function Stop()
-{
- ${COMMDDIR}/redis-cli -h 127.0.0.1 -p 6379 -a $1 shutdown
-}
-case "$1" in
- "start")
- Start
- ;;
- "stop")
- shift
- Stop $1
- ;;
- *)
- Help
- ;;
-esac
diff --git a/scripts/redis/redis_install.sh b/scripts/redis/redis_install.sh
deleted file mode 100644
index d78737f8..00000000
--- a/scripts/redis/redis_install.sh
+++ /dev/null
@@ -1,86 +0,0 @@
-#!/bin/bash
-#Install Redis
-#Author Yo
-PATH=/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin
-VERSION="3.2.4"
-PREFIX="/usr/local"
-SYSTEM=`uname -a |awk '{print $13}'`
-USER="redis"
-SHELL="/sbin/nologin"
-YESFLAG="0"
-function Confirm()
-{
-cat <<_ACEOF
- Version: ${VERSION}
- Prefix: ${PREFIX}
- User: ${USER}
-_ACEOF
-}
-function IsAlready()
-{
- if [ -d "/usr/local/redis" ];then
- echo "已安装"
- exit 2
- fi
-}
-function Help()
-{
-cat <<_ACEOF
-configure redis_install bash script.
-Usage $0 [OPTION]... [VAR=VALUE]...
- --help display this help and exit
- -v,--version modify the version of redis.Default 3.2.4
- -f,--prefix modify the prefix.Default /usr/local
- -u,--user modify the user of redis.Default redis
-_ACEOF
-}
-function Avrg()
-{
- ARGS=`getopt -o v:u:f:u: --long version:,prefix:,user: -n 'redis_install.sh' -- "$@"`
- if [ ! $? -eq 0 ];then
- echo "参数错误"
- exit 2
- fi
- eval set -- "${ARGS}"
-
- while true
- do
- case "$1" in
- -v|--version)
- VERSION=$2
- shift 2
- ;;
- -f|--prefix)
- PREFIX=$2
- shift 2
- ;;
- -u|--user)
- USER=$2
- shift 2
- ;;
- --)
- shift
- break
- ;;
- *)
- #Help
- echo "参数错误"
- exit 2
- esac
- done
-}
-IsAlready
-
-Avrg $@
-
-tar -xvzf redis-${VERSION}.tar.gz -C ${PREFIX} &>/dev/null
-mv ${PREFIX}/redis-${VERSION} ${PREFIX}/redis
-BASEDIR=${PREFIX}/redis
-
-#Confirm > ${PREFIX}/redis/INSTALL.info
-
-make --directory=${BASEDIR} &>/dev/null
-
-mkdir ${BASEDIR}/bin
-find ${BASEDIR}/src -perm -u=x -type f -exec ln -s {} ${BASEDIR}/bin \;
-echo "001000000"
diff --git a/scripts/redis/redis_remove.sh b/scripts/redis/redis_remove.sh
deleted file mode 100644
index ac1175f7..00000000
--- a/scripts/redis/redis_remove.sh
+++ /dev/null
@@ -1,68 +0,0 @@
-#!/bin/bash
-#Time 2017-1-13 15:36
-#Author Yo
-PATH=/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin
-PREFIX=/usr/local
-BASEDIR=${PREFIX}/redis
-LOGFILE="${BASEDIR}/redis.log"
-CONFFILE=/etc/redis.conf
-DATADIR="${BASEDIR}/data/"
-USER="redis"
-function Help()
-{
-cat <<_ACEOF
-configure redis_remove bash script.
-Usage $0 [OPTION]... [VAR=VALUE]...
- --help display this help and exit
- -f,--prefix modify the prefix.Default /usr/local
- -l,--logfile modify the logfile of redis-server.Default /usr/local/redis/redis.log
- -d,--datadir modify the datadir of redis-server.Default /usr/local/redis/data/
- -u,--user modify the user of redis.Default redis
-_ACEOF
-}
-function Avrg()
-{
- ARGS=`getopt -o f:d:l:u: --long prefix:,datadir:,logfile:,user: -n 'redis_remove.sh' -- "$@"`
- if [ ! $? -eq 0 ];then
- echo "001002002"
- exit 2
- fi
- eval set -- "${ARGS}"
-
- while true
- do
- case "$1" in
- -f|--prefix)
- PREFIX=$2
- shift 2
- ;;
- -d|--datadir)
- DATADIR=$2
- shift 2
- ;;
- -l|--logfile)
- LOGFILE=$2
- shift 2
- ;;
- -u|--user)
- USER=$2
- shift 2
- ;;
- --)
- shift
- break
- ;;
- *)
- #Help
- echo "001002002"
- exit 2
- esac
- done
-}
-
-Avrg $@
-DIRNAME=${PREFIX}/redis
-rm -rf ${LOGFILE} ${DATADIR} ${DIRNAME} $CONFFILE
-
-echo "001000000"
-
diff --git a/scripts/redis/redis_test.sh b/scripts/redis/redis_test.sh
deleted file mode 100644
index b6151a95..00000000
--- a/scripts/redis/redis_test.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/bash
-# Author Yo
-# Email YoLoveLife@outlook.com
-# Time 2017-03-07 08:56
-ONLINE=`ps aux |grep redis-server|wc -l`
-if [ "${ONLINE}" == "2" ];then
- echo "1"
-else
- echo "0"
-fi
\ No newline at end of file
diff --git a/scripts/tomcat/tomcat_control.sh b/scripts/tomcat/tomcat_control.sh
deleted file mode 100644
index 7630514f..00000000
--- a/scripts/tomcat/tomcat_control.sh
+++ /dev/null
@@ -1,37 +0,0 @@
-#!/bin/bash
-#Time 2017-02-06 09:23
-#Author Yo
-#Control redis
-source /etc/profile
-COMMDDIR=/usr/local/tomcat/bin
-function Help()
-{
-cat <<_ACEOF
-control tomcat bash script.
-Usage $0 [OPTION]... [VAR=VALUE]...
- help display this help and exit
- start start tomcat
- stop stop tomcat
-_ACEOF
-}
-function Start()
-{
- nohup ${COMMDDIR}/catalina.sh start &
-}
-
-function Stop()
-{
- ${COMMDDIR}/catalina.sh stop
-}
-
-case "$1" in
- "start")
- Start
- ;;
- "stop")
- Stop
- ;;
- *)
- Help
- ;;
-esac
diff --git a/scripts/tomcat/tomcat_install.sh b/scripts/tomcat/tomcat_install.sh
deleted file mode 100644
index cf7f3ec5..00000000
--- a/scripts/tomcat/tomcat_install.sh
+++ /dev/null
@@ -1,74 +0,0 @@
-#!/bin/bash
-# Author Yo
-# Email YoLoveLife@outlook.com
-# Time 2017-02-07 09:09
-PATH=/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin
-VERSION="7.0.72"
-PREFIX="/usr/local"
-YESFLAG="0"
-function Confirm()
-{
-cat <<_ACEOF
- Version: ${VERSION}
- Prefix: ${PREFIX}
-_ACEOF
-}
-function IsAlready()
-{
- if [ -d "/usr/local/tomcat" ];then
- echo "004001002"
- exit 2
- fi
-}
-function Help()
-{
-cat <<_ACEOF
-configure tomcat_install bash script.
-Usage $0 [OPTION]... [VAR=VALUE]...
- --help display this help and exit
- -v,--version modify the version of tomcat.Default 3.2.4
- -f,--prefix modify the prefix.Default /usr/local
-_ACEOF
-}
-function Avrg()
-{
- ARGS=`getopt -o v:u:f: --long version:,prefix: -n 'tomcat_install.sh' -- "$@"`
- if [ ! $? -eq 0 ];then
- echo "参数错误"
- exit 2
- fi
- eval set -- "${ARGS}"
-
- while true
- do
- case "$1" in
- -v|--version)
- VERSION=$2
- shift 2
- ;;
- -f|--prefix)
- PREFIX=$2
- shift 2
- ;;
- --)
- shift
- break
- ;;
- *)
- #Help
- echo "参数错误"
- exit 2
- esac
- done
-}
-IsAlready
-
-Avrg $@
-
-tar -xvzf apache-tomcat-${VERSION}.tar.gz -C ${PREFIX} &>/dev/null
-mv ${PREFIX}/apache-tomcat-${VERSION} ${PREFIX}/tomcat
-BASEDIR=${PREFIX}/redis
-
-#Confirm > ${PREFIX}/tomcat/INSTALL.info
-
-echo "004000000"
\ No newline at end of file
diff --git a/scripts/tomcat/tomcat_remove.sh b/scripts/tomcat/tomcat_remove.sh
deleted file mode 100644
index 7a93c759..00000000
--- a/scripts/tomcat/tomcat_remove.sh
+++ /dev/null
@@ -1,59 +0,0 @@
-#!/bin/bash
-# Author Yo
-# Email YoLoveLife@outlook.com
-# Time 2017-02-07 10:01
-PATH=/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin
-PREFIX=/usr/local
-function Confirm()
-{
-cat <<_ACEOF
- Prefix: ${PREFIX}
-_ACEOF
-}
-function Help()
-{
-cat <<_ACEOF
-configure tomcat_install bash script.
-Usage $0 [OPTION]... [VAR=VALUE]...
- --help display this help and exit
- -f,--prefix modify the prefix.Default /usr/local
- -y answer question with yes
-_ACEOF
-}
-function Avrg()
-{
- ARGS=`getopt -o yf: --long prefix: -n 'tomcat_remove.sh' -- "$@"`
- if [ ! $? -eq 0 ];then
- echo "参数错误"
- exit 2
- fi
- eval set -- "${ARGS}"
-
- while true
- do
- case "$1" in
- -f|--prefix)
- PREFIX=$2
- shift 2
- ;;
- -y)
- YESFLAG="1"
- shift
- ;;
- --)
- shift
- break
- ;;
- *)
- echo "参数错误"
- exit 2
- ;;
- esac
- done
-}
-
-Avrg $@
-
-rm -rf ${PREFIX}/tomcat
-
-echo "003000000"
diff --git a/scripts/tomcat/tomcat_test.sh b/scripts/tomcat/tomcat_test.sh
deleted file mode 100644
index 562f1dbf..00000000
--- a/scripts/tomcat/tomcat_test.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/bash
-# Author Yo
-# Email YoLoveLife@outlook.com
-# Time 2017-04-05 16:19
-ONLINE=`ps aux |grep java |wc -l`
-if [ "${ONLINE}" == "2" ];then
- echo "1"
-else
- echo "0"
-fi
\ No newline at end of file
diff --git a/template/__init__.py b/template/__init__.py
deleted file mode 100644
index cbd40a5d..00000000
--- a/template/__init__.py
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- coding:utf-8 -*-
-# !/usr/bin/env python
-# Author Yo
-# Email YoLoveLife@outlook.com
-import os
-TEMPLATEDIR=os.path.dirname(__file__)
\ No newline at end of file
diff --git a/template/my.j2 b/template/my.j2
deleted file mode 100644
index fd8f80f6..00000000
--- a/template/my.j2
+++ /dev/null
@@ -1,154 +0,0 @@
-# Example MariaDB config file for large systems.
-#
-# This is for a large system with memory = 512M where the system runs mainly
-# MariaDB.
-#
-# MariaDB programs look for option files in a set of
-# locations which depend on the deployment platform.
-# You can copy this option file to one of those
-# locations. For information about these locations, do:
-# 'my_print_defaults --help' and see what is printed under
-# Default options are read from the following files in the given order:
-# More information at: http://dev.mysql.com/doc/mysql/en/option-files.html
-#
-# In this file, you can use all long options that a program supports.
-# If you want to know which options a program supports, run the program
-# with the "--help" option.
-
-# The following options will be passed to all MariaDB clients
-[client]
-#password = your_password
-port = {{port}}
-socket = {{socket}}
-
-# Here follows entries for some specific programs
-
-# The MariaDB server
-[mysqld]
-port = {{port}}
-socket = {{socket}}
-basedir = {{basedir}}
-datadir = {{datadir}}
-{{extend}}
-skip-external-locking
-key_buffer_size = {{key_buffer_size}}
-max_allowed_packet = 1M
-table_open_cache = {{table_open_cache}}
-sort_buffer_size = {{sort_buffer_size}}
-read_buffer_size = {{read_buffer_size}}
-read_rnd_buffer_size = {{read_rnd_buffer_size}}
-myisam_sort_buffer_size = 64M
-thread_cache_size = {{thread_cache_size}}
-query_cache_size= {{query_cache_size}}
-# Try number of CPU's*2 for thread_concurrency
-thread_concurrency = 8
-
-# Point the following paths to different dedicated disks
-#tmpdir = /tmp/
-
-# Don't listen on a TCP/IP port at all. This can be a security enhancement,
-# if all processes that need to connect to mysqld run on the same host.
-# All interaction with mysqld must be made via Unix sockets or named pipes.
-# Note that using this option without enabling named pipes on Windows
-# (via the "enable-named-pipe" option) will render mysqld useless!
-#
-#skip-networking
-
-# Replication Master Server (default)
-# binary logging is required for replication
-log-bin=mysql-bin
-
-# binary logging format - mixed recommended
-binlog_format=mixed
-
-# required unique id between 1 and 2^32 - 1
-# defaults to 1 if master-host is not set
-# but will not function as a master if omitted
-server-id = {{server_id}}
-
-# Replication Slave (comment out master section to use this)
-#
-# To configure this host as a replication slave, you can choose between
-# two methods :
-#
-# 1) Use the CHANGE MASTER TO command (fully described in our manual) -
-# the syntax is:
-#
-# CHANGE MASTER TO MASTER_HOST=, MASTER_PORT=,
-# MASTER_USER=, MASTER_PASSWORD= ;
-#
-# where you replace , , by quoted strings and
-# by the master's port number (3306 by default).
-#
-# Example:
-#
-# CHANGE MASTER TO MASTER_HOST='125.564.12.1', MASTER_PORT=3306,
-# MASTER_USER='joe', MASTER_PASSWORD='secret';
-#
-# OR
-#
-# 2) Set the variables below. However, in case you choose this method, then
-# start replication for the first time (even unsuccessfully, for example
-# if you mistyped the password in master-password and the slave fails to
-# connect), the slave will create a master.info file, and any later
-# change in this file to the variables' values below will be ignored and
-# overridden by the content of the master.info file, unless you shutdown
-# the slave server, delete master.info and restart the slaver server.
-# For that reason, you may want to leave the lines below untouched
-# (commented) and instead use CHANGE MASTER TO (see above)
-#
-# required unique id between 2 and 2^32 - 1
-# (and different from the master)
-# defaults to 2 if master-host is set
-# but will not function as a slave if omitted
-#server-id = 2
-#
-# The replication master for this slave - required
-#master-host =
-#
-# The username the slave will use for authentication when connecting
-# to the master - required
-#master-user =
-#
-# The password the slave will authenticate with when connecting to
-# the master - required
-#master-password =
-#
-# The port the master is listening on.
-# optional - defaults to 3306
-#master-port =
-#
-# binary logging - not required for slaves, but recommended
-#log-bin=mysql-bin
-
-# Uncomment the following if you are using InnoDB tables
-#innodb_data_home_dir = /usr/local/mysql/data
-#innodb_data_file_path = ibdata1:10M:autoextend
-#innodb_log_group_home_dir = /usr/local/mysql/data
-# You can set .._buffer_pool_size up to 50 - 80 %
-# of RAM but beware of setting memory usage too high
-#innodb_buffer_pool_size = 256M
-#innodb_additional_mem_pool_size = 20M
-# Set .._log_file_size to 25 % of buffer pool size
-#innodb_log_file_size = 64M
-#innodb_log_buffer_size = 8M
-#innodb_flush_log_at_trx_commit = 1
-#innodb_lock_wait_timeout = 50
-
-[mysqldump]
-quick
-max_allowed_packet = 16M
-
-[mysql]
-no-auto-rehash
-# Remove the next comment character if you are not familiar with SQL
-#safe-updates
-
-[myisamchk]
-key_buffer_size = 128M
-sort_buffer_size = 128M
-read_buffer = 2M
-write_buffer = 2M
-
-[mysqlhotcopy]
-interactive-timeout
diff --git a/template/nginx.j2 b/template/nginx.j2
deleted file mode 100644
index b0a9261e..00000000
--- a/template/nginx.j2
+++ /dev/null
@@ -1,117 +0,0 @@
-
-user {{user}};
-worker_processes {{workproc}};
-
-#error_log logs/error.log;
-#error_log logs/error.log notice;
-#error_log logs/error.log info;
-
-pid {{pid}};
-
-
-events {
- worker_connections {{workconn}};
-}
-
-
-http {
- include mime.types;
- default_type application/octet-stream;
-
- #log_format main '$remote_addr - $remote_user [$time_local] "$request" '
- # '$status $body_bytes_sent "$http_referer" '
- # '"$http_user_agent" "$http_x_forwarded_for"';
-
- #access_log logs/access.log main;
-
- sendfile on;
- #tcp_nopush on;
-
- #keepalive_timeout 0;
- keepalive_timeout 65;
-
- #gzip on;
-
- server {
- listen {{port}};
- server_name {{servername}};
-
- #charset koi8-r;
-
- #access_log logs/host.access.log main;
- {{locations}}
- location / {
- root html;
- index index.html index.htm;
- }
-
- #error_page 404 /404.html;
-
- # redirect server error pages to the static page /50x.html
- #
- error_page 500 502 503 504 /50x.html;
- location = /50x.html {
- root html;
- }
-
- # proxy the PHP scripts to Apache listening on 127.0.0.1:80
- #
- #location ~ \.php$ {
- # proxy_pass http://127.0.0.1;
- #}
-
- # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
- #
- #location ~ \.php$ {
- # root html;
- # fastcgi_pass 127.0.0.1:9000;
- # fastcgi_index index.php;
- # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
- # include fastcgi_params;
- #}
-
- # deny access to .htaccess files, if Apache's document root
- # concurs with nginx's one
- #
- #location ~ /\.ht {
- # deny all;
- #}
- }
-
-
- # another virtual host using mix of IP-, name-, and port-based configuration
- #
- #server {
- # listen 8000;
- # listen somename:8080;
- # server_name somename alias another.alias;
-
- # location / {
- # root html;
- # index index.html index.htm;
- # }
- #}
-
-
- # HTTPS server
- #
- #server {
- # listen 443 ssl;
- # server_name localhost;
-
- # ssl_certificate cert.pem;
- # ssl_certificate_key cert.key;
-
- # ssl_session_cache shared:SSL:1m;
- # ssl_session_timeout 5m;
-
- # ssl_ciphers HIGH:!aNULL:!MD5;
- # ssl_prefer_server_ciphers on;
-
- # location / {
- # root html;
- # index index.html index.htm;
- # }
- #}
-
-}
diff --git a/template/redis/redis2.6.17.j2 b/template/redis/redis2.6.17.j2
deleted file mode 100644
index ae58e97c..00000000
--- a/template/redis/redis2.6.17.j2
+++ /dev/null
@@ -1,595 +0,0 @@
-# Redis configuration file example
-
-# Note on units: when memory size is needed, it is possible to specify
-# it in the usual form of 1k 5GB 4M and so forth:
-#
-# 1k => 1000 bytes
-# 1kb => 1024 bytes
-# 1m => 1000000 bytes
-# 1mb => 1024*1024 bytes
-# 1g => 1000000000 bytes
-# 1gb => 1024*1024*1024 bytes
-#
-# units are case insensitive so 1GB 1Gb 1gB are all the same.
-{{extend}}
-# By default Redis does not run as a daemon. Use 'yes' if you need it.
-# Note that Redis will write a pid file in /var/run/redis.pid when daemonized.
-daemonize yes
-
-# When running daemonized, Redis writes a pid file in /var/run/redis.pid by
-# default. You can specify a custom pid file location here.
-pidfile /var/run/redis_{{port}}.pid
-
-# Accept connections on the specified port, default is 6379.
-# If port 0 is specified Redis will not listen on a TCP socket.
-port {{port}}
-
-# If you want you can bind a single interface, if the bind option is not
-# specified all the interfaces will listen for incoming connections.
-#
-# bind 127.0.0.1
-bind {{bind}}
-# Specify the path for the unix socket that will be used to listen for
-# incoming connections. There is no default, so Redis will not listen
-# on a unix socket when not specified.
-#
-# unixsocket /tmp/redis.sock
-# unixsocketperm 755
-
-# Close the connection after a client is idle for N seconds (0 to disable)
-timeout 0
-
-# TCP keepalive.
-#
-# If non-zero, use SO_KEEPALIVE to send TCP ACKs to clients in absence
-# of communication. This is useful for two reasons:
-#
-# 1) Detect dead peers.
-# 2) Take the connection alive from the point of view of network
-# equipment in the middle.
-#
-# On Linux, the specified value (in seconds) is the period used to send ACKs.
-# Note that to close the connection the double of the time is needed.
-# On other kernels the period depends on the kernel configuration.
-#
-# A reasonable value for this option is 60 seconds.
-tcp-keepalive 0
-
-# Specify the server verbosity level.
-# This can be one of:
-# debug (a lot of information, useful for development/testing)
-# verbose (many rarely useful info, but not a mess like the debug level)
-# notice (moderately verbose, what you want in production probably)
-# warning (only very important / critical messages are logged)
-loglevel notice
-
-# Specify the log file name. Also 'stdout' can be used to force
-# Redis to log on the standard output. Note that if you use standard
-# output for logging but daemonize, logs will be sent to /dev/null
-logfile "{{logfile}}"
-
-# To enable logging to the system logger, just set 'syslog-enabled' to yes,
-# and optionally update the other syslog parameters to suit your needs.
-# syslog-enabled no
-
-# Specify the syslog identity.
-# syslog-ident redis
-
-# Specify the syslog facility. Must be USER or between LOCAL0-LOCAL7.
-# syslog-facility local0
-
-# Set the number of databases. The default database is DB 0, you can select
-# a different one on a per-connection basis using SELECT where
-# dbid is a number between 0 and 'databases'-1
-databases 16
-
-################################ SNAPSHOTTING #################################
-#
-# Save the DB on disk:
-#
-# save
-#
-# Will save the DB if both the given number of seconds and the given
-# number of write operations against the DB occurred.
-#
-# In the example below the behaviour will be to save:
-# after 900 sec (15 min) if at least 1 key changed
-# after 300 sec (5 min) if at least 10 keys changed
-# after 60 sec if at least 10000 keys changed
-#
-# Note: you can disable saving at all commenting all the "save" lines.
-#
-# It is also possible to remove all the previously configured save
-# points by adding a save directive with a single empty string argument
-# like in the following example:
-#
-# save ""
-
-{{saveoptions}}
-
-# By default Redis will stop accepting writes if RDB snapshots are enabled
-# (at least one save point) and the latest background save failed.
-# This will make the user aware (in an hard way) that data is not persisting
-# on disk properly, otherwise chances are that no one will notice and some
-# distater will happen.
-#
-# If the background saving process will start working again Redis will
-# automatically allow writes again.
-#
-# However if you have setup your proper monitoring of the Redis server
-# and persistence, you may want to disable this feature so that Redis will
-# continue to work as usually even if there are problems with disk,
-# permissions, and so forth.
-stop-writes-on-bgsave-error yes
-
-# Compress string objects using LZF when dump .rdb databases?
-# For default that's set to 'yes' as it's almost always a win.
-# If you want to save some CPU in the saving child set it to 'no' but
-# the dataset will likely be bigger if you have compressible values or keys.
-rdbcompression yes
-
-# Since version 5 of RDB a CRC64 checksum is placed at the end of the file.
-# This makes the format more resistant to corruption but there is a performance
-# hit to pay (around 10%) when saving and loading RDB files, so you can disable it
-# for maximum performances.
-#
-# RDB files created with checksum disabled have a checksum of zero that will
-# tell the loading code to skip the check.
-rdbchecksum yes
-
-# The filename where to dump the DB
-dbfilename {{dbfilename}}
-
-# The working directory.
-#
-# The DB will be written inside this directory, with the filename specified
-# above using the 'dbfilename' configuration directive.
-#
-# The Append Only File will also be created inside this directory.
-#
-# Note that you must specify a directory here, not a file name.
-dir {{dir}}
-
-################################# REPLICATION #################################
-
-# Master-Slave replication. Use slaveof to make a Redis instance a copy of
-# another Redis server. Note that the configuration is local to the slave
-# so for example it is possible to configure the slave to save the DB with a
-# different interval, or to listen to another port, and so on.
-#
-# slaveof
-{{slaveof}}
-# If the master is password protected (using the "requirepass" configuration
-# directive below) it is possible to tell the slave to authenticate before
-# starting the replication synchronization process, otherwise the master will
-# refuse the slave request.
-#
-# masterauth
-{{masterauth}}
-# When a slave loses its connection with the master, or when the replication
-# is still in progress, the slave can act in two different ways:
-#
-# 1) if slave-serve-stale-data is set to 'yes' (the default) the slave will
-# still reply to client requests, possibly with out of date data, or the
-# data set may just be empty if this is the first synchronization.
-#
-# 2) if slave-serve-stale-data is set to 'no' the slave will reply with
-# an error "SYNC with master in progress" to all the kind of commands
-# but to INFO and SLAVEOF.
-#
-slave-serve-stale-data yes
-
-# You can configure a slave instance to accept writes or not. Writing against
-# a slave instance may be useful to store some ephemeral data (because data
-# written on a slave will be easily deleted after resync with the master) but
-# may also cause problems if clients are writing to it because of a
-# misconfiguration.
-#
-# Since Redis 2.6 by default slaves are read-only.
-#
-# Note: read only slaves are not designed to be exposed to untrusted clients
-# on the internet. It's just a protection layer against misuse of the instance.
-# Still a read only slave exports by default all the administrative commands
-# such as CONFIG, DEBUG, and so forth. To a limited extend you can improve
-# security of read only slaves using 'rename-command' to shadow all the
-# administrative / dangerous commands.
-slave-read-only yes
-
-# Slaves send PINGs to server in a predefined interval. It's possible to change
-# this interval with the repl_ping_slave_period option. The default value is 10
-# seconds.
-#
-# repl-ping-slave-period 10
-
-# The following option sets a timeout for both Bulk transfer I/O timeout and
-# master data or ping response timeout. The default value is 60 seconds.
-#
-# It is important to make sure that this value is greater than the value
-# specified for repl-ping-slave-period otherwise a timeout will be detected
-# every time there is low traffic between the master and the slave.
-#
-# repl-timeout 60
-
-# Disable TCP_NODELAY on the slave socket after SYNC?
-#
-# If you select "yes" Redis will use a smaller number of TCP packets and
-# less bandwidth to send data to slaves. But this can add a delay for
-# the data to appear on the slave side, up to 40 milliseconds with
-# Linux kernels using a default configuration.
-#
-# If you select "no" the delay for data to appear on the slave side will
-# be reduced but more bandwidth will be used for replication.
-#
-# By default we optimize for low latency, but in very high traffic conditions
-# or when the master and slaves are many hops away, turning this to "yes" may
-# be a good idea.
-repl-disable-tcp-nodelay no
-
-# The slave priority is an integer number published by Redis in the INFO output.
-# It is used by Redis Sentinel in order to select a slave to promote into a
-# master if the master is no longer working correctly.
-#
-# A slave with a low priority number is considered better for promotion, so
-# for instance if there are three slaves with priority 10, 100, 25 Sentinel will
-# pick the one wtih priority 10, that is the lowest.
-#
-# However a special priority of 0 marks the slave as not able to perform the
-# role of master, so a slave with priority of 0 will never be selected by
-# Redis Sentinel for promotion.
-#
-# By default the priority is 100.
-slave-priority 100
-
-################################## SECURITY ###################################
-
-# Require clients to issue AUTH before processing any other
-# commands. This might be useful in environments in which you do not trust
-# others with access to the host running redis-server.
-#
-# This should stay commented out for backward compatibility and because most
-# people do not need auth (e.g. they run their own servers).
-#
-# Warning: since Redis is pretty fast an outside user can try up to
-# 150k passwords per second against a good box. This means that you should
-# use a very strong password otherwise it will be very easy to break.
-#
-# requirepass foobared
-requirepass {{requirepass}}
-# Command renaming.
-#
-# It is possible to change the name of dangerous commands in a shared
-# environment. For instance the CONFIG command may be renamed into something
-# hard to guess so that it will still be available for internal-use tools
-# but not available for general clients.
-#
-# Example:
-#
-# rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52
-#
-# It is also possible to completely kill a command by renaming it into
-# an empty string:
-#
-# rename-command CONFIG ""
-#
-# Please note that changing the name of commands that are logged into the
-# AOF file or transmitted to slaves may cause problems.
-
-################################### LIMITS ####################################
-
-# Set the max number of connected clients at the same time. By default
-# this limit is set to 10000 clients, however if the Redis server is not
-# able to configure the process file limit to allow for the specified limit
-# the max number of allowed clients is set to the current file limit
-# minus 32 (as Redis reserves a few file descriptors for internal uses).
-#
-# Once the limit is reached Redis will close all the new connections sending
-# an error 'max number of clients reached'.
-#
-# maxclients 10000
-
-# Don't use more memory than the specified amount of bytes.
-# When the memory limit is reached Redis will try to remove keys
-# accordingly to the eviction policy selected (see maxmemmory-policy).
-#
-# If Redis can't remove keys according to the policy, or if the policy is
-# set to 'noeviction', Redis will start to reply with errors to commands
-# that would use more memory, like SET, LPUSH, and so on, and will continue
-# to reply to read-only commands like GET.
-#
-# This option is usually useful when using Redis as an LRU cache, or to set
-# an hard memory limit for an instance (using the 'noeviction' policy).
-#
-# WARNING: If you have slaves attached to an instance with maxmemory on,
-# the size of the output buffers needed to feed the slaves are subtracted
-# from the used memory count, so that network problems / resyncs will
-# not trigger a loop where keys are evicted, and in turn the output
-# buffer of slaves is full with DELs of keys evicted triggering the deletion
-# of more keys, and so forth until the database is completely emptied.
-#
-# In short... if you have slaves attached it is suggested that you set a lower
-# limit for maxmemory so that there is some free RAM on the system for slave
-# output buffers (but this is not needed if the policy is 'noeviction').
-#
-# maxmemory
-
-# MAXMEMORY POLICY: how Redis will select what to remove when maxmemory
-# is reached. You can select among five behaviors:
-#
-# volatile-lru -> remove the key with an expire set using an LRU algorithm
-# allkeys-lru -> remove any key accordingly to the LRU algorithm
-# volatile-random -> remove a random key with an expire set
-# allkeys-random -> remove a random key, any key
-# volatile-ttl -> remove the key with the nearest expire time (minor TTL)
-# noeviction -> don't expire at all, just return an error on write operations
-#
-# Note: with any of the above policies, Redis will return an error on write
-# operations, when there are not suitable keys for eviction.
-#
-# At the date of writing this commands are: set setnx setex append
-# incr decr rpush lpush rpushx lpushx linsert lset rpoplpush sadd
-# sinter sinterstore sunion sunionstore sdiff sdiffstore zadd zincrby
-# zunionstore zinterstore hset hsetnx hmset hincrby incrby decrby
-# getset mset msetnx exec sort
-#
-# The default is:
-#
-# maxmemory-policy volatile-lru
-
-# LRU and minimal TTL algorithms are not precise algorithms but approximated
-# algorithms (in order to save memory), so you can select as well the sample
-# size to check. For instance for default Redis will check three keys and
-# pick the one that was used less recently, you can change the sample size
-# using the following configuration directive.
-#
-# maxmemory-samples 3
-
-############################## APPEND ONLY MODE ###############################
-
-# By default Redis asynchronously dumps the dataset on disk. This mode is
-# good enough in many applications, but an issue with the Redis process or
-# a power outage may result into a few minutes of writes lost (depending on
-# the configured save points).
-#
-# The Append Only File is an alternative persistence mode that provides
-# much better durability. For instance using the default data fsync policy
-# (see later in the config file) Redis can lose just one second of writes in a
-# dramatic event like a server power outage, or a single write if something
-# wrong with the Redis process itself happens, but the operating system is
-# still running correctly.
-#
-# AOF and RDB persistence can be enabled at the same time without problems.
-# If the AOF is enabled on startup Redis will load the AOF, that is the file
-# with the better durability guarantees.
-#
-# Please check http://redis.io/topics/persistence for more information.
-
-appendonly {{appendonly}}
-
-# The name of the append only file (default: "appendonly.aof")
-# appendfilename appendonly.aof
-
-# The fsync() call tells the Operating System to actually write data on disk
-# instead to wait for more data in the output buffer. Some OS will really flush
-# data on disk, some other OS will just try to do it ASAP.
-#
-# Redis supports three different modes:
-#
-# no: don't fsync, just let the OS flush the data when it wants. Faster.
-# always: fsync after every write to the append only log . Slow, Safest.
-# everysec: fsync only one time every second. Compromise.
-#
-# The default is "everysec", as that's usually the right compromise between
-# speed and data safety. It's up to you to understand if you can relax this to
-# "no" that will let the operating system flush the output buffer when
-# it wants, for better performances (but if you can live with the idea of
-# some data loss consider the default persistence mode that's snapshotting),
-# or on the contrary, use "always" that's very slow but a bit safer than
-# everysec.
-#
-# More details please check the following article:
-# http://antirez.com/post/redis-persistence-demystified.html
-#
-# If unsure, use "everysec".
-
-# appendfsync always
-appendfsync everysec
-# appendfsync no
-
-# When the AOF fsync policy is set to always or everysec, and a background
-# saving process (a background save or AOF log background rewriting) is
-# performing a lot of I/O against the disk, in some Linux configurations
-# Redis may block too long on the fsync() call. Note that there is no fix for
-# this currently, as even performing fsync in a different thread will block
-# our synchronous write(2) call.
-#
-# In order to mitigate this problem it's possible to use the following option
-# that will prevent fsync() from being called in the main process while a
-# BGSAVE or BGREWRITEAOF is in progress.
-#
-# This means that while another child is saving, the durability of Redis is
-# the same as "appendfsync none". In practical terms, this means that it is
-# possible to lose up to 30 seconds of log in the worst scenario (with the
-# default Linux settings).
-#
-# If you have latency problems turn this to "yes". Otherwise leave it as
-# "no" that is the safest pick from the point of view of durability.
-no-appendfsync-on-rewrite {{noonrewrite}}
-
-# Automatic rewrite of the append only file.
-# Redis is able to automatically rewrite the log file implicitly calling
-# BGREWRITEAOF when the AOF log size grows by the specified percentage.
-#
-# This is how it works: Redis remembers the size of the AOF file after the
-# latest rewrite (if no rewrite has happened since the restart, the size of
-# the AOF at startup is used).
-#
-# This base size is compared to the current size. If the current size is
-# bigger than the specified percentage, the rewrite is triggered. Also
-# you need to specify a minimal size for the AOF file to be rewritten, this
-# is useful to avoid rewriting the AOF file even if the percentage increase
-# is reached but it is still pretty small.
-#
-# Specify a percentage of zero in order to disable the automatic AOF
-# rewrite feature.
-
-auto-aof-rewrite-percentage 100
-auto-aof-rewrite-min-size 64mb
-
-################################ LUA SCRIPTING ###############################
-
-# Max execution time of a Lua script in milliseconds.
-#
-# If the maximum execution time is reached Redis will log that a script is
-# still in execution after the maximum allowed time and will start to
-# reply to queries with an error.
-#
-# When a long running script exceed the maximum execution time only the
-# SCRIPT KILL and SHUTDOWN NOSAVE commands are available. The first can be
-# used to stop a script that did not yet called write commands. The second
-# is the only way to shut down the server in the case a write commands was
-# already issue by the script but the user don't want to wait for the natural
-# termination of the script.
-#
-# Set it to 0 or a negative value for unlimited execution without warnings.
-lua-time-limit 5000
-
-################################## SLOW LOG ###################################
-
-# The Redis Slow Log is a system to log queries that exceeded a specified
-# execution time. The execution time does not include the I/O operations
-# like talking with the client, sending the reply and so forth,
-# but just the time needed to actually execute the command (this is the only
-# stage of command execution where the thread is blocked and can not serve
-# other requests in the meantime).
-#
-# You can configure the slow log with two parameters: one tells Redis
-# what is the execution time, in microseconds, to exceed in order for the
-# command to get logged, and the other parameter is the length of the
-# slow log. When a new command is logged the oldest one is removed from the
-# queue of logged commands.
-
-# The following time is expressed in microseconds, so 1000000 is equivalent
-# to one second. Note that a negative number disables the slow log, while
-# a value of zero forces the logging of every command.
-slowlog-log-slower-than 10000
-
-# There is no limit to this length. Just be aware that it will consume memory.
-# You can reclaim memory used by the slow log with SLOWLOG RESET.
-slowlog-max-len 128
-
-############################### ADVANCED CONFIG ###############################
-
-# Hashes are encoded using a memory efficient data structure when they have a
-# small number of entries, and the biggest entry does not exceed a given
-# threshold. These thresholds can be configured using the following directives.
-hash-max-ziplist-entries 512
-hash-max-ziplist-value 64
-
-# Similarly to hashes, small lists are also encoded in a special way in order
-# to save a lot of space. The special representation is only used when
-# you are under the following limits:
-list-max-ziplist-entries 512
-list-max-ziplist-value 64
-
-# Sets have a special encoding in just one case: when a set is composed
-# of just strings that happens to be integers in radix 10 in the range
-# of 64 bit signed integers.
-# The following configuration setting sets the limit in the size of the
-# set in order to use this special memory saving encoding.
-set-max-intset-entries 512
-
-# Similarly to hashes and lists, sorted sets are also specially encoded in
-# order to save a lot of space. This encoding is only used when the length and
-# elements of a sorted set are below the following limits:
-zset-max-ziplist-entries 128
-zset-max-ziplist-value 64
-
-# Active rehashing uses 1 millisecond every 100 milliseconds of CPU time in
-# order to help rehashing the main Redis hash table (the one mapping top-level
-# keys to values). The hash table implementation Redis uses (see dict.c)
-# performs a lazy rehashing: the more operation you run into an hash table
-# that is rehashing, the more rehashing "steps" are performed, so if the
-# server is idle the rehashing is never complete and some more memory is used
-# by the hash table.
-#
-# The default is to use this millisecond 10 times every second in order to
-# active rehashing the main dictionaries, freeing memory when possible.
-#
-# If unsure:
-# use "activerehashing no" if you have hard latency requirements and it is
-# not a good thing in your environment that Redis can reply form time to time
-# to queries with 2 milliseconds delay.
-#
-# use "activerehashing yes" if you don't have such hard requirements but
-# want to free memory asap when possible.
-activerehashing yes
-
-# The client output buffer limits can be used to force disconnection of clients
-# that are not reading data from the server fast enough for some reason (a
-# common reason is that a Pub/Sub client can't consume messages as fast as the
-# publisher can produce them).
-#
-# The limit can be set differently for the three different classes of clients:
-#
-# normal -> normal clients
-# slave -> slave clients and MONITOR clients
-# pubsub -> clients subcribed to at least one pubsub channel or pattern
-#
-# The syntax of every client-output-buffer-limit directive is the following:
-#
-# client-output-buffer-limit
-#
-# A client is immediately disconnected once the hard limit is reached, or if
-# the soft limit is reached and remains reached for the specified number of
-# seconds (continuously).
-# So for instance if the hard limit is 32 megabytes and the soft limit is
-# 16 megabytes / 10 seconds, the client will get disconnected immediately
-# if the size of the output buffers reach 32 megabytes, but will also get
-# disconnected if the client reaches 16 megabytes and continuously overcomes
-# the limit for 10 seconds.
-#
-# By default normal clients are not limited because they don't receive data
-# without asking (in a push way), but just after a request, so only
-# asynchronous clients may create a scenario where data is requested faster
-# than it can read.
-#
-# Instead there is a default limit for pubsub and slave clients, since
-# subscribers and slaves receive data in a push fashion.
-#
-# Both the hard or the soft limit can be disabled by setting them to zero.
-client-output-buffer-limit normal 0 0 0
-client-output-buffer-limit slave 256mb 64mb 60
-client-output-buffer-limit pubsub 32mb 8mb 60
-
-# Redis calls an internal function to perform many background tasks, like
-# closing connections of clients in timeot, purging expired keys that are
-# never requested, and so forth.
-#
-# Not all tasks are perforemd with the same frequency, but Redis checks for
-# tasks to perform accordingly to the specified "hz" value.
-#
-# By default "hz" is set to 10. Raising the value will use more CPU when
-# Redis is idle, but at the same time will make Redis more responsive when
-# there are many keys expiring at the same time, and timeouts may be
-# handled with more precision.
-#
-# The range is between 1 and 500, however a value over 100 is usually not
-# a good idea. Most users should use the default of 10 and raise this up to
-# 100 only in environments where very low latency is required.
-hz 10
-
-# When a child rewrites the AOF file, if the following option is enabled
-# the file will be fsync-ed every 32 MB of data generated. This is useful
-# in order to commit the file to the disk more incrementally and avoid
-# big latency spikes.
-aof-rewrite-incremental-fsync yes
-
-################################## INCLUDES ###################################
-
-# Include one or more other config files here. This is useful if you
-# have a standard template that goes to all Redis server but also need
-# to customize a few per-server settings. Include files can include
-# other files, so use this wisely.
-#
-# include /path/to/local.conf
-# include /path/to/other.conf
diff --git a/template/redis/redis3.0.7.j2 b/template/redis/redis3.0.7.j2
deleted file mode 100644
index 2cc231d8..00000000
--- a/template/redis/redis3.0.7.j2
+++ /dev/null
@@ -1,941 +0,0 @@
-# Redis configuration file example.
-#
-# Note that in order to read the configuration file, Redis must be
-# started with the file path as first argument:
-#
-# ./redis-server /path/to/redis.conf
-
-# Note on units: when memory size is needed, it is possible to specify
-# it in the usual form of 1k 5GB 4M and so forth:
-#
-# 1k => 1000 bytes
-# 1kb => 1024 bytes
-# 1m => 1000000 bytes
-# 1mb => 1024*1024 bytes
-# 1g => 1000000000 bytes
-# 1gb => 1024*1024*1024 bytes
-#
-# units are case insensitive so 1GB 1Gb 1gB are all the same.
-{{extend}}
-################################## INCLUDES ###################################
-
-# Include one or more other config files here. This is useful if you
-# have a standard template that goes to all Redis servers but also need
-# to customize a few per-server settings. Include files can include
-# other files, so use this wisely.
-#
-# Notice option "include" won't be rewritten by command "CONFIG REWRITE"
-# from admin or Redis Sentinel. Since Redis always uses the last processed
-# line as value of a configuration directive, you'd better put includes
-# at the beginning of this file to avoid overwriting config change at runtime.
-#
-# If instead you are interested in using includes to override configuration
-# options, it is better to use include as the last line.
-#
-# include /path/to/local.conf
-# include /path/to/other.conf
-
-################################ GENERAL #####################################
-
-# By default Redis does not run as a daemon. Use 'yes' if you need it.
-# Note that Redis will write a pid file in /var/run/redis.pid when daemonized.
-daemonize yes
-
-# When running daemonized, Redis writes a pid file in /var/run/redis.pid by
-# default. You can specify a custom pid file location here.
-pidfile /var/run/redis.pid
-
-# Accept connections on the specified port, default is 6379.
-# If port 0 is specified Redis will not listen on a TCP socket.
-port {{port}}
-
-# TCP listen() backlog.
-#
-# In high requests-per-second environments you need an high backlog in order
-# to avoid slow clients connections issues. Note that the Linux kernel
-# will silently truncate it to the value of /proc/sys/net/core/somaxconn so
-# make sure to raise both the value of somaxconn and tcp_max_syn_backlog
-# in order to get the desired effect.
-tcp-backlog 511
-
-# By default Redis listens for connections from all the network interfaces
-# available on the server. It is possible to listen to just one or multiple
-# interfaces using the "bind" configuration directive, followed by one or
-# more IP addresses.
-#
-# Examples:
-#
-# bind 192.168.1.100 10.0.0.1
-# bind 127.0.0.1
-bind {{bind}}
-# Specify the path for the Unix socket that will be used to listen for
-# incoming connections. There is no default, so Redis will not listen
-# on a unix socket when not specified.
-#
-# unixsocket /tmp/redis.sock
-# unixsocketperm 700
-
-# Close the connection after a client is idle for N seconds (0 to disable)
-timeout 0
-
-# TCP keepalive.
-#
-# If non-zero, use SO_KEEPALIVE to send TCP ACKs to clients in absence
-# of communication. This is useful for two reasons:
-#
-# 1) Detect dead peers.
-# 2) Take the connection alive from the point of view of network
-# equipment in the middle.
-#
-# On Linux, the specified value (in seconds) is the period used to send ACKs.
-# Note that to close the connection the double of the time is needed.
-# On other kernels the period depends on the kernel configuration.
-#
-# A reasonable value for this option is 60 seconds.
-tcp-keepalive 0
-
-# Specify the server verbosity level.
-# This can be one of:
-# debug (a lot of information, useful for development/testing)
-# verbose (many rarely useful info, but not a mess like the debug level)
-# notice (moderately verbose, what you want in production probably)
-# warning (only very important / critical messages are logged)
-loglevel notice
-
-# Specify the log file name. Also the empty string can be used to force
-# Redis to log on the standard output. Note that if you use standard
-# output for logging but daemonize, logs will be sent to /dev/null
-logfile {{logfile}}
-
-# To enable logging to the system logger, just set 'syslog-enabled' to yes,
-# and optionally update the other syslog parameters to suit your needs.
-# syslog-enabled no
-
-# Specify the syslog identity.
-# syslog-ident redis
-
-# Specify the syslog facility. Must be USER or between LOCAL0-LOCAL7.
-# syslog-facility local0
-
-# Set the number of databases. The default database is DB 0, you can select
-# a different one on a per-connection basis using SELECT where
-# dbid is a number between 0 and 'databases'-1
-databases 16
-
-################################ SNAPSHOTTING ################################
-#
-# Save the DB on disk:
-#
-# save
-#
-# Will save the DB if both the given number of seconds and the given
-# number of write operations against the DB occurred.
-#
-# In the example below the behaviour will be to save:
-# after 900 sec (15 min) if at least 1 key changed
-# after 300 sec (5 min) if at least 10 keys changed
-# after 60 sec if at least 10000 keys changed
-#
-# Note: you can disable saving completely by commenting out all "save" lines.
-#
-# It is also possible to remove all the previously configured save
-# points by adding a save directive with a single empty string argument
-# like in the following example:
-#
-# save ""
-
-{{saveoptions}}
-
-# By default Redis will stop accepting writes if RDB snapshots are enabled
-# (at least one save point) and the latest background save failed.
-# This will make the user aware (in a hard way) that data is not persisting
-# on disk properly, otherwise chances are that no one will notice and some
-# disaster will happen.
-#
-# If the background saving process will start working again Redis will
-# automatically allow writes again.
-#
-# However if you have setup your proper monitoring of the Redis server
-# and persistence, you may want to disable this feature so that Redis will
-# continue to work as usual even if there are problems with disk,
-# permissions, and so forth.
-stop-writes-on-bgsave-error yes
-
-# Compress string objects using LZF when dump .rdb databases?
-# For default that's set to 'yes' as it's almost always a win.
-# If you want to save some CPU in the saving child set it to 'no' but
-# the dataset will likely be bigger if you have compressible values or keys.
-rdbcompression yes
-
-# Since version 5 of RDB a CRC64 checksum is placed at the end of the file.
-# This makes the format more resistant to corruption but there is a performance
-# hit to pay (around 10%) when saving and loading RDB files, so you can disable it
-# for maximum performances.
-#
-# RDB files created with checksum disabled have a checksum of zero that will
-# tell the loading code to skip the check.
-rdbchecksum yes
-
-# The filename where to dump the DB
-dbfilename {{dbfilename}}
-
-# The working directory.
-#
-# The DB will be written inside this directory, with the filename specified
-# above using the 'dbfilename' configuration directive.
-#
-# The Append Only File will also be created inside this directory.
-#
-# Note that you must specify a directory here, not a file name.
-dir {{dir}}
-
-################################# REPLICATION #################################
-
-# Master-Slave replication. Use slaveof to make a Redis instance a copy of
-# another Redis server. A few things to understand ASAP about Redis replication.
-#
-# 1) Redis replication is asynchronous, but you can configure a master to
-# stop accepting writes if it appears to be not connected with at least
-# a given number of slaves.
-# 2) Redis slaves are able to perform a partial resynchronization with the
-# master if the replication link is lost for a relatively small amount of
-# time. You may want to configure the replication backlog size (see the next
-# sections of this file) with a sensible value depending on your needs.
-# 3) Replication is automatic and does not need user intervention. After a
-# network partition slaves automatically try to reconnect to masters
-# and resynchronize with them.
-#
-# slaveof
-{{slaveof}}
-# If the master is password protected (using the "requirepass" configuration
-# directive below) it is possible to tell the slave to authenticate before
-# starting the replication synchronization process, otherwise the master will
-# refuse the slave request.
-#
-# masterauth
-{{masterauth}}
-# When a slave loses its connection with the master, or when the replication
-# is still in progress, the slave can act in two different ways:
-#
-# 1) if slave-serve-stale-data is set to 'yes' (the default) the slave will
-# still reply to client requests, possibly with out of date data, or the
-# data set may just be empty if this is the first synchronization.
-#
-# 2) if slave-serve-stale-data is set to 'no' the slave will reply with
-# an error "SYNC with master in progress" to all the kind of commands
-# but to INFO and SLAVEOF.
-#
-slave-serve-stale-data yes
-
-# You can configure a slave instance to accept writes or not. Writing against
-# a slave instance may be useful to store some ephemeral data (because data
-# written on a slave will be easily deleted after resync with the master) but
-# may also cause problems if clients are writing to it because of a
-# misconfiguration.
-#
-# Since Redis 2.6 by default slaves are read-only.
-#
-# Note: read only slaves are not designed to be exposed to untrusted clients
-# on the internet. It's just a protection layer against misuse of the instance.
-# Still a read only slave exports by default all the administrative commands
-# such as CONFIG, DEBUG, and so forth. To a limited extent you can improve
-# security of read only slaves using 'rename-command' to shadow all the
-# administrative / dangerous commands.
-slave-read-only yes
-
-# Replication SYNC strategy: disk or socket.
-#
-# -------------------------------------------------------
-# WARNING: DISKLESS REPLICATION IS EXPERIMENTAL CURRENTLY
-# -------------------------------------------------------
-#
-# New slaves and reconnecting slaves that are not able to continue the replication
-# process just receiving differences, need to do what is called a "full
-# synchronization". An RDB file is transmitted from the master to the slaves.
-# The transmission can happen in two different ways:
-#
-# 1) Disk-backed: The Redis master creates a new process that writes the RDB
-# file on disk. Later the file is transferred by the parent
-# process to the slaves incrementally.
-# 2) Diskless: The Redis master creates a new process that directly writes the
-# RDB file to slave sockets, without touching the disk at all.
-#
-# With disk-backed replication, while the RDB file is generated, more slaves
-# can be queued and served with the RDB file as soon as the current child producing
-# the RDB file finishes its work. With diskless replication instead once
-# the transfer starts, new slaves arriving will be queued and a new transfer
-# will start when the current one terminates.
-#
-# When diskless replication is used, the master waits a configurable amount of
-# time (in seconds) before starting the transfer in the hope that multiple slaves
-# will arrive and the transfer can be parallelized.
-#
-# With slow disks and fast (large bandwidth) networks, diskless replication
-# works better.
-repl-diskless-sync no
-
-# When diskless replication is enabled, it is possible to configure the delay
-# the server waits in order to spawn the child that transfers the RDB via socket
-# to the slaves.
-#
-# This is important since once the transfer starts, it is not possible to serve
-# new slaves arriving, that will be queued for the next RDB transfer, so the server
-# waits a delay in order to let more slaves arrive.
-#
-# The delay is specified in seconds, and by default is 5 seconds. To disable
-# it entirely just set it to 0 seconds and the transfer will start ASAP.
-repl-diskless-sync-delay 5
-
-# Slaves send PINGs to server in a predefined interval. It's possible to change
-# this interval with the repl_ping_slave_period option. The default value is 10
-# seconds.
-#
-# repl-ping-slave-period 10
-
-# The following option sets the replication timeout for:
-#
-# 1) Bulk transfer I/O during SYNC, from the point of view of slave.
-# 2) Master timeout from the point of view of slaves (data, pings).
-# 3) Slave timeout from the point of view of masters (REPLCONF ACK pings).
-#
-# It is important to make sure that this value is greater than the value
-# specified for repl-ping-slave-period otherwise a timeout will be detected
-# every time there is low traffic between the master and the slave.
-#
-# repl-timeout 60
-
-# Disable TCP_NODELAY on the slave socket after SYNC?
-#
-# If you select "yes" Redis will use a smaller number of TCP packets and
-# less bandwidth to send data to slaves. But this can add a delay for
-# the data to appear on the slave side, up to 40 milliseconds with
-# Linux kernels using a default configuration.
-#
-# If you select "no" the delay for data to appear on the slave side will
-# be reduced but more bandwidth will be used for replication.
-#
-# By default we optimize for low latency, but in very high traffic conditions
-# or when the master and slaves are many hops away, turning this to "yes" may
-# be a good idea.
-repl-disable-tcp-nodelay no
-
-# Set the replication backlog size. The backlog is a buffer that accumulates
-# slave data when slaves are disconnected for some time, so that when a slave
-# wants to reconnect again, often a full resync is not needed, but a partial
-# resync is enough, just passing the portion of data the slave missed while
-# disconnected.
-#
-# The bigger the replication backlog, the longer the time the slave can be
-# disconnected and later be able to perform a partial resynchronization.
-#
-# The backlog is only allocated once there is at least a slave connected.
-#
-# repl-backlog-size 1mb
-
-# After a master has no longer connected slaves for some time, the backlog
-# will be freed. The following option configures the amount of seconds that
-# need to elapse, starting from the time the last slave disconnected, for
-# the backlog buffer to be freed.
-#
-# A value of 0 means to never release the backlog.
-#
-# repl-backlog-ttl 3600
-
-# The slave priority is an integer number published by Redis in the INFO output.
-# It is used by Redis Sentinel in order to select a slave to promote into a
-# master if the master is no longer working correctly.
-#
-# A slave with a low priority number is considered better for promotion, so
-# for instance if there are three slaves with priority 10, 100, 25 Sentinel will
-# pick the one with priority 10, that is the lowest.
-#
-# However a special priority of 0 marks the slave as not able to perform the
-# role of master, so a slave with priority of 0 will never be selected by
-# Redis Sentinel for promotion.
-#
-# By default the priority is 100.
-slave-priority 100
-
-# It is possible for a master to stop accepting writes if there are less than
-# N slaves connected, having a lag less or equal than M seconds.
-#
-# The N slaves need to be in "online" state.
-#
-# The lag in seconds, that must be <= the specified value, is calculated from
-# the last ping received from the slave, that is usually sent every second.
-#
-# This option does not GUARANTEE that N replicas will accept the write, but
-# will limit the window of exposure for lost writes in case not enough slaves
-# are available, to the specified number of seconds.
-#
-# For example to require at least 3 slaves with a lag <= 10 seconds use:
-#
-# min-slaves-to-write 3
-# min-slaves-max-lag 10
-#
-# Setting one or the other to 0 disables the feature.
-#
-# By default min-slaves-to-write is set to 0 (feature disabled) and
-# min-slaves-max-lag is set to 10.
-
-################################## SECURITY ###################################
-
-# Require clients to issue AUTH before processing any other
-# commands. This might be useful in environments in which you do not trust
-# others with access to the host running redis-server.
-#
-# This should stay commented out for backward compatibility and because most
-# people do not need auth (e.g. they run their own servers).
-#
-# Warning: since Redis is pretty fast an outside user can try up to
-# 150k passwords per second against a good box. This means that you should
-# use a very strong password otherwise it will be very easy to break.
-#
-# requirepass foobared
-requirepass {{requirepass}}
-# Command renaming.
-#
-# It is possible to change the name of dangerous commands in a shared
-# environment. For instance the CONFIG command may be renamed into something
-# hard to guess so that it will still be available for internal-use tools
-# but not available for general clients.
-#
-# Example:
-#
-# rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52
-#
-# It is also possible to completely kill a command by renaming it into
-# an empty string:
-#
-# rename-command CONFIG ""
-#
-# Please note that changing the name of commands that are logged into the
-# AOF file or transmitted to slaves may cause problems.
-
-################################### LIMITS ####################################
-
-# Set the max number of connected clients at the same time. By default
-# this limit is set to 10000 clients, however if the Redis server is not
-# able to configure the process file limit to allow for the specified limit
-# the max number of allowed clients is set to the current file limit
-# minus 32 (as Redis reserves a few file descriptors for internal uses).
-#
-# Once the limit is reached Redis will close all the new connections sending
-# an error 'max number of clients reached'.
-#
-# maxclients 10000
-
-# Don't use more memory than the specified amount of bytes.
-# When the memory limit is reached Redis will try to remove keys
-# according to the eviction policy selected (see maxmemory-policy).
-#
-# If Redis can't remove keys according to the policy, or if the policy is
-# set to 'noeviction', Redis will start to reply with errors to commands
-# that would use more memory, like SET, LPUSH, and so on, and will continue
-# to reply to read-only commands like GET.
-#
-# This option is usually useful when using Redis as an LRU cache, or to set
-# a hard memory limit for an instance (using the 'noeviction' policy).
-#
-# WARNING: If you have slaves attached to an instance with maxmemory on,
-# the size of the output buffers needed to feed the slaves are subtracted
-# from the used memory count, so that network problems / resyncs will
-# not trigger a loop where keys are evicted, and in turn the output
-# buffer of slaves is full with DELs of keys evicted triggering the deletion
-# of more keys, and so forth until the database is completely emptied.
-#
-# In short... if you have slaves attached it is suggested that you set a lower
-# limit for maxmemory so that there is some free RAM on the system for slave
-# output buffers (but this is not needed if the policy is 'noeviction').
-#
-# maxmemory
-
-# MAXMEMORY POLICY: how Redis will select what to remove when maxmemory
-# is reached. You can select among five behaviors:
-#
-# volatile-lru -> remove the key with an expire set using an LRU algorithm
-# allkeys-lru -> remove any key according to the LRU algorithm
-# volatile-random -> remove a random key with an expire set
-# allkeys-random -> remove a random key, any key
-# volatile-ttl -> remove the key with the nearest expire time (minor TTL)
-# noeviction -> don't expire at all, just return an error on write operations
-#
-# Note: with any of the above policies, Redis will return an error on write
-# operations, when there are no suitable keys for eviction.
-#
-# At the date of writing these commands are: set setnx setex append
-# incr decr rpush lpush rpushx lpushx linsert lset rpoplpush sadd
-# sinter sinterstore sunion sunionstore sdiff sdiffstore zadd zincrby
-# zunionstore zinterstore hset hsetnx hmset hincrby incrby decrby
-# getset mset msetnx exec sort
-#
-# The default is:
-#
-# maxmemory-policy noeviction
-
-# LRU and minimal TTL algorithms are not precise algorithms but approximated
-# algorithms (in order to save memory), so you can tune it for speed or
-# accuracy. For default Redis will check five keys and pick the one that was
-# used less recently, you can change the sample size using the following
-# configuration directive.
-#
-# The default of 5 produces good enough results. 10 Approximates very closely
-# true LRU but costs a bit more CPU. 3 is very fast but not very accurate.
-#
-# maxmemory-samples 5
-
-############################## APPEND ONLY MODE ###############################
-
-# By default Redis asynchronously dumps the dataset on disk. This mode is
-# good enough in many applications, but an issue with the Redis process or
-# a power outage may result into a few minutes of writes lost (depending on
-# the configured save points).
-#
-# The Append Only File is an alternative persistence mode that provides
-# much better durability. For instance using the default data fsync policy
-# (see later in the config file) Redis can lose just one second of writes in a
-# dramatic event like a server power outage, or a single write if something
-# wrong with the Redis process itself happens, but the operating system is
-# still running correctly.
-#
-# AOF and RDB persistence can be enabled at the same time without problems.
-# If the AOF is enabled on startup Redis will load the AOF, that is the file
-# with the better durability guarantees.
-#
-# Please check http://redis.io/topics/persistence for more information.
-
-appendonly {{appendonly}}
-
-# The name of the append only file (default: "appendonly.aof")
-
-appendfilename "appendonly.aof"
-
-# The fsync() call tells the Operating System to actually write data on disk
-# instead of waiting for more data in the output buffer. Some OS will really flush
-# data on disk, some other OS will just try to do it ASAP.
-#
-# Redis supports three different modes:
-#
-# no: don't fsync, just let the OS flush the data when it wants. Faster.
-# always: fsync after every write to the append only log. Slow, Safest.
-# everysec: fsync only one time every second. Compromise.
-#
-# The default is "everysec", as that's usually the right compromise between
-# speed and data safety. It's up to you to understand if you can relax this to
-# "no" that will let the operating system flush the output buffer when
-# it wants, for better performances (but if you can live with the idea of
-# some data loss consider the default persistence mode that's snapshotting),
-# or on the contrary, use "always" that's very slow but a bit safer than
-# everysec.
-#
-# More details please check the following article:
-# http://antirez.com/post/redis-persistence-demystified.html
-#
-# If unsure, use "everysec".
-
-# appendfsync always
-appendfsync everysec
-# appendfsync no
-
-# When the AOF fsync policy is set to always or everysec, and a background
-# saving process (a background save or AOF log background rewriting) is
-# performing a lot of I/O against the disk, in some Linux configurations
-# Redis may block too long on the fsync() call. Note that there is no fix for
-# this currently, as even performing fsync in a different thread will block
-# our synchronous write(2) call.
-#
-# In order to mitigate this problem it's possible to use the following option
-# that will prevent fsync() from being called in the main process while a
-# BGSAVE or BGREWRITEAOF is in progress.
-#
-# This means that while another child is saving, the durability of Redis is
-# the same as "appendfsync none". In practical terms, this means that it is
-# possible to lose up to 30 seconds of log in the worst scenario (with the
-# default Linux settings).
-#
-# If you have latency problems turn this to "yes". Otherwise leave it as
-# "no" that is the safest pick from the point of view of durability.
-
-no-appendfsync-on-rewrite {{noonrewrite}}
-
-# Automatic rewrite of the append only file.
-# Redis is able to automatically rewrite the log file implicitly calling
-# BGREWRITEAOF when the AOF log size grows by the specified percentage.
-#
-# This is how it works: Redis remembers the size of the AOF file after the
-# latest rewrite (if no rewrite has happened since the restart, the size of
-# the AOF at startup is used).
-#
-# This base size is compared to the current size. If the current size is
-# bigger than the specified percentage, the rewrite is triggered. Also
-# you need to specify a minimal size for the AOF file to be rewritten, this
-# is useful to avoid rewriting the AOF file even if the percentage increase
-# is reached but it is still pretty small.
-#
-# Specify a percentage of zero in order to disable the automatic AOF
-# rewrite feature.
-
-auto-aof-rewrite-percentage 100
-auto-aof-rewrite-min-size 64mb
-
-# An AOF file may be found to be truncated at the end during the Redis
-# startup process, when the AOF data gets loaded back into memory.
-# This may happen when the system where Redis is running
-# crashes, especially when an ext4 filesystem is mounted without the
-# data=ordered option (however this can't happen when Redis itself
-# crashes or aborts but the operating system still works correctly).
-#
-# Redis can either exit with an error when this happens, or load as much
-# data as possible (the default now) and start if the AOF file is found
-# to be truncated at the end. The following option controls this behavior.
-#
-# If aof-load-truncated is set to yes, a truncated AOF file is loaded and
-# the Redis server starts emitting a log to inform the user of the event.
-# Otherwise if the option is set to no, the server aborts with an error
-# and refuses to start. When the option is set to no, the user requires
-# to fix the AOF file using the "redis-check-aof" utility before to restart
-# the server.
-#
-# Note that if the AOF file will be found to be corrupted in the middle
-# the server will still exit with an error. This option only applies when
-# Redis will try to read more data from the AOF file but not enough bytes
-# will be found.
-aof-load-truncated yes
-
-################################ LUA SCRIPTING ###############################
-
-# Max execution time of a Lua script in milliseconds.
-#
-# If the maximum execution time is reached Redis will log that a script is
-# still in execution after the maximum allowed time and will start to
-# reply to queries with an error.
-#
-# When a long running script exceeds the maximum execution time only the
-# SCRIPT KILL and SHUTDOWN NOSAVE commands are available. The first can be
-# used to stop a script that did not yet called write commands. The second
-# is the only way to shut down the server in the case a write command was
-# already issued by the script but the user doesn't want to wait for the natural
-# termination of the script.
-#
-# Set it to 0 or a negative value for unlimited execution without warnings.
-lua-time-limit 5000
-
-################################ REDIS CLUSTER ###############################
-#
-# ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# WARNING EXPERIMENTAL: Redis Cluster is considered to be stable code, however
-# in order to mark it as "mature" we need to wait for a non trivial percentage
-# of users to deploy it in production.
-# ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-#
-# Normal Redis instances can't be part of a Redis Cluster; only nodes that are
-# started as cluster nodes can. In order to start a Redis instance as a
-# cluster node enable the cluster support uncommenting the following:
-#
-# cluster-enabled yes
-
-# Every cluster node has a cluster configuration file. This file is not
-# intended to be edited by hand. It is created and updated by Redis nodes.
-# Every Redis Cluster node requires a different cluster configuration file.
-# Make sure that instances running in the same system do not have
-# overlapping cluster configuration file names.
-#
-# cluster-config-file nodes-6379.conf
-
-# Cluster node timeout is the amount of milliseconds a node must be unreachable
-# for it to be considered in failure state.
-# Most other internal time limits are multiple of the node timeout.
-#
-# cluster-node-timeout 15000
-
-# A slave of a failing master will avoid to start a failover if its data
-# looks too old.
-#
-# There is no simple way for a slave to actually have a exact measure of
-# its "data age", so the following two checks are performed:
-#
-# 1) If there are multiple slaves able to failover, they exchange messages
-# in order to try to give an advantage to the slave with the best
-# replication offset (more data from the master processed).
-# Slaves will try to get their rank by offset, and apply to the start
-# of the failover a delay proportional to their rank.
-#
-# 2) Every single slave computes the time of the last interaction with
-# its master. This can be the last ping or command received (if the master
-# is still in the "connected" state), or the time that elapsed since the
-# disconnection with the master (if the replication link is currently down).
-# If the last interaction is too old, the slave will not try to failover
-# at all.
-#
-# The point "2" can be tuned by user. Specifically a slave will not perform
-# the failover if, since the last interaction with the master, the time
-# elapsed is greater than:
-#
-# (node-timeout * slave-validity-factor) + repl-ping-slave-period
-#
-# So for example if node-timeout is 30 seconds, and the slave-validity-factor
-# is 10, and assuming a default repl-ping-slave-period of 10 seconds, the
-# slave will not try to failover if it was not able to talk with the master
-# for longer than 310 seconds.
-#
-# A large slave-validity-factor may allow slaves with too old data to failover
-# a master, while a too small value may prevent the cluster from being able to
-# elect a slave at all.
-#
-# For maximum availability, it is possible to set the slave-validity-factor
-# to a value of 0, which means, that slaves will always try to failover the
-# master regardless of the last time they interacted with the master.
-# (However they'll always try to apply a delay proportional to their
-# offset rank).
-#
-# Zero is the only value able to guarantee that when all the partitions heal
-# the cluster will always be able to continue.
-#
-# cluster-slave-validity-factor 10
-
-# Cluster slaves are able to migrate to orphaned masters, that are masters
-# that are left without working slaves. This improves the cluster ability
-# to resist to failures as otherwise an orphaned master can't be failed over
-# in case of failure if it has no working slaves.
-#
-# Slaves migrate to orphaned masters only if there are still at least a
-# given number of other working slaves for their old master. This number
-# is the "migration barrier". A migration barrier of 1 means that a slave
-# will migrate only if there is at least 1 other working slave for its master
-# and so forth. It usually reflects the number of slaves you want for every
-# master in your cluster.
-#
-# Default is 1 (slaves migrate only if their masters remain with at least
-# one slave). To disable migration just set it to a very large value.
-# A value of 0 can be set but is useful only for debugging and dangerous
-# in production.
-#
-# cluster-migration-barrier 1
-
-# By default Redis Cluster nodes stop accepting queries if they detect there
-# is at least an hash slot uncovered (no available node is serving it).
-# This way if the cluster is partially down (for example a range of hash slots
-# are no longer covered) all the cluster becomes, eventually, unavailable.
-# It automatically returns available as soon as all the slots are covered again.
-#
-# However sometimes you want the subset of the cluster which is working,
-# to continue to accept queries for the part of the key space that is still
-# covered. In order to do so, just set the cluster-require-full-coverage
-# option to no.
-#
-# cluster-require-full-coverage yes
-
-# In order to setup your cluster make sure to read the documentation
-# available at http://redis.io web site.
-
-################################## SLOW LOG ###################################
-
-# The Redis Slow Log is a system to log queries that exceeded a specified
-# execution time. The execution time does not include the I/O operations
-# like talking with the client, sending the reply and so forth,
-# but just the time needed to actually execute the command (this is the only
-# stage of command execution where the thread is blocked and can not serve
-# other requests in the meantime).
-#
-# You can configure the slow log with two parameters: one tells Redis
-# what is the execution time, in microseconds, to exceed in order for the
-# command to get logged, and the other parameter is the length of the
-# slow log. When a new command is logged the oldest one is removed from the
-# queue of logged commands.
-
-# The following time is expressed in microseconds, so 1000000 is equivalent
-# to one second. Note that a negative number disables the slow log, while
-# a value of zero forces the logging of every command.
-slowlog-log-slower-than 10000
-
-# There is no limit to this length. Just be aware that it will consume memory.
-# You can reclaim memory used by the slow log with SLOWLOG RESET.
-slowlog-max-len 128
-
-################################ LATENCY MONITOR ##############################
-
-# The Redis latency monitoring subsystem samples different operations
-# at runtime in order to collect data related to possible sources of
-# latency of a Redis instance.
-#
-# Via the LATENCY command this information is available to the user that can
-# print graphs and obtain reports.
-#
-# The system only logs operations that were performed in a time equal or
-# greater than the amount of milliseconds specified via the
-# latency-monitor-threshold configuration directive. When its value is set
-# to zero, the latency monitor is turned off.
-#
-# By default latency monitoring is disabled since it is mostly not needed
-# if you don't have latency issues, and collecting data has a performance
-# impact, that while very small, can be measured under big load. Latency
-# monitoring can easily be enabled at runtime using the command
-# "CONFIG SET latency-monitor-threshold " if needed.
-latency-monitor-threshold 0
-
-############################# EVENT NOTIFICATION ##############################
-
-# Redis can notify Pub/Sub clients about events happening in the key space.
-# This feature is documented at http://redis.io/topics/notifications
-#
-# For instance if keyspace events notification is enabled, and a client
-# performs a DEL operation on key "foo" stored in the Database 0, two
-# messages will be published via Pub/Sub:
-#
-# PUBLISH __keyspace@0__:foo del
-# PUBLISH __keyevent@0__:del foo
-#
-# It is possible to select the events that Redis will notify among a set
-# of classes. Every class is identified by a single character:
-#
-# K Keyspace events, published with __keyspace@__ prefix.
-# E Keyevent events, published with __keyevent@__ prefix.
-# g Generic commands (non-type specific) like DEL, EXPIRE, RENAME, ...
-# $ String commands
-# l List commands
-# s Set commands
-# h Hash commands
-# z Sorted set commands
-# x Expired events (events generated every time a key expires)
-# e Evicted events (events generated when a key is evicted for maxmemory)
-# A Alias for g$lshzxe, so that the "AKE" string means all the events.
-#
-# The "notify-keyspace-events" takes as argument a string that is composed
-# of zero or multiple characters. The empty string means that notifications
-# are disabled.
-#
-# Example: to enable list and generic events, from the point of view of the
-# event name, use:
-#
-# notify-keyspace-events Elg
-#
-# Example 2: to get the stream of the expired keys subscribing to channel
-# name __keyevent@0__:expired use:
-#
-# notify-keyspace-events Ex
-#
-# By default all notifications are disabled because most users don't need
-# this feature and the feature has some overhead. Note that if you don't
-# specify at least one of K or E, no events will be delivered.
-notify-keyspace-events ""
-
-############################### ADVANCED CONFIG ###############################
-
-# Hashes are encoded using a memory efficient data structure when they have a
-# small number of entries, and the biggest entry does not exceed a given
-# threshold. These thresholds can be configured using the following directives.
-hash-max-ziplist-entries 512
-hash-max-ziplist-value 64
-
-# Similarly to hashes, small lists are also encoded in a special way in order
-# to save a lot of space. The special representation is only used when
-# you are under the following limits:
-list-max-ziplist-entries 512
-list-max-ziplist-value 64
-
-# Sets have a special encoding in just one case: when a set is composed
-# of just strings that happen to be integers in radix 10 in the range
-# of 64 bit signed integers.
-# The following configuration setting sets the limit in the size of the
-# set in order to use this special memory saving encoding.
-set-max-intset-entries 512
-
-# Similarly to hashes and lists, sorted sets are also specially encoded in
-# order to save a lot of space. This encoding is only used when the length and
-# elements of a sorted set are below the following limits:
-zset-max-ziplist-entries 128
-zset-max-ziplist-value 64
-
-# HyperLogLog sparse representation bytes limit. The limit includes the
-# 16 bytes header. When an HyperLogLog using the sparse representation crosses
-# this limit, it is converted into the dense representation.
-#
-# A value greater than 16000 is totally useless, since at that point the
-# dense representation is more memory efficient.
-#
-# The suggested value is ~ 3000 in order to have the benefits of
-# the space efficient encoding without slowing down too much PFADD,
-# which is O(N) with the sparse encoding. The value can be raised to
-# ~ 10000 when CPU is not a concern, but space is, and the data set is
-# composed of many HyperLogLogs with cardinality in the 0 - 15000 range.
-hll-sparse-max-bytes 3000
-
-# Active rehashing uses 1 millisecond every 100 milliseconds of CPU time in
-# order to help rehashing the main Redis hash table (the one mapping top-level
-# keys to values). The hash table implementation Redis uses (see dict.c)
-# performs a lazy rehashing: the more operation you run into a hash table
-# that is rehashing, the more rehashing "steps" are performed, so if the
-# server is idle the rehashing is never complete and some more memory is used
-# by the hash table.
-#
-# The default is to use this millisecond 10 times every second in order to
-# actively rehash the main dictionaries, freeing memory when possible.
-#
-# If unsure:
-# use "activerehashing no" if you have hard latency requirements and it is
-# not a good thing in your environment that Redis can reply from time to time
-# to queries with 2 milliseconds delay.
-#
-# use "activerehashing yes" if you don't have such hard requirements but
-# want to free memory asap when possible.
-activerehashing yes
-
-# The client output buffer limits can be used to force disconnection of clients
-# that are not reading data from the server fast enough for some reason (a
-# common reason is that a Pub/Sub client can't consume messages as fast as the
-# publisher can produce them).
-#
-# The limit can be set differently for the three different classes of clients:
-#
-# normal -> normal clients including MONITOR clients
-# slave -> slave clients
-# pubsub -> clients subscribed to at least one pubsub channel or pattern
-#
-# The syntax of every client-output-buffer-limit directive is the following:
-#
-# client-output-buffer-limit
-#
-# A client is immediately disconnected once the hard limit is reached, or if
-# the soft limit is reached and remains reached for the specified number of
-# seconds (continuously).
-# So for instance if the hard limit is 32 megabytes and the soft limit is
-# 16 megabytes / 10 seconds, the client will get disconnected immediately
-# if the size of the output buffers reach 32 megabytes, but will also get
-# disconnected if the client reaches 16 megabytes and continuously overcomes
-# the limit for 10 seconds.
-#
-# By default normal clients are not limited because they don't receive data
-# without asking (in a push way), but just after a request, so only
-# asynchronous clients may create a scenario where data is requested faster
-# than it can read.
-#
-# Instead there is a default limit for pubsub and slave clients, since
-# subscribers and slaves receive data in a push fashion.
-#
-# Both the hard or the soft limit can be disabled by setting them to zero.
-client-output-buffer-limit normal 0 0 0
-client-output-buffer-limit slave 256mb 64mb 60
-client-output-buffer-limit pubsub 32mb 8mb 60
-
-# Redis calls an internal function to perform many background tasks, like
-# closing connections of clients in timeout, purging expired keys that are
-# never requested, and so forth.
-#
-# Not all tasks are performed with the same frequency, but Redis checks for
-# tasks to perform according to the specified "hz" value.
-#
-# By default "hz" is set to 10. Raising the value will use more CPU when
-# Redis is idle, but at the same time will make Redis more responsive when
-# there are many keys expiring at the same time, and timeouts may be
-# handled with more precision.
-#
-# The range is between 1 and 500, however a value over 100 is usually not
-# a good idea. Most users should use the default of 10 and raise this up to
-# 100 only in environments where very low latency is required.
-hz 10
-
-# When a child rewrites the AOF file, if the following option is enabled
-# the file will be fsync-ed every 32 MB of data generated. This is useful
-# in order to commit the file to the disk more incrementally and avoid
-# big latency spikes.
-aof-rewrite-incremental-fsync yes
diff --git a/template/redis/redis3.2.4.j2 b/template/redis/redis3.2.4.j2
deleted file mode 100644
index 7335fa76..00000000
--- a/template/redis/redis3.2.4.j2
+++ /dev/null
@@ -1,1049 +0,0 @@
-# Redis configuration file example.
-#
-# Note that in order to read the configuration file, Redis must be
-# started with the file path as first argument:
-#
-# ./redis-server /path/to/redis.conf
-
-# Note on units: when memory size is needed, it is possible to specify
-# it in the usual form of 1k 5GB 4M and so forth:
-#
-# 1k => 1000 bytes
-# 1kb => 1024 bytes
-# 1m => 1000000 bytes
-# 1mb => 1024*1024 bytes
-# 1g => 1000000000 bytes
-# 1gb => 1024*1024*1024 bytes
-#
-# units are case insensitive so 1GB 1Gb 1gB are all the same.
-{{extend}}
-################################## INCLUDES ###################################
-
-# Include one or more other config files here. This is useful if you
-# have a standard template that goes to all Redis servers but also need
-# to customize a few per-server settings. Include files can include
-# other files, so use this wisely.
-#
-# Notice option "include" won't be rewritten by command "CONFIG REWRITE"
-# from admin or Redis Sentinel. Since Redis always uses the last processed
-# line as value of a configuration directive, you'd better put includes
-# at the beginning of this file to avoid overwriting config change at runtime.
-#
-# If instead you are interested in using includes to override configuration
-# options, it is better to use include as the last line.
-#
-# include /path/to/local.conf
-# include /path/to/other.conf
-
-################################## NETWORK #####################################
-
-# By default, if no "bind" configuration directive is specified, Redis listens
-# for connections from all the network interfaces available on the server.
-# It is possible to listen to just one or multiple selected interfaces using
-# the "bind" configuration directive, followed by one or more IP addresses.
-#
-# Examples:
-#
-# bind 192.168.1.100 10.0.0.1
-# bind 127.0.0.1 ::1
-#
-# ~~~ WARNING ~~~ If the computer running Redis is directly exposed to the
-# internet, binding to all the interfaces is dangerous and will expose the
-# instance to everybody on the internet. So by default we uncomment the
-# following bind directive, that will force Redis to listen only into
-# the IPv4 lookback interface address (this means Redis will be able to
-# accept connections only from clients running into the same computer it
-# is running).
-#
-# IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES
-# JUST COMMENT THE FOLLOWING LINE.
-# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-bind {{bind}}
-
-# Protected mode is a layer of security protection, in order to avoid that
-# Redis instances left open on the internet are accessed and exploited.
-#
-# When protected mode is on and if:
-#
-# 1) The server is not binding explicitly to a set of addresses using the
-# "bind" directive.
-# 2) No password is configured.
-#
-# The server only accepts connections from clients connecting from the
-# IPv4 and IPv6 loopback addresses 127.0.0.1 and ::1, and from Unix domain
-# sockets.
-#
-# By default protected mode is enabled. You should disable it only if
-# you are sure you want clients from other hosts to connect to Redis
-# even if no authentication is configured, nor a specific set of interfaces
-# are explicitly listed using the "bind" directive.
-protected-mode yes
-
-# Accept connections on the specified port, default is 6379 (IANA #815344).
-# If port 0 is specified Redis will not listen on a TCP socket.
-port {{port}}
-
-# TCP listen() backlog.
-#
-# In high requests-per-second environments you need an high backlog in order
-# to avoid slow clients connections issues. Note that the Linux kernel
-# will silently truncate it to the value of /proc/sys/net/core/somaxconn so
-# make sure to raise both the value of somaxconn and tcp_max_syn_backlog
-# in order to get the desired effect.
-tcp-backlog 511
-
-# Unix socket.
-#
-# Specify the path for the Unix socket that will be used to listen for
-# incoming connections. There is no default, so Redis will not listen
-# on a unix socket when not specified.
-#
-# unixsocket /tmp/redis.sock
-# unixsocketperm 700
-
-# Close the connection after a client is idle for N seconds (0 to disable)
-timeout 0
-
-# TCP keepalive.
-#
-# If non-zero, use SO_KEEPALIVE to send TCP ACKs to clients in absence
-# of communication. This is useful for two reasons:
-#
-# 1) Detect dead peers.
-# 2) Take the connection alive from the point of view of network
-# equipment in the middle.
-#
-# On Linux, the specified value (in seconds) is the period used to send ACKs.
-# Note that to close the connection the double of the time is needed.
-# On other kernels the period depends on the kernel configuration.
-#
-# A reasonable value for this option is 300 seconds, which is the new
-# Redis default starting with Redis 3.2.1.
-tcp-keepalive 300
-
-################################# GENERAL #####################################
-
-# By default Redis does not run as a daemon. Use 'yes' if you need it.
-# Note that Redis will write a pid file in /var/run/redis.pid when daemonized.
-daemonize yes
-
-# If you run Redis from upstart or systemd, Redis can interact with your
-# supervision tree. Options:
-# supervised no - no supervision interaction
-# supervised upstart - signal upstart by putting Redis into SIGSTOP mode
-# supervised systemd - signal systemd by writing READY=1 to $NOTIFY_SOCKET
-# supervised auto - detect upstart or systemd method based on
-# UPSTART_JOB or NOTIFY_SOCKET environment variables
-# Note: these supervision methods only signal "process is ready."
-# They do not enable continuous liveness pings back to your supervisor.
-supervised no
-
-# If a pid file is specified, Redis writes it where specified at startup
-# and removes it at exit.
-#
-# When the server runs non daemonized, no pid file is created if none is
-# specified in the configuration. When the server is daemonized, the pid file
-# is used even if not specified, defaulting to "/var/run/redis.pid".
-#
-# Creating a pid file is best effort: if Redis is not able to create it
-# nothing bad happens, the server will start and run normally.
-pidfile /var/run/redis_{{port}}.pid
-
-# Specify the server verbosity level.
-# This can be one of:
-# debug (a lot of information, useful for development/testing)
-# verbose (many rarely useful info, but not a mess like the debug level)
-# notice (moderately verbose, what you want in production probably)
-# warning (only very important / critical messages are logged)
-loglevel notice
-
-# Specify the log file name. Also the empty string can be used to force
-# Redis to log on the standard output. Note that if you use standard
-# output for logging but daemonize, logs will be sent to /dev/null
-logfile "{{logfile}}"
-
-# To enable logging to the system logger, just set 'syslog-enabled' to yes,
-# and optionally update the other syslog parameters to suit your needs.
-# syslog-enabled no
-
-# Specify the syslog identity.
-# syslog-ident redis
-
-# Specify the syslog facility. Must be USER or between LOCAL0-LOCAL7.
-# syslog-facility local0
-
-# Set the number of databases. The default database is DB 0, you can select
-# a different one on a per-connection basis using SELECT where
-# dbid is a number between 0 and 'databases'-1
-databases 16
-
-################################ SNAPSHOTTING ################################
-#
-# Save the DB on disk:
-#
-# save
-#
-# Will save the DB if both the given number of seconds and the given
-# number of write operations against the DB occurred.
-#
-# In the example below the behaviour will be to save:
-# after 900 sec (15 min) if at least 1 key changed
-# after 300 sec (5 min) if at least 10 keys changed
-# after 60 sec if at least 10000 keys changed
-#
-# Note: you can disable saving completely by commenting out all "save" lines.
-#
-# It is also possible to remove all the previously configured save
-# points by adding a save directive with a single empty string argument
-# like in the following example:
-#
-# save ""
-{{saveoptions}}
-
-# By default Redis will stop accepting writes if RDB snapshots are enabled
-# (at least one save point) and the latest background save failed.
-# This will make the user aware (in a hard way) that data is not persisting
-# on disk properly, otherwise chances are that no one will notice and some
-# disaster will happen.
-#
-# If the background saving process will start working again Redis will
-# automatically allow writes again.
-#
-# However if you have setup your proper monitoring of the Redis server
-# and persistence, you may want to disable this feature so that Redis will
-# continue to work as usual even if there are problems with disk,
-# permissions, and so forth.
-stop-writes-on-bgsave-error yes
-
-# Compress string objects using LZF when dump .rdb databases?
-# For default that's set to 'yes' as it's almost always a win.
-# If you want to save some CPU in the saving child set it to 'no' but
-# the dataset will likely be bigger if you have compressible values or keys.
-rdbcompression yes
-
-# Since version 5 of RDB a CRC64 checksum is placed at the end of the file.
-# This makes the format more resistant to corruption but there is a performance
-# hit to pay (around 10%) when saving and loading RDB files, so you can disable it
-# for maximum performances.
-#
-# RDB files created with checksum disabled have a checksum of zero that will
-# tell the loading code to skip the check.
-rdbchecksum yes
-
-# The filename where to dump the DB
-dbfilename {{dbfilename}}
-
-# The working directory.
-#
-# The DB will be written inside this directory, with the filename specified
-# above using the 'dbfilename' configuration directive.
-#
-# The Append Only File will also be created inside this directory.
-#
-# Note that you must specify a directory here, not a file name.
-dir {{dir}}
-
-################################# REPLICATION #################################
-
-# Master-Slave replication. Use slaveof to make a Redis instance a copy of
-# another Redis server. A few things to understand ASAP about Redis replication.
-#
-# 1) Redis replication is asynchronous, but you can configure a master to
-# stop accepting writes if it appears to be not connected with at least
-# a given number of slaves.
-# 2) Redis slaves are able to perform a partial resynchronization with the
-# master if the replication link is lost for a relatively small amount of
-# time. You may want to configure the replication backlog size (see the next
-# sections of this file) with a sensible value depending on your needs.
-# 3) Replication is automatic and does not need user intervention. After a
-# network partition slaves automatically try to reconnect to masters
-# and resynchronize with them.
-#
-# slaveof
-{{slaveof}}
-# If the master is password protected (using the "requirepass" configuration
-# directive below) it is possible to tell the slave to authenticate before
-# starting the replication synchronization process, otherwise the master will
-# refuse the slave request.
-#
-# masterauth
-{{masterauth}}
-# When a slave loses its connection with the master, or when the replication
-# is still in progress, the slave can act in two different ways:
-#
-# 1) if slave-serve-stale-data is set to 'yes' (the default) the slave will
-# still reply to client requests, possibly with out of date data, or the
-# data set may just be empty if this is the first synchronization.
-#
-# 2) if slave-serve-stale-data is set to 'no' the slave will reply with
-# an error "SYNC with master in progress" to all the kind of commands
-# but to INFO and SLAVEOF.
-#
-slave-serve-stale-data yes
-
-# You can configure a slave instance to accept writes or not. Writing against
-# a slave instance may be useful to store some ephemeral data (because data
-# written on a slave will be easily deleted after resync with the master) but
-# may also cause problems if clients are writing to it because of a
-# misconfiguration.
-#
-# Since Redis 2.6 by default slaves are read-only.
-#
-# Note: read only slaves are not designed to be exposed to untrusted clients
-# on the internet. It's just a protection layer against misuse of the instance.
-# Still a read only slave exports by default all the administrative commands
-# such as CONFIG, DEBUG, and so forth. To a limited extent you can improve
-# security of read only slaves using 'rename-command' to shadow all the
-# administrative / dangerous commands.
-slave-read-only yes
-
-# Replication SYNC strategy: disk or socket.
-#
-# -------------------------------------------------------
-# WARNING: DISKLESS REPLICATION IS EXPERIMENTAL CURRENTLY
-# -------------------------------------------------------
-#
-# New slaves and reconnecting slaves that are not able to continue the replication
-# process just receiving differences, need to do what is called a "full
-# synchronization". An RDB file is transmitted from the master to the slaves.
-# The transmission can happen in two different ways:
-#
-# 1) Disk-backed: The Redis master creates a new process that writes the RDB
-# file on disk. Later the file is transferred by the parent
-# process to the slaves incrementally.
-# 2) Diskless: The Redis master creates a new process that directly writes the
-# RDB file to slave sockets, without touching the disk at all.
-#
-# With disk-backed replication, while the RDB file is generated, more slaves
-# can be queued and served with the RDB file as soon as the current child producing
-# the RDB file finishes its work. With diskless replication instead once
-# the transfer starts, new slaves arriving will be queued and a new transfer
-# will start when the current one terminates.
-#
-# When diskless replication is used, the master waits a configurable amount of
-# time (in seconds) before starting the transfer in the hope that multiple slaves
-# will arrive and the transfer can be parallelized.
-#
-# With slow disks and fast (large bandwidth) networks, diskless replication
-# works better.
-repl-diskless-sync no
-
-# When diskless replication is enabled, it is possible to configure the delay
-# the server waits in order to spawn the child that transfers the RDB via socket
-# to the slaves.
-#
-# This is important since once the transfer starts, it is not possible to serve
-# new slaves arriving, that will be queued for the next RDB transfer, so the server
-# waits a delay in order to let more slaves arrive.
-#
-# The delay is specified in seconds, and by default is 5 seconds. To disable
-# it entirely just set it to 0 seconds and the transfer will start ASAP.
-repl-diskless-sync-delay 5
-
-# Slaves send PINGs to server in a predefined interval. It's possible to change
-# this interval with the repl_ping_slave_period option. The default value is 10
-# seconds.
-#
-# repl-ping-slave-period 10
-
-# The following option sets the replication timeout for:
-#
-# 1) Bulk transfer I/O during SYNC, from the point of view of slave.
-# 2) Master timeout from the point of view of slaves (data, pings).
-# 3) Slave timeout from the point of view of masters (REPLCONF ACK pings).
-#
-# It is important to make sure that this value is greater than the value
-# specified for repl-ping-slave-period otherwise a timeout will be detected
-# every time there is low traffic between the master and the slave.
-#
-# repl-timeout 60
-
-# Disable TCP_NODELAY on the slave socket after SYNC?
-#
-# If you select "yes" Redis will use a smaller number of TCP packets and
-# less bandwidth to send data to slaves. But this can add a delay for
-# the data to appear on the slave side, up to 40 milliseconds with
-# Linux kernels using a default configuration.
-#
-# If you select "no" the delay for data to appear on the slave side will
-# be reduced but more bandwidth will be used for replication.
-#
-# By default we optimize for low latency, but in very high traffic conditions
-# or when the master and slaves are many hops away, turning this to "yes" may
-# be a good idea.
-repl-disable-tcp-nodelay no
-
-# Set the replication backlog size. The backlog is a buffer that accumulates
-# slave data when slaves are disconnected for some time, so that when a slave
-# wants to reconnect again, often a full resync is not needed, but a partial
-# resync is enough, just passing the portion of data the slave missed while
-# disconnected.
-#
-# The bigger the replication backlog, the longer the time the slave can be
-# disconnected and later be able to perform a partial resynchronization.
-#
-# The backlog is only allocated once there is at least a slave connected.
-#
-# repl-backlog-size 1mb
-
-# After a master has no longer connected slaves for some time, the backlog
-# will be freed. The following option configures the amount of seconds that
-# need to elapse, starting from the time the last slave disconnected, for
-# the backlog buffer to be freed.
-#
-# A value of 0 means to never release the backlog.
-#
-# repl-backlog-ttl 3600
-
-# The slave priority is an integer number published by Redis in the INFO output.
-# It is used by Redis Sentinel in order to select a slave to promote into a
-# master if the master is no longer working correctly.
-#
-# A slave with a low priority number is considered better for promotion, so
-# for instance if there are three slaves with priority 10, 100, 25 Sentinel will
-# pick the one with priority 10, that is the lowest.
-#
-# However a special priority of 0 marks the slave as not able to perform the
-# role of master, so a slave with priority of 0 will never be selected by
-# Redis Sentinel for promotion.
-#
-# By default the priority is 100.
-slave-priority 100
-
-# It is possible for a master to stop accepting writes if there are less than
-# N slaves connected, having a lag less or equal than M seconds.
-#
-# The N slaves need to be in "online" state.
-#
-# The lag in seconds, that must be <= the specified value, is calculated from
-# the last ping received from the slave, that is usually sent every second.
-#
-# This option does not GUARANTEE that N replicas will accept the write, but
-# will limit the window of exposure for lost writes in case not enough slaves
-# are available, to the specified number of seconds.
-#
-# For example to require at least 3 slaves with a lag <= 10 seconds use:
-#
-# min-slaves-to-write 3
-# min-slaves-max-lag 10
-#
-# Setting one or the other to 0 disables the feature.
-#
-# By default min-slaves-to-write is set to 0 (feature disabled) and
-# min-slaves-max-lag is set to 10.
-
-# A Redis master is able to list the address and port of the attached
-# slaves in different ways. For example the "INFO replication" section
-# offers this information, which is used, among other tools, by
-# Redis Sentinel in order to discover slave instances.
-# Another place where this info is available is in the output of the
-# "ROLE" command of a masteer.
-#
-# The listed IP and address normally reported by a slave is obtained
-# in the following way:
-#
-# IP: The address is auto detected by checking the peer address
-# of the socket used by the slave to connect with the master.
-#
-# Port: The port is communicated by the slave during the replication
-# handshake, and is normally the port that the slave is using to
-# list for connections.
-#
-# However when port forwarding or Network Address Translation (NAT) is
-# used, the slave may be actually reachable via different IP and port
-# pairs. The following two options can be used by a slave in order to
-# report to its master a specific set of IP and port, so that both INFO
-# and ROLE will report those values.
-#
-# There is no need to use both the options if you need to override just
-# the port or the IP address.
-#
-# slave-announce-ip 5.5.5.5
-# slave-announce-port 1234
-
-################################## SECURITY ###################################
-
-# Require clients to issue AUTH before processing any other
-# commands. This might be useful in environments in which you do not trust
-# others with access to the host running redis-server.
-#
-# This should stay commented out for backward compatibility and because most
-# people do not need auth (e.g. they run their own servers).
-#
-# Warning: since Redis is pretty fast an outside user can try up to
-# 150k passwords per second against a good box. This means that you should
-# use a very strong password otherwise it will be very easy to break.
-#
-# requirepass foobared
-requirepass {{requirepass}}
-# Command renaming.
-#
-# It is possible to change the name of dangerous commands in a shared
-# environment. For instance the CONFIG command may be renamed into something
-# hard to guess so that it will still be available for internal-use tools
-# but not available for general clients.
-#
-# Example:
-#
-# rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52
-#
-# It is also possible to completely kill a command by renaming it into
-# an empty string:
-#
-# rename-command CONFIG ""
-#
-# Please note that changing the name of commands that are logged into the
-# AOF file or transmitted to slaves may cause problems.
-
-################################### LIMITS ####################################
-
-# Set the max number of connected clients at the same time. By default
-# this limit is set to 10000 clients, however if the Redis server is not
-# able to configure the process file limit to allow for the specified limit
-# the max number of allowed clients is set to the current file limit
-# minus 32 (as Redis reserves a few file descriptors for internal uses).
-#
-# Once the limit is reached Redis will close all the new connections sending
-# an error 'max number of clients reached'.
-#
-# maxclients 10000
-
-# Don't use more memory than the specified amount of bytes.
-# When the memory limit is reached Redis will try to remove keys
-# according to the eviction policy selected (see maxmemory-policy).
-#
-# If Redis can't remove keys according to the policy, or if the policy is
-# set to 'noeviction', Redis will start to reply with errors to commands
-# that would use more memory, like SET, LPUSH, and so on, and will continue
-# to reply to read-only commands like GET.
-#
-# This option is usually useful when using Redis as an LRU cache, or to set
-# a hard memory limit for an instance (using the 'noeviction' policy).
-#
-# WARNING: If you have slaves attached to an instance with maxmemory on,
-# the size of the output buffers needed to feed the slaves are subtracted
-# from the used memory count, so that network problems / resyncs will
-# not trigger a loop where keys are evicted, and in turn the output
-# buffer of slaves is full with DELs of keys evicted triggering the deletion
-# of more keys, and so forth until the database is completely emptied.
-#
-# In short... if you have slaves attached it is suggested that you set a lower
-# limit for maxmemory so that there is some free RAM on the system for slave
-# output buffers (but this is not needed if the policy is 'noeviction').
-#
-# maxmemory
-
-# MAXMEMORY POLICY: how Redis will select what to remove when maxmemory
-# is reached. You can select among five behaviors:
-#
-# volatile-lru -> remove the key with an expire set using an LRU algorithm
-# allkeys-lru -> remove any key according to the LRU algorithm
-# volatile-random -> remove a random key with an expire set
-# allkeys-random -> remove a random key, any key
-# volatile-ttl -> remove the key with the nearest expire time (minor TTL)
-# noeviction -> don't expire at all, just return an error on write operations
-#
-# Note: with any of the above policies, Redis will return an error on write
-# operations, when there are no suitable keys for eviction.
-#
-# At the date of writing these commands are: set setnx setex append
-# incr decr rpush lpush rpushx lpushx linsert lset rpoplpush sadd
-# sinter sinterstore sunion sunionstore sdiff sdiffstore zadd zincrby
-# zunionstore zinterstore hset hsetnx hmset hincrby incrby decrby
-# getset mset msetnx exec sort
-#
-# The default is:
-#
-# maxmemory-policy noeviction
-
-# LRU and minimal TTL algorithms are not precise algorithms but approximated
-# algorithms (in order to save memory), so you can tune it for speed or
-# accuracy. For default Redis will check five keys and pick the one that was
-# used less recently, you can change the sample size using the following
-# configuration directive.
-#
-# The default of 5 produces good enough results. 10 Approximates very closely
-# true LRU but costs a bit more CPU. 3 is very fast but not very accurate.
-#
-# maxmemory-samples 5
-
-############################## APPEND ONLY MODE ###############################
-
-# By default Redis asynchronously dumps the dataset on disk. This mode is
-# good enough in many applications, but an issue with the Redis process or
-# a power outage may result into a few minutes of writes lost (depending on
-# the configured save points).
-#
-# The Append Only File is an alternative persistence mode that provides
-# much better durability. For instance using the default data fsync policy
-# (see later in the config file) Redis can lose just one second of writes in a
-# dramatic event like a server power outage, or a single write if something
-# wrong with the Redis process itself happens, but the operating system is
-# still running correctly.
-#
-# AOF and RDB persistence can be enabled at the same time without problems.
-# If the AOF is enabled on startup Redis will load the AOF, that is the file
-# with the better durability guarantees.
-#
-# Please check http://redis.io/topics/persistence for more information.
-
-appendonly {{appendonly}}
-
-# The name of the append only file (default: "appendonly.aof")
-
-appendfilename "appendonly.aof"
-
-# The fsync() call tells the Operating System to actually write data on disk
-# instead of waiting for more data in the output buffer. Some OS will really flush
-# data on disk, some other OS will just try to do it ASAP.
-#
-# Redis supports three different modes:
-#
-# no: don't fsync, just let the OS flush the data when it wants. Faster.
-# always: fsync after every write to the append only log. Slow, Safest.
-# everysec: fsync only one time every second. Compromise.
-#
-# The default is "everysec", as that's usually the right compromise between
-# speed and data safety. It's up to you to understand if you can relax this to
-# "no" that will let the operating system flush the output buffer when
-# it wants, for better performances (but if you can live with the idea of
-# some data loss consider the default persistence mode that's snapshotting),
-# or on the contrary, use "always" that's very slow but a bit safer than
-# everysec.
-#
-# More details please check the following article:
-# http://antirez.com/post/redis-persistence-demystified.html
-#
-# If unsure, use "everysec".
-
-# appendfsync always
-appendfsync everysec
-# appendfsync no
-
-# When the AOF fsync policy is set to always or everysec, and a background
-# saving process (a background save or AOF log background rewriting) is
-# performing a lot of I/O against the disk, in some Linux configurations
-# Redis may block too long on the fsync() call. Note that there is no fix for
-# this currently, as even performing fsync in a different thread will block
-# our synchronous write(2) call.
-#
-# In order to mitigate this problem it's possible to use the following option
-# that will prevent fsync() from being called in the main process while a
-# BGSAVE or BGREWRITEAOF is in progress.
-#
-# This means that while another child is saving, the durability of Redis is
-# the same as "appendfsync none". In practical terms, this means that it is
-# possible to lose up to 30 seconds of log in the worst scenario (with the
-# default Linux settings).
-#
-# If you have latency problems turn this to "yes". Otherwise leave it as
-# "no" that is the safest pick from the point of view of durability.
-
-no-appendfsync-on-rewrite {{noonrewrite}}
-
-# Automatic rewrite of the append only file.
-# Redis is able to automatically rewrite the log file implicitly calling
-# BGREWRITEAOF when the AOF log size grows by the specified percentage.
-#
-# This is how it works: Redis remembers the size of the AOF file after the
-# latest rewrite (if no rewrite has happened since the restart, the size of
-# the AOF at startup is used).
-#
-# This base size is compared to the current size. If the current size is
-# bigger than the specified percentage, the rewrite is triggered. Also
-# you need to specify a minimal size for the AOF file to be rewritten, this
-# is useful to avoid rewriting the AOF file even if the percentage increase
-# is reached but it is still pretty small.
-#
-# Specify a percentage of zero in order to disable the automatic AOF
-# rewrite feature.
-
-auto-aof-rewrite-percentage 100
-auto-aof-rewrite-min-size 64mb
-
-# An AOF file may be found to be truncated at the end during the Redis
-# startup process, when the AOF data gets loaded back into memory.
-# This may happen when the system where Redis is running
-# crashes, especially when an ext4 filesystem is mounted without the
-# data=ordered option (however this can't happen when Redis itself
-# crashes or aborts but the operating system still works correctly).
-#
-# Redis can either exit with an error when this happens, or load as much
-# data as possible (the default now) and start if the AOF file is found
-# to be truncated at the end. The following option controls this behavior.
-#
-# If aof-load-truncated is set to yes, a truncated AOF file is loaded and
-# the Redis server starts emitting a log to inform the user of the event.
-# Otherwise if the option is set to no, the server aborts with an error
-# and refuses to start. When the option is set to no, the user requires
-# to fix the AOF file using the "redis-check-aof" utility before to restart
-# the server.
-#
-# Note that if the AOF file will be found to be corrupted in the middle
-# the server will still exit with an error. This option only applies when
-# Redis will try to read more data from the AOF file but not enough bytes
-# will be found.
-aof-load-truncated yes
-
-################################ LUA SCRIPTING ###############################
-
-# Max execution time of a Lua script in milliseconds.
-#
-# If the maximum execution time is reached Redis will log that a script is
-# still in execution after the maximum allowed time and will start to
-# reply to queries with an error.
-#
-# When a long running script exceeds the maximum execution time only the
-# SCRIPT KILL and SHUTDOWN NOSAVE commands are available. The first can be
-# used to stop a script that did not yet called write commands. The second
-# is the only way to shut down the server in the case a write command was
-# already issued by the script but the user doesn't want to wait for the natural
-# termination of the script.
-#
-# Set it to 0 or a negative value for unlimited execution without warnings.
-lua-time-limit 5000
-
-################################ REDIS CLUSTER ###############################
-#
-# ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# WARNING EXPERIMENTAL: Redis Cluster is considered to be stable code, however
-# in order to mark it as "mature" we need to wait for a non trivial percentage
-# of users to deploy it in production.
-# ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-#
-# Normal Redis instances can't be part of a Redis Cluster; only nodes that are
-# started as cluster nodes can. In order to start a Redis instance as a
-# cluster node enable the cluster support uncommenting the following:
-#
-# cluster-enabled yes
-{{cluster_enabled}}
-# Every cluster node has a cluster configuration file. This file is not
-# intended to be edited by hand. It is created and updated by Redis nodes.
-# Every Redis Cluster node requires a different cluster configuration file.
-# Make sure that instances running in the same system do not have
-# overlapping cluster configuration file names.
-#
-# cluster-config-file nodes-6379.conf
-{{cluster_config_file}}
-# Cluster node timeout is the amount of milliseconds a node must be unreachable
-# for it to be considered in failure state.
-# Most other internal time limits are multiple of the node timeout.
-#
-# cluster-node-timeout 15000
-
-# A slave of a failing master will avoid to start a failover if its data
-# looks too old.
-#
-# There is no simple way for a slave to actually have a exact measure of
-# its "data age", so the following two checks are performed:
-#
-# 1) If there are multiple slaves able to failover, they exchange messages
-# in order to try to give an advantage to the slave with the best
-# replication offset (more data from the master processed).
-# Slaves will try to get their rank by offset, and apply to the start
-# of the failover a delay proportional to their rank.
-#
-# 2) Every single slave computes the time of the last interaction with
-# its master. This can be the last ping or command received (if the master
-# is still in the "connected" state), or the time that elapsed since the
-# disconnection with the master (if the replication link is currently down).
-# If the last interaction is too old, the slave will not try to failover
-# at all.
-#
-# The point "2" can be tuned by user. Specifically a slave will not perform
-# the failover if, since the last interaction with the master, the time
-# elapsed is greater than:
-#
-# (node-timeout * slave-validity-factor) + repl-ping-slave-period
-#
-# So for example if node-timeout is 30 seconds, and the slave-validity-factor
-# is 10, and assuming a default repl-ping-slave-period of 10 seconds, the
-# slave will not try to failover if it was not able to talk with the master
-# for longer than 310 seconds.
-#
-# A large slave-validity-factor may allow slaves with too old data to failover
-# a master, while a too small value may prevent the cluster from being able to
-# elect a slave at all.
-#
-# For maximum availability, it is possible to set the slave-validity-factor
-# to a value of 0, which means, that slaves will always try to failover the
-# master regardless of the last time they interacted with the master.
-# (However they'll always try to apply a delay proportional to their
-# offset rank).
-#
-# Zero is the only value able to guarantee that when all the partitions heal
-# the cluster will always be able to continue.
-#
-# cluster-slave-validity-factor 10
-
-# Cluster slaves are able to migrate to orphaned masters, that are masters
-# that are left without working slaves. This improves the cluster ability
-# to resist to failures as otherwise an orphaned master can't be failed over
-# in case of failure if it has no working slaves.
-#
-# Slaves migrate to orphaned masters only if there are still at least a
-# given number of other working slaves for their old master. This number
-# is the "migration barrier". A migration barrier of 1 means that a slave
-# will migrate only if there is at least 1 other working slave for its master
-# and so forth. It usually reflects the number of slaves you want for every
-# master in your cluster.
-#
-# Default is 1 (slaves migrate only if their masters remain with at least
-# one slave). To disable migration just set it to a very large value.
-# A value of 0 can be set but is useful only for debugging and dangerous
-# in production.
-#
-# cluster-migration-barrier 1
-
-# By default Redis Cluster nodes stop accepting queries if they detect there
-# is at least an hash slot uncovered (no available node is serving it).
-# This way if the cluster is partially down (for example a range of hash slots
-# are no longer covered) all the cluster becomes, eventually, unavailable.
-# It automatically returns available as soon as all the slots are covered again.
-#
-# However sometimes you want the subset of the cluster which is working,
-# to continue to accept queries for the part of the key space that is still
-# covered. In order to do so, just set the cluster-require-full-coverage
-# option to no.
-#
-# cluster-require-full-coverage yes
-
-# In order to setup your cluster make sure to read the documentation
-# available at http://redis.io web site.
-
-################################## SLOW LOG ###################################
-
-# The Redis Slow Log is a system to log queries that exceeded a specified
-# execution time. The execution time does not include the I/O operations
-# like talking with the client, sending the reply and so forth,
-# but just the time needed to actually execute the command (this is the only
-# stage of command execution where the thread is blocked and can not serve
-# other requests in the meantime).
-#
-# You can configure the slow log with two parameters: one tells Redis
-# what is the execution time, in microseconds, to exceed in order for the
-# command to get logged, and the other parameter is the length of the
-# slow log. When a new command is logged the oldest one is removed from the
-# queue of logged commands.
-
-# The following time is expressed in microseconds, so 1000000 is equivalent
-# to one second. Note that a negative number disables the slow log, while
-# a value of zero forces the logging of every command.
-slowlog-log-slower-than 10000
-
-# There is no limit to this length. Just be aware that it will consume memory.
-# You can reclaim memory used by the slow log with SLOWLOG RESET.
-slowlog-max-len 128
-
-################################ LATENCY MONITOR ##############################
-
-# The Redis latency monitoring subsystem samples different operations
-# at runtime in order to collect data related to possible sources of
-# latency of a Redis instance.
-#
-# Via the LATENCY command this information is available to the user that can
-# print graphs and obtain reports.
-#
-# The system only logs operations that were performed in a time equal or
-# greater than the amount of milliseconds specified via the
-# latency-monitor-threshold configuration directive. When its value is set
-# to zero, the latency monitor is turned off.
-#
-# By default latency monitoring is disabled since it is mostly not needed
-# if you don't have latency issues, and collecting data has a performance
-# impact, that while very small, can be measured under big load. Latency
-# monitoring can easily be enabled at runtime using the command
-# "CONFIG SET latency-monitor-threshold " if needed.
-latency-monitor-threshold 0
-
-############################# EVENT NOTIFICATION ##############################
-
-# Redis can notify Pub/Sub clients about events happening in the key space.
-# This feature is documented at http://redis.io/topics/notifications
-#
-# For instance if keyspace events notification is enabled, and a client
-# performs a DEL operation on key "foo" stored in the Database 0, two
-# messages will be published via Pub/Sub:
-#
-# PUBLISH __keyspace@0__:foo del
-# PUBLISH __keyevent@0__:del foo
-#
-# It is possible to select the events that Redis will notify among a set
-# of classes. Every class is identified by a single character:
-#
-# K Keyspace events, published with __keyspace@__ prefix.
-# E Keyevent events, published with __keyevent@__ prefix.
-# g Generic commands (non-type specific) like DEL, EXPIRE, RENAME, ...
-# $ String commands
-# l List commands
-# s Set commands
-# h Hash commands
-# z Sorted set commands
-# x Expired events (events generated every time a key expires)
-# e Evicted events (events generated when a key is evicted for maxmemory)
-# A Alias for g$lshzxe, so that the "AKE" string means all the events.
-#
-# The "notify-keyspace-events" takes as argument a string that is composed
-# of zero or multiple characters. The empty string means that notifications
-# are disabled.
-#
-# Example: to enable list and generic events, from the point of view of the
-# event name, use:
-#
-# notify-keyspace-events Elg
-#
-# Example 2: to get the stream of the expired keys subscribing to channel
-# name __keyevent@0__:expired use:
-#
-# notify-keyspace-events Ex
-#
-# By default all notifications are disabled because most users don't need
-# this feature and the feature has some overhead. Note that if you don't
-# specify at least one of K or E, no events will be delivered.
-notify-keyspace-events ""
-
-############################### ADVANCED CONFIG ###############################
-
-# Hashes are encoded using a memory efficient data structure when they have a
-# small number of entries, and the biggest entry does not exceed a given
-# threshold. These thresholds can be configured using the following directives.
-hash-max-ziplist-entries 512
-hash-max-ziplist-value 64
-
-# Lists are also encoded in a special way to save a lot of space.
-# The number of entries allowed per internal list node can be specified
-# as a fixed maximum size or a maximum number of elements.
-# For a fixed maximum size, use -5 through -1, meaning:
-# -5: max size: 64 Kb <-- not recommended for normal workloads
-# -4: max size: 32 Kb <-- not recommended
-# -3: max size: 16 Kb <-- probably not recommended
-# -2: max size: 8 Kb <-- good
-# -1: max size: 4 Kb <-- good
-# Positive numbers mean store up to _exactly_ that number of elements
-# per list node.
-# The highest performing option is usually -2 (8 Kb size) or -1 (4 Kb size),
-# but if your use case is unique, adjust the settings as necessary.
-list-max-ziplist-size -2
-
-# Lists may also be compressed.
-# Compress depth is the number of quicklist ziplist nodes from *each* side of
-# the list to *exclude* from compression. The head and tail of the list
-# are always uncompressed for fast push/pop operations. Settings are:
-# 0: disable all list compression
-# 1: depth 1 means "don't start compressing until after 1 node into the list,
-# going from either the head or tail"
-# So: [head]->node->node->...->node->[tail]
-# [head], [tail] will always be uncompressed; inner nodes will compress.
-# 2: [head]->[next]->node->node->...->node->[prev]->[tail]
-# 2 here means: don't compress head or head->next or tail->prev or tail,
-# but compress all nodes between them.
-# 3: [head]->[next]->[next]->node->node->...->node->[prev]->[prev]->[tail]
-# etc.
-list-compress-depth 0
-
-# Sets have a special encoding in just one case: when a set is composed
-# of just strings that happen to be integers in radix 10 in the range
-# of 64 bit signed integers.
-# The following configuration setting sets the limit in the size of the
-# set in order to use this special memory saving encoding.
-set-max-intset-entries 512
-
-# Similarly to hashes and lists, sorted sets are also specially encoded in
-# order to save a lot of space. This encoding is only used when the length and
-# elements of a sorted set are below the following limits:
-zset-max-ziplist-entries 128
-zset-max-ziplist-value 64
-
-# HyperLogLog sparse representation bytes limit. The limit includes the
-# 16 bytes header. When an HyperLogLog using the sparse representation crosses
-# this limit, it is converted into the dense representation.
-#
-# A value greater than 16000 is totally useless, since at that point the
-# dense representation is more memory efficient.
-#
-# The suggested value is ~ 3000 in order to have the benefits of
-# the space efficient encoding without slowing down too much PFADD,
-# which is O(N) with the sparse encoding. The value can be raised to
-# ~ 10000 when CPU is not a concern, but space is, and the data set is
-# composed of many HyperLogLogs with cardinality in the 0 - 15000 range.
-hll-sparse-max-bytes 3000
-
-# Active rehashing uses 1 millisecond every 100 milliseconds of CPU time in
-# order to help rehashing the main Redis hash table (the one mapping top-level
-# keys to values). The hash table implementation Redis uses (see dict.c)
-# performs a lazy rehashing: the more operation you run into a hash table
-# that is rehashing, the more rehashing "steps" are performed, so if the
-# server is idle the rehashing is never complete and some more memory is used
-# by the hash table.
-#
-# The default is to use this millisecond 10 times every second in order to
-# actively rehash the main dictionaries, freeing memory when possible.
-#
-# If unsure:
-# use "activerehashing no" if you have hard latency requirements and it is
-# not a good thing in your environment that Redis can reply from time to time
-# to queries with 2 milliseconds delay.
-#
-# use "activerehashing yes" if you don't have such hard requirements but
-# want to free memory asap when possible.
-activerehashing yes
-
-# The client output buffer limits can be used to force disconnection of clients
-# that are not reading data from the server fast enough for some reason (a
-# common reason is that a Pub/Sub client can't consume messages as fast as the
-# publisher can produce them).
-#
-# The limit can be set differently for the three different classes of clients:
-#
-# normal -> normal clients including MONITOR clients
-# slave -> slave clients
-# pubsub -> clients subscribed to at least one pubsub channel or pattern
-#
-# The syntax of every client-output-buffer-limit directive is the following:
-#
-# client-output-buffer-limit
-#
-# A client is immediately disconnected once the hard limit is reached, or if
-# the soft limit is reached and remains reached for the specified number of
-# seconds (continuously).
-# So for instance if the hard limit is 32 megabytes and the soft limit is
-# 16 megabytes / 10 seconds, the client will get disconnected immediately
-# if the size of the output buffers reach 32 megabytes, but will also get
-# disconnected if the client reaches 16 megabytes and continuously overcomes
-# the limit for 10 seconds.
-#
-# By default normal clients are not limited because they don't receive data
-# without asking (in a push way), but just after a request, so only
-# asynchronous clients may create a scenario where data is requested faster
-# than it can read.
-#
-# Instead there is a default limit for pubsub and slave clients, since
-# subscribers and slaves receive data in a push fashion.
-#
-# Both the hard or the soft limit can be disabled by setting them to zero.
-client-output-buffer-limit normal 0 0 0
-client-output-buffer-limit slave 256mb 64mb 60
-client-output-buffer-limit pubsub 32mb 8mb 60
-
-# Redis calls an internal function to perform many background tasks, like
-# closing connections of clients in timeout, purging expired keys that are
-# never requested, and so forth.
-#
-# Not all tasks are performed with the same frequency, but Redis checks for
-# tasks to perform according to the specified "hz" value.
-#
-# By default "hz" is set to 10. Raising the value will use more CPU when
-# Redis is idle, but at the same time will make Redis more responsive when
-# there are many keys expiring at the same time, and timeouts may be
-# handled with more precision.
-#
-# The range is between 1 and 500, however a value over 100 is usually not
-# a good idea. Most users should use the default of 10 and raise this up to
-# 100 only in environments where very low latency is required.
-hz 10
-
-# When a child rewrites the AOF file, if the following option is enabled
-# the file will be fsync-ed every 32 MB of data generated. This is useful
-# in order to commit the file to the disk more incrementally and avoid
-# big latency spikes.
-aof-rewrite-incremental-fsync yes
diff --git a/template/redis/redis3.2.6.j2 b/template/redis/redis3.2.6.j2
deleted file mode 100644
index fc58580e..00000000
--- a/template/redis/redis3.2.6.j2
+++ /dev/null
@@ -1,1050 +0,0 @@
-# Redis configuration file example.
-#
-# Note that in order to read the configuration file, Redis must be
-# started with the file path as first argument:
-#
-# ./redis-server /path/to/redis.conf
-
-# Note on units: when memory size is needed, it is possible to specify
-# it in the usual form of 1k 5GB 4M and so forth:
-#
-# 1k => 1000 bytes
-# 1kb => 1024 bytes
-# 1m => 1000000 bytes
-# 1mb => 1024*1024 bytes
-# 1g => 1000000000 bytes
-# 1gb => 1024*1024*1024 bytes
-#
-# units are case insensitive so 1GB 1Gb 1gB are all the same.
-{{extend}}
-################################## INCLUDES ###################################
-
-# Include one or more other config files here. This is useful if you
-# have a standard template that goes to all Redis servers but also need
-# to customize a few per-server settings. Include files can include
-# other files, so use this wisely.
-#
-# Notice option "include" won't be rewritten by command "CONFIG REWRITE"
-# from admin or Redis Sentinel. Since Redis always uses the last processed
-# line as value of a configuration directive, you'd better put includes
-# at the beginning of this file to avoid overwriting config change at runtime.
-#
-# If instead you are interested in using includes to override configuration
-# options, it is better to use include as the last line.
-#
-# include /path/to/local.conf
-# include /path/to/other.conf
-
-################################## NETWORK #####################################
-
-# By default, if no "bind" configuration directive is specified, Redis listens
-# for connections from all the network interfaces available on the server.
-# It is possible to listen to just one or multiple selected interfaces using
-# the "bind" configuration directive, followed by one or more IP addresses.
-#
-# Examples:
-#
-# bind 192.168.1.100 10.0.0.1
-# bind 127.0.0.1 ::1
-#
-# ~~~ WARNING ~~~ If the computer running Redis is directly exposed to the
-# internet, binding to all the interfaces is dangerous and will expose the
-# instance to everybody on the internet. So by default we uncomment the
-# following bind directive, that will force Redis to listen only into
-# the IPv4 lookback interface address (this means Redis will be able to
-# accept connections only from clients running into the same computer it
-# is running).
-#
-# IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES
-# JUST COMMENT THE FOLLOWING LINE.
-# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-bind {{bind}}
-
-# Protected mode is a layer of security protection, in order to avoid that
-# Redis instances left open on the internet are accessed and exploited.
-#
-# When protected mode is on and if:
-#
-# 1) The server is not binding explicitly to a set of addresses using the
-# "bind" directive.
-# 2) No password is configured.
-#
-# The server only accepts connections from clients connecting from the
-# IPv4 and IPv6 loopback addresses 127.0.0.1 and ::1, and from Unix domain
-# sockets.
-#
-# By default protected mode is enabled. You should disable it only if
-# you are sure you want clients from other hosts to connect to Redis
-# even if no authentication is configured, nor a specific set of interfaces
-# are explicitly listed using the "bind" directive.
-protected-mode yes
-
-# Accept connections on the specified port, default is 6379 (IANA #815344).
-# If port 0 is specified Redis will not listen on a TCP socket.
-port {{port}}
-
-# TCP listen() backlog.
-#
-# In high requests-per-second environments you need an high backlog in order
-# to avoid slow clients connections issues. Note that the Linux kernel
-# will silently truncate it to the value of /proc/sys/net/core/somaxconn so
-# make sure to raise both the value of somaxconn and tcp_max_syn_backlog
-# in order to get the desired effect.
-tcp-backlog 511
-
-# Unix socket.
-#
-# Specify the path for the Unix socket that will be used to listen for
-# incoming connections. There is no default, so Redis will not listen
-# on a unix socket when not specified.
-#
-# unixsocket /tmp/redis.sock
-# unixsocketperm 700
-
-# Close the connection after a client is idle for N seconds (0 to disable)
-timeout 0
-
-# TCP keepalive.
-#
-# If non-zero, use SO_KEEPALIVE to send TCP ACKs to clients in absence
-# of communication. This is useful for two reasons:
-#
-# 1) Detect dead peers.
-# 2) Take the connection alive from the point of view of network
-# equipment in the middle.
-#
-# On Linux, the specified value (in seconds) is the period used to send ACKs.
-# Note that to close the connection the double of the time is needed.
-# On other kernels the period depends on the kernel configuration.
-#
-# A reasonable value for this option is 300 seconds, which is the new
-# Redis default starting with Redis 3.2.1.
-tcp-keepalive 300
-
-################################# GENERAL #####################################
-
-# By default Redis does not run as a daemon. Use 'yes' if you need it.
-# Note that Redis will write a pid file in /var/run/redis.pid when daemonized.
-daemonize yes
-
-# If you run Redis from upstart or systemd, Redis can interact with your
-# supervision tree. Options:
-# supervised no - no supervision interaction
-# supervised upstart - signal upstart by putting Redis into SIGSTOP mode
-# supervised systemd - signal systemd by writing READY=1 to $NOTIFY_SOCKET
-# supervised auto - detect upstart or systemd method based on
-# UPSTART_JOB or NOTIFY_SOCKET environment variables
-# Note: these supervision methods only signal "process is ready."
-# They do not enable continuous liveness pings back to your supervisor.
-supervised no
-
-# If a pid file is specified, Redis writes it where specified at startup
-# and removes it at exit.
-#
-# When the server runs non daemonized, no pid file is created if none is
-# specified in the configuration. When the server is daemonized, the pid file
-# is used even if not specified, defaulting to "/var/run/redis.pid".
-#
-# Creating a pid file is best effort: if Redis is not able to create it
-# nothing bad happens, the server will start and run normally.
-pidfile /var/run/redis_6379.pid
-
-# Specify the server verbosity level.
-# This can be one of:
-# debug (a lot of information, useful for development/testing)
-# verbose (many rarely useful info, but not a mess like the debug level)
-# notice (moderately verbose, what you want in production probably)
-# warning (only very important / critical messages are logged)
-loglevel notice
-
-# Specify the log file name. Also the empty string can be used to force
-# Redis to log on the standard output. Note that if you use standard
-# output for logging but daemonize, logs will be sent to /dev/null
-logfile "{{logfile}}"
-
-# To enable logging to the system logger, just set 'syslog-enabled' to yes,
-# and optionally update the other syslog parameters to suit your needs.
-# syslog-enabled no
-
-# Specify the syslog identity.
-# syslog-ident redis
-
-# Specify the syslog facility. Must be USER or between LOCAL0-LOCAL7.
-# syslog-facility local0
-
-# Set the number of databases. The default database is DB 0, you can select
-# a different one on a per-connection basis using SELECT where
-# dbid is a number between 0 and 'databases'-1
-databases 16
-
-################################ SNAPSHOTTING ################################
-#
-# Save the DB on disk:
-#
-# save
-#
-# Will save the DB if both the given number of seconds and the given
-# number of write operations against the DB occurred.
-#
-# In the example below the behaviour will be to save:
-# after 900 sec (15 min) if at least 1 key changed
-# after 300 sec (5 min) if at least 10 keys changed
-# after 60 sec if at least 10000 keys changed
-#
-# Note: you can disable saving completely by commenting out all "save" lines.
-#
-# It is also possible to remove all the previously configured save
-# points by adding a save directive with a single empty string argument
-# like in the following example:
-#
-# save ""
-
-{{saveoptions}}
-
-# By default Redis will stop accepting writes if RDB snapshots are enabled
-# (at least one save point) and the latest background save failed.
-# This will make the user aware (in a hard way) that data is not persisting
-# on disk properly, otherwise chances are that no one will notice and some
-# disaster will happen.
-#
-# If the background saving process will start working again Redis will
-# automatically allow writes again.
-#
-# However if you have setup your proper monitoring of the Redis server
-# and persistence, you may want to disable this feature so that Redis will
-# continue to work as usual even if there are problems with disk,
-# permissions, and so forth.
-stop-writes-on-bgsave-error yes
-
-# Compress string objects using LZF when dump .rdb databases?
-# For default that's set to 'yes' as it's almost always a win.
-# If you want to save some CPU in the saving child set it to 'no' but
-# the dataset will likely be bigger if you have compressible values or keys.
-rdbcompression yes
-
-# Since version 5 of RDB a CRC64 checksum is placed at the end of the file.
-# This makes the format more resistant to corruption but there is a performance
-# hit to pay (around 10%) when saving and loading RDB files, so you can disable it
-# for maximum performances.
-#
-# RDB files created with checksum disabled have a checksum of zero that will
-# tell the loading code to skip the check.
-rdbchecksum yes
-
-# The filename where to dump the DB
-dbfilename {{dbfilename}}
-
-# The working directory.
-#
-# The DB will be written inside this directory, with the filename specified
-# above using the 'dbfilename' configuration directive.
-#
-# The Append Only File will also be created inside this directory.
-#
-# Note that you must specify a directory here, not a file name.
-dir {{dir}}
-
-################################# REPLICATION #################################
-
-# Master-Slave replication. Use slaveof to make a Redis instance a copy of
-# another Redis server. A few things to understand ASAP about Redis replication.
-#
-# 1) Redis replication is asynchronous, but you can configure a master to
-# stop accepting writes if it appears to be not connected with at least
-# a given number of slaves.
-# 2) Redis slaves are able to perform a partial resynchronization with the
-# master if the replication link is lost for a relatively small amount of
-# time. You may want to configure the replication backlog size (see the next
-# sections of this file) with a sensible value depending on your needs.
-# 3) Replication is automatic and does not need user intervention. After a
-# network partition slaves automatically try to reconnect to masters
-# and resynchronize with them.
-#
-# slaveof
-{{slaveof}}
-# If the master is password protected (using the "requirepass" configuration
-# directive below) it is possible to tell the slave to authenticate before
-# starting the replication synchronization process, otherwise the master will
-# refuse the slave request.
-#
-# masterauth
-{{masterauth}}
-# When a slave loses its connection with the master, or when the replication
-# is still in progress, the slave can act in two different ways:
-#
-# 1) if slave-serve-stale-data is set to 'yes' (the default) the slave will
-# still reply to client requests, possibly with out of date data, or the
-# data set may just be empty if this is the first synchronization.
-#
-# 2) if slave-serve-stale-data is set to 'no' the slave will reply with
-# an error "SYNC with master in progress" to all the kind of commands
-# but to INFO and SLAVEOF.
-#
-slave-serve-stale-data yes
-
-# You can configure a slave instance to accept writes or not. Writing against
-# a slave instance may be useful to store some ephemeral data (because data
-# written on a slave will be easily deleted after resync with the master) but
-# may also cause problems if clients are writing to it because of a
-# misconfiguration.
-#
-# Since Redis 2.6 by default slaves are read-only.
-#
-# Note: read only slaves are not designed to be exposed to untrusted clients
-# on the internet. It's just a protection layer against misuse of the instance.
-# Still a read only slave exports by default all the administrative commands
-# such as CONFIG, DEBUG, and so forth. To a limited extent you can improve
-# security of read only slaves using 'rename-command' to shadow all the
-# administrative / dangerous commands.
-slave-read-only yes
-
-# Replication SYNC strategy: disk or socket.
-#
-# -------------------------------------------------------
-# WARNING: DISKLESS REPLICATION IS EXPERIMENTAL CURRENTLY
-# -------------------------------------------------------
-#
-# New slaves and reconnecting slaves that are not able to continue the replication
-# process just receiving differences, need to do what is called a "full
-# synchronization". An RDB file is transmitted from the master to the slaves.
-# The transmission can happen in two different ways:
-#
-# 1) Disk-backed: The Redis master creates a new process that writes the RDB
-# file on disk. Later the file is transferred by the parent
-# process to the slaves incrementally.
-# 2) Diskless: The Redis master creates a new process that directly writes the
-# RDB file to slave sockets, without touching the disk at all.
-#
-# With disk-backed replication, while the RDB file is generated, more slaves
-# can be queued and served with the RDB file as soon as the current child producing
-# the RDB file finishes its work. With diskless replication instead once
-# the transfer starts, new slaves arriving will be queued and a new transfer
-# will start when the current one terminates.
-#
-# When diskless replication is used, the master waits a configurable amount of
-# time (in seconds) before starting the transfer in the hope that multiple slaves
-# will arrive and the transfer can be parallelized.
-#
-# With slow disks and fast (large bandwidth) networks, diskless replication
-# works better.
-repl-diskless-sync no
-
-# When diskless replication is enabled, it is possible to configure the delay
-# the server waits in order to spawn the child that transfers the RDB via socket
-# to the slaves.
-#
-# This is important since once the transfer starts, it is not possible to serve
-# new slaves arriving, that will be queued for the next RDB transfer, so the server
-# waits a delay in order to let more slaves arrive.
-#
-# The delay is specified in seconds, and by default is 5 seconds. To disable
-# it entirely just set it to 0 seconds and the transfer will start ASAP.
-repl-diskless-sync-delay 5
-
-# Slaves send PINGs to server in a predefined interval. It's possible to change
-# this interval with the repl_ping_slave_period option. The default value is 10
-# seconds.
-#
-# repl-ping-slave-period 10
-
-# The following option sets the replication timeout for:
-#
-# 1) Bulk transfer I/O during SYNC, from the point of view of slave.
-# 2) Master timeout from the point of view of slaves (data, pings).
-# 3) Slave timeout from the point of view of masters (REPLCONF ACK pings).
-#
-# It is important to make sure that this value is greater than the value
-# specified for repl-ping-slave-period otherwise a timeout will be detected
-# every time there is low traffic between the master and the slave.
-#
-# repl-timeout 60
-
-# Disable TCP_NODELAY on the slave socket after SYNC?
-#
-# If you select "yes" Redis will use a smaller number of TCP packets and
-# less bandwidth to send data to slaves. But this can add a delay for
-# the data to appear on the slave side, up to 40 milliseconds with
-# Linux kernels using a default configuration.
-#
-# If you select "no" the delay for data to appear on the slave side will
-# be reduced but more bandwidth will be used for replication.
-#
-# By default we optimize for low latency, but in very high traffic conditions
-# or when the master and slaves are many hops away, turning this to "yes" may
-# be a good idea.
-repl-disable-tcp-nodelay no
-
-# Set the replication backlog size. The backlog is a buffer that accumulates
-# slave data when slaves are disconnected for some time, so that when a slave
-# wants to reconnect again, often a full resync is not needed, but a partial
-# resync is enough, just passing the portion of data the slave missed while
-# disconnected.
-#
-# The bigger the replication backlog, the longer the time the slave can be
-# disconnected and later be able to perform a partial resynchronization.
-#
-# The backlog is only allocated once there is at least a slave connected.
-#
-# repl-backlog-size 1mb
-
-# After a master has no longer connected slaves for some time, the backlog
-# will be freed. The following option configures the amount of seconds that
-# need to elapse, starting from the time the last slave disconnected, for
-# the backlog buffer to be freed.
-#
-# A value of 0 means to never release the backlog.
-#
-# repl-backlog-ttl 3600
-
-# The slave priority is an integer number published by Redis in the INFO output.
-# It is used by Redis Sentinel in order to select a slave to promote into a
-# master if the master is no longer working correctly.
-#
-# A slave with a low priority number is considered better for promotion, so
-# for instance if there are three slaves with priority 10, 100, 25 Sentinel will
-# pick the one with priority 10, that is the lowest.
-#
-# However a special priority of 0 marks the slave as not able to perform the
-# role of master, so a slave with priority of 0 will never be selected by
-# Redis Sentinel for promotion.
-#
-# By default the priority is 100.
-slave-priority 100
-
-# It is possible for a master to stop accepting writes if there are less than
-# N slaves connected, having a lag less or equal than M seconds.
-#
-# The N slaves need to be in "online" state.
-#
-# The lag in seconds, that must be <= the specified value, is calculated from
-# the last ping received from the slave, that is usually sent every second.
-#
-# This option does not GUARANTEE that N replicas will accept the write, but
-# will limit the window of exposure for lost writes in case not enough slaves
-# are available, to the specified number of seconds.
-#
-# For example to require at least 3 slaves with a lag <= 10 seconds use:
-#
-# min-slaves-to-write 3
-# min-slaves-max-lag 10
-#
-# Setting one or the other to 0 disables the feature.
-#
-# By default min-slaves-to-write is set to 0 (feature disabled) and
-# min-slaves-max-lag is set to 10.
-
-# A Redis master is able to list the address and port of the attached
-# slaves in different ways. For example the "INFO replication" section
-# offers this information, which is used, among other tools, by
-# Redis Sentinel in order to discover slave instances.
-# Another place where this info is available is in the output of the
-# "ROLE" command of a masteer.
-#
-# The listed IP and address normally reported by a slave is obtained
-# in the following way:
-#
-# IP: The address is auto detected by checking the peer address
-# of the socket used by the slave to connect with the master.
-#
-# Port: The port is communicated by the slave during the replication
-# handshake, and is normally the port that the slave is using to
-# list for connections.
-#
-# However when port forwarding or Network Address Translation (NAT) is
-# used, the slave may be actually reachable via different IP and port
-# pairs. The following two options can be used by a slave in order to
-# report to its master a specific set of IP and port, so that both INFO
-# and ROLE will report those values.
-#
-# There is no need to use both the options if you need to override just
-# the port or the IP address.
-#
-# slave-announce-ip 5.5.5.5
-# slave-announce-port 1234
-
-################################## SECURITY ###################################
-
-# Require clients to issue AUTH before processing any other
-# commands. This might be useful in environments in which you do not trust
-# others with access to the host running redis-server.
-#
-# This should stay commented out for backward compatibility and because most
-# people do not need auth (e.g. they run their own servers).
-#
-# Warning: since Redis is pretty fast an outside user can try up to
-# 150k passwords per second against a good box. This means that you should
-# use a very strong password otherwise it will be very easy to break.
-#
-# requirepass foobared
-requirepass {{requirepass}}
-# Command renaming.
-#
-# It is possible to change the name of dangerous commands in a shared
-# environment. For instance the CONFIG command may be renamed into something
-# hard to guess so that it will still be available for internal-use tools
-# but not available for general clients.
-#
-# Example:
-#
-# rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52
-#
-# It is also possible to completely kill a command by renaming it into
-# an empty string:
-#
-# rename-command CONFIG ""
-#
-# Please note that changing the name of commands that are logged into the
-# AOF file or transmitted to slaves may cause problems.
-
-################################### LIMITS ####################################
-
-# Set the max number of connected clients at the same time. By default
-# this limit is set to 10000 clients, however if the Redis server is not
-# able to configure the process file limit to allow for the specified limit
-# the max number of allowed clients is set to the current file limit
-# minus 32 (as Redis reserves a few file descriptors for internal uses).
-#
-# Once the limit is reached Redis will close all the new connections sending
-# an error 'max number of clients reached'.
-#
-# maxclients 10000
-
-# Don't use more memory than the specified amount of bytes.
-# When the memory limit is reached Redis will try to remove keys
-# according to the eviction policy selected (see maxmemory-policy).
-#
-# If Redis can't remove keys according to the policy, or if the policy is
-# set to 'noeviction', Redis will start to reply with errors to commands
-# that would use more memory, like SET, LPUSH, and so on, and will continue
-# to reply to read-only commands like GET.
-#
-# This option is usually useful when using Redis as an LRU cache, or to set
-# a hard memory limit for an instance (using the 'noeviction' policy).
-#
-# WARNING: If you have slaves attached to an instance with maxmemory on,
-# the size of the output buffers needed to feed the slaves are subtracted
-# from the used memory count, so that network problems / resyncs will
-# not trigger a loop where keys are evicted, and in turn the output
-# buffer of slaves is full with DELs of keys evicted triggering the deletion
-# of more keys, and so forth until the database is completely emptied.
-#
-# In short... if you have slaves attached it is suggested that you set a lower
-# limit for maxmemory so that there is some free RAM on the system for slave
-# output buffers (but this is not needed if the policy is 'noeviction').
-#
-# maxmemory
-
-# MAXMEMORY POLICY: how Redis will select what to remove when maxmemory
-# is reached. You can select among five behaviors:
-#
-# volatile-lru -> remove the key with an expire set using an LRU algorithm
-# allkeys-lru -> remove any key according to the LRU algorithm
-# volatile-random -> remove a random key with an expire set
-# allkeys-random -> remove a random key, any key
-# volatile-ttl -> remove the key with the nearest expire time (minor TTL)
-# noeviction -> don't expire at all, just return an error on write operations
-#
-# Note: with any of the above policies, Redis will return an error on write
-# operations, when there are no suitable keys for eviction.
-#
-# At the date of writing these commands are: set setnx setex append
-# incr decr rpush lpush rpushx lpushx linsert lset rpoplpush sadd
-# sinter sinterstore sunion sunionstore sdiff sdiffstore zadd zincrby
-# zunionstore zinterstore hset hsetnx hmset hincrby incrby decrby
-# getset mset msetnx exec sort
-#
-# The default is:
-#
-# maxmemory-policy noeviction
-
-# LRU and minimal TTL algorithms are not precise algorithms but approximated
-# algorithms (in order to save memory), so you can tune it for speed or
-# accuracy. For default Redis will check five keys and pick the one that was
-# used less recently, you can change the sample size using the following
-# configuration directive.
-#
-# The default of 5 produces good enough results. 10 Approximates very closely
-# true LRU but costs a bit more CPU. 3 is very fast but not very accurate.
-#
-# maxmemory-samples 5
-
-############################## APPEND ONLY MODE ###############################
-
-# By default Redis asynchronously dumps the dataset on disk. This mode is
-# good enough in many applications, but an issue with the Redis process or
-# a power outage may result into a few minutes of writes lost (depending on
-# the configured save points).
-#
-# The Append Only File is an alternative persistence mode that provides
-# much better durability. For instance using the default data fsync policy
-# (see later in the config file) Redis can lose just one second of writes in a
-# dramatic event like a server power outage, or a single write if something
-# wrong with the Redis process itself happens, but the operating system is
-# still running correctly.
-#
-# AOF and RDB persistence can be enabled at the same time without problems.
-# If the AOF is enabled on startup Redis will load the AOF, that is the file
-# with the better durability guarantees.
-#
-# Please check http://redis.io/topics/persistence for more information.
-
-appendonly {{appendonly}}
-
-# The name of the append only file (default: "appendonly.aof")
-
-appendfilename "appendonly.aof"
-
-# The fsync() call tells the Operating System to actually write data on disk
-# instead of waiting for more data in the output buffer. Some OS will really flush
-# data on disk, some other OS will just try to do it ASAP.
-#
-# Redis supports three different modes:
-#
-# no: don't fsync, just let the OS flush the data when it wants. Faster.
-# always: fsync after every write to the append only log. Slow, Safest.
-# everysec: fsync only one time every second. Compromise.
-#
-# The default is "everysec", as that's usually the right compromise between
-# speed and data safety. It's up to you to understand if you can relax this to
-# "no" that will let the operating system flush the output buffer when
-# it wants, for better performances (but if you can live with the idea of
-# some data loss consider the default persistence mode that's snapshotting),
-# or on the contrary, use "always" that's very slow but a bit safer than
-# everysec.
-#
-# More details please check the following article:
-# http://antirez.com/post/redis-persistence-demystified.html
-#
-# If unsure, use "everysec".
-
-# appendfsync always
-appendfsync everysec
-# appendfsync no
-
-# When the AOF fsync policy is set to always or everysec, and a background
-# saving process (a background save or AOF log background rewriting) is
-# performing a lot of I/O against the disk, in some Linux configurations
-# Redis may block too long on the fsync() call. Note that there is no fix for
-# this currently, as even performing fsync in a different thread will block
-# our synchronous write(2) call.
-#
-# In order to mitigate this problem it's possible to use the following option
-# that will prevent fsync() from being called in the main process while a
-# BGSAVE or BGREWRITEAOF is in progress.
-#
-# This means that while another child is saving, the durability of Redis is
-# the same as "appendfsync none". In practical terms, this means that it is
-# possible to lose up to 30 seconds of log in the worst scenario (with the
-# default Linux settings).
-#
-# If you have latency problems turn this to "yes". Otherwise leave it as
-# "no" that is the safest pick from the point of view of durability.
-
-no-appendfsync-on-rewrite {{noonrewrite}}
-
-# Automatic rewrite of the append only file.
-# Redis is able to automatically rewrite the log file implicitly calling
-# BGREWRITEAOF when the AOF log size grows by the specified percentage.
-#
-# This is how it works: Redis remembers the size of the AOF file after the
-# latest rewrite (if no rewrite has happened since the restart, the size of
-# the AOF at startup is used).
-#
-# This base size is compared to the current size. If the current size is
-# bigger than the specified percentage, the rewrite is triggered. Also
-# you need to specify a minimal size for the AOF file to be rewritten, this
-# is useful to avoid rewriting the AOF file even if the percentage increase
-# is reached but it is still pretty small.
-#
-# Specify a percentage of zero in order to disable the automatic AOF
-# rewrite feature.
-
-auto-aof-rewrite-percentage 100
-auto-aof-rewrite-min-size 64mb
-
-# An AOF file may be found to be truncated at the end during the Redis
-# startup process, when the AOF data gets loaded back into memory.
-# This may happen when the system where Redis is running
-# crashes, especially when an ext4 filesystem is mounted without the
-# data=ordered option (however this can't happen when Redis itself
-# crashes or aborts but the operating system still works correctly).
-#
-# Redis can either exit with an error when this happens, or load as much
-# data as possible (the default now) and start if the AOF file is found
-# to be truncated at the end. The following option controls this behavior.
-#
-# If aof-load-truncated is set to yes, a truncated AOF file is loaded and
-# the Redis server starts emitting a log to inform the user of the event.
-# Otherwise if the option is set to no, the server aborts with an error
-# and refuses to start. When the option is set to no, the user requires
-# to fix the AOF file using the "redis-check-aof" utility before to restart
-# the server.
-#
-# Note that if the AOF file will be found to be corrupted in the middle
-# the server will still exit with an error. This option only applies when
-# Redis will try to read more data from the AOF file but not enough bytes
-# will be found.
-aof-load-truncated yes
-
-################################ LUA SCRIPTING ###############################
-
-# Max execution time of a Lua script in milliseconds.
-#
-# If the maximum execution time is reached Redis will log that a script is
-# still in execution after the maximum allowed time and will start to
-# reply to queries with an error.
-#
-# When a long running script exceeds the maximum execution time only the
-# SCRIPT KILL and SHUTDOWN NOSAVE commands are available. The first can be
-# used to stop a script that did not yet called write commands. The second
-# is the only way to shut down the server in the case a write command was
-# already issued by the script but the user doesn't want to wait for the natural
-# termination of the script.
-#
-# Set it to 0 or a negative value for unlimited execution without warnings.
-lua-time-limit 5000
-
-################################ REDIS CLUSTER ###############################
-#
-# ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# WARNING EXPERIMENTAL: Redis Cluster is considered to be stable code, however
-# in order to mark it as "mature" we need to wait for a non trivial percentage
-# of users to deploy it in production.
-# ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-#
-# Normal Redis instances can't be part of a Redis Cluster; only nodes that are
-# started as cluster nodes can. In order to start a Redis instance as a
-# cluster node enable the cluster support uncommenting the following:
-#
-# cluster-enabled yes
-
-# Every cluster node has a cluster configuration file. This file is not
-# intended to be edited by hand. It is created and updated by Redis nodes.
-# Every Redis Cluster node requires a different cluster configuration file.
-# Make sure that instances running in the same system do not have
-# overlapping cluster configuration file names.
-#
-# cluster-config-file nodes-6379.conf
-
-# Cluster node timeout is the amount of milliseconds a node must be unreachable
-# for it to be considered in failure state.
-# Most other internal time limits are multiple of the node timeout.
-#
-# cluster-node-timeout 15000
-
-# A slave of a failing master will avoid to start a failover if its data
-# looks too old.
-#
-# There is no simple way for a slave to actually have a exact measure of
-# its "data age", so the following two checks are performed:
-#
-# 1) If there are multiple slaves able to failover, they exchange messages
-# in order to try to give an advantage to the slave with the best
-# replication offset (more data from the master processed).
-# Slaves will try to get their rank by offset, and apply to the start
-# of the failover a delay proportional to their rank.
-#
-# 2) Every single slave computes the time of the last interaction with
-# its master. This can be the last ping or command received (if the master
-# is still in the "connected" state), or the time that elapsed since the
-# disconnection with the master (if the replication link is currently down).
-# If the last interaction is too old, the slave will not try to failover
-# at all.
-#
-# The point "2" can be tuned by user. Specifically a slave will not perform
-# the failover if, since the last interaction with the master, the time
-# elapsed is greater than:
-#
-# (node-timeout * slave-validity-factor) + repl-ping-slave-period
-#
-# So for example if node-timeout is 30 seconds, and the slave-validity-factor
-# is 10, and assuming a default repl-ping-slave-period of 10 seconds, the
-# slave will not try to failover if it was not able to talk with the master
-# for longer than 310 seconds.
-#
-# A large slave-validity-factor may allow slaves with too old data to failover
-# a master, while a too small value may prevent the cluster from being able to
-# elect a slave at all.
-#
-# For maximum availability, it is possible to set the slave-validity-factor
-# to a value of 0, which means, that slaves will always try to failover the
-# master regardless of the last time they interacted with the master.
-# (However they'll always try to apply a delay proportional to their
-# offset rank).
-#
-# Zero is the only value able to guarantee that when all the partitions heal
-# the cluster will always be able to continue.
-#
-# cluster-slave-validity-factor 10
-
-# Cluster slaves are able to migrate to orphaned masters, that are masters
-# that are left without working slaves. This improves the cluster ability
-# to resist to failures as otherwise an orphaned master can't be failed over
-# in case of failure if it has no working slaves.
-#
-# Slaves migrate to orphaned masters only if there are still at least a
-# given number of other working slaves for their old master. This number
-# is the "migration barrier". A migration barrier of 1 means that a slave
-# will migrate only if there is at least 1 other working slave for its master
-# and so forth. It usually reflects the number of slaves you want for every
-# master in your cluster.
-#
-# Default is 1 (slaves migrate only if their masters remain with at least
-# one slave). To disable migration just set it to a very large value.
-# A value of 0 can be set but is useful only for debugging and dangerous
-# in production.
-#
-# cluster-migration-barrier 1
-
-# By default Redis Cluster nodes stop accepting queries if they detect there
-# is at least an hash slot uncovered (no available node is serving it).
-# This way if the cluster is partially down (for example a range of hash slots
-# are no longer covered) all the cluster becomes, eventually, unavailable.
-# It automatically returns available as soon as all the slots are covered again.
-#
-# However sometimes you want the subset of the cluster which is working,
-# to continue to accept queries for the part of the key space that is still
-# covered. In order to do so, just set the cluster-require-full-coverage
-# option to no.
-#
-# cluster-require-full-coverage yes
-
-# In order to setup your cluster make sure to read the documentation
-# available at http://redis.io web site.
-
-################################## SLOW LOG ###################################
-
-# The Redis Slow Log is a system to log queries that exceeded a specified
-# execution time. The execution time does not include the I/O operations
-# like talking with the client, sending the reply and so forth,
-# but just the time needed to actually execute the command (this is the only
-# stage of command execution where the thread is blocked and can not serve
-# other requests in the meantime).
-#
-# You can configure the slow log with two parameters: one tells Redis
-# what is the execution time, in microseconds, to exceed in order for the
-# command to get logged, and the other parameter is the length of the
-# slow log. When a new command is logged the oldest one is removed from the
-# queue of logged commands.
-
-# The following time is expressed in microseconds, so 1000000 is equivalent
-# to one second. Note that a negative number disables the slow log, while
-# a value of zero forces the logging of every command.
-slowlog-log-slower-than 10000
-
-# There is no limit to this length. Just be aware that it will consume memory.
-# You can reclaim memory used by the slow log with SLOWLOG RESET.
-slowlog-max-len 128
-
-################################ LATENCY MONITOR ##############################
-
-# The Redis latency monitoring subsystem samples different operations
-# at runtime in order to collect data related to possible sources of
-# latency of a Redis instance.
-#
-# Via the LATENCY command this information is available to the user that can
-# print graphs and obtain reports.
-#
-# The system only logs operations that were performed in a time equal or
-# greater than the amount of milliseconds specified via the
-# latency-monitor-threshold configuration directive. When its value is set
-# to zero, the latency monitor is turned off.
-#
-# By default latency monitoring is disabled since it is mostly not needed
-# if you don't have latency issues, and collecting data has a performance
-# impact, that while very small, can be measured under big load. Latency
-# monitoring can easily be enabled at runtime using the command
-# "CONFIG SET latency-monitor-threshold " if needed.
-latency-monitor-threshold 0
-
-############################# EVENT NOTIFICATION ##############################
-
-# Redis can notify Pub/Sub clients about events happening in the key space.
-# This feature is documented at http://redis.io/topics/notifications
-#
-# For instance if keyspace events notification is enabled, and a client
-# performs a DEL operation on key "foo" stored in the Database 0, two
-# messages will be published via Pub/Sub:
-#
-# PUBLISH __keyspace@0__:foo del
-# PUBLISH __keyevent@0__:del foo
-#
-# It is possible to select the events that Redis will notify among a set
-# of classes. Every class is identified by a single character:
-#
-# K Keyspace events, published with __keyspace@__ prefix.
-# E Keyevent events, published with __keyevent@__ prefix.
-# g Generic commands (non-type specific) like DEL, EXPIRE, RENAME, ...
-# $ String commands
-# l List commands
-# s Set commands
-# h Hash commands
-# z Sorted set commands
-# x Expired events (events generated every time a key expires)
-# e Evicted events (events generated when a key is evicted for maxmemory)
-# A Alias for g$lshzxe, so that the "AKE" string means all the events.
-#
-# The "notify-keyspace-events" takes as argument a string that is composed
-# of zero or multiple characters. The empty string means that notifications
-# are disabled.
-#
-# Example: to enable list and generic events, from the point of view of the
-# event name, use:
-#
-# notify-keyspace-events Elg
-#
-# Example 2: to get the stream of the expired keys subscribing to channel
-# name __keyevent@0__:expired use:
-#
-# notify-keyspace-events Ex
-#
-# By default all notifications are disabled because most users don't need
-# this feature and the feature has some overhead. Note that if you don't
-# specify at least one of K or E, no events will be delivered.
-notify-keyspace-events ""
-
-############################### ADVANCED CONFIG ###############################
-
-# Hashes are encoded using a memory efficient data structure when they have a
-# small number of entries, and the biggest entry does not exceed a given
-# threshold. These thresholds can be configured using the following directives.
-hash-max-ziplist-entries 512
-hash-max-ziplist-value 64
-
-# Lists are also encoded in a special way to save a lot of space.
-# The number of entries allowed per internal list node can be specified
-# as a fixed maximum size or a maximum number of elements.
-# For a fixed maximum size, use -5 through -1, meaning:
-# -5: max size: 64 Kb <-- not recommended for normal workloads
-# -4: max size: 32 Kb <-- not recommended
-# -3: max size: 16 Kb <-- probably not recommended
-# -2: max size: 8 Kb <-- good
-# -1: max size: 4 Kb <-- good
-# Positive numbers mean store up to _exactly_ that number of elements
-# per list node.
-# The highest performing option is usually -2 (8 Kb size) or -1 (4 Kb size),
-# but if your use case is unique, adjust the settings as necessary.
-list-max-ziplist-size -2
-
-# Lists may also be compressed.
-# Compress depth is the number of quicklist ziplist nodes from *each* side of
-# the list to *exclude* from compression. The head and tail of the list
-# are always uncompressed for fast push/pop operations. Settings are:
-# 0: disable all list compression
-# 1: depth 1 means "don't start compressing until after 1 node into the list,
-# going from either the head or tail"
-# So: [head]->node->node->...->node->[tail]
-# [head], [tail] will always be uncompressed; inner nodes will compress.
-# 2: [head]->[next]->node->node->...->node->[prev]->[tail]
-# 2 here means: don't compress head or head->next or tail->prev or tail,
-# but compress all nodes between them.
-# 3: [head]->[next]->[next]->node->node->...->node->[prev]->[prev]->[tail]
-# etc.
-list-compress-depth 0
-
-# Sets have a special encoding in just one case: when a set is composed
-# of just strings that happen to be integers in radix 10 in the range
-# of 64 bit signed integers.
-# The following configuration setting sets the limit in the size of the
-# set in order to use this special memory saving encoding.
-set-max-intset-entries 512
-
-# Similarly to hashes and lists, sorted sets are also specially encoded in
-# order to save a lot of space. This encoding is only used when the length and
-# elements of a sorted set are below the following limits:
-zset-max-ziplist-entries 128
-zset-max-ziplist-value 64
-
-# HyperLogLog sparse representation bytes limit. The limit includes the
-# 16 bytes header. When an HyperLogLog using the sparse representation crosses
-# this limit, it is converted into the dense representation.
-#
-# A value greater than 16000 is totally useless, since at that point the
-# dense representation is more memory efficient.
-#
-# The suggested value is ~ 3000 in order to have the benefits of
-# the space efficient encoding without slowing down too much PFADD,
-# which is O(N) with the sparse encoding. The value can be raised to
-# ~ 10000 when CPU is not a concern, but space is, and the data set is
-# composed of many HyperLogLogs with cardinality in the 0 - 15000 range.
-hll-sparse-max-bytes 3000
-
-# Active rehashing uses 1 millisecond every 100 milliseconds of CPU time in
-# order to help rehashing the main Redis hash table (the one mapping top-level
-# keys to values). The hash table implementation Redis uses (see dict.c)
-# performs a lazy rehashing: the more operation you run into a hash table
-# that is rehashing, the more rehashing "steps" are performed, so if the
-# server is idle the rehashing is never complete and some more memory is used
-# by the hash table.
-#
-# The default is to use this millisecond 10 times every second in order to
-# actively rehash the main dictionaries, freeing memory when possible.
-#
-# If unsure:
-# use "activerehashing no" if you have hard latency requirements and it is
-# not a good thing in your environment that Redis can reply from time to time
-# to queries with 2 milliseconds delay.
-#
-# use "activerehashing yes" if you don't have such hard requirements but
-# want to free memory asap when possible.
-activerehashing yes
-
-# The client output buffer limits can be used to force disconnection of clients
-# that are not reading data from the server fast enough for some reason (a
-# common reason is that a Pub/Sub client can't consume messages as fast as the
-# publisher can produce them).
-#
-# The limit can be set differently for the three different classes of clients:
-#
-# normal -> normal clients including MONITOR clients
-# slave -> slave clients
-# pubsub -> clients subscribed to at least one pubsub channel or pattern
-#
-# The syntax of every client-output-buffer-limit directive is the following:
-#
-# client-output-buffer-limit
-#
-# A client is immediately disconnected once the hard limit is reached, or if
-# the soft limit is reached and remains reached for the specified number of
-# seconds (continuously).
-# So for instance if the hard limit is 32 megabytes and the soft limit is
-# 16 megabytes / 10 seconds, the client will get disconnected immediately
-# if the size of the output buffers reach 32 megabytes, but will also get
-# disconnected if the client reaches 16 megabytes and continuously overcomes
-# the limit for 10 seconds.
-#
-# By default normal clients are not limited because they don't receive data
-# without asking (in a push way), but just after a request, so only
-# asynchronous clients may create a scenario where data is requested faster
-# than it can read.
-#
-# Instead there is a default limit for pubsub and slave clients, since
-# subscribers and slaves receive data in a push fashion.
-#
-# Both the hard or the soft limit can be disabled by setting them to zero.
-client-output-buffer-limit normal 0 0 0
-client-output-buffer-limit slave 256mb 64mb 60
-client-output-buffer-limit pubsub 32mb 8mb 60
-
-# Redis calls an internal function to perform many background tasks, like
-# closing connections of clients in timeout, purging expired keys that are
-# never requested, and so forth.
-#
-# Not all tasks are performed with the same frequency, but Redis checks for
-# tasks to perform according to the specified "hz" value.
-#
-# By default "hz" is set to 10. Raising the value will use more CPU when
-# Redis is idle, but at the same time will make Redis more responsive when
-# there are many keys expiring at the same time, and timeouts may be
-# handled with more precision.
-#
-# The range is between 1 and 500, however a value over 100 is usually not
-# a good idea. Most users should use the default of 10 and raise this up to
-# 100 only in environments where very low latency is required.
-hz 10
-
-# When a child rewrites the AOF file, if the following option is enabled
-# the file will be fsync-ed every 32 MB of data generated. This is useful
-# in order to commit the file to the disk more incrementally and avoid
-# big latency spikes.
-aof-rewrite-incremental-fsync yes
diff --git a/template/setenv.j2 b/template/setenv.j2
deleted file mode 100644
index 1321d308..00000000
--- a/template/setenv.j2
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/bash
-# Author Yo
-# Email YoLoveLife@outlook.com
-# Time 2017-02-07 09:23
-CATALINA_HOME={{basedir}}
-JAVA_HOME={{java_home}}
-JRE_HOME={{java_home}}/jre
-JAVA_OPTS={{java_opts}}
\ No newline at end of file
diff --git a/template/test.j2 b/template/test.j2
deleted file mode 100644
index ce0e8bd3..00000000
--- a/template/test.j2
+++ /dev/null
@@ -1 +0,0 @@
-sadasda
diff --git a/test/__init__.py b/test/__init__.py
deleted file mode 100644
index e69de29b..00000000
diff --git a/test/rq.py b/test/rq.py
deleted file mode 100644
index d8349200..00000000
--- a/test/rq.py
+++ /dev/null
@@ -1,2 +0,0 @@
-from apps.operation.models import Script
-print(Script.objects.all())
\ No newline at end of file
diff --git a/test/start.py b/test/start.py
deleted file mode 100644
index 652324a9..00000000
--- a/test/start.py
+++ /dev/null
@@ -1,29 +0,0 @@
-class One():
- def __init__(self):
- self.ddr = 1
-
- def get_ddr(self):
- print(self.ddr)
-
-
-
-class Two():
- def __init__(self):
- self.test=One()
-
- def set_one(self,test):
- self.test=test
-
- def one_add(self):
- self.test.ddr=5
-if __name__ == "__main__":
- # t=One()
- # o=Two()
- # o.set_test(t)
- # o.test_add()
- # t.get_ddr()
- o = One()
- t = Two()
- t.set_one(o)
- t.one_add()
- o.get_ddr()
\ No newline at end of file
diff --git a/utils/__init__.py b/utils/__init__.py
index 44baf0b6..48ee3223 100644
--- a/utils/__init__.py
+++ b/utils/__init__.py
@@ -21,4 +21,15 @@ def toJSON(self):
return json.dumps(d)
def str2dict(data):
- return json.loads(data)
\ No newline at end of file
+ return json.loads(data)
+
+
+class JstackThread():
+ thread_name=""
+ prio=0 #线程优先度
+ osprio=0 #系统线程优先度
+ tid=0 #系统线程对应
+ nid=0 #系统线程对应
+ stack_top="" #栈顶方法
+ thread_status="NULL"
+ position=""
diff --git a/utils/output.txt b/utils/output.txt
deleted file mode 100644
index c3a64b90..00000000
--- a/utils/output.txt
+++ /dev/null
@@ -1,84681 +0,0 @@
-W
-&
-8
-8
-8
-8
-%
-%
-8
-%
-%
-8
-&
-&
-&
-8
-h
-q
-q
-o
-a
-a
-o
-o
-a
-a
-#
-#
-q
-#
-&
-W
-W
-&
-W
-W
-M
-W
-M
-M
-M
-M
-M
-M
-#
-#
-*
-o
-o
-a
-h
-p
-q
-h
-b
-a
-a
-a
-a
-a
-a
-k
-d
-p
-q
-w
-w
-Z
-O
-U
-U
-J
-w
-q
-d
-d
-b
-k
-k
-h
-h
-a
-a
-o
-o
-o
-a
-a
-&
-&
-&
-b
-k
-k
-k
-h
-o
-M
-M
-*
-%
-&
-W
-#
-&
-%
-%
-8
-8
-&
-*
-a
-a
-a
-a
-z
-B
-B
-B
-#
-*
-*
-Z
-o
-Q
-o
-Z
-#
-8
-h
-o
-a
-o
-o
-o
-o
-*
-*
-*
-*
-#
-#
-*
-#
-#
-#
-M
-W
-M
-W
-8
-Z
-W
-W
-W
-#
-#
-#
-o
-B
-o
-o
-W
-B
-h
-h
-b
-h
-k
-h
-M
-h
-k
-k
-k
-b
-k
-b
-b
-o
-b
-*
-w
-a
-M
-w
-d
-q
-m
-O
-o
-o
-o
-o
-a
-a
-o
-m
-k
-p
-q
-p
-p
-q
-q
-d
-b
-h
-k
-b
-b
-b
-b
-O
-m
-m
-w
-q
-m
-b
-b
-b
-p
-m
-m
-m
-w
-m
-q
-b
-h
-k
-a
-o
-o
-M
-W
-W
-&
-*
-*
-*
-*
-*
-*
-#
-#
-#
-#
-M
-M
-W
-M
-W
-W
-&
-&
-&
-&
-&
-8
-%
-8
-&
-&
-W
-&
-&
-8
-B
-@
-X
-z
-h
-h
-O
-M
-M
-W
-M
-o
-*
-8
-8
-&
-8
-M
-M
-M
-M
-*
-&
-&
-8
-8
-%
-%
-8
-%
-%
-%
-%
-8
-&
-&
-8
-8
-&
-k
-m
-q
-Z
-h
-k
-a
-h
-a
-M
-#
-m
-&
-&
-&
-&
-&
-W
-W
-W
-W
-M
-M
-M
-M
-M
-M
-#
-#
-*
-o
-o
-a
-h
-p
-k
-h
-a
-a
-a
-a
-a
-a
-k
-p
-p
-q
-w
-w
-Z
-C
-Z
-X
-Y
-U
-Z
-p
-d
-d
-b
-b
-k
-h
-h
-a
-a
-o
-o
-o
-o
-&
-&
-&
-k
-k
-k
-h
-h
-h
-a
-M
-M
-8
-&
-&
-W
-#
-W
-%
-%
-%
-8
-8
-o
-a
-a
-J
-@
-%
-W
-B
-Q
-o
-L
-o
-m
-o
-o
-o
-d
-d
-h
-h
-o
-h
-k
-o
-o
-o
-*
-*
-*
-#
-M
-M
-M
-M
-M
-#
-M
-#
-#
-M
-m
-M
-a
-*
-W
-#
-b
-Q
-M
-B
-o
-m
-a
-#
-B
-k
-h
-k
-h
-h
-*
-h
-k
-k
-h
-k
-k
-k
-b
-a
-a
-*
-a
-o
-M
-o
-k
-b
-q
-k
-o
-o
-o
-o
-a
-a
-a
-U
-k
-p
-q
-p
-p
-q
-q
-d
-k
-k
-k
-b
-b
-b
-b
-Z
-m
-m
-q
-m
-w
-b
-b
-p
-w
-m
-m
-m
-w
-w
-d
-b
-a
-a
-h
-a
-a
-M
-W
-&
-&
-*
-o
-o
-*
-*
-*
-#
-#
-#
-#
-M
-M
-M
-M
-M
-W
-W
-W
-&
-&
-8
-8
-8
-&
-#
-*
-#
-M
-W
-&
-%
-o
-Y
-n
-q
-p
-0
-#
-o
-W
-W
-#
-o
-%
-8
-&
-O
-M
-M
-M
-M
-#
-&
-8
-8
-8
-%
-%
-8
-8
-%
-%
-%
-8
-W
-8
-8
-8
-8
-%
-o
-w
-w
-b
-q
-k
-q
-p
-W
-*
-Z
-W
-&
-&
-&
-&
-W
-W
-W
-M
-M
-M
-M
-M
-M
-#
-#
-#
-*
-o
-o
-a
-p
-b
-h
-h
-a
-a
-k
-k
-b
-b
-p
-p
-w
-w
-w
-m
-J
-m
-0
-z
-n
-L
-w
-d
-p
-d
-d
-k
-k
-k
-h
-a
-a
-o
-o
-o
-o
-&
-&
-b
-b
-k
-h
-h
-a
-a
-#
-M
-M
-8
-&
-&
-&
-#
-&
-8
-8
-8
-8
-8
-h
-a
-a
-&
-J
-B
-$
-#
-a
-U
-o
-0
-o
-L
-o
-0
-d
-p
-p
-a
-o
-*
-b
-p
-*
-o
-*
-*
-#
-W
-M
-W
-@
-m
-Z
-M
-8
-%
-M
-#
-#
-#
-h
-b
-q
-Z
-L
-#
-n
-B
-o
-m
-h
-a
-k
-8
-a
-k
-h
-h
-h
-8
-k
-k
-a
-*
-h
-a
-a
-W
-W
-M
-#
-a
-M
-k
-k
-b
-b
-*
-M
-o
-o
-o
-a
-a
-a
-a
-k
-q
-p
-q
-q
-q
-w
-p
-k
-b
-k
-k
-b
-b
-q
-w
-m
-q
-d
-m
-d
-b
-d
-p
-w
-m
-m
-m
-w
-p
-b
-b
-k
-o
-o
-a
-o
-W
-W
-W
-#
-*
-*
-*
-*
-*
-*
-*
-#
-#
-#
-#
-M
-M
-M
-M
-M
-W
-W
-&
-&
-&
-&
-&
-M
-a
-h
-h
-o
-#
-&
-8
-d
-X
-m
-q
-p
-#
-*
-#
-W
-M
-M
-M
-8
-%
-&
-M
-M
-M
-M
-M
-W
-&
-8
-8
-8
-%
-%
-8
-%
-8
-%
-8
-%
-W
-&
-8
-8
-8
-8
-%
-8
-d
-d
-o
-p
-p
-a
-W
-b
-p
-#
-&
-&
-&
-&
-W
-W
-W
-W
-M
-M
-M
-M
-#
-#
-#
-*
-*
-*
-o
-p
-b
-b
-a
-a
-a
-h
-k
-d
-b
-b
-p
-w
-w
-m
-Z
-Y
-w
-O
-n
-c
-z
-C
-w
-p
-p
-p
-b
-k
-b
-k
-h
-h
-a
-*
-h
-o
-&
-W
-#
-o
-k
-h
-a
-a
-a
-o
-*
-#
-8
-#
-W
-W
-W
-#
-&
-%
-B
-8
-8
-8
-a
-a
-p
-c
-B
-C
-o
-#
-*
-a
-h
-#
-#
-#
-d
-p
-d
-q
-q
-a
-o
-o
-p
-d
-#
-o
-#
-W
-M
-W
-Z
-&
-M
-#
-M
-M
-M
-M
-%
-C
-@
-#
-*
-a
-p
-m
-O
-Q
-x
-B
-o
-w
-o
-o
-a
-a
-8
-h
-h
-h
-k
-%
-b
-a
-a
-o
-a
-o
-m
-W
-a
-M
-W
-o
-%
-&
-k
-b
-b
-*
-W
-M
-#
-a
-C
-a
-a
-a
-a
-b
-q
-q
-p
-q
-w
-p
-b
-b
-b
-b
-b
-b
-p
-w
-m
-q
-m
-m
-b
-b
-p
-q
-w
-w
-m
-m
-p
-d
-b
-k
-k
-h
-o
-o
-o
-W
-W
-&
-*
-*
-*
-*
-*
-*
-*
-*
-#
-#
-#
-#
-#
-M
-M
-M
-M
-M
-M
-&
-&
-&
-&
-W
-o
-k
-d
-d
-k
-*
-&
-%
-&
-c
-q
-M
-#
-#
-*
-#
-W
-#
-M
-#
-#
-M
-M
-&
-M
-#
-M
-M
-M
-8
-8
-8
-8
-%
-%
-8
-%
-%
-%
-%
-%
-&
-&
-8
-8
-8
-8
-8
-8
-%
-W
-*
-p
-k
-o
-h
-d
-w
-&
-&
-&
-&
-&
-W
-W
-W
-W
-M
-M
-M
-M
-#
-#
-#
-#
-*
-*
-k
-b
-b
-k
-a
-a
-a
-k
-b
-k
-b
-p
-w
-w
-m
-m
-C
-0
-Q
-f
-0
-c
-c
-L
-q
-p
-d
-p
-b
-q
-b
-k
-h
-a
-a
-w
-o
-#
-W
-&
-#
-#
-a
-h
-a
-a
-o
-o
-*
-#
-8
-#
-M
-M
-W
-#
-8
-8
-8
-%
-8
-W
-a
-a
-d
-Y
-$
-o
-J
-a
-0
-a
-k
-o
-0
-o
-O
-d
-O
-%
-k
-o
-o
-o
-h
-d
-b
-k
-W
-W
-&
-W
-M
-M
-&
-k
-p
-w
-h
-&
-#
-#
-M
-X
-*
-o
-h
-m
-O
-U
-8
-B
-*
-m
-o
-o
-a
-a
-k
-B
-h
-h
-k
-b
-o
-a
-*
-&
-k
-#
-O
-W
-a
-M
-#
-k
-&
-&
-k
-b
-b
-o
-W
-M
-#
-*
-J
-J
-a
-a
-a
-k
-q
-q
-q
-q
-q
-p
-b
-b
-k
-k
-k
-b
-q
-m
-w
-d
-m
-w
-b
-d
-p
-w
-m
-m
-m
-m
-d
-q
-d
-k
-h
-h
-a
-o
-o
-&
-&
-W
-*
-*
-*
-*
-*
-*
-*
-#
-#
-#
-#
-#
-#
-M
-M
-M
-M
-M
-M
-&
-&
-&
-&
-M
-a
-k
-?
-k
-h
-o
-&
-%
-M
-M
-d
-k
-*
-#
-*
-M
-M
-W
-8
-k
-Z
-C
-p
-w
-M
-M
-W
-M
-M
-8
-W
-&
-8
-%
-%
-8
-8
-%
-%
-%
-%
-8
-&
-&
-8
-8
-8
-8
-8
-8
-&
-#
-h
-k
-a
-q
-p
-p
-&
-&
-&
-&
-W
-W
-W
-W
-W
-M
-M
-M
-#
-M
-#
-#
-#
-#
-h
-b
-k
-k
-h
-h
-h
-k
-b
-p
-q
-p
-q
-m
-m
-Z
-U
-Q
-n
-x
-X
-Q
-c
-c
-J
-w
-p
-p
-d
-b
-q
-k
-k
-h
-o
-q
-w
-a
-W
-W
-h
-M
-W
-a
-a
-a
-a
-o
-o
-*
-8
-W
-M
-M
-M
-M
-#
-%
-%
-8
-%
-8
-*
-a
-o
-$
-%
-Z
-o
-o
-0
-a
-Q
-o
-L
-a
-O
-p
-Z
-%
-p
-o
-*
-a
-o
-o
-o
-#
-W
-&
-%
-W
-M
-W
-p
-C
-J
-u
-c
-n
-\
-)
-1
-%
-M
-M
-_
-#
-h
-w
-m
-#
-B
-*
-Z
-o
-a
-o
-h
-h
-k
-%
-k
-h
-k
-*
-w
-M
-k
-k
-a
-b
-o
-W
-W
-#
-W
-h
-&
-Q
-b
-b
-b
-W
-M
-M
-M
-O
-J
-J
-a
-a
-a
-w
-q
-q
-q
-q
-w
-d
-b
-k
-k
-k
-d
-w
-m
-d
-p
-m
-b
-b
-d
-q
-w
-m
-m
-m
-p
-p
-m
-q
-h
-a
-h
-a
-o
-M
-W
-W
-W
-*
-o
-*
-*
-*
-*
-*
-*
-*
-#
-#
-#
-#
-#
-M
-M
-M
-M
-M
-W
-8
-&
-&
-M
-a
-b
-[
-"
-k
-*
-&
-%
-B
-8
-Q
-m
-M
-#
-M
-M
-8
-8
-8
-&
-B
-B
-8
-@
-#
-M
-W
-#
-W
-W
-a
-#
-8
-%
-%
-8
-8
-%
-%
-%
-8
-8
-&
-&
-8
-8
-8
-8
-8
-8
-&
-*
-q
-q
-a
-d
-d
-M
-&
-&
-&
-&
-W
-W
-W
-W
-M
-M
-M
-M
-#
-#
-#
-#
-*
-*
-w
-k
-k
-a
-a
-a
-h
-b
-q
-b
-w
-w
-m
-m
-Z
-C
-X
-Y
-n
-0
-0
-z
-c
-v
-C
-m
-p
-d
-d
-q
-q
-k
-k
-o
-b
-q
-a
-#
-W
-M
-#
-#
-q
-o
-a
-a
-o
-o
-o
-#
-8
-M
-M
-M
-M
-W
-#
-8
-8
-8
-%
-8
-o
-a
-B
-B
-Y
-a
-C
-h
-o
-#
-a
-O
-o
-o
-p
-d
-Z
-B
-#
-o
-Q
-o
-*
-d
-o
-a
-M
-&
-W
-&
-Z
-C
-0
-J
-L
-x
-Q
-Q
-Q
-Y
-]
-]
-f
-o
-W
-&
-k
-d
-m
-Y
-B
-#
-m
-o
-o
-o
-a
-o
-a
-M
-B
-h
-a
-a
-b
-O
-M
-m
-h
-b
-0
-&
-W
-M
-M
-L
-W
-X
-b
-b
-d
-W
-W
-M
-M
-p
-Z
-C
-q
-a
-h
-q
-q
-q
-p
-q
-m
-d
-b
-b
-b
-b
-b
-w
-q
-d
-m
-m
-b
-b
-q
-q
-m
-m
-m
-m
-p
-p
-m
-w
-h
-a
-h
-o
-o
-W
-W
-&
-*
-*
-o
-*
-*
-*
-*
-*
-*
-*
-#
-#
-#
-#
-#
-M
-M
-M
-M
-M
-W
-8
-&
-&
-W
-o
-a
-]
-_
-h
-#
-&
-%
-B
-B
-8
-u
-Z
-Z
-W
-M
-@
-8
-&
-&
-@
-B
-%
-%
-M
-Z
-W
-&
-&
-o
-b
-*
-&
-%
-%
-8
-%
-8
-%
-8
-%
-8
-&
-&
-&
-8
-8
-%
-8
-8
-#
-p
-q
-p
-b
-#
-W
-W
-&
-&
-W
-W
-W
-W
-W
-M
-M
-M
-M
-#
-#
-#
-#
-#
-*
-p
-k
-h
-a
-a
-a
-h
-b
-p
-p
-m
-w
-Z
-m
-Z
-C
-v
-n
-m
-m
-L
-Q
-~
-r
-u
-J
-m
-b
-b
-m
-q
-d
-k
-h
-b
-o
-h
-h
-&
-&
-M
-W
-&
-d
-#
-#
-o
-*
-*
-o
-&
-&
-#
-M
-M
-M
-&
-#
-B
-8
-%
-%
-8
-h
-8
-B
-B
-#
-C
-a
-C
-a
-o
-*
-a
-h
-*
-p
-O
-p
-L
-o
-Z
-#
-a
-d
-#
-#
-M
-%
-M
-B
-Y
-w
-Z
-Z
-Q
-*
-X
-q
-p
-m
-C
-Q
-L
-<
--
-a
-a
-B
-b
-q
-L
-@
-#
-q
-a
-a
-o
-o
-o
-a
-*
-&
-W
-o
-o
-h
-b
-O
-k
-L
-o
-a
-&
-&
-*
-&
-Y
-w
-Y
-*
-b
-d
-W
-M
-M
-M
-k
-q
-O
-C
-*
-h
-h
-q
-q
-p
-q
-m
-d
-b
-b
-k
-b
-p
-w
-q
-d
-m
-q
-b
-p
-p
-w
-m
-m
-m
-p
-p
-w
-m
-p
-d
-h
-h
-o
-*
-&
-&
-o
-*
-*
-*
-o
-#
-*
-*
-*
-*
-#
-*
-#
-#
-#
-#
-#
-M
-M
-M
-M
-M
-&
-8
-&
-W
-#
-o
-h
-a
-o
-M
-8
-B
-B
-B
-B
-%
-B
-b
-M
-M
-&
-8
-&
-B
-@
-B
-@
-M
-8
-&
-%
-&
-&
-h
-q
-]
-W
-%
-%
-8
-8
-8
-%
-8
-8
-&
-&
-&
-W
-8
-&
-8
-8
-8
-b
-w
-q
-p
-o
-W
-W
-&
-&
-W
-W
-W
-W
-W
-W
-M
-M
-M
-#
-#
-#
-#
-#
-#
-k
-k
-k
-a
-a
-h
-h
-k
-d
-m
-q
-Z
-m
-Z
-Z
-L
-u
-t
-Q
-0
-m
-C
-L
->
-f
-j
-J
-w
-b
-q
-m
-/
-w
-k
-d
-L
-O
-Z
-*
-W
-h
-h
-M
-M
-b
-w
-*
-#
-#
-*
-*
-8
-*
-#
-M
-M
-W
-W
-%
-8
-8
-%
-%
-%
-a
-B
-B
-o
-q
-*
-*
-h
-Q
-o
-Z
-a
-o
-*
-0
-o
-a
-p
-q
-a
-h
-Q
-p
-o
-M
-8
-M
-8
-Y
-O
-b
-k
-0
-b
-#
-U
-*
-*
-#
-o
-b
-C
-L
->
-<
-b
-*
-h
-q
-w
-Q
-*
-q
-a
-a
-a
-o
-o
-a
-#
-#
-8
-&
-0
-C
-p
-w
-m
-w
-#
-*
-W
-W
-#
-0
-J
-q
-U
-Z
-d
-p
-W
-W
-M
-M
-h
-m
-Z
-L
-J
-a
-h
-q
-p
-p
-q
-m
-d
-b
-b
-b
-b
-p
-m
-q
-d
-m
-p
-b
-d
-q
-w
-m
-m
-m
-p
-p
-m
-q
-p
-b
-b
-k
-a
-*
-&
-&
-b
-o
-o
-*
-*
-*
-*
-*
-*
-*
-*
-o
-*
-#
-#
-#
-#
-#
-M
-M
-M
-M
-M
-&
-&
-&
-M
-#
-*
-*
-#
-&
-%
-%
-B
-B
-B
-B
-B
-$
-M
-M
-M
-&
-W
-W
-@
-B
-k
-M
-8
-8
-o
-&
-&
-b
-Z
-}
-M
-%
-%
-%
-8
-8
-8
-8
-%
-8
-&
-&
-#
-M
-&
-&
-*
-8
-d
-d
-q
-a
-W
-M
-W
-&
-W
-W
-W
-W
-W
-M
-M
-M
-M
-M
-#
-#
-#
-*
-*
-h
-d
-k
-k
-a
-h
-h
-k
-d
-m
-q
-Z
-O
-0
-0
-C
-u
-{
-v
-q
-U
-m
-(
-]
-~
-|
-t
-U
-d
-p
-m
-m
-p
-C
-Z
-C
-C
-w
-Z
-M
-M
-k
-Q
-M
-*
-o
-&
-o
-o
-#
-M
-o
-8
-*
-*
-#
-M
-&
-M
-B
-8
-%
-8
-%
-8
-B
-B
-B
-a
-q
-0
-o
-*
-a
-Q
-a
-O
-o
-d
-d
-8
-k
-a
-w
-o
-O
-a
-a
-a
-M
-o
-&
-J
-Z
-d
-a
-o
-X
-*
-*
-v
-#
-#
-#
-#
-a
-m
-w
-C
-c
-[
-q
-a
-k
-O
-Q
-o
-p
-0
-a
-o
-o
-*
-o
-*
-W
-o
-%
-#
-L
-L
-b
-p
-m
-*
-W
-M
-M
-M
-Y
-U
-o
-X
-Y
-W
-b
-&
-M
-M
-M
-o
-w
-Z
-Q
-J
-q
-h
-h
-q
-p
-q
-q
-d
-b
-b
-b
-d
-w
-w
-b
-q
-m
-b
-b
-p
-w
-w
-m
-m
-p
-d
-q
-m
-d
-d
-b
-q
-b
-k
-o
-M
-&
-M
-*
-*
-*
-*
-*
-#
-*
-*
-*
-*
-*
-*
-*
-#
-#
-#
-#
-M
-M
-M
-M
-M
-&
-8
-&
-W
-W
-M
-M
-&
-8
-%
-B
-B
-B
-B
-B
-B
-#
-M
-M
-M
-@
-8
-W
-8
-8
-M
-@
-8
-8
-~
-8
-8
-k
-Z
-b
-M
-%
-8
-%
-8
-8
-8
-8
-%
-8
-&
-W
-p
-o
-p
-q
-d
-W
-b
-a
-#
-M
-W
-&
-&
-W
-W
-W
-M
-M
-M
-M
-M
-M
-M
-#
-*
-*
-o
-a
-h
-q
-k
-k
-a
-h
-h
-k
-k
-Z
-p
-m
-Z
-Q
-Q
-J
-v
-}
-{
-d
-q
-X
-L
-]
--
-<
-1
-t
-O
-b
-w
-m
-c
-d
-/
-x
-u
-?
-0
-M
-M
-p
-k
-h
-M
-h
-k
-&
-a
-h
-#
-o
-%
-#
-*
-*
-#
-M
-&
-%
-M
-8
-8
-8
-8
-&
-B
-B
-a
-a
-L
-*
-C
-a
-h
-a
-O
-a
-Z
-p
-w
-$
-o
-O
-w
-Z
-h
-Q
-a
-M
-%
-M
-C
-Z
-h
-k
-#
-*
-M
-h
-*
-Z
-*
-*
-#
-M
-O
-v
-x
-p
-Q
-c
-[
-&
-b
-m
-q
-W
-h
-m
-o
-o
-*
-o
-k
-h
-h
-h
-p
-B
-*
-m
-0
-o
-&
-W
-M
-W
-W
-M
-Y
-Y
-Y
-U
-Y
-Y
-&
-#
-M
-M
-M
-M
-O
-0
-Q
-J
-Q
-h
-h
-h
-p
-q
-q
-p
-b
-b
-b
-d
-q
-q
-b
-m
-w
-b
-p
-p
-q
-m
-m
-m
-p
-d
-m
-q
-p
-d
-p
-q
-w
-b
-a
-W
-h
-#
-o
-*
-o
-*
-o
-*
-*
-*
-#
-*
-*
-*
-*
-#
-#
-#
-#
-M
-#
-#
-M
-M
-8
-8
-&
-W
-&
-&
-&
-&
-%
-%
-B
-B
-B
-B
-B
-M
-M
-M
-M
-M
-8
-8
-8
-8
-b
-M
-#
-B
-8
-b
-M
-&
-a
-q
-#
-W
-%
-8
-%
-%
-8
-%
-8
-&
-&
-W
-*
-w
-a
-p
-m
-%
-M
-d
-#
-#
-W
-&
-&
-&
-W
-W
-M
-M
-M
-M
-#
-M
-M
-M
-#
-*
-*
-a
-h
-b
-k
-h
-a
-k
-h
-b
-b
-p
-w
-w
-w
-0
-C
-U
-v
-<
-)
-{
-q
-m
-U
-\
-]
-_
-<
-[
-j
-O
-k
-w
-m
-|
-d
-f
-{
-)
-<
-J
-M
-o
-p
-b
-#
-#
-h
-M
-&
-a
-k
-*
-k
-8
-#
-#
-#
-M
-W
-8
-8
-M
-8
-8
-8
-8
-%
-%
-o
-a
-a
-a
-0
-*
-m
-o
-*
-a
-O
-o
-Q
-p
-0
-w
-Z
-Q
-o
-d
-o
-M
-W
-W
-M
-J
-q
-m
-m
-#
-#
-o
-*
-M
-o
-M
-#
-*
-#
-d
-f
-w
-M
-p
-U
-~
-a
-#
-a
-j
-B
-o
-q
-Q
-o
-a
-a
-k
-k
-h
-h
-b
-M
-&
-W
-&
-#
-W
-M
-M
-#
-W
-W
-Q
-W
-U
-p
-Y
-z
-z
-q
-M
-M
-M
-#
-m
-L
-C
-C
-J
-k
-h
-h
-q
-p
-q
-p
-d
-b
-b
-d
-q
-q
-k
-m
-q
-k
-b
-p
-w
-m
-m
-p
-d
-p
-m
-q
-d
-d
-p
-w
-m
-w
-*
-W
-o
-#
-o
-o
-*
-o
-o
-o
-*
-*
-*
-*
-*
-*
-*
-*
-#
-#
-#
-#
-#
-M
-M
-M
-W
-8
-8
-&
-&
-&
-8
-8
-%
-%
-%
-B
-B
-B
-B
-L
-#
-M
-M
-M
-M
-B
-B
-B
-M
-M
-#
-#
-o
-Z
-#
-&
-#
-k
-#
-8
-B
-8
-8
-8
-8
-%
-%
-a
-M
-#
-w
-q
-a
-a
-a
-8
-#
-#
-#
-M
-&
-&
-&
-&
-W
-W
-M
-M
-#
-*
-#
-#
-M
-#
-*
-*
-o
-h
-b
-b
-k
-h
-h
-h
-b
-b
-p
-Z
-w
-w
-0
-L
-Y
-n
-I
-]
-U
-}
-q
-n
-Y
-[
-]
-_
->
-?
-x
-O
-a
-w
-w
-w
-h
-[
-[
-b
-r
-#
-#
-Z
-m
-q
-#
-a
-d
-M
-a
-8
-o
-*
-*
-8
-#
-M
-M
-M
-M
-8
-W
-M
-8
-8
-8
-%
-%
-B
-h
-a
-a
-a
-a
-C
-o
-L
-*
-*
-a
-O
-d
-Z
-h
-O
-*
-*
-O
-o
-q
-M
-8
-W
-C
-d
-*
-O
-q
-o
-M
-*
-8
-&
-B
-W
-W
-M
-W
-#
-Q
-m
-o
-W
-?
-~
-Z
-a
-q
-p
-B
-o
-d
-Z
-w
-*
-h
-h
-k
-a
-h
-m
-M
-o
-%
-&
-o
-o
-k
-o
-W
-#
-#
-L
-J
-U
-8
-Q
-X
-X
-c
-M
-M
-M
-#
-w
-Z
-L
-J
-Y
-k
-k
-h
-k
-d
-q
-p
-d
-b
-b
-d
-w
-p
-b
-w
-k
-b
-p
-q
-m
-w
-m
-d
-d
-w
-w
-p
-d
-d
-q
-m
-w
-p
-o
-M
-h
-M
-#
-o
-o
-o
-o
-o
-o
-*
-*
-*
-*
-*
-*
-*
-#
-#
-M
-M
-M
-M
-M
-M
-M
-8
-8
-&
-&
-&
-&
-8
-8
-%
-B
-%
-B
-B
-B
-Y
-M
-M
-M
-M
-#
-W
-&
-p
-M
-W
-M
-#
-M
-8
-M
-8
-W
-*
-M
-8
-%
-8
-%
-%
-8
-8
-%
-a
-b
-q
-q
-h
-a
-a
-a
-&
-*
-#
-M
-W
-W
-&
-W
-W
-M
-M
-M
-M
-#
-#
-#
-M
-M
-*
-*
-o
-k
-d
-d
-k
-k
-h
-k
-k
-d
-b
-Z
-q
-w
-0
-L
-J
-v
-u
-_
-C
-x
-]
-m
-{
-{
-[
-?
-+
-i
-_
-x
-0
-h
-q
-?
-q
-Q
-1
-_
-?
-L
-#
-w
-m
-m
-Z
-o
-a
-#
-#
-a
-&
-o
-*
-&
-#
-h
-b
-*
-M
-8
-W
-W
-M
-8
-8
-8
-%
-%
-o
-a
-h
-a
-a
-a
-o
-d
-*
-p
-a
-o
-$
-m
-p
-Z
-a
-h
-Z
-*
-w
-k
-#
-&
-8
-Y
-k
-*
-Q
-b
-%
-k
-#
-0
-*
-&
-W
-M
-p
-M
-m
-M
-w
-a
-b
->
-Z
-C
-Q
-W
-#
-W
-o
-*
-p
-Z
-#
-a
-h
-o
-o
-w
-p
-a
-o
-&
-&
-o
-W
-W
-M
-M
-M
-W
-U
-X
-c
-X
-0
-X
-X
-c
-W
-M
-M
-*
-p
-Q
-J
-J
-Y
-k
-k
-h
-h
-b
-q
-p
-d
-b
-b
-p
-w
-b
-d
-w
-b
-b
-d
-w
-m
-w
-w
-d
-p
-m
-q
-p
-d
-d
-q
-m
-w
-b
-b
-C
-o
-k
-#
-#
-o
-o
-o
-a
-o
-*
-*
-*
-*
-*
-*
-o
-#
-#
-#
-M
-#
-#
-M
-M
-M
-8
-8
-&
-&
-&
-&
-&
-8
-%
-%
-B
-B
-B
-B
-&
-Z
-a
-m
-M
-M
-M
-&
-W
-M
-%
-&
-M
-&
-B
-M
-8
-%
-&
-&
-%
-%
-8
-8
-8
-&
-8
-%
-d
-d
-p
-k
-o
-o
-o
-a
-8
-o
-M
-M
-M
-W
-W
-W
-M
-M
-M
-M
-#
-*
-#
-M
-M
-#
-*
-o
-h
-b
-p
-d
-h
-h
-k
-k
-p
-d
-Z
-w
-w
-O
-Q
-J
-z
-z
-}
-Q
-Z
-{
-|
-{
-}
-[
-?
-_
-~
-!
-~
-j
-Q
-h
-p
-L
-b
-X
-X
-}
-}
-h
-o
-o
-o
-Z
-Z
-o
-o
-a
-&
-&
-w
-*
-o
-8
-o
-a
-k
-k
-W
-%
-W
-M
-W
-8
-8
-8
-%
-B
-h
-h
-h
-a
-a
-a
-a
-a
-Q
-a
-Z
-#
-$
-h
-O
-b
-Z
-q
-*
-Z
-h
-M
-W
-W
-n
-k
-m
-h
-w
-#
-b
-*
-*
-#
-p
-#
-#
-p
-Z
-&
-8
-M
-p
-#
-{
-]
-0
-C
-0
-a
-&
-\
-a
-o
-a
-m
-Z
-*
-#
-a
-d
-&
-o
-h
-M
-8
-&
-k
-h
-a
-M
-#
-M
-M
-U
-U
-*
-Y
-Z
-z
-z
-c
-n
-#
-#
-#
-w
-U
-C
-L
-Y
-O
-k
-b
-h
-d
-q
-p
-d
-b
-d
-p
-q
-k
-q
-w
-b
-d
-q
-m
-m
-w
-p
-d
-w
-m
-p
-d
-d
-p
-m
-w
-d
-b
-U
-Y
-J
-d
-#
-#
-o
-a
-a
-a
-a
-a
-o
-o
-*
-*
-*
-o
-*
-#
-#
-M
-#
-#
-M
-M
-M
-M
-8
-8
-W
-&
-W
-&
-8
-8
-%
-B
-%
-B
-B
-B
-B
-&
-W
-M
-M
-M
-M
-#
-8
-W
-&
-@
-B
-B
-k
-8
-%
-%
-%
-%
-%
-&
-8
-8
-W
-&
-%
-h
-b
-a
-*
-*
-*
-o
-o
-8
-*
-M
-M
-W
-W
-W
-#
-)
-o
-M
-#
-*
-#
-#
-M
-#
-*
-o
-a
-k
-p
-p
-a
-k
-h
-k
-p
-p
-w
-Z
-w
-Z
-0
-C
-z
-u
--
-x
-O
-m
--
-)
-[
-[
-]
--
-_
-<
-!
-~
-t
-L
-k
-n
-X
-d
-j
-X
-}
-k
-a
-X
-#
-a
-h
-o
-m
-a
-M
-*
-W
-b
-a
-8
-8
-o
-o
-*
-W
-8
-a
-b
-o
-&
-&
-8
-8
-8
-a
-h
-h
-h
-a
-h
-a
-a
-h
-O
-C
-a
-0
-@
-Q
-b
-a
-p
-m
-b
-k
-k
-M
-W
-%
-k
-p
-a
-#
-M
-8
-h
-0
-8
-#
-q
-M
-#
-q
-a
-Z
-W
-8
-8
-0
-[
-C
-w
-C
-L
-d
-J
-&
-$
-k
-b
-d
-m
-Z
-m
-w
-8
-8
-*
-h
-&
-W
-&
-d
-k
-W
-#
-*
-#
-#
-J
-L
-#
-Y
-W
-X
-c
-v
-u
-#
-#
-#
-p
-C
-J
-p
-C
-C
-k
-b
-h
-h
-p
-p
-d
-d
-d
-q
-p
-k
-q
-q
-b
-b
-q
-m
-q
-m
-d
-p
-m
-q
-p
-d
-d
-q
-m
-q
-b
-Q
-v
-c
-0
-Q
-o
-#
-#
-h
-h
-h
-h
-h
-o
-o
-o
-o
-o
-*
-*
-*
-#
-M
-M
-#
-#
-M
-M
-M
-8
-8
-&
-&
-&
-&
-&
-8
-8
-%
-B
-%
-B
-B
-B
-&
-Z
-M
-M
-M
-M
-M
-W
-&
-@
-@
-B
-B
-[
-8
-%
-%
-%
-%
-%
-8
-%
-8
-M
-&
-%
-M
-o
-o
-M
-*
-*
-*
-*
-W
-#
-#
-M
-W
-W
-M
-8
-_
-h
-#
-*
-#
-#
-M
-#
-o
-o
-o
-k
-b
-p
-k
-h
-k
-k
-b
-p
-p
-0
-w
-m
-0
-C
-X
-n
-i
-p
-]
-0
-Z
-]
-[
-[
-]
-?
--
-+
-<
-!
-+
-r
-C
-k
-/
-r
-p
-c
-J
-u
-o
-X
-J
-m
-m
-#
-p
-a
-a
-M
-o
-#
-a
-k
-8
-M
-o
-o
-M
-8
-#
-a
-b
-b
-&
-&
-8
-8
-8
-k
-h
-h
-h
-h
-h
-h
-a
-h
-L
-w
-d
-B
-b
-$
-m
-Z
-#
-*
-Z
-#
-#
-p
-W
-W
-W
-q
-0
-#
-8
-W
-w
-M
-a
-%
-*
-%
-d
-&
-M
-m
-#
-M
-p
-1
-]
-q
-h
-L
-Q
-C
-*
-#
-f
-#
-*
-b
-q
-w
-O
-w
-*
-#
-o
-#
-b
-k
-&
-*
-&
-W
-#
-*
-#
-#
-o
-#
-o
-z
-z
-X
-c
-v
-v
-W
-#
-o
-q
-C
-J
-w
-J
-C
-b
-b
-h
-h
-b
-q
-d
-d
-p
-q
-d
-h
-p
-p
-b
-d
-w
-m
-q
-d
-d
-w
-w
-p
-p
-p
-b
-q
-w
-d
-p
-|
-v
-v
-u
-L
-k
-o
-o
-o
-h
-k
-k
-k
-h
-o
-o
-o
-o
-o
-o
-*
-#
-#
-M
-M
-#
-M
-M
-M
-8
-8
-8
-W
-&
-&
-&
-&
-8
-%
-B
-%
-B
-B
-B
-&
-W
-M
-M
-M
-M
-*
-#
-@
-B
-@
-B
-@
-0
-W
-%
-%
-%
-%
-%
-8
-%
-o
-#
-&
-B
-M
-#
-W
-W
-#
-#
-*
-#
-W
-M
-W
-W
-W
-M
-M
-h
-[
-f
-*
-*
-#
-#
-#
-*
-o
-o
-h
-k
-p
-k
-h
-h
-k
-k
-p
-p
-0
-m
-w
-O
-L
-U
-x
-z
--
-p
-~
-Y
-U
-]
-[
-[
-]
-?
-_
-+
->
-!
-_
-n
-J
-b
-n
-k
-b
-Q
-J
-}
-a
-u
-k
-a
-d
-x
-m
-O
-o
-*
-#
-k
-*
-*
-&
-*
-o
-#
-8
-W
-a
-k
-p
-k
-W
-&
-8
-8
-#
-h
-k
-h
-h
-h
-k
-h
-h
-a
-a
-L
-$
-Z
-B
-w
-Z
-b
-a
-h
-w
-Z
-M
-#
-W
-&
-8
-8
-w
-*
-*
-M
-m
-#
-#
-M
-Z
-8
-8
-8
-%
-*
-M
-o
-b
-1
-j
-Q
-o
-n
-L
-d
-a
-&
-f
-8
-*
-h
-d
-p
-d
-0
-O
-#
-*
-#
-#
-&
-M
-M
-b
-M
-o
-q
-w
-Z
-w
-h
-#
-q
-n
-M
-v
-n
-u
-n
-#
-#
-a
-Q
-J
-L
-m
-J
-k
-b
-q
-h
-k
-q
-d
-b
-d
-q
-p
-a
-q
-d
-b
-q
-m
-p
-m
-d
-p
-w
-q
-p
-p
-d
-p
-w
-d
-p
-1
-x
-n
-u
-u
-u
-J
-o
-o
-a
-a
-k
-k
-k
-k
-a
-o
-o
-o
-*
-o
-o
-*
-#
-M
-M
-M
-#
-M
-M
-M
-8
-8
-M
-&
-W
-&
-&
-8
-8
-%
-B
-B
-B
-B
-8
-M
-M
-M
-0
-M
-M
-W
-M
-M
-M
-&
-W
-#
-*
-%
-%
-%
-%
-%
-&
-&
-o
-#
-&
-%
-W
-M
-W
-W
-#
-M
-M
-o
-&
-M
-W
-W
-W
-W
-M
-p
-)
-#
-a
-*
-M
-M
-#
-o
-o
-a
-d
-p
-q
-h
-h
-k
-k
-d
-p
-w
-Q
-q
-O
-Q
-C
-r
-v
-?
-q
-w
-_
-j
-]
-]
-]
-]
-]
-?
-_
-~
->
-l
--
-x
-J
-b
-Y
-d
-p
-0
-h
-o
-Z
-Y
-*
-d
-d
-Z
-k
-Z
-*
-o
-#
-k
-&
-W
-&
-o
-o
-&
-&
-h
-k
-b
-d
-a
-W
-&
-8
-8
-a
-k
-h
-a
-h
-h
-h
-h
-h
-h
-a
-o
-C
-%
-O
-h
-b
-d
-Z
-d
-M
-#
-#
-#
-8
-W
-&
-&
-w
-Q
-u
-d
-w
-&
-8
-#
-/
-#
-d
-&
-%
-%
-W
-#
-?
-_
-k
-&
-f
-q
-L
-C
-a
-o
-%
-&
-*
-a
-b
-k
-p
-d
-m
-Z
-k
-a
-#
-&
-W
-&
-h
-o
-#
-*
-#
-#
-*
-*
-#
-*
-w
-X
-x
-v
-n
-n
-M
-#
-o
-m
-L
-C
-q
-Z
-k
-k
-q
-h
-h
-p
-d
-b
-d
-q
-k
-k
-q
-d
-d
-q
-m
-p
-q
-p
-w
-w
-q
-p
-q
-d
-q
-q
-p
-O
-c
-r
-n
-n
-n
-x
-t
-d
-a
-a
-a
-b
-b
-b
-b
-k
-a
-o
-o
-o
-o
-o
-o
-#
-*
-#
-M
-#
-M
-M
-M
-8
-8
-&
-W
-&
-&
-&
-8
-8
-%
-B
-B
-B
-B
-M
-J
-M
-b
-d
-#
-#
-#
-M
-#
-#
-M
-M
-M
-#
-%
-%
-%
-%
-%
-8
-o
-o
-*
-&
-%
-W
-W
-W
-W
-M
-M
-M
-#
-#
-M
-W
-W
-W
-M
-#
-#
-o
-o
-*
-#
-M
-#
-o
-o
-a
-k
-d
-p
-k
-h
-h
-k
-b
-p
-p
-Q
-q
-Z
-0
-L
-x
-n
-?
-]
-m
-C
-)
-?
-]
-]
-]
-]
-]
--
-_
-~
-i
-l
-~
-r
-Y
-h
-b
-d
-b
-0
-/
-*
-X
-Q
-a
-b
-k
-b
-o
-m
-h
-*
-k
-k
-b
-&
-o
-*
-&
-&
-a
-*
-k
-*
-M
-M
-&
-8
-8
-8
-h
-k
-h
-h
-h
-h
-h
-h
-h
-h
-a
-8
-#
-Z
-k
-Z
-h
-m
-Z
-d
-p
-a
-#
-M
-&
-&
-B
-o
-O
-w
-b
-o
-Z
-q
-&
-8
-h
-h
-m
-q
-q
-&
-p
-m
-\
-?
-,
-Q
-M
-*
-L
-L
-b
-m
-M
-@
-*
-a
-b
-h
-h
-b
-w
-q
-m
-q
-b
-o
-M
-*
-o
-o
-o
-#
-#
-#
-#
-#
-o
-*
-#
-q
-d
-u
-n
-x
-j
-o
-*
-p
-0
-Q
-d
-w
-C
-b
-d
-q
-h
-p
-p
-d
-p
-p
-h
-b
-q
-d
-p
-p
-w
-d
-p
-p
-w
-q
-q
-q
-p
-d
-q
-p
-Z
-]
-f
-x
-x
-x
-x
-r
-x
-x
-k
-h
-a
-h
-b
-b
-b
-b
-k
-a
-a
-o
-o
-o
-o
-*
-#
-#
-M
-M
-M
-M
-M
-8
-8
-8
-W
-W
-W
-&
-&
-8
-8
-%
-8
-B
-B
-M
-#
-o
-o
-&
-W
-#
-#
-*
-#
-M
-M
-#
-M
-M
-%
-%
-%
-%
-%
-8
-a
-a
-*
-&
-%
-W
-W
-W
-W
-M
-M
-M
-M
-#
-M
-W
-W
-M
-#
-#
-#
-o
-o
-*
-#
-#
-*
-o
-a
-a
-h
-q
-b
-h
-h
-k
-k
-p
-p
-0
-m
-w
-Z
-0
-x
-r
-0
-/
-{
-m
-u
-{
-]
-]
-]
-]
-]
-?
--
-+
-~
-i
-l
->
-j
-[
-O
-d
-L
-p
-a
-o
-m
-Q
-L
-k
-k
-Z
-Q
-#
-m
-d
-o
-a
-a
-o
-&
-o
-M
-&
-M
-a
-o
-#
-M
-#
-W
-W
-8
-8
-W
-k
-k
-a
-h
-h
-h
-h
-h
-h
-h
-*
-@
-#
-0
-O
-Y
-Z
-a
-p
-O
-d
-a
-*
-W
-W
-8
-b
-*
-b
-k
-M
-&
-L
-x
-$
-q
-w
-q
-8
-8
-b
-k
-d
-J
-)
-)
-Q
-h
-#
-M
-m
-L
-m
-o
-#
-$
-8
-M
-k
-k
-a
-h
-k
-p
-q
-p
-b
-k
-a
-a
-a
-M
-M
-m
-k
-M
-#
-#
-#
-*
-*
-d
-b
-u
-n
-j
-f
-#
-o
-p
-Z
-0
-b
-b
-q
-k
-d
-p
-h
-q
-p
-p
-d
-d
-h
-b
-p
-p
-q
-p
-d
-w
-p
-q
-w
-q
-q
-q
-d
-q
-q
-w
-x
-j
-r
-x
-x
-x
-r
-r
-j
-r
-U
-k
-k
-h
-b
-d
-d
-d
-b
-h
-a
-a
-o
-o
-o
-*
-#
-*
-#
-M
-#
-M
-M
-M
-8
-8
-W
-W
-&
-&
-&
-8
-&
-%
-%
-%
-%
-W
-h
-h
-*
-8
-M
-M
-#
-Q
-M
-M
-M
-M
-#
-*
-%
-%
-%
-%
-%
-#
-a
-o
-o
-8
-%
-&
-&
-&
-&
-M
-W
-W
-#
-M
-M
-M
-W
-M
-#
-#
-*
-o
-o
-#
-#
-#
-o
-a
-h
-b
-q
-p
-a
-a
-h
-k
-d
-p
-m
-0
-q
-Z
-Z
-n
-f
-0
-p
-z
-j
-m
-]
-?
-?
-]
-]
-]
-]
-?
-_
-+
-<
->
-l
-!
-f
-)
-r
-b
-k
-w
-n
-#
-Q
-Z
-k
-p
-k
-v
-a
-Z
-Z
-j
-h
-a
-*
-W
-W
-M
-&
-M
-*
-*
-#
-#
-M
-M
-M
-&
-8
-&
-&
-h
-k
-h
-h
-k
-h
-h
-h
-h
-o
-8
-%
-Q
-0
-<
-!
-O
-w
-p
-p
-Z
-o
-M
-M
-8
-#
-*
-#
-o
-d
-M
-o
-h
-&
-|
-k
-z
-#
-W
-M
-o
-M
-k
-C
->
-X
-z
-*
-h
-#
-0
-0
-q
-o
-M
-U
-a
-8
-a
-k
-p
-Z
-w
-p
-d
-b
-k
-a
-o
-k
-o
-W
-#
-#
-0
-O
-#
-*
-o
-*
-k
-b
-d
-q
-t
-f
-f
-)
-o
-d
-O
-Z
-Q
-b
-b
-k
-b
-p
-h
-a
-p
-d
-d
-b
-h
-p
-p
-d
-k
-m
-b
-q
-p
-q
-q
-q
-q
-p
-b
-p
-w
-O
-?
-j
-r
-r
-r
-r
-j
-j
-j
-f
-t
-C
-b
-k
-k
-p
-p
-d
-p
-b
-a
-a
-o
-o
-o
-o
-o
-#
-#
-M
-M
-#
-M
-M
-&
-8
-&
-W
-&
-W
-&
-&
-8
-8
-%
-B
-%
-#
-h
-k
-o
-$
-M
-W
-M
-@
-&
-W
-M
-m
-Q
-M
-8
-%
-%
-%
-%
-o
-a
-a
-o
-8
-%
-&
-&
-&
-W
-W
-&
-&
-M
-#
-M
-M
-M
-#
-#
-*
-a
-a
-#
-#
-#
-a
-a
-h
-d
-q
-p
-h
-a
-a
-k
-b
-p
-p
-Q
-w
-m
-O
-Y
-f
-U
-q
-d
-L
-z
-m
-?
-?
-?
-?
-?
-?
-?
--
-_
-+
-<
->
-l
-I
-f
-C
-f
-d
-u
-b
-a
-u
-L
-b
-q
-b
-b
-k
-k
-o
-w
-m
-h
-a
-a
-W
-#
-W
-W
-*
-*
-*
-#
-#
-#
-#
-#
-8
-8
-W
-M
-k
-h
-k
-h
-k
-h
-k
-h
-h
-%
-%
-%
-&
-h
-i
-\
-U
-Z
-o
-o
-p
-o
-W
-M
-B
-#
-8
-8
-o
-p
-8
-O
-*
-W
-p
-Q
-u
-(
-&
-o
-*
-&
-|
-I
-m
-Q
-a
-o
-h
-o
-m
-0
-q
-o
-W
-x
-B
-a
-h
-Z
-q
-p
-o
-o
-o
-a
-o
-*
-d
-k
-*
-k
-*
-k
-#
-#
-X
-k
-o
-*
-*
-d
-b
-b
-b
-/
-j
-\
-o
-o
-m
-O
-Q
-b
-b
-b
-k
-p
-d
-h
-p
-d
-p
-b
-h
-p
-p
-p
-k
-q
-b
-p
-p
-q
-q
-q
-q
-p
-p
-q
-m
-<
-/
-j
-j
-j
-j
-j
-j
-f
-f
-t
-t
-r
-0
-h
-k
-b
-p
-p
-p
-p
-d
-h
-h
-a
-a
-o
-o
-*
-*
-#
-M
-M
-M
-M
-M
-8
-8
-&
-W
-&
-&
-&
-8
-8
-8
-%
-%
-W
-d
-a
-B
-@
-O
-M
-M
-B
-#
-M
-#
-B
-B
-8
-8
-%
-%
-%
-B
-o
-a
-a
-a
-8
-8
-&
-&
-&
-W
-&
-&
-&
-a
-*
-M
-M
-M
-#
-#
-*
-a
-o
-#
-#
-#
-a
-a
-k
-p
-q
-p
-h
-a
-h
-k
-d
-d
-Q
-Z
-w
-Z
-Q
-j
-c
-x
-p
-p
-L
-J
-Z
-?
-?
-?
-?
-?
-?
-?
--
-_
-+
-<
->
-l
-;
-j
-Z
-b
-p
-h
-p
-*
-c
-b
-w
-w
-p
-w
-z
-o
-o
-d
-b
-a
-h
-M
-W
-W
-W
-o
-o
-*
-*
-*
-*
-#
-#
-#
-&
-&
-W
-M
-b
-b
-a
-h
-h
-k
-k
-h
-o
-8
-%
-%
-Y
-Z
-L
-n
-c
-Z
-o
-L
-a
-a
-&
-W
-B
-#
-8
-M
-b
-m
-q
-m
-#
-k
-h
-r
-w
-0
-*
-8
-M
-W
-l
-x
-h
-h
-j
-q
-a
-b
-q
-0
-q
-o
-v
-Y
-a
-0
-d
-p
-p
-a
-o
-#
-&
-#
-o
-p
-p
-h
-#
-a
-o
-o
-b
-*
-o
-O
-Y
-m
-*
-o
-p
-p
-w
-k
-/
-/
-p
-o
-m
-Z
-Z
-b
-b
-b
-k
-d
-d
-h
-p
-p
-p
-k
-h
-q
-p
-d
-q
-b
-p
-p
-q
-p
-q
-q
-q
-w
-q
-w
-Q
-r
-f
-j
-j
-j
-f
-f
-f
-f
-t
-t
-/
-/
-n
-a
-b
-b
-p
-p
-p
-p
-d
-k
-h
-a
-a
-o
-o
-o
-#
-*
-M
-M
-M
-M
-M
-8
-8
-&
-W
-W
-&
-&
-&
-8
-8
-%
-%
-8
-a
-k
-&
-a
-$
-*
-W
-%
-b
-M
-M
-B
-@
-O
-8
-8
-%
-%
-*
-o
-o
-o
-a
-8
-8
-&
-&
-&
-&
-&
-&
-*
-k
-o
-#
-M
-#
-*
-*
-o
-o
-*
-M
-#
-a
-a
-h
-d
-q
-p
-a
-a
-a
-h
-b
-d
-Z
-O
-q
-Z
-Z
-j
-u
-?
-Z
-p
-u
-U
-{
--
-?
-?
-?
-?
-?
-?
-?
--
-_
-~
->
-i
-l
-:
-r
-m
-L
-q
-q
-h
-C
-w
-Z
-Z
-L
-q
-Z
-a
-o
-o
-p
-k
-k
-h
-*
-o
-o
-k
-b
-o
-o
-*
-*
-#
-*
-#
-#
-&
-&
-M
-*
-h
-h
-a
-k
-k
-a
-h
-a
-%
-8
-8
-8
-&
-a
-m
-O
-\
-b
-m
-o
-#
-a
-8
-W
-M
-8
-%
-8
-p
-k
-o
-b
-#
-o
-M
-&
-Z
-h
-8
-*
-&
-U
-c
-p
-k
-a
-a
-J
-a
-k
-0
-O
-w
-a
-#
-Q
-m
-b
-b
-b
-M
-\
-x
-n
-&
-v
-w
-k
-m
-q
-M
-a
-#
-#
-b
-*
-o
-o
-q
-L
-M
-M
-a
-a
-w
-w
-p
-|
-L
-*
-b
-p
-p
-m
-k
-b
-k
-b
-d
-h
-b
-p
-p
-k
-h
-p
-d
-h
-m
-b
-p
-p
-p
-q
-q
-w
-q
-q
-m
-0
-<
-/
-f
-f
-f
-f
-f
-t
-t
-/
-/
-/
-\
-\
-\
-n
-h
-d
-d
-q
-q
-q
-q
-d
-k
-a
-o
-a
-a
-o
-#
-*
-M
-M
-M
-#
-M
-8
-8
-8
-M
-&
-&
-&
-&
-8
-8
-8
-%
-%
-%
-%
-W
-p
-8
-h
-a
-M
-m
-w
-k
-B
-B
-$
-8
-8
-%
-%
-*
-a
-o
-o
-o
-&
-8
-&
-&
-&
-&
-&
-W
-M
-q
-h
-W
-M
-#
-#
-*
-a
-o
-M
-M
-*
-a
-h
-b
-q
-q
-b
-a
-a
-k
-k
-b
-b
-Q
-q
-m
-Z
-c
-x
-J
-d
-O
-d
-|
--
-?
-?
-?
-?
-?
-?
-?
-?
-?
-_
-+
-~
-<
-i
-l
-;
-n
-p
-h
-X
-U
-*
-U
-q
-w
-O
-X
-b
-U
-h
-h
-o
-q
-b
-k
-*
-M
-M
-a
-o
-p
-a
-o
-a
-*
-C
-*
-*
-W
-&
-&
-M
-a
-k
-h
-k
-k
-k
-k
-k
-*
-8
-8
-8
-8
-&
-h
-a
-Z
-h
-L
-o
-o
-p
-a
-8
-M
-o
-%
-%
-%
-h
-d
-w
-h
-Q
-o
-M
-*
-m
-a
-p
-q
-o
-X
-x
-Q
-k
-k
-Q
-p
-X
-Y
-t
-J
-J
-a
-a
-0
-a
-k
-k
-Z
-(
-u
-@
-&
-&
-r
-b
-k
-0
-q
-*
-M
-*
-*
-#
-*
-o
-b
-a
-Q
-J
-O
-Q
-*
-k
-h
-m
-O
-r
-k
-k
-q
-d
-d
-k
-k
-b
-k
-d
-k
-h
-p
-p
-h
-h
-p
-d
-h
-q
-k
-p
-p
-p
-q
-w
-q
-0
-m
-Z
-r
-\
-t
-f
-f
-f
-t
-t
-/
-/
-/
-\
-\
-\
-\
-\
-C
-c
-O
-d
-p
-q
-q
-q
-q
-b
-k
-h
-h
-a
-a
-o
-#
-#
-M
-M
-#
-M
-M
-8
-8
-&
-W
-W
-&
-&
-&
-8
-8
-8
-%
-B
-%
-B
-B
-B
-w
-p
-M
-&
-o
-a
-B
-B
-B
-8
-8
-%
-W
-#
-o
-a
-o
-o
-M
-8
-8
-&
-8
-8
-W
-M
-M
-q
-k
-M
-#
-#
-*
-a
-a
-#
-#
-#
-a
-a
-b
-q
-q
-d
-a
-a
-h
-k
-b
-d
-Z
-m
-q
-O
-C
-x
-Y
-Y
-q
-0
-m
-1
-]
-[
-[
--
-?
-?
-?
-?
-?
--
-_
-+
-~
->
-i
-l
-;
-u
-Z
-q
-O
-L
-p
-Q
-Z
-x
-O
-p
-Q
-*
-o
-h
-a
-w
-m
-h
-M
-M
-U
-Z
-q
-0
-a
-b
-k
-k
-*
-*
-*
-&
-&
-&
-M
-a
-h
-k
-k
-k
-h
-h
-o
-8
-8
-8
-8
-&
-&
-k
-h
-a
-#
-Q
-o
-O
-#
-a
-B
-W
-W
-%
-8
-8
-h
-8
-W
-&
-q
-a
-%
-B
-q
-m
-n
-w
-Q
-U
-&
-L
-d
-J
-C
-Q
-J
-u
-f
-]
-C
-k
-Z
-Z
-o
-a
-L
-f
-a
-Y
-W
-&
-8
-Z
-p
-k
-0
-w
-a
-#
-M
-#
-M
-#
-*
-h
-q
-#
-o
-a
-U
-k
-w
-h
-h
-h
-k
-o
-o
-d
-d
-b
-w
-b
-b
-k
-d
-a
-h
-p
-d
-a
-a
-d
-b
-k
-k
-q
-p
-p
-p
-w
-w
-Z
-Z
-0
-L
-[
-/
-f
-t
-t
-/
-/
-/
-/
-\
-\
-\
-|
-\
-|
-|
-(
-x
-p
-p
-p
-q
-w
-q
-w
-p
-b
-k
-h
-h
-a
-o
-#
-*
-M
-M
-#
-#
-M
-&
-8
-&
-W
-&
-&
-&
-&
-8
-8
-8
-8
-8
-%
-%
-8
-8
-@
-a
-a
-W
-h
-h
-M
-B
-%
-8
-8
-8
-8
-8
-o
-o
-a
-o
-M
-8
-8
-8
-8
-&
-#
-M
-k
-w
-a
-M
-#
-*
-o
-a
-a
-M
-#
-o
-a
-h
-k
-q
-d
-a
-a
-a
-h
-b
-b
-q
-Z
-q
-m
-Z
-x
-x
-z
-Q
-d
-Q
-Y
-{
-[
-}
-}
-}
--
-?
--
--
-?
--
-_
-+
-~
->
-i
-l
-;
-c
-O
-J
-m
-k
-O
-m
-p
-L
-Z
-w
-Z
-o
-p
-a
-o
-m
-*
-o
-M
-M
-Z
-Q
-Q
-m
-q
-k
-p
-p
-w
-a
-k
-*
-*
-#
-a
-a
-h
-k
-h
-a
-h
-a
-8
-8
-8
-8
-8
-W
-&
-a
-a
-o
-a
-k
-m
-k
-m
-a
-%
-&
-W
-@
-h
-o
-k
-W
-&
-W
-o
-a
-B
-q
-p
-Z
-r
-Z
-L
-c
-&
-L
-m
-v
-*
-C
-J
-x
-f
-j
-Q
-k
-Q
-q
-o
-]
-o
-f
-a
-r
-o
-M
-%
-p
-d
-Z
-m
-Q
-k
-#
-W
-#
-#
-M
-o
-o
-#
-a
-d
-b
-p
-a
-|
-X
-k
-b
-h
-d
-p
-k
-k
-b
-p
-b
-d
-k
-d
-a
-a
-p
-b
-a
-a
-d
-h
-m
-b
-q
-p
-p
-q
-w
-w
-C
-Q
-J
-|
-(
-t
-t
-/
-/
-/
-/
-/
-\
-\
-\
-|
-|
-(
-|
-(
-(
-j
-r
-a
-q
-q
-w
-q
-q
-w
-b
-b
-h
-k
-a
-a
-*
-#
-*
-M
-M
-#
-M
-W
-8
-8
-M
-W
-W
-&
-&
-&
-&
-8
-8
-8
-%
-%
-8
-M
-%
-%
-M
-#
-o
-k
-M
-%
-8
-W
-8
-8
-8
-8
-8
-o
-a
-o
-&
-%
-8
-8
-&
-#
-*
-b
-h
-*
-a
-*
-#
-o
-h
-a
-*
-M
-#
-a
-a
-k
-q
-q
-k
-a
-a
-h
-k
-b
-k
-O
-q
-w
-Z
-u
-r
-j
-z
-O
-p
-Q
-{
-}
-}
-[
-[
-[
--
--
-?
-?
-?
--
-_
-+
-<
->
-i
-l
-;
-c
-m
-Q
-c
-Q
-Z
-d
-L
-h
-a
-w
-q
-a
-a
-h
-o
-d
-#
-#
-M
-J
-h
-d
-a
-b
-k
-k
-b
-d
-o
-o
-*
-&
-&
-W
-#
-a
-h
-a
-k
-o
-h
-8
-8
-8
-8
-8
-8
-W
-&
-o
-o
-a
-a
-q
-o
-O
-k
-a
-%
-W
-&
-B
-k
-%
-b
-&
-&
-&
-k
-a
-8
-p
-L
-p
-J
-m
-Q
-k
-q
-0
-q
-m
-L
-Y
-c
-(
-f
-j
-Q
-k
-q
-p
-p
-f
-&
-\
-a
-x
-W
-W
-%
-h
-d
-p
-q
-m
-w
-h
-*
-M
-M
-M
-M
-*
-#
-*
-b
-k
-O
-Q
-d
-b
-r
-f
-)
-h
-p
-a
-b
-b
-w
-d
-k
-k
-d
-h
-a
-a
-b
-h
-a
-b
-h
-q
-b
-d
-p
-q
-Z
-m
-Z
-J
-X
-Q
-1
-/
-/
-/
-\
-\
-\
-\
-\
-\
-|
-|
-(
-(
-(
-(
-(
-)
-1
-m
-x
-Y
-q
-q
-w
-w
-w
-p
-k
-b
-k
-k
-a
-o
-#
-*
-M
-M
-M
-#
-M
-&
-8
-&
-W
-W
-&
-&
-&
-8
-&
-8
-8
-8
-%
-8
-M
-%
-B
-h
-*
-*
-*
-W
-8
-%
-8
-8
-%
-%
-%
-%
-&
-W
-a
-%
-%
-8
-W
-#
-M
-k
-d
-M
-&
-*
-*
-o
-a
-a
-o
-#
-#
-a
-a
-b
-p
-w
-q
-a
-a
-o
-k
-k
-b
-m
-w
-q
-Z
-z
-r
-Y
-_
-O
-{
-J
-}
-[
-[
-[
-[
-[
--
--
--
--
--
--
--
-_
-+
-~
->
-!
-l
-I
-z
-O
-L
-k
-Z
-p
-Z
-k
-h
-d
-Q
-a
-Q
-o
-a
-a
-b
-m
-#
-a
-q
-h
-h
-p
-h
-h
-h
-a
-p
-o
-o
-o
-W
-W
-M
-#
-a
-a
-h
-k
-h
-8
-&
-8
-&
-8
-8
-&
-&
-&
-*
-a
-M
-a
-O
-Z
-h
-0
-a
-&
-W
-M
-%
-W
-8
-a
-8
-W
-p
-d
-o
-&
-w
-0
-a
-w
-t
-L
-M
-b
-o
-k
-C
-C
-b
-q
-m
-t
-v
-z
-a
-&
-b
-*
-(
-&
-(
-o
-j
-M
-h
-%
-k
-b
-q
-q
-0
-q
-h
-k
-W
-M
-M
-M
-#
-#
-*
-o
-*
-o
-0
-Q
-k
-h
-r
-j
-f
-h
-a
-a
-k
-p
-p
-b
-b
-b
-h
-b
-a
-k
-a
-a
-k
-h
-k
-m
-p
-q
-m
-O
-Z
-c
-v
-u
-f
-)
-/
-\
-\
-\
-\
-\
-|
-|
-|
-(
-(
-(
-(
-(
-)
-)
-1
-}
-{
-J
-v
-Z
-q
-w
-m
-m
-m
-p
-d
-k
-k
-a
-a
-#
-#
-o
-#
-M
-M
-#
-8
-8
-&
-M
-W
-W
-&
-&
-&
-8
-8
-8
-8
-8
-8
-M
-8
-%
-a
-o
-o
-#
-W
-B
-B
-8
-%
-%
-%
-%
-8
-8
-a
-*
-8
-8
-#
-M
-M
-a
-o
-M
-M
-#
-*
-*
-a
-k
-a
-#
-M
-*
-a
-a
-k
-w
-d
-o
-a
-o
-h
-k
-k
-p
-Z
-p
-w
-J
-j
-r
-/
-_
-O
-(
-\
-[
-]
-[
-}
-}
--
--
--
--
--
--
--
--
-_
-+
-<
->
-i
-l
-I
-c
-J
-Y
-0
-h
-L
-d
-q
-m
-a
-w
-a
-*
-k
-a
-a
-h
-*
-#
-L
-*
-a
-a
-a
-h
-a
-o
-h
-o
-a
-o
-o
-W
-&
-M
-#
-o
-a
-a
-k
-&
-&
-&
-&
-&
-&
-8
-&
-&
-&
-*
-M
-M
-a
-Z
-b
-Z
-h
-o
-M
-M
-M
-%
-W
-&
-p
-b
-w
-d
-8
-W
-w
-B
-q
-o
-m
-t
-#
-#
-*
-#
-C
-0
-Q
-d
-q
-0
-x
-r
-x
-a
-%
-b
-W
-{
-&
-(
-h
-f
-M
-b
-8
-a
-h
-w
-w
-0
-m
-h
-q
-a
-M
-M
-M
-#
-*
-o
-k
-M
-p
-o
-w
-h
-k
-w
-j
-a
-k
-b
-o
-b
-q
-m
-k
-h
-p
-h
-b
-a
-k
-a
-a
-h
-h
-k
-p
-q
-q
-Q
-0
-Q
-c
-x
-\
-]
-\
-\
-\
-\
-|
-|
-|
-|
-|
-(
-(
-(
-(
-(
-)
-)
-1
-1
-{
-{
-n
-/
-n
-Z
-q
-m
-m
-m
-q
-b
-b
-b
-a
-h
-*
-#
-#
-M
-M
-M
-#
-M
-8
-8
-W
-W
-&
-&
-&
-8
-8
-&
-8
-8
-8
-8
-M
-%
-B
-o
-h
-o
-M
-B
-B
-B
-8
-%
-%
-%
-%
-8
-M
-o
-M
-8
-8
-*
-b
-*
-W
-&
-M
-&
-M
-*
-o
-k
-a
-o
-M
-#
-a
-a
-k
-q
-w
-p
-a
-o
-h
-h
-k
-k
-Z
-q
-q
-Z
-x
-x
-]
-0
-p
-L
-{
-)
-[
-[
-[
--
--
--
-_
--
--
--
--
--
--
-_
-+
-<
->
-!
-l
-I
-u
-(
-Q
-U
-Z
-m
-C
-k
-k
-a
-m
-q
-a
--
-k
-h
-o
-o
-*
-o
-d
-o
-o
-k
-a
-a
-b
-h
-a
-a
-o
-o
-W
-W
-#
-#
-a
-a
-o
-o
-&
-&
-&
-&
-&
-&
-8
-&
-&
-&
-#
-*
-W
-M
-M
-p
-a
-Z
-*
-*
-&
-*
-%
-o
-&
-M
-d
-p
-k
-W
-8
-w
-h
-@
-%
-0
-t
-1
-%
-o
-*
-Z
-Q
-C
-Q
-q
-O
-c
-u
-n
-#
-&
-h
-M
-[
-&
-1
-b
-\
-W
-o
-&
-b
-k
-q
-w
-Q
-O
-0
-0
-h
-*
-W
-k
-#
-#
-*
-k
-*
-o
-o
-b
-a
-b
-k
-x
-a
-a
-d
-a
-a
-J
-b
-p
-q
-|
-k
-b
-a
-k
-a
-h
-h
-k
-p
-q
-q
-Z
-Q
-J
-u
-t
-|
-_
-(
-\
-\
-|
-(
-(
-|
-|
-|
-(
-(
-(
-)
-)
-)
-)
-1
-{
-{
-}
-[
-}
-0
-r
-Q
-w
-w
-m
-m
-m
-p
-d
-b
-b
-k
-o
-#
-#
-*
-*
-M
-#
-#
-&
-8
-&
-M
-M
-&
-&
-&
-8
-&
-&
-8
-8
-8
-M
-8
-%
-d
-a
-M
-&
-%
-%
-B
-%
-%
-%
-%
-%
-8
-a
-%
-8
-&
-#
-b
-*
-8
-8
-&
-M
-W
-#
-*
-a
-b
-a
-*
-#
-o
-a
-k
-d
-w
-d
-a
-a
-o
-h
-k
-k
-q
-w
-p
-m
-c
-r
-J
-O
-m
-d
-C
-J
-]
-[
-[
-]
-_
--
--
--
--
--
--
--
--
--
-_
-+
-<
->
-i
-l
-;
-u
-n
-Q
-w
-q
-w
-p
-a
-a
-h
-q
-a
-h
-C
-Z
-k
-h
-#
-a
-a
-a
-h
-d
-Z
-d
-O
-*
-h
-o
-a
-o
-o
-W
-W
-*
-#
-a
-a
-a
-W
-&
-&
-&
-&
-&
-&
-&
-W
-&
-&
-M
-#
-W
-&
-W
-W
-O
-k
-o
-*
-M
-M
-8
-h
-W
-W
-b
-B
-&
-M
-W
-q
-o
-k
-Z
-0
-t
-t
-#
-o
-&
-Z
-O
-O
-w
-m
-q
-X
-z
-v
-M
-M
-k
-M
-]
-&
-1
-M
-(
-o
-#
-W
-b
-k
-p
-w
-J
-C
-Z
-Q
-b
-o
-o
-#
-#
-*
-#
-*
-*
-o
-*
-a
-a
-h
-Q
-O
-p
-0
-q
-w
-o
-p
-b
-b
-/
-J
-h
-d
-a
-a
-a
-d
-a
-p
-w
-q
-w
-Z
-J
-U
-f
-t
-O
-Q
-r
-j
-|
-(
-|
-(
-(
-(
-)
-(
-)
-)
-)
-1
-1
-1
-{
-{
-}
-}
-[
-[
-_
-v
-u
-Q
-w
-m
-m
-Z
-p
-d
-d
-d
-a
-a
-#
-#
-o
-*
-#
-M
-#
-M
-8
-8
-M
-W
-W
-W
-&
-8
-8
-&
-8
-8
-&
-#
-8
-8
-a
-#
-M
-W
-%
-%
-%
-%
-%
-%
-%
-8
-a
-8
-&
-&
-&
-h
-#
-M
-M
-&
-W
-&
-M
-#
-o
-k
-h
-o
-#
-#
-a
-h
-b
-w
-p
-h
-a
-a
-h
-k
-h
-k
-Z
-q
-p
-J
-j
-X
-\
-q
-q
-c
-C
-v
-_
-]
-[
--
--
-_
-_
-_
-_
-_
-_
--
-_
-~
-{
-u
-Q
-0
-C
-U
-X
-X
-c
-Y
-q
-w
-b
-k
-a
-b
-m
-p
-b
-w
-d
-{
-h
-a
-k
-J
-o
-*
-k
-a
-a
-m
-m
-o
-o
-o
-o
-a
-o
-W
-W
-*
-*
-a
-a
-o
-W
-&
-&
-&
-&
-&
-&
-&
-W
-&
-w
-W
-W
-W
-&
-W
-&
-q
-d
-a
-*
-o
-#
-M
-8
-&
-#
-&
-B
-%
-h
-b
-M
-o
-b
-0
-%
-|
-\
-a
-Q
-p
-q
-O
-Q
-U
-Q
-z
-z
-z
-b
-#
-#
-h
-&
-]
-W
-{
-M
-(
-o
-#
-#
-h
-m
-q
-q
-C
-L
-Q
-b
-a
-#
-#
-M
-M
-M
-o
-o
-q
-o
-o
-o
-a
-a
-a
-h
-C
-h
-0
-L
-o
-a
-Q
-b
-}
-h
-h
-b
-b
-a
-a
-a
-a
-k
-q
-w
-q
-U
-X
-f
-t
-n
-J
-0
-O
-O
-0
-X
-n
-j
-r
-x
-t
-)
-1
-1
-1
-{
-{
-{
-}
-}
-}
-[
-[
-]
-?
-Y
-(
-Y
-Z
-m
-Z
-Z
-Z
-p
-d
-d
-h
-b
-*
-#
-#
-o
-*
-#
-#
-#
-8
-8
-&
-W
-&
-W
-&
-8
-8
-&
-8
-&
-W
-p
-h
-M
-a
-#
-M
-W
-%
-%
-%
-%
-%
-%
-%
-#
-8
-8
-&
-M
-b
-M
-&
-&
-&
-W
-&
-&
-M
-#
-h
-k
-a
-*
-#
-a
-h
-h
-w
-w
-p
-a
-a
-o
-h
-h
-k
-O
-m
-b
-Q
-x
-r
-Z
-X
-p
-w
-)
--
-_
-_
-?
-_
-_
-_
-_
-_
-<
-j
-Q
-Z
-m
-w
-m
-Z
-O
-0
-Q
-C
-L
-J
-Y
-X
-w
-Q
-b
-k
-k
-0
-b
-q
-Z
-Q
-k
-_
-x
-b
-k
-u
-o
-o
-o
-o
-*
-#
-*
-Z
-#
-h
-o
-a
-a
-a
-W
-W
-*
-o
-a
-h
-W
-&
-&
-&
-&
-&
-&
-&
-&
-&
-k
-p
-o
-*
-*
-&
-&
-o
-M
-b
-d
-*
-%
-M
-M
-L
-W
-&
-M
-B
-@
-M
-p
-k
-&
-m
-*
-*
-a
-a
-*
-Z
-Y
-C
-0
-Q
-U
-J
-X
-X
-Q
-*
-b
-*
-a
-W
-]
-k
-}
-W
-(
-k
-o
-o
-h
-p
-Z
-w
-L
-Q
-Q
-Z
-p
-#
-W
-*
-o
-#
-*
-*
-*
-b
-a
-a
-o
-#
-a
-h
-z
-Z
-0
-L
-b
-o
-a
-p
-1
-w
-k
-b
-b
-a
-a
-a
-k
-b
-w
-w
-0
-v
-j
-f
-(
-J
-Q
-0
-0
-0
-0
-m
-0
-Z
-Z
-0
-O
-L
-C
-u
-t
-\
-[
-}
-}
-[
-[
-]
-]
-?
-?
-_
-C
-/
-O
-Z
-Z
-O
-Z
-q
-p
-p
-k
-h
-*
-#
-#
-o
-a
-#
-M
-#
-M
-8
-8
-M
-W
-&
-&
-&
-&
-&
-&
-8
-W
-o
-q
-&
-o
-#
-#
-M
-%
-%
-%
-%
-%
-%
-%
-8
-8
-W
-*
-M
-k
-8
-8
-8
-&
-&
-&
-M
-#
-o
-k
-a
-a
-#
-#
-a
-h
-p
-w
-p
-o
-a
-o
-h
-h
-k
-b
-Z
-q
-b
-X
-r
-O
-p
-z
-d
-0
-+
-+
-+
-_
-_
-_
-~
-[
-O
-O
-q
-p
-w
-p
-q
-p
-w
-Z
-O
-0
-O
-Q
-C
-C
-X
-c
-q
-p
-q
-d
-q
-q
-J
-d
-a
-C
-Q
-Z
-d
-b
-k
-z
-a
-o
-h
-#
-*
-#
-b
-q
-o
-*
-h
-a
-o
-a
-W
-W
-M
-o
-a
-o
-W
-W
-W
-&
-&
-&
-&
-&
-&
-&
-&
-b
-a
-a
-M
-&
-8
-*
-p
-*
-*
-o
-8
-&
-8
-*
-p
-M
-M
-B
-B
-h
-q
-k
-q
-W
-Z
-*
-W
-#
-b
-Z
-X
-r
-w
-Q
-C
-L
-Y
-c
-C
-#
-M
-*
-a
-M
-]
-h
-}
-W
-)
-b
-*
-o
-#
-d
-q
-w
-0
-L
-m
-L
-w
-M
-b
-#
-M
-*
-M
-#
-*
-o
-a
-a
-a
-Q
-a
-h
-Q
-L
-Q
-O
-0
-o
-o
-q
-)
-f
-k
-b
-b
-a
-o
-a
-h
-b
-m
-m
-J
-j
-/
-{
-J
-Z
-Z
-0
-0
-Z
-Z
-0
-O
-O
-0
-O
-0
-0
-q
-p
-p
-Q
-O
-C
-r
-[
-]
-]
-?
--
-_
-_
-<
-q
-c
-Z
-Z
-O
-O
-Z
-q
-p
-d
-a
-o
-#
-#
-M
-a
-o
-#
-#
-#
-&
-8
-&
-W
-W
-&
-&
-&
-&
-&
-&
-8
-k
-b
-M
-a
-#
-#
-W
-%
-%
-%
-8
-%
-%
-%
-&
-M
-M
-W
-a
-b
-8
-8
-&
-&
-&
-&
-M
-#
-a
-k
-a
-#
-M
-o
-a
-b
-w
-w
-p
-o
-o
-a
-h
-h
-k
-O
-q
-b
-O
-r
-C
-?
-d
-X
-p
-t
-_
-+
->
-f
-0
-m
-w
-d
-q
-Z
-m
-q
-q
-w
-d
-p
-q
-Z
-O
-0
-0
-L
-J
-X
-O
-r
-q
-p
-C
-z
-m
-q
-J
-w
-p
-h
-(
-p
-k
-k
-b
-0
-0
-#
-m
-*
-p
-b
-p
-#
-o
-w
-q
-o
-a
-a
-#
-M
-M
-a
-a
-#
-&
-&
-W
-&
-&
-&
-&
-&
-&
-&
-W
-a
-h
-a
-o
-8
-*
-#
-p
-W
-*
-#
-#
-M
-Z
-%
-a
-a
-0
-Z
-0
-b
-*
-8
-w
-b
-p
-0
-w
-b
-p
-Z
-c
-c
-(
-X
-m
-L
-0
-J
-k
-#
-M
-#
-a
-#
-}
-W
-}
-W
-(
-W
-k
-o
-k
-o
-p
-q
-Z
-Q
-0
-0
-w
-#
-h
-h
-a
-*
-#
-#
-*
-o
-a
-o
-a
-h
-k
-h
-J
-O
-0
-Z
-O
-X
-o
-o
-1
-\
-b
-b
-b
-a
-o
-a
-a
-q
-Z
-0
-x
-|
-(
-C
-0
-O
-m
-w
-m
-O
-0
-0
-0
-0
-0
-w
-m
-0
-0
-m
-Z
-0
-0
-0
-m
-w
-Z
-O
-m
-|
->
-+
-+
-\
-f
-J
-Z
-Z
-O
-O
-m
-p
-p
-k
-o
-o
-#
-#
-*
-a
-#
-M
-#
-M
-8
-8
-W
-M
-#
-*
-M
-W
-&
-&
-M
-h
-h
-*
-a
-*
-*
-h
-8
-8
-%
-%
-8
-%
-B
-o
-W
-8
-*
-b
-h
-8
-8
-8
-8
-&
-W
-M
-*
-h
-a
-a
-M
-#
-a
-h
-p
-w
-p
-a
-a
-o
-h
-h
-k
-m
-m
-d
-b
-c
-j
-!
-[
-d
-x
-O
->
-x
-Q
-w
-w
-w
-m
-m
-q
-Z
-m
-m
-Z
-m
-q
-q
-p
-q
-Z
-O
-C
-f
-{
-[
-[
-C
-j
-q
-p
-Y
-C
-m
-m
-w
-Z
-0
-b
-/
-p
-a
-Z
-Y
-k
-Y
-O
-q
-k
-q
-*
-o
-o
-w
-m
-m
-a
-a
-o
-o
-W
-M
-a
-h
-W
-&
-W
-&
-&
-W
-&
-&
-&
-W
-&
-W
-M
-a
-a
-a
-M
-*
-#
-q
-#
-o
-#
-#
-*
-a
-k
-&
-M
-a
-*
-*
-p
-%
-%
-p
-q
-b
-q
-m
-k
-p
-O
-Y
-U
-(
-a
-h
-k
-k
-m
-a
-W
-M
-h
-a
-*
-[
-a
-{
-W
-(
-W
-W
-o
-k
-k
-k
-q
-d
-Z
-Q
-Q
-Z
-o
-*
-a
-o
-o
-a
-#
-*
-*
-o
-o
-o
-a
-k
-k
-U
-O
-C
-Q
-0
-O
-o
-o
-a
-f
-d
-b
-d
-a
-a
-o
-a
-Q
-L
-z
-|
-)
-(
-]
-(
-x
-U
-O
-m
-Z
-O
-0
-0
-Z
-w
-q
-w
-m
-m
-Z
-m
-0
-0
-0
-0
-0
-0
-Q
-p
-0
-O
-0
-w
-|
-L
-v
-Q
-Z
-O
-O
-m
-q
-q
-b
-o
-o
-#
-#
-#
-a
-*
-#
-#
-#
-&
-8
-M
-*
-b
-d
-a
-M
-&
-&
-&
-#
-W
-M
-o
-k
-o
-a
-8
-8
-8
-&
-8
-8
-#
-#
-h
-d
-8
-&
-8
-8
-8
-8
-8
-&
-M
-#
-h
-k
-a
-#
-M
-o
-a
-b
-w
-w
-h
-a
-o
-o
-h
-k
-h
-Z
-p
-b
-m
-j
-0
-L
-C
-d
-q
-b
-q
-q
-q
-q
-p
-p
-p
-w
-m
-m
-m
-m
-m
-m
-w
-v
-?
-<
-~
-~
-+
-+
-+
-+
-<
-Y
-t
-q
-q
-v
-C
-w
-p
-q
-q
-b
-Q
-d
-p
-*
-Z
-k
-m
-q
-Z
-*
-a
-*
-*
-*
-*
-a
-b
-h
-a
-k
-o
-#
-M
-M
-#
-W
-W
-&
-W
-&
-&
-&
-W
-&
-W
-W
-&
-W
-*
-a
-h
-W
-o
-*
-M
-q
-#
-#
-W
-#
-8
-W
-p
-%
-&
-%
-p
-p
-k
-&
-q
-d
-q
-O
-p
-w
-k
-d
-U
-u
-t
-n
-L
-d
-q
-q
-*
-#
-&
-#
-a
-a
-b
-}
-0
-}
-#
-t
-W
-W
-a
-*
-o
-k
-b
-m
-w
-Z
-L
-O
-w
-a
-o
-o
-a
-o
-a
-#
-o
-a
-o
-o
-h
-k
-L
-X
-J
-Z
-b
-b
-b
-k
-o
-o
-a
-Y
-d
-b
-k
-o
-d
-q
-C
-Y
-v
-)
-+
-!
-<
-+
--
-?
-?
-?
-?
-?
-?
-+
-_
-|
-X
-0
-O
-O
-0
-O
-w
-q
-O
-Q
-0
-O
-m
-Z
-0
-0
-O
-Z
-Q
-L
-d
-Y
-O
-O
-O
-Z
-m
-q
-d
-*
-o
-o
-*
-#
-*
-a
-#
-#
-#
-&
-&
-W
-b
-0
-L
-w
-*
-W
-&
-&
-&
-&
-M
-o
-o
-k
-a
-8
-W
-8
-&
-8
-8
-a
-h
-h
-*
-8
-&
-8
-8
-8
-8
-8
-&
-M
-#
-h
-k
-a
-#
-#
-a
-h
-q
-w
-p
-o
-a
-o
-a
-k
-h
-Z
-w
-b
-b
-U
-X
-p
-b
-b
-b
-q
-p
-m
-Z
-m
-m
-m
-q
-p
-q
-d
-X
-/
-[
->
->
->
->
->
-<
-~
-~
-+
-+
-_
--
-Q
-c
-j
-w
-w
-q
-L
-m
-p
-q
-w
-d
-}
-k
-w
-d
-p
-a
-0
-o
-o
-o
-p
-p
-p
-#
-#
-(
-#
-k
-q
-k
-a
-&
-M
-W
-M
-W
-&
-W
-W
-W
-W
-W
-W
-W
-&
-W
-a
-a
-a
-a
-h
-&
-o
-o
-W
-*
-o
-M
-W
-W
-&
-#
-d
-p
-W
-d
-q
-p
-8
-8
-0
-b
-w
-w
-m
-q
-w
-m
-c
-\
-j
-v
-L
-b
-q
-m
-*
-#
-M
-Z
-J
-Q
-p
-{
-f
-)
-M
-r
-M
-W
-h
-b
-o
-a
-m
-Z
-k
-O
-C
-m
-O
-m
-o
-p
-o
-o
-a
-W
-M
-a
-d
-a
-k
-J
-u
-v
-Y
-Z
-h
-h
-a
-b
-o
-o
-o
-0
-b
-k
-b
-o
-a
-b
-m
-J
-r
-u
-c
-Y
-Y
-u
-|
-~
-;
-I
-i
->
->
-i
->
->
->
->
-_
-_
-[
-r
-J
-Q
-O
-0
-Q
-m
-m
-0
-Q
-m
-0
-0
-0
-m
-q
-v
-J
-O
-O
-O
-Z
-q
-p
-a
-o
-o
-o
-#
-#
-a
-o
-#
-#
-#
-&
-#
-m
-:
-O
-Q
-h
-M
-&
-&
-&
-&
-M
-#
-o
-o
-#
-&
-M
-8
-&
-&
-&
-#
-*
-8
-M
-#
-8
-&
-8
-%
-8
-&
-W
-M
-o
-k
-a
-#
-#
-o
-h
-k
-w
-w
-o
-o
-o
-a
-k
-h
-b
-m
-b
-b
-0
-z
-Z
-k
-k
-b
-p
-m
-Z
-Z
-Z
-w
-p
-m
-\
-)
-<
->
->
->
->
->
-i
-<
--
-[
-\
-X
-Q
-U
-c
-v
-x
-w
-C
-j
-w
-d
-p
-p
-Z
-q
-q
-p
-c
-f
-a
-p
-d
-d
-d
-h
-w
-U
-w
-*
-k
-a
-h
-p
--
-h
-o
-a
-d
-a
-o
-M
-W
-W
-W
-W
-W
-W
-W
-W
-M
-#
-W
-W
-W
-a
-o
-o
-a
-#
-&
-o
-M
-M
-m
-Z
-M
-o
-*
-M
-%
-&
-a
-h
-p
-p
-q
-8
-%
-Z
-&
-d
-q
-p
-b
-p
-q
--
-Y
-Q
-O
-M
-a
-k
-o
-M
-Y
-#
-v
-L
-C
-p
-t
-u
-|
-Z
-c
-M
-M
-h
-h
-a
-b
-q
-m
-#
-q
-Q
-Z
-Q
-d
-Z
-o
-a
-a
-o
-o
-h
-U
-Q
-m
-p
-k
-f
-k
-U
-U
-w
-b
-d
-k
-d
-o
-o
-a
-O
-k
-h
-o
-o
-*
-Q
-U
-J
-c
-X
-c
-X
-Y
-U
-U
-U
-U
-U
-U
-U
-Q
-C
-t
-<
-"
-I
-l
-i
->
->
-i
->
-+
--
-j
-Y
-C
-O
-0
-0
-w
-O
-Q
-Q
-0
-z
-C
-O
-O
-Z
-m
-p
-b
-a
-a
-a
-*
-#
-o
-a
-#
-#
-#
-W
-o
-Z
-;
-;
-l
-Z
-M
-&
-&
-&
-&
-&
-W
-&
-o
-o
-o
-*
-&
-&
-&
-8
-o
-&
-8
-W
-#
-M
-8
-8
-8
-8
-&
-M
-#
-a
-a
-o
-#
-#
-a
-h
-q
-q
-d
-o
-o
-o
-a
-k
-h
-Z
-p
-b
-d
-Y
-q
-p
-k
-p
-b
-Z
-Z
-m
-q
-u
-?
-i
->
->
-<
->
-<
-<
-]
-j
-J
-0
-J
-J
-C
-J
-J
-J
-X
-f
-]
-i
-J
-J
-f
-q
-d
-q
-q
-Y
-w
-p
-q
-b
-Y
-h
-p
-q
-v
-h
-v
-o
-v
-*
-#
-#
-#
-#
-0
-[
-b
-h
-q
-p
-b
-#
-M
-W
-W
-W
-W
-W
-W
-W
-W
-h
-#
-W
-W
-M
-o
-o
-o
-a
-&
-&
-o
-W
-#
-M
-O
-&
-m
-8
-W
-M
-M
-b
-d
-p
-p
-$
-&
-%
-m
-h
-k
-b
-k
-b
-b
-h
-Y
-q
-Z
-m
-0
-#
-@
-#
-M
-M
-U
-J
-O
-k
-f
-z
-x
-x
-z
-J
-#
-M
-a
-M
-*
-h
-w
-#
-o
-q
-0
-0
-0
-*
-*
-m
-Q
-h
-h
-d
-j
-a
-m
-d
-k
-)
-k
-p
-J
-J
-d
-p
-b
-b
-q
-*
-o
-o
-a
-|
-h
-o
-o
-*
-*
-c
-x
-v
-u
-n
-v
-c
-X
-X
-U
-J
-J
-U
-U
-U
-U
-U
-U
-U
-U
-U
-U
-Q
-c
-?
-,
-I
-i
->
->
->
-+
-_
-r
-z
-z
-Q
-Q
-Z
-j
-Y
-O
-O
-O
-Z
-w
-p
-*
-h
-h
-o
-#
-#
-a
-o
-#
-M
-#
-h
-Q
-I
-"
-.
-q
-#
-W
-&
-&
-&
-&
-W
-&
-&
-W
-a
-o
-&
-&
-&
-&
-a
-k
-h
-&
-#
-#
-&
-8
-8
-&
-&
-M
-*
-k
-a
-#
-#
-o
-a
-b
-w
-m
-*
-o
-o
-a
-k
-h
-p
-m
-b
-b
-0
-w
-m
-p
-k
-q
-p
-w
-X
-)
-<
->
->
->
->
->
-<
-j
-0
-U
-U
-J
-C
-U
-v
-f
-_
->
-~
-~
-<
-<
-i
-:
-/
-c
-f
-k
-w
-q
-q
-m
-q
-q
-\
-k
-b
-J
-*
-h
-L
-Z
-M
-o
-b
-*
-*
-#
-#
-q
-r
-Z
-h
-#
-h
-b
-k
-a
-M
-W
-W
-W
-W
-W
-W
-W
-M
-d
-#
-W
-W
-W
-&
-a
-o
-a
-8
-W
-W
-W
-#
-#
-O
-O
-a
-*
-*
-#
-W
-W
-d
-d
-w
-$
-&
-%
-Z
-@
-h
-k
-m
-Q
-k
-p
-Q
-Z
-q
-p
-d
-a
-#
-o
-#
-U
-Y
-|
-b
-b
-L
-z
-(
-0
-v
-0
-#
-M
-o
-M
-M
-m
-#
-*
-#
-a
-m
-Z
-w
-*
-#
-*
-p
-0
-k
-a
-h
-o
-C
-h
-t
-h
-k
-d
-L
-b
-b
-w
-k
-b
-Z
-Z
-o
-o
-a
-a
-d
-o
-o
-o
-*
-X
-n
-]
-j
-t
-j
-x
-x
-x
-x
-x
-x
-x
-x
-r
-n
-Y
-J
-U
-U
-U
-U
-U
-U
-U
-Y
-Y
-L
-Y
-]
-;
->
->
->
-i
-<
-~
-{
-n
-0
-Y
-J
-0
-0
-Z
-q
-q
-o
-k
-k
-h
-*
-#
-a
-o
-#
-#
-*
-b
-Q
-I
-.
-`
-w
-#
-W
-&
-&
-&
-&
-W
-&
-&
-W
-a
-a
-&
-&
-&
-&
-8
-%
-W
-k
-&
-M
-M
-8
-8
-&
-M
-#
-a
-k
-o
-M
-#
-a
-h
-q
-q
-d
-o
-o
-a
-h
-k
-k
-Z
-p
-k
-Z
-J
-q
-b
-p
-w
-f
-\
-+
-~
-<
->
-i
-]
-Y
-L
-J
-J
-L
-Y
-j
-_
-<
-~
-}
-j
-{
-<
-<
->
-<
->
-i
-l
-)
-"
-)
-u
-q
-m
-q
-p
-w
-p
-m
-b
-?
-k
-J
-a
-q
-b
-b
-0
-O
-d
-q
-*
-o
-q
-k
-d
-w
-*
-*
-h
-p
-h
-#
-M
-W
-W
-W
-W
-W
-M
-M
-o
-a
-#
-W
-W
-W
-W
-W
-o
-o
-8
-W
-W
-#
-#
-#
-M
-0
-0
-w
-d
-#
-&
-8
-#
-p
-w
-Q
-w
-8
-Z
-k
-d
-b
-q
-a
-#
-p
-p
-Z
-Z
-d
-b
-&
-m
-q
-#
-x
-x
-f
-b
-O
-L
-J
-X
-_
-(
-w
-m
-#
-*
-M
-M
-M
-b
-0
-b
-w
-h
-b
-d
-o
-*
-*
-o
-o
-L
-k
-a
-p
-b
-\
-k
-k
-h
-k
-k
-L
-q
-Y
-*
-h
-p
-C
-w
-o
-a
-a
-a
-k
-o
-h
-a
-O
-r
-/
-{
-<
-v
-n
-/
-x
-c
-v
-u
-n
-n
-x
-r
-r
-r
-r
-j
-j
-r
-x
-n
-c
-U
-U
-Y
-Y
-Y
-Y
-Y
-Y
-C
-U
-]
-l
->
-i
-!
-{
-U
-J
-Q
-O
-w
-w
-k
-k
-k
-h
-o
-*
-M
-h
-o
-#
-#
-d
-Q
-I
-.
-Y
-q
-#
-W
-&
-&
-&
-&
-W
-&
-&
-#
-a
-a
-#
-&
-&
-&
-&
-8
-8
-k
-b
-#
-&
-&
-&
-W
-M
-#
-h
-a
-#
-M
-o
-h
-k
-w
-m
-*
-o
-a
-h
-k
-k
-m
-m
-b
-k
-J
-b
-p
-0
-O
-0
--
-_
-+
-<
-1
-X
-C
-C
-L
-X
-t
-+
-<
-<
-~
-<
-+
-x
-t
-n
-v
-c
-u
-|
->
-i
-!
-l
-r
-,
-}
-/
-w
-m
-p
-b
-w
-X
-b
-k
-d
-b
-k
-k
-*
-b
-o
-0
-Q
-q
-M
-X
-O
-b
-b
-k
-k
-#
-*
-a
-W
-W
-M
-W
-W
-W
-M
-M
-M
-M
-M
-o
-*
-#
-M
-W
-W
-W
-W
-o
-o
-&
-W
-M
-*
-#
-M
-W
-d
-k
-O
-w
-p
-M
-W
-M
-d
-Z
-0
-0
-a
-p
-W
-h
-k
-a
-a
-a
-k
-h
-d
-w
-p
-*
-W
-q
-o
-w
-r
-n
-a
-b
-Z
-C
-Q
-x
--
-/
-|
-m
-*
-#
-M
-M
-M
-p
-b
-k
-O
-O
-k
-w
-*
-a
-*
-*
-*
-*
-L
-a
-b
-n
-a
-h
-h
-k
-d
-U
-X
-k
-k
-z
-Q
-k
-m
-b
-o
-o
-a
-a
-a
-o
-a
-h
-m
-n
-/
-O
->
-/
-n
-(
-t
-U
-J
-u
-U
-Y
-X
-Y
-U
-c
--
-|
-n
-u
-j
-j
-j
-j
-j
-j
-j
-v
-Y
-Y
-Y
-Y
-Y
-Y
-Y
-U
-U
-i
--
-Q
-Y
-Q
-0
-m
-w
-d
-o
-b
-k
-a
-*
-#
-a
-*
-*
-o
-b
-0
-!
-"
-L
-d
-M
-M
-&
-&
-&
-&
-&
-&
-&
-M
-h
-*
-#
-&
-&
-&
-&
-8
-&
-%
-*
-b
-&
-&
-&
-W
-M
-o
-k
-o
-#
-#
-a
-h
-q
-q
-d
-a
-o
-o
-k
-k
-q
-Z
-d
-k
-Z
-b
-b
-m
-L
-L
-Q
-+
-c
-J
-C
-J
-Q
-f
-<
-~
-<
-<
-<
-<
-<
-<
-<
-x
-c
-\
-j
-f
-r
-r
-}
-<
->
-!
-l
-;
-)
-,
-t
-m
-m
-d
-d
-w
-O
-b
-b
-b
-k
-b
-[
-k
-k
-m
-o
-#
-c
-m
-b
-*
-*
-*
-o
-o
-*
-*
-M
-M
-M
-M
-M
-W
-W
-W
-M
-M
-M
-M
-*
-*
-M
-M
-W
-M
-#
-*
-o
-o
-&
-&
-M
-*
-o
-%
-*
-#
-*
-q
-q
-a
-*
-&
-%
-W
-w
-p
-p
-p
-B
-M
-h
-h
-a
-h
-a
-h
-o
-a
-k
-o
-W
-M
-M
-M
-O
-v
-v
-r
-m
-Q
-Z
-C
-c
-}
-Y
-Z
-(
-o
-#
-M
-M
-M
-#
-*
-o
-o
-J
-a
-k
-w
-Z
-o
-o
-o
-o
-a
-b
-h
-O
-a
-k
-k
-b
-C
-Z
-b
-h
-a
-c
-0
-U
-h
-b
-X
-a
-o
-a
-a
-o
-a
-a
-k
-Z
-f
-z
-i
-<
-\
-\
-/
-u
-U
-z
-Y
-Y
-Y
-X
-c
-c
-~
-_
-_
-+
-~
-~
-<
-i
--
-r
-n
-j
-j
-j
-f
-j
-r
-X
-Y
-Y
-Y
-Y
-Y
-Y
-j
-Y
-Q
-Z
-w
-q
-a
-b
-k
-h
-o
-*
-#
-h
-o
-#
-k
-m
-l
-C
-0
-k
-M
-M
-W
-&
-&
-&
-&
-&
-&
-#
-h
-o
-#
-&
-&
-&
-&
-&
-8
-8
-&
-#
-W
-W
-W
-M
-M
-a
-h
-#
-#
-o
-a
-k
-w
-Z
-o
-a
-o
-h
-k
-b
-O
-w
-k
-d
-p
-p
-q
-q
-J
-0
-z
-J
-J
-J
-_
->
-<
-<
-<
-<
-<
-<
-<
-<
-<
-i
-X
-c
-}
-]
-]
-]
-?
->
-+
-I
-I
-(
-_
-~
-I
-:
-f
-Z
-Z
-d
-p
-q
-0
-p
-b
-b
-k
-p
-\
-k
-h
-k
-Z
-p
-k
-*
-a
-*
-*
-*
-*
-b
-#
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-W
-M
-#
-#
-M
-M
-M
-M
-*
-*
-o
-o
-a
-a
-*
-*
-o
-8
-@
-*
-*
-#
-*
-#
-#
-#
-M
-%
-W
-8
-q
-m
-%
-o
-o
-h
-a
-b
-o
-d
-*
-o
-a
-k
-&
-M
-M
-M
-v
-c
-c
-k
-p
-0
-C
-J
-z
-J
-b
-p
-C
-*
-*
-M
-M
-M
-M
-#
-z
-U
-Y
-a
-o
-o
-d
-Z
-p
-o
-o
-o
-a
-a
-k
-a
-h
-d
-J
-q
-q
-h
-h
-z
-X
-p
-k
-w
-b
-q
-J
-o
-o
-a
-a
-a
-h
-k
-C
-t
-~
-m
-I
-)
-(
-/
-c
-Y
-U
-X
-Y
-X
-Y
-z
-c
-~
-+
-+
-<
-<
-<
-<
->
->
->
->
-<
->
-!
-1
-v
-j
-f
-f
-j
-f
-j
-X
-Y
-Y
-Y
-Y
-Q
-m
-w
-h
-h
-k
-h
-o
-o
-#
-k
-o
-#
-o
-p
-Z
-Z
-q
-o
-W
-M
-W
-&
-W
-W
-W
-&
-W
-h
-b
-o
-#
-&
-&
-&
-&
-&
-W
-M
-#
-#
-M
-o
-W
-M
-#
-h
-h
-#
-#
-o
-h
-b
-w
-p
-o
-o
-a
-h
-b
-m
-0
-d
-k
-p
-k
-J
-q
-q
-m
-O
-U
-u
-!
-<
->
->
->
-<
-<
-<
-<
-<
-<
-<
-<
-U
-v
-Y
-}
-[
-]
-f
-+
-<
-/
-I
-,
-/
-_
->
-l
-;
-r
-0
-Z
-p
-p
-q
-0
-d
-a
-p
-O
-f
-b
-k
-O
-b
-)
-o
-a
-p
-b
-o
-o
-o
-o
-h
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-o
-*
-o
-o
-a
-#
-%
-%
-8
-&
-W
-#
-*
-*
-#
-M
-#
-M
-&
-M
-%
-M
-W
-B
-B
-*
-a
-a
-a
-o
-h
-a
-*
-M
-o
-8
-M
-M
-M
-q
-U
-U
-v
-#
-h
-w
-C
-z
-Q
-*
-a
-O
-h
-#
-a
-M
-M
-M
-M
-#
-J
-o
-O
-o
-k
-a
-p
-a
-p
-q
-a
-o
-o
-a
-k
-a
-k
-C
-m
-b
-h
-a
-h
-m
-Q
-k
-f
-Q
-b
-k
-L
-L
-a
-a
-o
-a
-h
-h
-p
-/
->
-q
-<
-/
-|
-X
-X
-x
-C
-z
-u
-f
-f
-c
-z
-}
-~
-<
-<
-<
-<
-<
->
->
->
->
->
-<
-<
->
->
->
-l
-]
-v
-r
-r
-j
-j
-u
-n
-z
-L
-Z
-m
-k
-o
-b
-k
-a
-a
-#
-k
-a
-o
-*
-k
-p
-p
-k
-#
-W
-M
-M
-&
-W
-&
-W
-M
-a
-h
-a
-o
-#
-&
-&
-&
-&
-W
-8
-&
-&
-o
-o
-W
-W
-M
-o
-a
-#
-M
-*
-a
-k
-q
-m
-o
-o
-o
-h
-k
-m
-Q
-w
-b
-q
-k
-k
-C
-q
-)
-Y
-!
-<
->
->
->
->
->
->
->
-<
-<
-<
-<
->
->
->
-Y
-v
-X
-n
-t
-/
-]
-<
--
-_
-~
-I
-!
--
-!
->
-;
-u
-J
-Z
-w
-p
-w
-O
-Z
-q
-b
-Z
-(
-b
-w
-w
-k
-X
-a
-q
-p
-b
-b
-o
-*
-a
-#
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-W
-M
-M
-M
-M
-M
-M
-#
-*
-*
-*
-%
-W
-*
-M
-W
-&
-B
-%
-*
-#
-M
-M
-W
-W
-8
-M
-W
-%
-M
-k
-B
-#
-*
-a
-8
-o
-h
-a
-M
-M
-h
-b
-W
-M
-M
-0
-X
-z
-Y
-M
-o
-q
-O
-v
-o
-o
-Q
-a
-*
-M
-a
-M
-M
-M
-M
-M
-C
-*
-z
-o
-a
-o
-a
-*
-C
-a
-p
-a
-o
-h
-k
-a
-Q
-q
-q
-X
-b
-d
-k
-Q
-J
-a
-J
-w
-J
-b
-k
-0
-k
-a
-o
-a
-k
-b
-b
-|
-+
--
-|
-)
-c
-t
-\
-\
-L
-C
-J
-Y
-Y
-X
-z
-c
->
->
-<
->
->
->
->
->
->
->
->
->
->
->
->
->
-i
-!
-!
-l
-I
-l
-v
-j
-C
-c
-X
-0
-Z
-b
-a
-b
-k
-k
-a
-#
-#
-k
-o
-#
-o
-h
-a
-*
-M
-W
-W
-M
-&
-W
-W
-W
-M
-h
-a
-a
-a
-M
-&
-&
-&
-&
-8
-8
-#
-*
-o
-a
-W
-M
-M
-a
-a
-#
-#
-o
-h
-b
-w
-b
-o
-*
-o
-a
-b
-0
-Q
-d
-p
-w
-b
-k
-Q
-m
-~
-+
-<
->
->
->
->
->
->
->
->
->
-<
->
->
->
->
->
-j
-z
-X
-n
-\
-(
-]
-{
-t
-?
-[
--
-?
-_
-!
-I
-;
-u
-X
-Z
-m
-p
-w
-p
-m
-w
-b
-z
-0
-b
-q
-1
-h
-a
-m
-m
-a
-a
-d
-q
-0
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-W
-*
-o
-B
-W
-o
-W
-W
-&
-#
-B
-#
-*
-#
-M
-#
-#
-#
-o
-W
-W
-&
-M
-w
-o
-W
-a
-&
-o
-#
-#
-o
-k
-o
-d
-W
-M
-d
-J
-Y
-U
-a
-#
-b
-h
-p
-b
-*
-M
-#
-*
-#
-#
-M
-M
-M
-M
-#
-M
-#
-W
-m
-#
-o
-o
-k
-a
-a
-m
-d
-q
-a
-a
-*
-w
-p
-d
-h
-a
-a
-h
-h
-p
-J
-O
-w
-Z
-*
-b
-b
-k
-0
-o
-o
-a
-k
-b
-h
-\
-_
-+
-m
-v
-z
-t
-\
-\
-Q
-C
-J
-X
-X
-X
-v
-z
->
->
->
->
->
->
->
->
->
->
->
->
->
->
->
->
-i
-!
-!
-l
-l
-l
-I
-f
-Y
-r
-X
-L
-O
-p
-o
-b
-b
-k
-k
-o
-#
-k
-a
-*
-*
-*
-*
-M
-M
-W
-W
-#
-&
-&
-W
-W
-o
-h
-h
-h
-h
-#
-&
-&
-&
-&
-M
-h
-W
-#
-a
-M
-W
-M
-#
-h
-o
-M
-#
-o
-k
-q
-m
-*
-*
-o
-a
-k
-Z
-Q
-p
-d
-0
-k
-h
-k
-O
-O
-:
-<
->
-i
->
-i
-i
-i
->
->
->
->
->
->
->
->
->
-!
-z
-c
-J
-{
-]
--
-?
-?
-~
-l
-l
-!
-?
->
-:
-:
-:
-u
-c
-m
-Z
-p
-q
-w
-w
-q
-k
-[
-q
-L
-X
-)
-b
-h
-h
-k
-b
-p
-m
-w
-Z
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-W
-M
-M
-M
-M
-M
-*
-*
-*
-W
-M
-W
-W
-W
-*
-B
-#
-&
-M
-M
-*
-#
-M
-W
-*
-b
-W
-W
-&
-&
-M
-*
-a
-h
-M
-#
-b
-o
-w
-Z
-m
-M
-m
-C
-U
-M
-M
-k
-M
-h
-#
-o
-#
-q
-*
-#
-M
-M
-M
-M
-M
-M
-M
-M
-#
-M
-#
-*
-*
-*
-a
-a
-C
-a
-k
-w
-b
-q
-h
-p
-h
-a
-Q
-O
-h
-h
-h
-k
-X
-c
-C
-a
-U
-C
-b
-b
-k
-w
-o
-o
-h
-b
-d
-Q
-+
-_
-q
-)
-c
-\
-|
-\
-Q
-C
-U
-X
-X
-X
-z
-z
->
->
->
->
->
->
->
->
-i
->
-i
-i
-i
-!
-i
-i
-i
-!
-I
-I
-I
-I
-I
-f
-u
-Q
-X
-J
-O
-p
-k
-k
-b
-b
-k
-a
-*
-#
-k
-#
-#
-#
-#
-W
-W
-M
-W
-#
-W
-W
-&
-W
-#
-h
-p
-k
-q
-o
-&
-&
-&
-&
-#
-&
-M
-M
-o
-W
-W
-M
-*
-a
-#
-#
-*
-h
-k
-q
-d
-#
-*
-o
-a
-b
-Q
-Z
-p
-m
-0
-d
-h
-p
-0
-r
-<
->
-i
->
-i
-i
-i
->
-i
-i
-i
->
->
->
->
-i
->
-!
-c
-Y
-L
-{
-]
-?
-v
--
->
-j
-l
-l
-|
-~
-;
-:
-:
-v
-v
-m
-O
-p
-w
-w
-m
-q
-m
-x
-v
-k
-Y
-m
-}
-b
-k
-k
-b
-k
-0
-#
-w
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-*
-*
-*
-o
-W
-W
-W
-W
-#
-B
-o
-#
-8
-M
-W
-#
-*
-M
-M
-o
-&
-M
-&
-W
-W
-M
-*
-#
-&
-&
-M
-L
-k
-Z
-Z
-p
-m
-O
-C
-q
-M
-*
-k
-M
-*
-#
-o
-*
-#
-*
-M
-M
-M
-M
-M
-M
-M
-M
-#
-#
-M
-o
-#
-*
-a
-Z
-h
-a
-/
-k
-a
-a
-p
-d
-k
-a
-Q
-z
-J
-o
-h
-k
-p
-X
-h
-a
-a
-*
-m
-b
-k
-k
-b
-*
-*
-o
-d
-d
-d
-+
-_
-j
-0
-X
-?
-t
-/
-Q
-C
-U
-X
-X
-z
-z
-v
-i
->
->
-i
->
-i
-i
-i
-i
-i
-i
-!
-!
-!
-!
-l
-!
-l
-l
-l
-I
-;
-I
-x
-t
-z
-f
-z
-0
-q
-d
-*
-b
-d
-b
-k
-a
-#
-a
-a
-#
-M
-#
-W
-W
-M
-M
-#
-#
-W
-W
-M
-M
-a
-k
-p
-m
-d
-&
-8
-#
-h
-%
-&
-*
-*
-o
-&
-M
-#
-a
-a
-#
-#
-#
-k
-q
-w
-a
-*
-o
-a
-k
-Z
-Q
-d
-w
-Y
-d
-q
-k
-p
-w
-<
->
->
-i
-!
-i
-i
-i
-i
-i
-i
-i
-i
-i
-i
->
-i
-i
-t
-z
-Y
-Q
-{
-_
--
-]
--
->
-~
-i
-I
-i
-~
-,
-:
-,
-X
-u
-Z
-Z
-p
-w
-Z
-Z
-q
-Z
-c
-c
-Y
-p
-q
-<
-Z
-h
-a
-q
-X
-h
-q
-#
-M
-#
-#
-#
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-#
-#
-*
-o
-#
-W
-W
-W
-#
-B
-#
-#
-W
-8
-M
-#
-o
-k
-k
-a
-*
-8
-*
-*
-o
-M
-#
-#
-&
-M
-M
-Z
-O
-0
-Q
-p
-Z
-Q
-Q
-M
-M
-*
-b
-o
-k
-#
-o
-h
-o
-#
-M
-M
-M
-M
-M
-M
-#
-M
-M
-#
-#
-#
-#
-*
-Z
-Y
-n
-o
-h
-h
-a
-a
-k
-k
-h
-J
-n
-v
-U
-J
-Y
-h
-q
-0
-m
-a
-a
-a
-x
-h
-C
-Y
-h
-*
-a
-o
-d
-d
-b
-b
-i
-|
-w
-v
-_
-z
-\
-L
-L
-U
-U
-z
-z
-z
-v
->
->
->
-i
-i
-i
-i
-!
-!
-!
-!
-l
-l
-l
-l
-l
-l
-l
-l
-I
-I
-I
-I
-!
-f
-X
-+
-X
-C
-m
-p
-k
-k
-d
-b
-b
-h
-*
-M
-a
-#
-#
-M
-M
-W
-M
-M
-#
-#
-M
-M
-M
-M
-o
-o
-m
-Q
-0
-p
-M
-a
-8
-8
-&
-#
-M
-W
-W
-M
-*
-h
-*
-#
-#
-h
-k
-w
-d
-*
-*
-o
-h
-p
-Q
-m
-Z
-X
-Z
-b
-q
-b
-v
-Z
-!
-i
-i
-!
-!
-!
-!
-!
-i
-!
-i
-i
-i
-i
-i
-i
-i
-!
-r
-z
-C
-v
-v
-u
-n
-j
-f
-n
-n
-x
-/
-/
-\
-,
-:
-:
-J
-x
-O
-O
-p
-w
-Z
-m
-w
-q
-Y
-z
-Y
-p
-p
-k
-<
-b
-a
-*
-q
-k
-a
-#
-#
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-#
-#
-*
-*
-a
-W
-W
-#
-%
-*
-#
-#
-M
-W
-#
-#
-a
-o
-#
-a
-o
-*
-8
-h
-b
-h
-k
-p
-*
-W
-*
-b
-0
-u
-J
-O
-J
-Q
-&
-W
-M
-M
-a
-d
-a
-a
-*
-#
-M
-M
-M
-M
-#
-M
-*
-M
-#
-M
-#
-#
-#
-#
-#
-o
-C
-Q
-J
-v
-n
-d
-a
-b
-k
-k
-X
-f
-r
-X
-U
-L
-Z
-U
-Y
-q
-v
-h
-o
-a
-o
-z
-b
-0
-u
-h
-p
-#
-b
-b
-b
-b
-b
-(
-m
-/
--
-X
-|
-L
-Q
-J
-U
-X
-z
-c
-c
-i
-i
-i
-i
-!
-!
-!
-!
-!
-l
-l
-I
-I
-I
-l
-I
-I
-I
-I
-I
-I
-;
-;
-;
-f
-X
-;
-[
-Q
-Q
-q
-b
-h
-p
-p
-b
-k
-a
-o
-*
-a
-#
-M
-M
-W
-M
-M
-#
-*
-M
-#
-#
-*
-h
-a
-w
-w
-q
-h
-k
-#
-8
-&
-&
-#
-#
-W
-W
-M
-a
-a
-#
-#
-*
-h
-k
-w
-a
-*
-o
-o
-b
-Z
-L
-p
-J
-z
-k
-k
-m
-d
-v
-X
-<
-i
-i
-!
-!
-!
-!
-!
-!
-i
-i
-i
-+
-)
-i
-!
-!
-I
-t
-X
-v
-x
-j
-t
-(
-)
-j
-j
-f
-/
-\
-|
-{
-I
-:
-:
-L
-j
-0
-0
-p
-w
-Z
-m
-q
-p
-X
-X
-X
-q
-m
-w
-}
-b
-Z
-X
-h
-*
-#
-#
-#
-#
-#
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-#
-*
-o
-*
-*
-M
-M
-#
-%
-#
-#
-#
-a
-M
-*
-#
-*
-*
-*
-k
-a
-W
-#
-*
-p
-Q
-O
-Z
-O
-Q
-Q
-L
-C
-L
-U
-C
-0
-o
-&
-M
-M
-M
-W
-p
-h
-b
-*
-#
-M
-M
-M
-M
-M
-M
-#
-#
-M
-#
-k
-#
-#
-#
-#
-#
-L
-Q
-X
-Y
-c
-Y
-r
-h
-h
-q
-c
-j
-v
-Y
-v
-u
-L
-p
-J
-b
-Z
-k
-a
-a
-a
-w
-c
-f
-n
-p
-Y
-X
-Y
-p
-b
-k
-b
-d
-J
-Z
-+
-X
-\
-0
-C
-Y
-X
-z
-X
-z
-v
-!
-i
-!
-!
-!
-!
-l
-l
-l
-I
-;
-I
-I
-I
-I
-I
-I
-I
-I
-I
-I
-I
-;
-;
-f
-X
--
-<
-Q
-L
-m
-p
-p
-d
-p
-d
-b
-k
-o
-o
-a
-*
-#
-M
-M
-M
-M
-#
-o
-M
-#
-#
-h
-b
-a
-a
-b
-q
-8
-b
-M
-M
-W
-#
-#
-#
-&
-W
-*
-h
-*
-#
-#
-*
-h
-q
-d
-o
-*
-o
-h
-q
-L
-q
-L
-z
-O
-k
-k
-m
-X
-|
-_
-[
-i
-!
-!
-!
-!
-!
-!
-!
-!
-!
-i
-]
-\
-!
-!
-!
-+
-x
-Y
-n
-]
--
--
-_
-?
-+
-?
-_
-?
-_
-+
->
-1
-;
-:
-x
-f
-Q
-0
-p
-w
-m
-Z
-m
-q
-c
-n
-U
-x
-m
-p
-X
-t
-b
-x
-#
-*
-*
-#
-#
-#
-#
-#
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-W
-W
-#
-*
-*
-#
-o
-M
-o
-#
-#
-*
-M
-M
-#
-#
-a
-0
-k
-*
-W
-o
-a
-o
-k
-O
-Z
-m
-0
-L
-0
-O
-0
-Q
-Z
-a
-p
-#
-M
-M
-M
-M
-a
-h
-d
-*
-M
-M
-M
-M
-M
-M
-o
-M
-#
-#
-#
-h
-k
-#
-#
-#
-#
-M
-J
-Y
-c
-c
-L
-U
-a
-U
-p
-v
-t
-n
-r
-L
-r
-C
-Y
-X
-w
-0
-a
-a
-a
-h
-k
-d
-b
-d
-h
-d
-p
-w
-O
-U
-J
-d
-k
-b
-Z
-_
-n
-\
-X
-C
-U
-Y
-Y
-Y
-U
-X
-+
-!
-!
-!
-l
-l
-l
-l
-;
-;
-;
-;
-;
-;
-;
-;
-I
-I
-I
-I
-I
-I
-I
-I
-f
-X
-C
-<
-Y
-Y
-Q
-Z
-h
-q
-q
-p
-b
-k
-h
-*
-o
-o
-*
-#
-M
-M
-#
-#
-o
-*
-*
-a
-k
-p
-k
-a
-a
-a
-8
-%
-a
-&
-W
-#
-#
-M
-&
-W
-*
-o
-#
-#
-#
-h
-h
-w
-b
-*
-o
-o
-b
-Z
-Q
-p
-X
-O
-Y
-k
-k
-m
-\
-X
-!
-<
-i
-!
-!
-!
-!
-!
-!
-!
-!
-!
-!
-1
-t
->
-!
-!
-(
-x
-u
-j
-[
--
-}
-_
-_
--
-_
-_
-|
--
-+
-i
--
-;
-:
-{
-j
-J
-Q
-q
-w
-m
-Z
-0
-0
-c
-u
-q
-Z
-Z
-p
-j
-u
-Y
-*
-*
-#
-#
-#
-#
-#
-#
-#
-#
-M
-M
-M
-#
-#
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-*
-*
-*
-#
-B
-*
-o
-#
-#
-*
-M
-B
-#
-#
-b
-Q
-k
-h
-h
-&
-&
-a
-h
-h
-m
-O
-0
-Q
-0
-C
-0
-w
-m
-a
-*
-p
-a
-M
-M
-M
-*
-q
-d
-M
-M
-M
-M
-#
-M
-a
-a
-#
-#
-#
-#
-o
-k
-o
-#
-#
-#
-#
-O
-J
-v
-f
-Y
-Z
-0
-b
-Q
-b
-f
-n
-O
-L
-Y
-Z
-v
-Y
-p
-Z
-k
-a
-a
-h
-h
-b
-b
-k
-h
-d
-Z
-L
-O
-z
-L
-C
-b
-b
-b
-+
-)
-\
-n
-C
-X
-X
-z
-c
-X
-X
-z
-;
-!
-l
-l
-l
-l
-I
-;
-:
-:
-:
-:
-;
-;
-;
-;
-;
-I
-I
-I
-I
-I
-I
-x
-r
-z
->
-+
-O
-J
-O
-d
-b
-q
-q
-p
-d
-k
-o
-*
-o
-o
-#
-#
-M
-#
-#
-o
-a
-o
-a
-k
-p
-b
-a
-a
-a
-8
-&
-a
-o
-M
-#
-#
-&
-&
-W
-h
-#
-#
-#
-*
-h
-q
-p
-*
-*
-o
-h
-p
-Q
-p
-U
-c
-C
-m
-k
-k
-L
-{
-C
-!
-:
-!
-!
-!
-!
-!
-!
-!
-!
-!
-!
-!
-)
-/
--
-!
-!
-u
-v
-X
-n
-j
-x
-|
-x
-[
-/
-?
-_
-u
-_
-1
-l
-~
-;
-:
-_
-n
-Y
-Q
-w
-w
-m
-O
-c
-^
-C
-m
-Z
-X
-O
-b
-u
-k
-*
-*
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-M
-M
-#
-#
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-#
-*
-*
-*
-#
-o
-o
-o
-*
-o
-#
-M
-B
-8
-&
-#
-k
-*
-k
-h
-#
-#
-*
-*
-#
-b
-Z
-O
-h
-b
-Y
-0
-Z
-d
-#
-d
-k
-M
-M
-#
-h
-M
-p
-m
-M
-M
-M
-M
-M
-o
-a
-h
-M
-#
-#
-#
-a
-h
-*
-k
-#
-#
-#
-o
-X
-J
-|
-u
-k
-J
-d
-C
-C
-m
-n
-m
-0
-O
-d
-U
-c
-L
-m
-h
-h
-a
-a
-a
-k
-k
-b
-Y
-Z
-h
-n
-\
-v
-f
-<
-n
-k
-b
-b
-/
-(
-X
-Q
-Y
-X
-z
-c
-z
-X
-z
-l
-l
-l
-I
-l
-I
-;
-;
-:
-:
-:
-:
-:
-:
-:
-;
-;
-I
-I
-l
-I
-I
-I
-,
-j
-z
->
-+
-Z
-J
-C
-O
-k
-d
-w
-q
-q
-b
-h
-#
-o
-o
-#
-#
-#
-*
-*
-a
-h
-o
-a
-k
-q
-d
-a
-a
-a
-8
-o
-M
-o
-#
-#
-#
-&
-&
-*
-h
-*
-#
-#
-o
-h
-m
-b
-o
-o
-o
-b
-m
-Q
-w
-X
-C
-m
-Z
-b
-d
-c
-]
-c
-i
-l
-!
-l
-!
-!
-!
-!
-!
-!
-!
-!
-!
-/
-\
-}
-!
-!
-(
-v
-z
-u
-j
-j
-1
-}
-]
-?
-[
-]
-?
-+
-?
-I
-+
-l
-:
--
-v
-Y
-0
-q
-w
-L
-n
-l
-`
-v
-J
-m
-0
-m
-b
-b
-o
-*
-*
-#
-*
-#
-#
-#
-#
-#
-#
-#
-M
-M
-M
-*
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-#
-#
-#
-#
-*
-*
-o
-o
-#
-*
-#
-*
-#
-#
-M
-M
-&
-Q
-0
-k
-a
-*
-*
-#
-k
-o
-a
-k
-h
-k
-O
-Z
-&
-L
-*
-b
-#
-M
-#
-k
-M
-M
-h
-b
-#
-M
-M
-M
-#
-M
-k
-o
-#
-o
-#
-M
-b
-h
-*
-h
-a
-#
-#
-k
-O
-u
-n
-X
-0
-X
-L
-X
-C
-p
-x
-q
-Q
-Q
-q
-U
-z
-Y
-m
-k
-a
-a
-h
-h
-b
-h
-b
-c
-0
-k
-p
-i
-+
-{
-/
-U
-j
-k
-b
-b
-|
-t
-0
-U
-U
-X
-Y
-Y
-X
-z
->
-l
-l
-l
-I
-I
-;
-:
-:
-,
-,
-:
-:
-:
-:
-:
-;
-;
-I
-l
-I
-I
-I
-I
-t
-z
-i
->
-Z
-q
-U
-L
-0
-h
-m
-w
-q
-d
-k
-#
-*
-o
-*
-#
-#
-o
-*
-a
-b
-a
-a
-h
-q
-p
-h
-a
-a
-o
-b
-*
-*
-*
-#
-M
-&
-&
-o
-a
-#
-#
-#
-h
-b
-q
-o
-o
-o
-b
-p
-L
-d
-X
-c
-Q
-w
-m
-p
-Q
-t
-<
-j
-\
-l
-!
-l
-!
-l
-l
-l
-l
-l
-l
-!
-!
-(
-\
-}
-l
-l
-j
-n
-Y
-x
-?
-]
-{
-?
--
-?
-]
-[
-]
-+
-?
-!
-+
-I
-:
-?
-v
-Y
-O
-w
-m
-j
-t
-`
-z
-n
-z
-O
-p
-Z
-0
-o
-*
-*
-*
-*
-#
-#
-#
-#
-#
-#
-#
-#
-M
-#
-M
-#
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-#
-o
-%
-M
-#
-#
-o
-o
-a
-o
-o
-o
-o
-*
-M
-M
-*
-Q
-#
-Z
-Q
-0
-b
-o
-q
-*
-a
-k
-a
-m
-Z
-&
-M
-L
-k
-*
-W
-W
-*
-W
-M
-M
-W
-m
-*
-M
-M
-M
-*
-o
-h
-*
-M
-d
-*
-*
-o
-a
-*
-a
-a
-k
-*
-b
-L
-I
-l
-U
-O
-O
-u
-0
-0
-L
-Q
-0
-Q
-Z
-Q
-X
-C
-Y
-0
-a
-a
-h
-h
-h
-b
-d
-p
-b
-#
-k
-k
-b
-;
->
-|
-L
-U
-p
-o
-b
-k
-|
-Y
-X
-X
-c
-c
-c
-X
-X
-v
-<
-l
-I
-I
-I
-;
-;
-,
-,
-,
-,
-,
-:
-:
-;
-;
-;
-I
-I
-I
-l
-I
-I
-f
-z
-!
->
-J
-m
-C
-J
-0
-q
-b
-m
-w
-p
-b
-o
-#
-o
-*
-*
-*
-*
-a
-a
-b
-a
-a
-a
-p
-q
-b
-a
-a
-k
-b
-o
-#
-#
-*
-&
-&
-&
-h
-o
-#
-#
-*
-h
-m
-b
-o
-o
-a
-b
-Z
-0
-C
-c
-w
-p
-b
-d
-p
-Y
-[
-_
--
-n
-l
-l
-l
-l
-l
-l
-l
-l
-l
-l
-l
-l
-(
-\
-}
-l
-l
-x
-c
-v
-z
-v
-x
-x
-x
-j
-/
-r
-j
-j
-}
-]
-!
-<
-;
-:
-]
-v
-X
-O
-m
-m
-U
-C
-j
-n
-u
-X
-w
-q
-0
-o
-*
-o
-o
-o
-*
-*
-#
-#
-#
-#
-#
-#
-#
-#
-M
-*
-#
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-%
-M
-o
-#
-*
-*
-o
-o
-a
-a
-a
-o
-o
-M
-M
-&
-a
-M
-Q
-#
-b
-p
-k
-a
-k
-d
-k
-Z
-C
-Q
-k
-J
-U
-o
-#
-M
-M
-&
-W
-W
-W
-W
-q
-*
-M
-M
-M
-o
-#
-a
-o
-#
-#
-#
-o
-#
-a
-o
-h
-k
-b
-h
-p
-O
-I
-I
-c
-Q
-O
-z
-k
-0
-0
-U
-C
-J
-Q
-J
-X
-C
-C
-w
-a
-h
-a
-k
-k
-b
-m
-p
-Q
-h
-v
-p
-b
-*
-I
-Y
-U
-X
-Y
-w
-C
-h
-k
-Y
-z
-z
-z
-z
-c
-c
-c
-x
-r
-l
-I
-I
-I
-;
-;
-,
-,
-,
-,
-"
-,
-,
-:
-;
-;
-;
-I
-l
-l
-l
->
-f
-X
-r
->
-J
-Z
-w
-Y
-J
-Q
-b
-m
-Z
-m
-p
-a
-#
-*
-o
-o
-o
-o
-a
-a
-d
-d
-a
-a
-b
-w
-p
-h
-h
-b
-*
-*
-M
-*
-#
-&
-&
-*
-a
-o
-#
-#
-o
-h
-w
-b
-o
-o
-b
-p
-L
-k
-z
-X
-p
-d
-k
-d
-Z
-X
-<
-z
-l
-j
-l
-l
-l
-l
-I
-I
-I
-l
-I
-I
-l
-l
-(
-/
-\
-!
-!
-j
-v
-z
-u
-/
-j
-n
-j
-/
-\
-j
-j
-r
-t
-}
-!
-i
-;
-:
-]
-c
-c
-0
-Z
-m
-Y
-Q
-r
-j
-u
-X
-p
-p
-o
-o
-o
-a
-d
-o
-o
-*
-*
-#
-#
-#
-#
-#
-#
-#
-*
-h
-#
-#
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-*
-*
-*
-&
-*
-a
-a
-a
-o
-*
-o
-*
-*
-b
-#
-#
-M
-o
-*
-o
-k
-h
-p
-q
-b
-0
-C
-q
-0
-J
-&
-W
-M
-M
-M
-W
-W
-W
-W
-W
-o
-*
-M
-M
-#
-#
-#
-h
-*
-#
-M
-o
-o
-#
-o
-*
-h
-a
-d
-p
-p
-I
-n
-X
-O
-Z
-L
-c
-b
-O
-Q
-L
-J
-C
-C
-0
-C
-L
-X
-w
-h
-a
-h
-w
-d
-d
-Q
-p
-d
-h
-k
-b
-C
-a
-"
-^
-L
-c
-J
-m
-w
-X
-w
-O
-Y
-X
-z
-c
-z
-c
-u
-n
-f
-}
-I
-I
-;
-;
-:
-,
-,
-"
-"
-"
-,
-,
-,
-:
-;
-I
-I
-I
-l
-l
-:
-/
-x
-U
->
-<
-0
-m
-C
-U
-Q
-m
-b
-m
-m
-w
-k
-*
-*
-*
-o
-o
-a
-o
-a
-d
-p
-a
-h
-k
-w
-p
-h
-h
-o
-*
-M
-*
-#
-&
-&
-&
-a
-o
-#
-#
-*
-h
-q
-k
-o
-o
-a
-b
-m
-0
-U
-c
-b
-d
-d
-O
-q
-C
-r
-!
-L
-l
-(
-l
-I
-I
-;
-;
-I
-I
-;
-I
-I
-l
-;
-(
-/
-[
-l
-l
-x
-Y
-z
-z
-?
-}
-j
-]
-?
-+
-{
-_
-?
-]
-}
-!
-!
-:
-:
-?
-c
-u
-L
-O
-Q
-"
-[
-c
-r
-r
-u
-w
-o
-a
-o
-h
-k
-k
-o
-*
-*
-#
-#
-#
-#
-#
-#
-#
-#
-h
-U
-8
-&
-#
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-#
-m
-*
-W
-#
-#
-#
-a
-*
-*
-a
-%
-W
-o
-o
-*
-*
-o
-o
-#
-*
-o
-o
-k
-k
-h
-Z
-Z
-Z
-Q
-p
-J
-Y
-n
-W
-W
-W
-W
-o
-W
-W
-&
-W
-W
-a
-*
-#
-a
-M
-#
-#
-*
-*
-#
-#
-#
-*
-h
-#
-*
-h
-b
-q
-q
-0
-C
-X
-Y
-Z
-o
-Q
-z
-a
-Q
-0
-L
-Y
-J
-U
-L
-Q
-Y
-C
-d
-h
-h
-h
-a
-b
-m
-q
-d
-k
-b
-b
-n
-p
-C
-h
-I
-^
-C
-Q
-q
-m
-w
-z
-(
-d
-Y
-c
-X
-Y
-Y
-c
-u
-j
-j
-I
-;
-;
-;
-:
-,
-"
-"
-"
-"
-"
-"
-,
-:
-:
-;
-I
-I
-l
-!
-I
-z
-f
-z
->
->
-0
-0
-p
-Y
-Y
-L
-w
-p
-O
-Z
-d
-a
-*
-#
-o
-*
-a
-a
-a
-b
-p
-h
-h
-k
-q
-q
-k
-h
-*
-#
-&
-#
-#
-W
-&
-W
-h
-o
-#
-#
-#
-h
-Z
-k
-o
-o
-b
-d
-L
-k
-z
-X
-X
-b
-d
-O
-O
-J
-[
-l
-z
-l
-(
-I
-I
-I
-;
-;
-;
-;
-;
-;
-I
-I
-;
-/
-/
-]
-l
-l
-x
-Y
-z
-c
-<
-?
-f
-}
-?
-_
-)
-?
--
-]
-{
-l
-!
-;
-,
-_
-c
-n
-J
-O
-U
-J
-x
-_
-^
-v
-v
-h
-k
-a
-Z
-b
-b
-a
-o
-*
-*
-*
-#
-#
-#
-*
-#
-#
-*
-]
-\
-m
-q
-q
-k
-d
-k
-M
-M
-M
-M
-M
-M
-M
-M
-M
-M
-&
-h
-&
-8
-a
-M
-%
-a
-#
-*
-*
-&
-*
-o
-o
-o
-#
-o
-*
-*
-o
-o
-o
-k
-k
-W
-q
-Z
-m
-m
-o
-k
-J
-W
-W
-&
-M
-*
-W
-W
-M
-W
-W
-W
-a
-o
-M
-o
-#
-#
-#
-#
-o
-#
-Z
-*
-o
-a
-#
-*
-a
-b
-q
-b
-O
-c
-Y
-J
-w
-*
-L
-v
-o
-L
-Z
-Q
-z
-L
-J
-J
-L
-J
-m
-O
-h
-k
-k
-k
-h
-o
-w
-O
-b
-b
-h
-b
-p
-Z
-O
-h
-!
-C
-C
-p
-Z
-q
-x
-|
-O
-b
-d
-n
-c
-v
-u
-x
-x
-f
-I
-;
-;
-:
-:
-"
-"
-"
-"
-"
-"
-"
-,
-:
-:
-;
-I
-l
-,
-Y
-U
-Y
-f
-z
->
-i
-X
-0
-q
-X
-X
-C
-Q
-b
-O
-Z
-b
-k
-*
-o
-o
-o
-h
-a
-a
-k
-p
-h
-h
-k
-q
-q
-k
-h
-#
-W
-M
-#
-#
-W
-W
-o
-k
-*
-#
-#
-h
-k
-p
-o
-o
-o
-b
-m
-0
-U
-v
-c
-q
-b
-p
-q
-O
-X
-+
-I
-f
-\
-}
-l
-;
-;
-;
-;
-;
-;
-;
-;
-I
-I
->
-(
-|
-]
-l
-;
-j
-Y
-u
-c
-f
-]
-\
-{
-\
-(
--
-?
-(
-?
-/
-!
->
-;
-;
-~
-v
-n
-Y
-0
-I
-
-Q
-x
-n
-n
-U
-m
-k
-q
-d
-Z
-h
-o
-o
-*
-*
-*
-*
-*
-*
-*
-k
-b
-\
-m
-p
-b
-a
-a
-h
-o
-#
-d
-*
-M
-M
-M
-M
-M
-M
-M
-M
-M
-#
-p
-o
-o
-o
-o
-o
-*
-*
-#
-a
-*
-&
-8
-a
-o
-a
-%
-%
-o
-o
-b
-k
-k
-q
-w
-q
-w
-k
-w
-O
-k
-M
-W
-W
-&
-o
-M
-&
-&
-&
-W
-W
-M
-#
-o
-o
-#
-#
-#
-#
-#
-*
-O
-*
-#
-*
-a
-o
-o
-a
-w
-p
-w
-J
-c
-0
-k
-*
-*
-Q
-a
-p
-L
-C
-L
-Y
-X
-Z
-0
-b
-q
-d
-h
-d
-k
-a
-a
-0
-p
-h
-h
-k
-b
-k
-r
-m
-J
-b
-_
-"
-0
-m
-w
-Z
-Z
-f
-J
-q
-d
-p
-L
-X
-c
-u
-j
-j
-I
-;
-;
-:
-:
-,
-"
-"
-"
-^
-^
-"
-"
-,
-:
-;
-"
-u
-n
-U
-U
-X
-f
-z
->
->
-J
-U
-m
-b
-u
-X
-C
-q
-q
-0
-q
-b
-*
-*
-*
-*
-o
-h
-h
-k
-p
-k
-h
-h
-p
-p
-p
-k
-#
-&
-M
-#
-W
-W
-W
-a
-a
-*
-#
-#
-h
-m
-k
-o
-o
-b
-b
-L
-b
-X
-Z
-p
-p
-b
-Z
-0
-0
-z
-<
-;
-1
--
->
-I
-;
-;
-;
-:
-:
-;
-;
-;
-;
-I
--
-(
-(
-]
-l
-,
-n
-z
-J
-]
-?
-}
-u
-1
-[
-{
-]
-?
-_
-\
-+
-!
->
-:
->
->
-r
-x
-c
-L
-J
-Q
-Y
-r
-]
-C
-o
-b
-q
-b
-d
-Z
-a
-a
-o
-*
-*
-*
-*
-*
-#
-$
-+
-O
-m
-d
-h
-o
-o
-a
-o
-M
-&
-#
-o
-b
-M
-M
-M
-#
-M
-M
-M
-W
-W
-*
-n
-W
-o
-o
-a
-a
-o
-M
-o
-*
-*
-o
-*
-o
-a
-%
-&
-o
-o
-k
-b
-o
-Q
-Z
-m
-Z
-#
-X
-$
-Q
-M
-W
-W
-W
-M
-W
-M
-&
-W
-W
-W
-#
-o
-o
-o
-M
-#
-#
-#
-o
-*
-k
-M
-W
-w
-d
-a
-o
-a
-o
-w
-d
-m
-C
-Q
-o
-*
-*
-*
-h
-o
-O
-L
-0
-J
-b
-b
-k
-p
-k
-b
-a
-0
-a
-h
-a
-q
-w
-k
-b
-h
-b
-k
-k
-q
-k
-Q
-a
-!
-!
-m
-w
-q
-Z
-f
-J
-X
-k
-p
-p
-}
-z
-u
-x
-t
-I
-;
-:
-:
-,
-"
-^
-"
-^
-^
-^
-^
-"
-,
-^
-t
-j
-/
-/
-U
-U
-X
-t
-X
-<
->
-f
-X
-Z
-Z
-Y
-c
-J
-0
-w
-Z
-Z
-p
-a
-*
-*
-o
-o
-a
-h
-k
-p
-p
-h
-h
-d
-p
-q
-k
-W
-W
-M
-M
-W
-W
-M
-h
-a
-#
-#
-*
-h
-Z
-b
-o
-o
-b
-m
-Z
-L
-c
-d
-d
-d
-p
-Z
-0
-0
-c
-~
-l
-{
-~
-,
-I
-;
-;
-:
-:
-:
-:
-:
-;
-;
-I
-{
-/
-f
-?
-I
-!
-n
-z
-X
-(
-?
-1
-v
-{
-}
-{
-[
-+
-_
-x
-~
-i
-<
-:
--
-l
-f
-n
-r
-Y
-/
-)
-c
-z
-Z
-a
-\
-p
-p
-k
-b
-k
-a
-o
-o
-*
-*
-*
-*
-*
-&
-/
-X
-m
-d
-b
-a
-#
-#
-#
-#
-o
-#
-8
-8
-a
-o
-M
-M
-#
-M
-M
-#
-M
-*
-M
-*
-w
-c
-*
-a
-o
-o
-*
-o
-*
-*
-o
-o
-o
-o
-%
-a
-o
-b
-b
-k
-M
-M
-C
-a
-#
-*
-c
-h
-Q
-M
-&
-&
-W
-&
-W
-W
-M
-M
-W
-M
-M
-o
-o
-a
-#
-o
-M
-M
-o
-a
-a
-*
-k
-w
-k
-a
-a
-o
-a
-o
-d
-b
-Z
-m
-0
-*
-*
-*
-k
-h
-Z
-O
-Z
-q
-b
-a
-b
-q
-Q
-O
-h
-L
-b
-a
-h
-w
-q
-h
-a
-h
-a
-h
-h
-k
-X
-X
-X
-k
-I
-m
-m
-w
-w
-n
-Q
-Y
-m
-b
-p
-q
-]
-v
-n
-f
-I
-;
-:
-:
-"
-"
-^
-^
-^
-^
-^
-^
-^
-}
-(
-1
-1
-r
-u
-U
-U
-X
-f
-X
-x
->
->
-X
-0
-L
-d
-x
-c
-Q
-O
-w
-O
-q
-h
-*
-*
-*
-*
-o
-h
-k
-q
-p
-k
-h
-b
-d
-p
-k
-M
-&
-M
-#
-W
-W
-o
-d
-a
-#
-#
-k
-k
-h
-o
-o
-k
-d
-Q
-b
-v
-Z
-d
-b
-m
-J
-U
-0
-Q
-v
-l
-\
-<
-}
-:
-;
-;
-:
-:
-:
-:
-:
-:
-:
-;
-;
-|
-\
-{
-]
-l
-{
-u
-X
-J
-X
-j
-Y
-v
-X
-r
-j
-x
-f
-\
-Y
--
->
-~
-;
-[
-,
-{
-n
-j
-v
-(
-x
-u
-!
-j
-w
-m
-O
-b
-L
-k
-h
-a
-a
-o
-*
-*
-*
-*
-M
-}
-Q
-w
-p
-h
-a
-o
-#
-*
-*
-*
-*
-#
-W
-8
-8
-k
-W
-#
-#
-M
-M
-r
-o
-z
-0
-&
-M
-o
-B
-o
-o
-o
-o
-*
-*
-o
-*
-o
-*
-*
-%
-a
-k
-b
-b
-#
-#
-#
-b
-b
-k
-*
-$
-M
-0
-M
-M
-W
-W
-W
-W
-W
-M
-#
-M
-o
-o
-o
-a
-a
-W
-p
-Z
-X
-#
-h
-z
-p
-d
-p
-d
-a
-m
-o
-*
-o
-o
-o
-k
-q
-w
-#
-o
-*
-o
-k
-a
-p
-b
-a
-k
-k
-p
-C
-Z
-Z
-0
-0
-o
-b
-h
-Z
-h
-a
-a
-a
-o
-a
-a
-h
-J
-k
-Q
-q
-r
-Z
-w
-Z
-m
-Y
-0
-Y
-Y
-c
-b
-d
-?
-}
-x
-f
-I
-;
-:
-,
-"
-^
-^
-^
-^
-^
-^
-`
-[
-+
--
-)
-f
-j
-t
-U
-J
-X
-f
-n
-Y
->
->
-U
-L
-Z
-d
-c
-c
-C
-L
-m
-O
-w
-d
-h
-*
-#
-o
-o
-k
-k
-p
-q
-k
-k
-b
-q
-q
-k
-&
-&
-#
-M
-W
-W
-h
-a
-a
-#
-#
-h
-Z
-k
-o
-o
-b
-p
-O
-C
-u
-X
-b
-b
-Q
-J
-z
-0
-L
-n
-,
-z
-l
-{
-"
-;
-:
-:
-:
-:
-:
-:
-:
-:
-;
-;
-|
-(
-1
-]
-}
-/
-u
-c
-Y
-r
-r
-X
-c
-u
-r
-u
-j
-j
-t
-U
-<
-i
-+
-;
-{
-"
-!
-u
-f
-r
-)
-u
-n
-x
-a
-c
-z
-q
-p
-Z
-q
-h
-a
-o
-*
-*
-*
-*
-*
-[
-C
-J
-q
-b
-*
-o
-o
-*
-M
-*
-o
-o
-*
-a
-8
-8
-M
-b
-#
-M
-#
-B
-W
-o
-b
-*
-M
-#
-o
-a
-a
-a
-a
-o
-*
-o
-*
-o
-*
-o
-a
-%
-%
-b
-b
-*
-*
-#
-#
-p
-d
-p
-a
-%
-M
-O
-M
-W
-W
-W
-W
-W
-M
-#
-a
-#
-o
-o
-a
-a
-a
-h
-L
-Z
-Y
-*
-m
-Y
-p
-b
-d
-*
-o
-q
-m
-o
-*
-o
-o
-o
-o
-*
-Z
-*
-*
-*
-o
-a
-k
-a
-a
-k
-w
-U
-C
-0
-b
-Q
-Q
-L
-k
-b
-d
-h
-o
-o
-o
-o
-o
-o
-o
-h
-X
-h
-C
-o
-J
-Z
-J
-0
-m
-0
-J
-Y
-f
-d
-d
-m
-q
-n
-t
-;
-;
-:
-,
-"
-^
-^
-`
-`
-^
-^
-^
-l
-_
-)
-(
-(
-(
-/
-U
-U
-z
-z
-t
-X
->
-i
-Y
-L
-m
-q
-p
-r
-v
-C
-Z
-O
-O
-p
-o
-*
-*
-*
-o
-o
-k
-p
-q
-k
-h
-b
-q
-p
-k
-&
-W
-#
-W
-W
-W
-h
-a
-o
-#
-o
-h
-q
-k
-o
-o
-b
-0
-b
-u
-m
-L
-k
-w
-X
-L
-Y
-0
-C
-x
-:
-Q
-!
-1
-1
-l
-:
-:
-:
-:
-:
-:
-:
-;
-i
->
-)
-(
-]
-]
-|
-n
-c
-c
-U
-{
-[
-v
-t
-1
-{
-f
-{
--
-[
-n
-l
-i
-+
-:
-{
-^
-'
-n
-j
-|
-x
-u
-r
-n
-X
-L
-L
-d
-d
-Z
-k
-k
-a
-o
-*
-*
-*
-*
-Y
-u
-d
-b
-k
-a
-*
-M
-*
-*
-o
-#
-o
-*
-a
-#
-k
-&
-&
-&
-p
-M
-#
-r
-k
-w
-C
-8
-W
-q
-o
-a
-a
-a
-a
-*
-*
-o
-a
-a
-a
-o
-M
-a
-#
-*
-o
-o
-#
-#
-#
-Z
-q
-b
-o
-B
-B
-Z
-M
-*
-M
-W
-W
-M
-#
-a
-a
-o
-#
-h
-a
-W
-#
-p
-Z
-m
-L
-#
-Z
-C
-b
-M
-h
-a
-a
-o
-q
-m
-k
-*
-o
-o
-a
-a
-a
-*
-*
-*
-o
-*
-p
-k
-Z
-0
-0
-O
-b
-O
-h
-Q
-Q
-Q
-b
-b
-Q
-h
-a
-o
-o
-o
-o
-o
-o
-o
-h
-h
-p
-r
-Y
-J
-Y
-U
-v
-C
-J
-U
-j
-Y
-d
-p
-]
-f
-t
-l
-;
-:
-,
-^
-^
-`
-`
-`
-`
-^
-`
-^
-[
-]
-[
-1
-j
-/
-J
-Y
-X
-c
-f
-X
->
->
-Y
-C
-0
-p
-h
-r
-x
-J
-L
-0
-0
-q
-k
-a
-*
-*
-o
-o
-k
-b
-q
-k
-k
-b
-w
-q
-b
-&
-#
-#
-W
-W
-#
-b
-a
-#
-*
-h
-d
-k
-o
-o
-b
-b
-Z
-q
-n
-q
-m
-k
-v
-Y
-C
-U
-O
-J
-x
-:
-n
-i
-Y
-(
-(
-:
-:
-:
-:
-~
-]
-_
--
--
-?
-)
-(
-[
-]
-[
-n
-z
-Y
-X
-f
-t
-v
-(
-(
-(
-/
-{
-}
-}
-v
-:
-i
-_
-:
-{
-)
-`
-u
-j
-?
-/
-x
-n
-q
-Y
-X
-c
-U
-p
-O
-a
-h
-a
-o
-*
-*
-*
-0
-#
-0
-m
-h
-o
-o
-*
-#
-o
-*
-o
-o
-*
-*
-a
-M
-b
-M
-M
-M
-h
-M
-M
-*
-M
-L
-b
-#
-#
-&
-a
-#
-&
-h
-o
-o
-*
-k
-b
-d
-b
-a
-8
-a
-#
-o
-o
-*
-#
-#
-o
-d
-a
-k
-h
-B
-B
-Z
-M
-W
-W
-W
-M
-#
-M
-a
-a
-a
-*
-*
-h
-Y
-L
-w
-M
-h
-w
-m
-Z
-h
-M
-k
-q
-k
-a
-a
-a
-h
-w
-a
-#
-h
-k
-w
-a
-k
-*
-o
-o
-o
-k
-Z
-Z
-0
-b
-d
-k
-0
-a
-Q
-Q
-Q
-d
-b
-Q
-b
-h
-a
-o
-o
-*
-*
-*
-*
-o
-w
-k
-b
-h
-c
-O
-O
-X
-C
-J
-J
-\
-/
-d
-p
-p
-u
-t
->
-;
-:
-"
-^
-^
-'
-'
-`
-`
-`
-`
-`
-?
-?
-\
-}
-x
-/
-J
-Y
-C
-v
-f
-X
->
->
-J
-L
-Q
-m
-k
-p
-f
-v
-C
-0
-Q
-m
-d
-h
-o
-*
-o
-o
-o
-b
-q
-d
-k
-k
-q
-p
-d
-&
-M
-M
-W
-W
-b
-b
-a
-#
-*
-k
-Z
-k
-o
-a
-b
-Z
-b
-n
-p
-b
-q
-q
-X
-Y
-C
-U
-0
-C
-]
-;
-}
-)
-u
-Y
-]
-:
-:
-:
-[
-?
-?
-_
-_
-?
-1
-\
-/
-{
-)
-}
-u
-Y
-c
-X
-x
-/
-n
-)
-1
-/
-j
-\
-[
-]
-v
-"
->
--
-:
-}
-`
-`
-v
-j
-u
-v
-X
-j
-Z
-J
-J
-J
-v
-d
-b
-b
-a
-a
-o
-*
-*
-m
-*
-(
-#
-O
-o
-o
-*
-o
-*
-o
-#
-o
-a
-*
-o
-M
-*
-M
-a
-8
-M
-M
-d
-b
-*
-8
-d
-Y
-8
-W
-k
-#
-d
-&
-d
-*
-o
-w
-w
-Z
-]
-0
-Z
-B
-b
-M
-o
-o
-o
-#
-#
-#
-#
-#
-#
-p
-M
-B
-W
-M
-W
-W
-M
-M
-#
-#
-o
-k
-#
-m
-m
-h
-Y
-Q
-c
-h
-a
-O
-a
-d
-h
-O
-#
-q
-m
-L
-a
-a
-a
-o
-h
-#
-*
-#
-#
-k
-d
-*
-o
-o
-o
-o
-w
-d
-d
-w
-b
-b
-0
-Q
-Q
-Q
-Q
-d
-b
-b
-d
-k
-a
-a
-a
-o
-*
-*
-#
-*
-*
-k
-d
-p
-J
-c
-u
-n
-Z
-O
-J
-f
-1
-w
-d
-m
-\
-/
-~
-;
-:
-"
-^
-^
-.
-'
-'
-`
-`
-`
-^
-+
-]
-/
-{
-n
-f
-Y
-Y
-Q
-X
-f
-X
-_
->
-Y
-0
-Q
-L
-d
-b
-f
-t
-J
-C
-Q
-O
-d
-k
-a
-*
-o
-o
-o
-k
-w
-q
-k
-k
-p
-q
-q
-&
-#
-M
-W
-M
-k
-h
-a
-#
-*
-k
-b
-o
-o
-a
-b
-Z
-w
-u
-b
-d
-w
-Q
-c
-U
-Y
-L
-0
-L
-~
-;
-(
-j
-\
-/
-;
-:
-:
-,
-}
-?
-]
-[
-[
-}
-)
-\
-/
-[
-]
-}
-u
-n
-c
-C
-u
-1
-x
-t
-j
-X
-X
-u
-f
-\
-n
-:
->
-?
-:
-{
-"
-^
-u
-r
-/
-?
-(
-O
-v
-Z
-Q
-Q
-q
-d
-h
-h
-a
-o
-o
-*
-*
-*
-o
-Q
-*
-w
-*
-*
-o
-o
-o
-a
-a
-#
-a
-h
-*
-W
-#
-&
-p
-o
-8
-W
-q
-a
-a
-#
-&
-h
-W
-&
-h
-&
-#
-o
-W
-z
-o
-/
-1
--
-_
-|
-?
-$
-@
-M
-*
-o
-o
-#
-*
-M
-o
-M
-#
-#
-M
-B
-M
-M
-M
-M
-#
-#
-#
-#
-*
-b
-*
-a
-h
-b
-M
-Y
-v
-w
-b
-m
-z
-h
-d
-O
-b
-Q
-Z
-a
-w
-o
-a
-o
-a
-*
-*
-#
-d
-Q
-a
-h
-o
-a
-o
-o
-a
-d
-b
-Z
-L
-p
-O
-L
-Q
-C
-Q
-p
-b
-b
-b
-b
-k
-h
-o
-a
-o
-*
-*
-*
-o
-k
-p
-0
-X
-X
-C
-C
-C
-m
-0
-r
-(
-1
-p
-p
-r
-Q
-+
-;
-:
-"
-^
-`
-'
-'
-'
-'
-'
-`
-'
->
-+
-\
-{
-n
-j
-c
-J
-Q
-z
-f
-X
-c
->
-<
-O
-0
-O
-m
-p
-p
-/
-v
-J
-Q
-0
-p
-k
-k
-o
-o
-o
-*
-o
-w
-w
-k
-k
-d
-q
-q
-W
-#
-W
-M
-#
-b
-h
-#
-*
-k
-q
-k
-o
-o
-k
-m
-k
-n
-p
-b
-p
-Z
-Q
-n
-C
-U
-Q
-0
-0
--
-I
-(
-x
-j
-1
-;
-:
-:
-,
-,
-]
-]
-_
-"
-,
-)
-/
-/
-]
-_
--
-f
-X
-U
-U
-v
-n
-Y
-z
-c
-X
-X
-x
-j
-r
-x
-;
-<
--
-:
-w
-"
-^
-v
-r
-X
-C
-C
-q
-Z
-*
-b
-k
-d
-k
-h
-a
-a
-o
-o
-*
-*
-*
-X
-C
-*
-k
-#
-*
-o
-a
-a
-a
-h
-a
-M
-h
-#
-M
-W
-o
-W
-#
-%
-#
-&
-o
-q
-p
-&
-M
-M
-&
-&
-W
-a
-a
-8
-C
-a
-v
-(
-]
-_
-_
--
-B
-%
-B
-o
-o
-o
-#
-o
-f
-*
-#
-M
-M
-8
-%
-O
-M
-M
-M
-*
-#
-#
-*
-#
-#
-#
-o
-Z
-C
-Q
-U
-/
-*
-|
-M
-#
-M
-B
-w
-w
-O
-O
-Z
-o
-m
-q
-a
-h
-o
-*
-8
-Z
-q
-j
-a
-o
-h
-o
-o
-o
-b
-Z
-Q
-h
-L
-O
-Q
-Q
-L
-L
-p
-d
-b
-d
-b
-b
-k
-h
-a
-*
-*
-*
-*
-#
-b
-h
-O
-J
-J
-C
-L
-L
-L
-0
-L
-/
-(
-d
-p
-Z
-f
--
-;
-:
-"
-^
-`
-'
-.
-'
-'
-'
-'
-`
-!
-~
-|
-}
-u
-x
-n
-U
-U
-Z
-\
-c
-U
->
-~
-C
-L
-0
-m
-p
-d
-n
-f
-Y
-U
-Q
-m
-k
-k
-a
-o
-o
-o
-*
-q
-w
-b
-k
-d
-q
-p
-M
-#
-W
-M
-o
-q
-a
-#
-*
-k
-q
-h
-o
-a
-b
-O
-p
-x
-0
-k
-q
-O
-u
-c
-Q
-z
-L
-0
-O
-_
-!
-?
-{
-x
-1
-,
-:
-,
-:
-,
-"
-,
-,
-,
-,
-(
-t
-/
-]
-[
-?
-/
-v
-U
-U
-v
-x
-z
-u
-n
-c
-Y
-j
-r
-r
-/
-I
-~
-+
-:
-<
-"
-^
-v
-x
-X
-L
-Q
-q
-m
-b
-b
-k
-k
-k
-a
-a
-a
-o
-*
-*
-*
-o
-c
-&
-o
-o
-*
-o
-o
-a
-a
-h
-h
-k
-k
-#
-#
-o
-W
-*
-W
-b
-W
-&
-b
-O
-*
-#
-*
-8
-M
-B
-W
-&
-M
-a
-M
-X
-a
-h
-/
-}
-?
-_
-_
-L
-%
-*
-o
-o
-*
-*
-f
-j
-#
-#
-#
-M
-&
-8
-Z
-M
-o
-h
-k
-*
-*
-#
-w
-o
-h
-m
-Z
-p
-o
-n
-J
-*
-#
-#
-#
-o
-M
-}
-w
-O
-m
-d
-a
-8
-p
-p
-a
-a
-W
-a
-p
-k
-8
-k
-k
-o
-h
-o
-a
-a
-d
-k
-h
-m
-h
-Q
-Q
-Q
-L
-p
-b
-b
-d
-b
-k
-k
-p
-b
-o
-o
-o
-o
-o
-b
-o
-b
-0
-C
-O
-Z
-Z
-L
-0
-Q
-v
-{
-m
-p
-m
-x
-{
-;
-:
-,
-^
-`
-'
-'
-'
-'
-'
-'
-'
-l
-+
-|
-|
-u
-x
-x
-C
-O
-U
-C
-f
-X
->
-~
-0
-L
-Z
-O
-w
-p
-b
-\
-v
-Y
-Q
-O
-d
-b
-k
-a
-a
-a
-#
-h
-w
-b
-k
-d
-d
-p
-#
-M
-M
-M
-a
-b
-a
-#
-*
-h
-k
-o
-o
-h
-q
-d
-n
-d
-w
-b
-w
-0
-n
-v
-0
-X
-Q
-0
-0
-i
-{
->
-[
-/
-1
-"
-,
-,
-,
-,
-,
-,
-,
-,
-"
-(
-f
-/
-]
-]
-[
-f
-Y
-Y
-C
-}
-]
-c
-[
-{
-/
-x
-}
-?
-?
-{
-i
--
-<
-+
-!
-"
-^
-j
-n
-U
-J
-0
-0
-m
-k
-k
-k
-b
-k
-h
-k
-a
-o
-*
-*
-*
-o
-L
-#
-a
-*
-*
-o
-a
-a
-h
-h
-k
-k
-k
-h
-*
-W
-M
-W
-#
-&
-8
-8
-W
-Z
-o
-o
-M
-b
-8
-M
-&
-W
-&
-a
-*
-Z
-a
-b
-x
-{
-?
-?
-{
-p
-%
-o
-o
-o
-(
-*
-u
-*
-o
-#
-M
-M
-&
-M
-Z
-o
-p
-q
-*
-#
-*
-o
-o
-*
-#
-L
-a
-Z
-|
-X
-0
-k
-o
-a
-{
-Z
-M
-8
-*
-*
-q
-j
-Z
-%
-#
-a
-M
-a
-o
-#
-a
-d
-p
-c
-a
-o
-h
-a
-a
-a
-a
-k
-b
-L
-b
-Q
-L
-C
-L
-p
-b
-d
-d
-b
-k
-k
-k
-p
-k
-a
-o
-o
-a
-k
-h
-q
-w
-z
-x
-|
-[
-X
-Q
-Q
-Y
-X
-v
-p
-p
-n
-p
-I
-:
-,
-"
-^
-'
-'
-'
-'
-'
-'
-'
-I
-+
-(
-(
-v
-x
-j
-C
-Z
-0
-q
-f
-X
->
-+
-Q
-m
-O
-Z
-w
-q
-p
-f
-r
-z
-X
-Q
-Z
-b
-b
-k
-a
-a
-#
-a
-w
-p
-k
-b
-b
-q
-#
-M
-M
-*
-k
-h
-*
-#
-o
-q
-k
-a
-a
-b
-m
-w
-j
-f
-w
-d
-C
-v
-/
-f
-C
-Y
-Q
-0
-Q
-!
-z
-l
-j
-)
-)
-!
-"
-,
-"
-"
-:
-"
-,
-"
-,
-)
-f
-/
-?
-+
-!
-f
-X
-L
-Q
-(
-}
-v
-f
-j
-j
-x
-\
-1
-_
-t
-+
--
-l
-Q
-l
-!
-!
-|
-n
-X
-C
-O
-Q
-q
-k
-h
-k
-k
-k
-h
-h
-a
-*
-*
-*
-*
-b
-a
-#
-o
-*
-M
-#
-a
-o
-k
-k
-k
-k
-k
-k
-o
-M
-8
-W
-k
-m
-M
-&
-M
-0
-d
-M
-&
-w
-8
-B
-&
-%
-8
-o
-*
-b
-q
-b
-f
-)
-{
-Z
-Z
-8
-%
-%
-r
-t
-f
-#
-*
-W
-#
-#
-#
-M
-M
-M
-m
-h
-b
-8
-&
-O
-M
-#
-#
-W
-#
-Y
-Y
-C
-b
-f
-Q
-C
-q
-O
-j
-p
-#
-W
-M
-0
-h
-d
-w
-o
-0
-m
-8
-#
-&
-M
-o
-m
-Z
-t
-a
-o
-o
-a
-o
-a
-a
-Y
-d
-Q
-Z
-C
-C
-L
-J
-p
-d
-d
-d
-b
-k
-k
-h
-k
-b
-b
-b
-o
-k
-#
-o
-p
-w
-w
-z
-/
-[
-!
-0
-C
-Y
-X
-c
-p
-q
-x
-O
-I
-;
-,
-"
-^
-`
-'
-'
-'
-'
-'
-'
-l
-<
-(
-\
-v
-x
-f
-c
-O
-0
-J
-j
-X
-i
-~
-J
-J
-m
-0
-d
-w
-w
-d
-1
-x
-v
-C
-0
-q
-d
-d
-h
-h
-#
-o
-p
-q
-k
-b
-d
-q
-#
-M
-M
-*
-d
-h
-#
-*
-k
-k
-o
-a
-a
-d
-p
-v
-m
-O
-p
-m
-~
-_
-f
-t
-C
-X
-0
-0
-C
-!
-0
-l
-/
-\
-)
-!
-"
-"
-"
-"
-I
-"
-"
-,
-,
-)
-f
-/
-]
-]
--
-f
-X
-X
-C
-/
-{
-\
-1
-)
-j
-j
-t
-)
-}
-}
-?
--
-<
-X
-+
-<
-i
-_
-u
-u
-c
-d
-Q
-O
-d
-b
-b
-b
-k
-a
-h
-o
-o
-*
-*
-*
-/
-c
-*
-o
-o
-a
-a
-h
-a
-b
-k
-Z
-k
-b
-k
-a
-#
-]
-W
-#
-#
-&
-%
-M
-m
-m
-o
-8
-0
-*
-k
-o
-a
-a
-o
-k
-W
-h
-#
-b
-C
-#
-Q
-I
-8
-@
-W
-/
-)
-a
-#
-#
-W
-M
-#
-#
-M
-M
-M
-q
-o
-8
-W
-W
-#
-U
-b
-M
-M
-a
-L
-Z
-d
-p
-q
-C
-C
-O
-M
-*
-w
-p
-&
-p
-M
-0
-a
-p
-c
-0
-v
-a
-8
-#
-M
-b
-w
-O
-Y
-a
-a
-o
-h
-a
-a
-a
-h
-h
-L
-O
-U
-J
-C
-J
-q
-d
-d
-p
-b
-k
-h
-a
-k
-k
-b
-J
-b
-m
-*
-#
-*
-Z
-U
-|
-q
-m
-1
-O
-J
-z
-v
-v
-q
-p
-n
-Z
-l
-;
-:
-"
-^
-`
-'
-'
-'
-'
-'
-'
-:
->
-|
-}
-u
-r
-x
-v
-Z
-O
-U
-j
-X
-]
-~
-0
-C
-L
-J
-d
-w
-m
-q
-f
-f
-u
-v
-L
-0
-q
-p
-b
-k
-*
-o
-b
-w
-k
-b
-q
-w
-#
-M
-M
-o
-q
-h
-#
-*
-k
-k
-o
-a
-b
-m
-q
-j
-k
-O
-p
-U
-]
-_
-+
-(
-r
-c
-0
-O
-L
-i
-L
-l
-U
-{
-?
-l
-_
-l
-"
-"
-;
-"
-"
-,
-,
-)
-t
-(
-]
-]
-?
-u
-Y
-X
-X
-}
-[
-v
-}
-]
-t
-f
-[
-]
-[
-]
-]
--
-m
--
-+
-~
->
-l
-u
-v
-u
-d
-L
-0
-0
-b
-p
-b
-b
-h
-h
-o
-*
-*
-*
-*
-h
-f
-o
-o
-*
-a
-h
-k
-k
-d
-b
-q
-h
-b
-0
-o
-*
-W
-W
-b
-&
-&
-&
-8
-b
-#
-B
-#
-m
-&
-@
-M
-@
-W
-m
-a
-h
-o
-*
-j
-v
-j
-w
-M
-8
-f
-#
-x
-a
-o
-#
-*
-W
-#
-#
-#
-*
-*
-B
-p
-a
-k
-&
-M
-M
-J
-a
-d
-M
-q
-k
-p
-v
-d
-0
-f
-J
-p
-d
-J
-Q
-q
-b
-/
-h
-w
-Z
-q
-z
-r
-J
-Y
-%
-W
-&
-Z
-0
-O
-v
-a
-h
-a
-h
-h
-a
-a
-h
-0
-L
-0
-J
-J
-U
-C
-m
-p
-p
-p
-b
-k
-a
-a
-h
-h
-a
-J
-J
-m
-X
-*
-#
-q
-a
-b
-O
-Y
-u
-Q
-U
-Y
-v
-c
-U
-p
-Q
-Z
-I
-;
-:
-,
-^
-^
-'
-'
-'
-'
-'
-'
-:
-<
-\
-{
-x
-r
-r
-c
-O
-0
-U
-f
-X
-Y
-<
-\
-C
-L
-J
-q
-m
-m
-Z
-L
-1
-\
-n
-U
-Q
-Z
-q
-q
-b
-*
-*
-d
-w
-b
-k
-w
-w
-M
-M
-M
-k
-d
-o
-*
-o
-d
-k
-o
-o
-k
-m
-Q
-c
-h
-m
-0
-\
-]
-+
-?
-?
-u
-c
-0
-O
-Q
-i
-z
-i
-|
-x
-<
-!
-+
-l
-"
-"
-;
-"
-"
-,
-"
-)
-/
-{
--
-+
-)
-u
-X
-c
-v
-n
-n
-v
-v
-n
-X
-c
-v
-x
-f
-]
-?
-?
-h
-1
-+
-~
->
-l
-c
-c
-w
-k
-Q
-m
-p
-d
-p
-b
-d
-a
-h
-o
-*
-*
-*
-*
-Q
-0
-b
-a
-#
-b
-p
-p
-[
-h
-p
-b
-o
-d
-h
-a
-*
-#
-M
-a
-#
-W
-*
-8
-h
-a
-o
-*
-8
-@
-B
-*
-B
-%
-8
-C
-8
-h
-|
-k
-w
-p
-n
-*
-W
-Y
-a
-o
-o
-o
-#
-#
-W
-M
-M
-M
-#
-*
-p
-d
-d
-q
-a
-W
-M
-L
-#
-d
-Z
-b
-p
-Z
-Z
-w
-m
-h
-0
-k
-d
-J
-X
-#
-0
-u
-c
-m
-n
-Q
-m
-p
-Z
-p
-%
-a
-Y
-O
-q
-M
-a
-b
-k
-a
-b
-k
-a
-h
-h
-h
-Q
-O
-U
-Y
-U
-J
-O
-p
-p
-p
-b
-b
-h
-a
-h
-h
-a
-q
-<
-r
-C
-M
-M
-M
-w
-k
-U
-m
-b
-C
-J
-U
-c
-v
-c
-p
-d
-Z
-l
-I
-;
-,
-"
-^
-'
-'
-'
-`
-`
-`
-:
-_
-\
-{
-f
-n
-j
-v
-O
-Z
-C
-f
-Y
-Y
-<
->
-Q
-Q
-C
-w
-m
-m
-m
-q
-1
-z
-x
-c
-L
-Q
-q
-q
-b
-o
-o
-b
-d
-d
-k
-q
-w
-M
-M
-a
-k
-a
-*
-*
-o
-h
-o
-a
-a
-q
-p
-j
-d
-a
-Z
-Z
-n
-}
-}
-?
-+
-v
-z
-0
-O
-Y
-i
-x
-_
-z
-(
-!
-l
-i
-l
-"
-"
-I
-"
-"
-"
-"
-)
-/
-}
-]
-]
-\
-u
-Y
-c
-c
-n
-/
-u
-x
-t
-j
-j
-r
-)
--
-]
-?
-_
-h
-[
-_
-~
->
-!
-X
-c
-v
-C
-Z
-m
-q
-q
-p
-b
-b
-h
-h
-*
-*
-*
-*
-*
-Q
-k
-b
-*
-W
-q
-a
-q
-p
-b
-p
-p
-h
-O
-d
-d
-a
-#
-M
-a
-#
-M
-8
-W
-k
-d
-q
-h
-J
-Z
-@
-W
-%
-*
-W
-&
-&
-b
-d
-M
-0
-M
-b
-c
-o
-8
-a
-o
-o
-o
-*
-#
-M
-#
-M
-#
-o
-o
-w
-p
-p
-Y
-C
-w
-W
-C
-o
-M
-*
-q
-Z
-*
-o
-a
-M
-C
-o
-p
-d
-L
-d
-Q
-k
-v
-c
-\
-]
-1
-Z
-Z
-a
-a
-M
-a
-j
-q
-Y
-W
-k
-l
-b
-a
-a
-b
-h
-h
-h
-h
-Q
-0
-U
-U
-X
-J
-O
-p
-p
-p
-d
-b
-k
-a
-a
-h
-a
-a
-!
-}
-q
-M
-M
-#
-w
-a
-Y
-L
-t
-x
-C
-J
-c
-X
-z
-p
-p
-Z
-l
-I
-;
-:
-"
-^
-'
-'
-`
-^
-`
-`
-"
--
-/
-1
-\
-u
-f
-c
-O
-O
-O
-/
-u
-X
-<
-<
-C
-0
-O
-m
-m
-m
-d
-q
-Y
-]
-\
-x
-Y
-C
-Q
-Z
-q
-h
-o
-d
-p
-p
-k
-q
-q
-M
-#
-*
-q
-h
-*
-*
-k
-k
-o
-o
-k
-w
-q
-f
-k
-h
-Z
-/
-1
-/
-u
-(
-(
-v
-u
-O
-Z
-f
-i
-\
-f
-|
-c
-;
-!
-l
-l
-"
-"
-I
-"
-"
-,
-"
-(
-/
-}
-]
-]
-)
-u
-Y
-Y
-v
-1
-{
-z
-{
-?
-|
-)
--
-_
--
-}
-?
-Z
-o
-]
-_
-+
-<
-<
-Y
-v
-Y
-]
-q
-p
-d
-w
-d
-b
-b
-h
-o
-*
-*
-*
-*
-M
-m
-*
-*
-*
-a
-w
-k
-q
-q
-b
-Z
-w
-z
-u
-b
-b
-h
-o
-#
-*
-*
-W
-&
-W
-a
-q
-W
-M
-a
-&
-8
-W
-&
-&
-%
-&
-a
-a
-p
-W
-M
-Z
-o
-c
-a
-%
-&
-a
-o
-*
-a
-k
-&
-#
-M
-*
-a
-p
-a
-w
-x
-t
-X
-C
-W
-J
-O
-W
-*
-#
-C
-z
-X
-Q
-a
-w
-h
-p
-Z
-d
-a
-U
-p
-0
-u
-r
-v
-r
-\
-r
-Z
-m
-#
-o
-0
-*
-0
-8
-~
-b
-C
-h
-h
-h
-h
-h
-h
-k
-k
-0
-U
-J
-Y
-U
-L
-p
-p
-p
-d
-b
-k
-a
-a
-h
-a
-o
-i
-h
-w
-#
-#
-#
-M
-#
-Z
-O
-{
-I
-L
-U
-z
-Y
-z
-p
-p
-m
-_
-l
-I
-:
-,
-"
-`
-`
-^
-"
-"
-^
-^
-]
-f
-(
-/
-c
-j
-v
-m
-J
-J
-c
-j
-X
-<
-<
-J
-J
-C
-w
-w
-m
-d
-p
-Z
-}
-n
-u
-z
-Q
-Q
-Z
-m
-b
-o
-k
-b
-b
-k
-p
-p
-M
-#
-a
-q
-h
-*
-*
-h
-h
-a
-o
-p
-q
-v
-Q
-h
-h
-Z
-\
-/
-|
-<
-{
-L
-v
-Y
-O
-Z
-[
-!
-|
-\
-X
-}
-l
-l
-I
-I
-"
-"
-;
-"
-"
-,
-"
-(
-/
-}
--
-_
-x
-v
-c
-J
-j
-}
-)
-(
-}
-?
-|
-?
-{
-?
-_
-]
-x
-#
-b
-{
-_
-+
-~
-?
-Y
-c
-Y
-X
-p
-d
-q
-d
-p
-b
-b
-k
-o
-*
-*
-*
-*
-#
-0
-o
-*
-o
-z
-w
-p
-Z
-m
-m
-Z
-m
-j
-U
-w
-n
-p
-k
-o
-M
-a
-8
-M
-W
-o
-q
-b
-h
-8
-%
-%
-&
-%
-M
-%
-W
-#
-M
-B
-M
-8
-8
-#
-U
-a
-%
-o
-o
-a
-a
-h
-#
-M
-*
-#
-a
-a
-q
-@
-a
-x
-t
-L
-C
-W
-c
-Q
-&
-*
-q
-Y
-&
-M
-[
-a
-B
-*
-a
-0
-#
-b
-J
-C
-*
-?
-O
-Y
-X
-j
-{
-1
-d
-o
-8
-#
-C
-X
-p
-a
-\
-z
-*
-h
-m
-h
-k
-h
-k
-k
-p
-Y
-X
-U
-U
-J
-p
-p
-p
-d
-b
-h
-a
-a
-h
-a
-a
-!
-p
-p
-W
-M
-#
-M
-q
-Z
-d
-/
-`
-L
-J
-X
-U
-X
-Q
-p
-w
-j
-l
-I
-;
-,
-"
-^
-^
-^
-"
-"
-^
-^
-]
-j
-t
-/
-c
-j
-J
-C
-C
-J
-q
-f
-X
-<
-<
-J
-J
-U
-q
-m
-m
-d
-d
-0
-n
-]
-j
-x
-X
-L
-C
-0
-d
-o
-h
-d
-d
-k
-d
-p
-#
-o
-o
-k
-#
-*
-o
-k
-o
-o
-a
-q
-b
-f
-m
-h
-h
-0
-)
-\
-|
-+
--
--
-}
-Y
-O
-0
-i
-!
-(
-1
-\
-{
-:
-l
-;
-I
-"
-,
-;
-"
-"
-"
-"
-(
-/
-}
--
-~
-r
-n
-z
-Y
-r
-)
-1
-(
-[
-]
-(
-]
-[
-<
-x
-u
-f
-o
-c
-|
-?
-l
-]
-{
-J
-z
-Q
-Y
-b
-b
-b
-b
-d
-k
-k
-a
-o
-*
-*
-*
-*
-#
-w
-k
-o
-o
-f
-m
-0
-b
-O
-m
-Z
-0
-x
-O
-w
-c
-m
-p
-k
-#
-k
-M
-M
-W
-o
-q
-k
-b
-o
-&
-&
-B
-8
-W
-8
-%
-h
-b
-B
-B
-M
-B
-O
-U
-*
-%
-o
-h
-b
-k
-h
-#
-M
-*
-a
-a
-h
-q
-d
-q
-j
-|
-O
-C
-W
-c
-q
-*
-w
-&
-h
-#
-h
-q
-&
-#
-&
-#
-b
-k
-h
-J
-d
-O
-X
-p
-Z
-L
-/
-\
-\
-:
-b
-b
-q
-U
-#
-Q
-Y
-.
-.
-.
-k
-q
-k
-k
-d
-q
-k
-k
-X
-U
-U
-J
-J
-p
-d
-p
-d
-b
-k
-a
-a
-h
-a
-a
-;
-t
-q
-W
-W
-W
-M
-o
-o
-O
-p
-m
-J
-J
-Y
-X
-Y
-j
-q
-p
-x
-l
-l
-I
-:
-,
-^
-^
-^
-"
-,
-^
-`
-1
-x
-t
-/
-X
-j
-L
-m
-U
-J
-C
-j
-X
-i
-<
-U
-U
-J
-p
-m
-Z
-d
-d
-O
-Q
-+
-f
-x
-n
-L
-Q
-0
-q
-a
-k
-d
-d
-h
-b
-p
-#
-o
-k
-k
-*
-o
-o
-h
-o
-a
-k
-p
-O
-z
-w
-k
-k
-Z
-/
-t
-|
-?
--
-]
-?
-0
-O
-0
-i
-i
-|
-r
-(
-)
-?
-:
-l
-I
-"
-:
-;
-"
-"
-"
-;
-|
-/
-}
-[
-}
-(
-c
-u
-z
-x
-|
-]
-u
-]
--
-)
-_
-u
-x
-r
-j
-z
-o
-u
-)
-_
-!
-[
-)
-U
-Z
-m
-n
-C
-X
-C
-k
-h
-h
-h
-o
-o
-*
-*
-*
-o
-*
-d
-k
-h
-h
-t
-O
-L
-Y
-L
-Q
-w
-Q
-x
-v
-v
-c
-j
-q
-b
-a
-p
-&
-#
-W
-a
-b
-M
-B
-o
-%
-0
-a
-&
-8
-%
-M
-h
-a
-@
-B
-M
-%
-o
-C
-h
-%
-%
-b
-b
-b
-*
-#
-W
-a
-a
-a
-a
-m
-k
-Q
-O
-\
-&
-Q
-h
-O
-p
-w
-q
-&
-h
-L
-q
-h
-&
-o
-8
-&
-&
-q
-k
-Q
-o
-C
-8
-k
-h
-0
-0
-U
-X
-]
-`
-#
-w
-&
--
-o
-w
-Z
-Q
-l
-I
-d
-o
-b
-w
-Y
-k
-k
-U
-Y
-Y
-X
-X
-p
-p
-p
-p
-b
-b
-o
-a
-h
-a
-a
-<
-{
-m
-Z
-W
-W
-M
-#
-h
-w
-O
-r
-+
-Y
-z
-X
-Y
-f
-q
-f
-!
-_
-~
->
-;
-:
-"
-^
-^
-,
-,
-^
-^
-)
-j
-u
-j
-c
-j
-X
-J
-U
-U
-U
-j
-X
-?
->
-J
-L
-J
-0
-w
-m
-w
-m
-Z
-L
-)
-(
-z
-|
-c
-J
-J
-m
-a
-h
-d
-d
-h
-k
-q
-#
-o
-w
-h
-*
-o
-h
-o
-o
-a
-p
-h
-u
-q
-m
-k
-m
-m
-t
-/
-{
--
-1
-}
-{
-O
-Z
-L
-i
--
-(
-v
-c
-|
-{
-;
-l
-I
-"
-:
-;
-"
-l
-:
-I
-(
-\
-}
-_
-_
-n
-v
-u
-X
-t
-)
-\
-t
-(
-{
-\
-r
-v
-v
-j
-f
-w
-o
-Y
-J
-z
-f
-n
-n
-Y
-Z
-0
-f
-c
-J
-z
-0
-Q
-X
-o
-o
-o
-*
-*
-*
-o
-o
-q
-b
-b
-b
-r
-O
-p
-m
-h
-L
-d
-O
-n
-)
-u
-v
-x
-Z
-q
-k
-a
-M
-*
-M
-b
-o
-p
-B
-h
-M
-M
-8
-@
-8
-8
-b
-a
-o
-B
-B
-&
-@
-M
-*
-k
-B
-a
-k
-b
-h
-b
-o
-#
-k
-a
-o
-a
-a
-k
-d
-X
-Y
-Q
-B
-a
-0
-M
-p
-W
-M
-w
-n
-m
-@
-a
-*
-#
-8
-&
-p
-0
-M
-0
-Q
-$
-h
-W
-w
-O
-Q
-Q
-J
-<
-J
-q
-w
-Z
-0
-a
-x
-:
-'
-b
-|
-b
-k
-Q
-C
-d
-b
-k
-U
-J
-X
-U
-p
-p
-p
-d
-b
-b
-o
-h
-a
-a
-a
-t
-z
-U
-m
-*
-W
-M
-M
-C
-m
-m
-x
-!
-Q
-z
-X
-X
-f
-q
-x
-i
-+
-~
-<
-I
-:
-"
-^
-^
-,
-,
-^
-"
-\
-x
-u
-f
-c
-x
-z
-J
-Y
-U
-U
-j
-Y
-u
->
-C
-0
-J
-J
-m
-m
-m
-m
-Z
-Q
-C
-<
-j
-)
-v
-J
-Y
-Q
-h
-h
-p
-d
-k
-k
-q
-#
-o
-w
-o
-*
-o
-k
-o
-a
-h
-w
-p
-f
-Z
-b
-k
-/
-0
-x
-n
-\
-}
-{
-(
--
-Z
-Z
-L
-!
-(
-]
-X
-z
-1
-}
-l
-I
-I
-^
-;
-;
-"
-l
-,
-:
-(
-\
-}
-_
-~
-r
-u
-U
-Q
-Z
-Z
-m
-Z
-m
-m
-w
-m
-m
-m
-m
-m
-#
-*
-q
-w
-w
-O
-O
-L
-w
-Z
-Y
-k
-J
-h
-b
-U
-J
-U
-o
-o
-o
-*
-*
-*
-o
-o
-Z
-d
-b
-h
-z
-U
-n
-C
-x
-U
-J
-0
-#
-X
-n
-c
-n
-x
-Z
-d
-a
-#
-a
-M
-m
-8
-d
-%
-a
-M
-&
-&
-&
-%
-B
-B
-W
-M
-B
-@
-W
-%
-d
-%
-k
-b
-W
-o
-b
-k
-d
-k
-b
-h
-a
-q
-a
-a
-h
-Z
-\
-k
-Y
-&
-q
-Z
-w
-8
-m
-a
-w
-O
-o
-#
-W
-a
-&
-&
-&
-*
-w
-p
-o
-b
-W
-o
-o
-a
-q
-Z
-q
-0
-;
-:
-Q
-C
-b
-Z
-Q
-M
-b
->
-k
-}
-+
-q
-O
-Q
-C
-b
-b
-Y
-X
-c
-X
-#
-L
-p
-p
-d
-b
-o
-a
-a
-k
-a
-U
-r
-1
-U
-m
-W
-M
-M
-o
-0
-Y
-Q
-]
-0
-Y
-Y
-z
-w
-q
-n
-i
--
-_
-+
-l
-I
-:
-"
-"
-,
-,
-,
-:
-/
-n
-v
-u
-c
-r
-v
-U
-Y
-Y
-U
-f
-U
-J
->
-\
-0
-J
-U
-Z
-m
-w
-Z
-m
-0
-J
-<
-\
-u
-f
-z
-U
-J
-a
-h
-p
-p
-b
-k
-q
-o
-o
-b
-*
-o
-o
-o
-o
-a
-b
-p
-U
-Y
-p
-d
-w
-u
-O
-U
-\
-/
-{
-{
-\
-{
-Z
-Z
-Q
-i
-j
->
-)
-x
-{
-\
-i
-I
-l
-^
-;
-;
-^
-I
-"
-,
-t
-X
-Q
-O
-Z
-0
-O
-Z
-m
-m
-m
-m
-m
-m
-m
-w
-w
-m
-m
-m
-m
-*
-*
-m
-Z
-q
-w
-0
-Q
-q
-m
-n
-b
-Q
-b
-Z
-d
-b
-o
-o
-o
-*
-*
-*
-o
-a
-*
-m
-b
-d
-C
-m
-a
-O
-0
-n
-p
-U
-z
-v
-c
-(
-j
-n
-x
-O
-p
-a
-#
-h
-M
-Z
-M
-#
-B
-W
-a
-M
-8
-B
-O
-w
-@
-#
-8
-B
-B
-8
-&
-8
-M
-a
-%
-%
-8
-b
-d
-p
-p
-d
-a
-p
-p
-b
-*
-%
-k
-*
-Z
-%
-W
-C
-m
-&
-W
-M
-#
-h
-M
-h
-k
-o
-B
-o
-o
-*
-8
-a
-#
-h
-8
-#
-o
-o
-#
-k
-0
-d
-q
-p
-z
-c
-J
-m
-*
-L
-#
-r
-&
-l
-o
-q
-I
-L
-Z
-Q
-k
-k
-u
-v
-X
-J
-n
-a
-q
-p
-d
-b
-a
-o
-a
-d
-h
-0
-c
-Y
->
-m
-w
-W
-M
-d
-w
-b
-k
-w
-L
-Y
-X
-z
-q
-k
-u
->
-_
--
-_
-l
-I
-;
-,
-"
-:
-;
-,
-;
-j
-v
-c
-u
-z
-x
-n
-U
-Y
-n
-J
-j
-z
-Y
->
-<
-0
-U
-J
-m
-Z
-d
-d
-m
-O
-L
-X
-+
-r
-/
-n
-Y
-X
-w
-b
-w
-q
-d
-h
-k
-#
-#
-k
-o
-o
-o
-a
-o
-a
-p
-k
-c
-m
-h
-b
-m
-L
-O
-0
-Q
-O
-j
-1
-U
-u
-Z
-Z
-Z
->
-X
-l
-j
-{
-}
-}
-<
-I
-;
-`
-j
-q
-w
-O
-O
-O
-O
-O
-O
-0
-0
-0
-Z
-O
-O
-0
-O
-0
-O
-Z
-Z
-m
-w
-q
-q
-m
-Z
-*
-*
-m
-Z
-m
-m
-w
-d
-p
-O
-Y
-m
-p
-q
-O
-d
-a
-o
-o
-o
-*
-*
-*
-o
-o
-p
-O
-k
-p
-x
-U
-v
-J
-v
-X
-f
-U
-z
-X
-f
-Y
-q
-J
-x
-O
-O
-o
-X
-b
-*
-m
-a
-M
-W
-&
-W
-B
-Z
-h
-M
-&
-&
-h
-#
-8
-h
-k
-&
-8
-8
-#
-8
-8
-%
-*
-d
-p
-q
-a
-#
-h
-k
-q
-Z
-0
-b
-k
-Y
-8
-p
-O
-Q
-W
-Y
-8
-x
-t
-8
-d
-W
-h
-@
-a
-a
-a
-%
-W
-8
-O
-*
-Q
-a
-W
-M
-k
-Z
-b
-m
-q
-C
-;
-r
-J
-d
-a
-p
-x
-c
-#
-~
-p
-X
-w
-.
-t
-O
-b
-C
-.
-.
-[
-q
-o
-d
-p
-p
-d
-d
-a
-a
-d
-h
-p
-u
-O
-O
-1
-O
-*
-k
-d
-O
-q
-m
-r
-U
-m
-Q
-d
-b
-C
-C
-U
-z
-c
-X
-x
-}
-i
-"
-^
-;
-l
-;
-l
-t
-r
-c
-n
-z
-r
-n
-J
-Y
-t
-J
-f
-j
-Y
-<
-i
-C
-Y
-C
-m
-m
-d
-d
-q
-Z
-0
-J
->
-|
-c
-x
-Y
-J
-p
-k
-m
-p
-q
-k
-b
-*
-h
-h
-o
-o
-h
-o
-a
-h
-q
-b
-z
-m
-h
-b
-m
-m
-0
-0
-0
-0
-Q
-C
-x
-C
-Z
-Z
-L
-i
-C
-I
-f
-z
-}
-\
-U
-p
-m
-Z
-m
-m
-m
-m
-Q
-0
-0
-Q
-0
-Q
-Q
-Q
-Q
-0
-0
-0
-0
-0
-0
-O
-O
-O
-m
-Z
-Z
-Z
-m
-*
-*
-m
-m
-m
-q
-q
-k
-d
-0
-L
-Z
-b
-m
-Z
-q
-o
-o
-o
-*
-*
-*
-M
-x
-Q
-0
-q
-k
-p
-n
-p
-|
-/
-x
-U
-j
-f
-m
-v
-#
-M
-W
-M
-Z
-w
-0
-U
-j
-d
-h
-O
-d
-#
-B
-B
-#
-#
-k
-#
-8
-&
-k
-%
-o
-%
-W
-B
-B
-&
-8
-8
-8
-%
-%
-%
-a
-d
-M
-@
-W
-W
-o
-Y
-O
-C
-#
-q
-%
-W
-C
-k
-#
-q
-%
-Y
-h
-W
-#
-q
-%
-%
-h
-&
-M
-W
-k
-M
-&
-b
-d
-b
-*
-M
-#
-h
-m
-8
-Z
-p
-X
-]
-n
-*
-X
-q
-b
-O
->
-X
-#
-b
-r
-w
-X
-'
-j
-o
-r
-Z
-.
-'
-w
-.
-p
-d
-p
-k
-b
-h
-h
-d
-h
-b
-?
-Y
-X
-Q
-)
-C
-p
-o
-p
-Y
-m
-v
-U
-m
-0
-b
-O
-0
-0
-0
-C
-J
-J
-U
-Y
-Y
-X
-x
-f
-x
-v
-Y
-Y
-Y
-L
-X
-z
-j
-n
-J
-c
-c
-J
-t
-t
-Y
->
->
-J
-J
-L
-m
-m
-d
-d
-q
-Z
-0
-C
->
-1
-v
-v
-n
-X
-p
-b
-q
-m
-p
-k
-d
-*
-m
-o
-o
-o
-a
-o
-h
-k
-d
-J
-Y
-w
-h
-d
-m
-m
-Q
-C
-L
-m
-0
-0
-L
-L
-Z
-Z
-c
-+
-J
-J
-w
-Z
-w
-m
-q
-q
-w
-m
-m
-m
-0
-Q
-Q
-L
-0
-C
-C
-C
-C
-L
-L
-Q
-0
-Q
-L
-L
-C
-C
-C
-Q
-Q
-0
-O
-Z
-Z
-*
-o
-p
-q
-m
-w
-a
-b
-w
-0
-m
-Z
-d
-w
-w
-o
-o
-o
-p
-*
-@
-}
-L
-Z
-#
-o
-m
-*
-w
-c
-a
-a
-h
-J
-t
-/
-\
-f
-X
-|
-L
-X
-v
-r
-Q
-m
-x
-t
-p
-d
-#
-#
-h
-M
-o
-#
-&
-h
-#
-8
-8
-a
-B
-&
-h
-a
-W
-&
-#
-&
-B
-&
-%
-%
-M
-8
-a
-&
-&
-8
-q
-m
-X
-Z
-%
-h
-M
-M
-d
-O
-W
-$
-%
-&
-u
-M
-o
-w
-w
-o
-#
-$
-&
-W
-W
-#
-k
-&
-a
-q
-#
-*
-W
-o
-M
-k
-Y
-0
-d
-/
-v
-J
-z
-k
-C
-w
-k
-q
-z
-!
-b
-b
-m
-'
-.
-!
-~
-W
-J
-O
-;
-C
-p
-1
-r
-c
-Y
-J
-m
-p
-p
-h
-b
-I
-n
-x
-u
-m
-f
-b
-*
-p
-k
-a
-m
-[
-X
-d
-C
-U
-X
-X
-X
-X
-U
-C
-J
-z
-X
-X
-c
-c
-X
-U
-C
-L
-C
-L
-Q
-0
-0
-Z
-0
-0
-O
-J
-r
-t
-Y
->
->
-J
-0
-C
-Z
-m
-b
-d
-q
-0
-O
-L
-c
-!
-/
-Y
-j
-Y
-m
-k
-p
-Z
-p
-k
-q
-*
-q
-o
-o
-a
-a
-a
-a
-d
-k
-U
-Z
-d
-h
-q
-L
-j
-f
-v
-O
-L
-Q
-Q
-Y
-X
-m
-Z
-c
-u
-m
-m
-m
-m
-m
-m
-Z
-q
-m
-Z
-O
-Z
-0
-L
-C
-J
-U
-U
-J
-X
-X
-X
-z
-X
-X
-z
-z
-z
-z
-z
-X
-Y
-X
-z
-X
-U
-L
-o
-o
-Z
-m
-m
-k
-a
-k
-c
-0
-Z
-b
-d
-p
-o
-o
-o
-*
-o
-)
-m
-h
-Q
-C
-&
-o
-M
-a
-w
-w
-Z
-L
-k
-\
-r
-|
-|
-\
-t
-(
-(
-(
-)
-/
-X
-O
-f
-t
-b
-p
-Z
-W
-M
-M
-M
-8
-&
-B
-8
-B
-#
-w
-q
-&
-M
-W
-#
-M
-b
-8
-&
-M
-W
-a
-W
-8
-&
-p
-%
-0
-Q
-J
-O
-8
-%
-m
-a
-o
-0
-&
-$
-%
-%
-W
-X
-J
-W
-r
-a
-B
-B
-M
-o
-8
-&
-%
-h
-M
-h
-a
-o
-#
-W
-#
-&
-a
-Y
-b
-b
-a
-v
-<
-Z
-X
-o
-X
-Q
-Z
-q
-m
->
-!
-m
-O
-c
-O
-n
-d
-m
-M
-m
-b
-/
-u
-m
-C
-0
-X
-v
-0
-w
-h
-b
-i
-?
-+
-1
-r
-m
-M
-*
-*
-a
-h
-b
-u
-+
-C
-Y
-v
-n
-n
-c
-c
-u
-n
-Y
-U
-Y
-U
-J
-J
-J
-J
-Q
-L
-Q
-Q
-O
-L
-Z
-O
-L
-0
-Q
-0
-O
-Z
-0
->
->
-Y
-J
-Q
-m
-m
-m
-m
-m
-Z
-O
-0
-U
-i
-t
-c
-t
-f
-C
-Q
-q
-Q
-q
-k
-d
-o
-p
-o
-a
-a
-a
-a
-k
-d
-p
-J
-q
-k
-h
-p
-m
-q
-X
-(
-/
-}
-u
-J
-m
-Z
-m
-m
-Z
-m
-m
-m
-m
-m
-Z
-Z
-m
-w
-m
-0
-L
-C
-J
-U
-Y
-X
-z
-c
-v
-v
-v
-v
-v
-v
-v
-j
-)
-?
-_
-_
--
-]
-{
-|
-f
-Y
-Z
-o
-a
-C
-L
-O
-o
-k
-j
-n
-O
-O
-d
-w
-b
-o
-o
-o
-o
-0
-Z
-w
-o
-U
-w
-#
-h
-h
-Z
-q
-Y
-(
-d
-Y
-/
-(
-|
-(
-(
-(
-(
-)
-)
-|
-f
-r
-Q
-|
-1
-p
-p
-M
-#
-#
-#
-M
-M
-M
-h
-&
-&
-M
-&
-b
-%
-o
-#
-8
-M
-k
-W
-U
-&
-%
-B
-%
-&
-#
-M
-%
-m
-O
-q
-&
-O
-8
-&
-k
-p
-M
-@
-B
-8
-%
-M
-X
-8
-w
-B
-8
-d
-b
-*
-O
-8
-&
-8
-&
-W
-a
-O
-o
-#
-W
-#
-Z
-o
-c
-Z
-p
-h
-J
-!
-b
-0
-z
-d
-m
-z
-v
-Q
-J
-J
->
-~
-|
-x
-X
-L
-p
-k
-h
-q
-w
-#
-n
-w
-b
-k
-q
-\
-Z
-b
-b
->
-l
-l
-l
->
-L
-#
-*
-*
-*
-a
-a
-L
-+
-)
-j
-x
-n
-v
-u
-x
-r
-r
-x
-n
-n
-c
-z
-X
-X
-Y
-Y
-J
-J
-J
-J
-J
-J
-J
-C
-Q
-0
-Z
-m
-m
-0
-0
-0
-Q
-Q
-Z
-d
-w
-m
-m
-m
-Z
-O
-O
-C
-x
-i
-x
-j
-|
-L
-q
-w
-C
-m
-k
-k
-a
-k
-a
-a
-h
-a
-h
-b
-k
-m
-z
-b
-h
-h
-q
-m
-m
-/
-Y
-w
-p
-m
-w
-q
-m
-m
-m
-m
-m
-m
-m
-m
-m
-q
-m
-O
-0
-Q
-C
-U
-X
-X
-z
-n
-)
-_
-<
-l
-;
-;
-;
-i
-_
-<
-!
-<
-+
-?
-]
-[
-{
-(
-|
-t
-J
-M
-o
-a
-0
-0
-o
-o
-k
-C
-0
-L
-x
-J
-0
-o
-o
-o
-k
-Q
-h
-%
-#
-C
-C
-&
-*
-d
-8
-#
-q
-z
-(
-(
-(
-(
-)
-|
-(
-)
-)
-1
-1
-1
-|
-t
-f
-O
-x
-r
-p
-Q
-#
-o
-*
-*
-#
-#
-&
-#
-M
-%
-&
-o
-8
-a
-#
-h
-8
-a
-&
-B
-B
-h
-%
-%
-a
-M
-M
-*
-W
-M
-&
-%
-h
-m
-%
-h
-h
-W
-q
-B
-%
-&
-&
-W
-d
-n
-#
-*
-8
-W
-&
-$
-M
-b
-C
-8
-#
-a
-d
-m
-M
-M
-&
-a
-q
-#
-u
-X
-b
-k
-w
-<
-p
-b
-Z
-C
-z
-o
-Z
-Z
-J
-k
-p
-m
-p
-m
-q
-m
-m
-w
-h
-p
-b
-Y
-L
-b
-d
-d
-a
-b
-b
-m
-b
-i
->
-i
-!
-i
-(
-#
-o
-*
-*
-#
-a
-w
-o
-Y
-i
-;
-:
-`
-.
-
-
-
-
-
-
-^
-?
-n
-J
-U
-Y
-Y
-U
-U
-U
-J
-0
-Q
-J
-L
-X
-Y
-L
-L
-0
-L
-Q
-0
-Q
-O
-Q
-L
-Q
-q
-q
-q
-m
-O
-Q
-Y
-!
-t
-j
-(
-z
-O
-Z
-C
-0
-k
-k
-b
-a
-a
-a
-a
-a
-h
-k
-h
-q
-X
-k
-h
-k
-w
-O
-w
-q
-w
-Z
-m
-m
-m
-w
-m
-m
-m
-m
-m
-Z
-m
-m
-m
-m
-Z
-O
-Q
-X
-\
-_
-<
-!
-;
-;
-;
-;
-I
-l
-+
-!
-l
-i
->
-?
-)
-/
-r
-n
-v
-J
-J
-J
-C
-C
-O
-*
-o
-o
-Z
-o
-o
-a
-Z
-J
-b
-0
-w
-d
-o
-o
-o
-Z
-#
-t
-d
-a
-#
-0
-C
-&
-%
-o
-&
-&
-Z
-b
-)
-1
-1
-1
-1
-\
-(
-)
-)
-1
-{
-1
-(
-/
-j
-x
-f
-p
-b
-*
-a
-o
-o
-o
-#
-#
-#
-#
-&
-b
-%
-*
-#
-&
-W
-M
-q
-&
-#
-8
-B
-k
-M
-B
-%
-W
-&
-W
-M
-&
-*
-#
-k
-&
-8
-a
-b
-n
-B
-B
-8
-&
-&
-&
-W
-q
-&
-h
-h
-J
-%
-w
-@
-#
-&
-%
-a
-*
-d
-q
-*
-M
-8
-#
-p
-M
-j
-r
-*
-a
-h
-u
-Z
-m
-b
-Z
-O
-U
-d
-*
-o
-*
-Z
-k
-h
-a
-a
-a
-a
-h
-k
-b
-U
-J
-u
-0
-a
-d
-k
-q
-k
-O
-d
-+
-z
-C
-U
-J
-C
-M
-h
-*
-#
-#
-a
-*
-&
-L
-Z
--
-<
-I
-,
-`
-.
-
-
-
-
-
-
-.
-.
-'
-^
-:
-:
--
-c
-Q
-U
-U
-Y
-X
-Y
-U
-U
-Y
-Y
-J
-Q
-L
-O
-Q
-Q
-O
-m
-m
-Q
-L
-Z
-q
-Z
-L
-[
-x
-x
-r
-X
-O
-k
-J
-O
-k
-h
-p
-a
-k
-h
-a
-a
-b
-h
-p
-m
-O
-k
-h
-b
-Z
-w
-Z
-Z
-m
-m
-w
-w
-m
-m
-m
-m
-m
-m
-m
-m
-m
-Z
-c
-{
-[
-?
-~
-i
-I
-I
-I
-l
-l
-<
-1
-v
-Y
-C
-J
-U
-J
-J
-J
-C
-J
-J
-J
-J
-J
-C
-C
-C
-C
-C
-L
-*
-*
-a
-k
-a
-a
-Z
-m
-m
-L
-w
-m
-a
-o
-U
-1
-f
-M
-W
-%
-W
-*
-Q
-8
-&
-p
-k
-8
-%
-b
-a
-)
-1
-)
-1
-1
-\
-(
-)
-1
-{
-1
-1
-(
-/
-v
-r
-?
-0
-p
-b
-h
-h
-a
-a
-a
-o
-#
-M
-#
-*
-b
-a
-M
-b
-#
-#
-k
-*
-Q
-8
-o
-k
-k
-8
-h
-o
-&
-W
-W
-M
-*
-J
-M
-k
-8
-#
-|
-%
-8
-8
-M
-&
-W
-W
-w
-b
-Y
-*
-@
-&
-k
-0
-o
-m
-B
-8
-a
-a
-b
-q
-#
-M
-8
-*
-d
-o
-f
-f
-X
-W
-k
-w
-J
-o
-m
-p
-k
-m
-m
-w
-L
-Q
-a
-a
-a
-h
-a
-a
-h
-a
-o
-h
-Q
-u
-1
-m
-t
-v
-h
-o
-m
-k
-b
-x
-0
-0
-L
-L
-Q
-a
-o
-*
-#
-o
-*
-*
-Z
-d
-b
-q
-z
-z
-c
-c
-c
-c
-c
-v
-r
-}
-i
-;
-"
-'
-
-'
-"
-l
-I
-;
-I
-I
-"
-_
-f
-X
-v
-v
-c
-X
-C
-U
-Q
-L
-Q
-Q
-Q
-Q
-m
-O
-O
-m
-L
-Y
-v
-!
-f
-Y
-J
-O
-J
-L
-U
-k
-p
-p
-a
-k
-h
-h
-a
-b
-a
-p
-p
-d
-k
-h
-q
-m
-Z
-Z
-w
-m
-m
-q
-p
-w
-w
-m
-m
-m
-O
-w
-t
-]
-?
-_
-<
-i
-!
-?
-j
-C
-J
-C
-C
-C
-C
-L
-C
-J
-Y
-U
-J
-U
-U
-U
-Y
-c
-n
-x
-c
-z
-J
-u
-(
-n
-u
-0
-*
-a
-w
-a
-k
-Q
-L
-q
-m
-J
-k
-a
-<
-@
-a
-d
-p
-8
-*
-8
-M
-a
-0
-&
-M
-d
-%
-8
-*
-*
-h
-1
-1
-1
-1
-]
-\
-(
-)
-1
-{
-1
-{
-)
-/
-X
-/
-b
-0
-b
-b
-k
-h
-h
-h
-o
-o
-*
-#
-M
-b
-o
-d
-%
-o
-b
-q
-d
-&
-C
-W
-d
-k
-a
-M
-*
-8
-8
-&
-M
-d
-W
-M
-o
-a
-a
-c
-B
-8
-8
-M
-W
-W
-M
-B
-m
-o
-v
-k
-8
-&
-8
-p
-M
-k
-8
-M
-h
-k
-m
-J
-M
-M
-8
-z
-h
-Q
-f
-t
-z
-q
-O
-d
-+
-M
-1
-m
-m
-k
-d
-w
-q
-p
-d
-d
-b
-b
-h
-a
-o
-o
-m
-k
-Z
-z
-{
-L
-X
-J
-k
-o
-X
-w
-p
-C
-J
-L
-C
-U
-U
-O
-o
-#
-#
-h
-#
-o
-d
-b
-f
-d
-r
-f
-f
-f
-r
-n
-v
-v
-v
-v
-v
-v
-v
-v
-v
-z
-z
-x
-t
-{
->
-;
-;
-l
-I
-I
-I
-l
-l
-!
-/
-z
-L
-O
-0
-Z
-O
-O
-Q
-0
-Q
-Q
-L
-J
-J
->
-r
-X
-L
-J
-h
-C
-U
-b
-q
-d
-a
-h
-h
-h
-k
-h
-h
-d
-Q
-d
-k
-k
-w
-w
-q
-m
-Z
-w
-m
-q
-q
-d
-n
-Z
-m
-Z
-)
--
-|
->
->
-]
-U
-C
-C
-L
-L
-L
-L
-C
-C
-X
-c
-n
-f
-?
-+
-~
-}
-z
-}
-\
-(
-(
-}
-1
-f
-n
-z
-x
-|
-v
-u
-L
-*
-a
-o
-a
-0
-L
-C
-O
-0
-L
-b
-:
-W
-W
-&
-M
-k
-d
-%
-&
-o
-O
-0
-&
-p
-h
-%
-W
-#
-o
-Q
-c
-1
-1
-1
-x
-\
-|
-1
-{
-{
-{
-{
-)
-/
-c
-\
-p
-w
-Y
-b
-b
-k
-h
-h
-o
-*
-*
-#
-#
-p
-d
-d
-a
-a
-w
-b
-M
-b
-C
-&
-d
-h
-%
-&
-&
-a
-8
-W
-0
-&
-M
-o
-#
-#
-{
-8
-8
-8
-W
-*
-W
-M
-M
-B
-8
-0
-Q
-b
-8
-8
-&
-W
-o
-M
-8
-M
-k
-p
-p
-k
-#
-a
-W
-U
-o
-x
-t
-t
-c
-0
-0
-h
-!
-M
-M
-{
-m
-m
-m
-h
-p
-p
-p
-p
-p
-w
-O
-L
-Q
-O
-a
-k
-k
-Z
-j
-Q
-|
-u
-x
-k
-Y
-Q
-w
-Z
-n
-w
-q
-q
-w
-m
-#
-*
-#
-a
-M
-*
-Q
-b
-O
-Z
-u
-f
-t
-/
-t
-t
-f
-f
-f
-t
-/
-/
-j
-n
-v
-c
-z
-X
-Y
-X
-X
-X
-X
-u
-1
-!
-l
-l
-l
-l
-i
-}
-L
-C
-Y
-Y
-Q
-L
-0
-m
-m
-m
-Q
-0
-Y
-X
-c
-Y
-O
-O
-0
-p
-L
-p
-k
-k
-a
-h
-h
-h
-b
-a
-h
-b
-C
-k
-b
-q
-w
-O
-w
-w
-q
-p
-[
-!
-<
-<
-+
-Z
-m
-Z
-<
->
-U
-U
-C
-Q
-L
-L
-C
-J
-Y
-)
-<
-l
-;
-I
-;
-?
-)
--
-+
-i
-)
-Y
-)
-|
-|
-{
-{
-1
-j
-v
-U
-n
-j
-c
-z
-O
-*
-o
-o
-O
-0
-C
-L
-O
-J
-Z
->
-a
-W
-M
-#
-M
-W
-a
-M
-W
-k
-Q
-Y
-&
-B
-W
-&
-&
-o
-o
-p
-a
-)
-1
-1
-X
-/
-\
-)
-{
-}
-{
-{
-)
-\
-/
-q
-o
-p
-w
-b
-b
-k
-k
-k
-a
-*
-*
-#
-p
-d
-p
-k
-d
-#
-h
-*
-o
-h
-k
-8
-m
-k
-B
-a
-k
-M
-M
-J
-a
-8
-W
-#
-M
-Z
-%
-8
-&
-W
-o
-&
-W
-a
-W
-B
-*
-n
-a
-d
-&
-%
-&
-M
-#
-#
-8
-*
-Q
-b
-0
-W
-o
-W
-k
-X
-#
-t
-/
-Q
-\
-&
-d
-h
-?
-o
-#
-#
-B
-Q
-m
-w
-q
-p
-d
-d
-d
-b
-k
-k
-h
-o
-w
-Q
-Q
-J
-X
-J
-v
-v
-u
-#
-#
-Q
-C
-d
-0
-d
-d
-p
-w
-k
-M
-o
-#
-o
-#
-o
-o
-0
-*
-Z
-0
-0
-L
-Q
-L
-L
-Q
-)
-{
-}
-]
-_
-[
-t
-j
-t
-j
-x
-x
-x
-r
-u
-X
-Y
-Y
-X
-X
-X
-Y
-J
-?
-_
-J
-U
-Y
->
-<
-~
->
-+
-v
-Q
-J
-L
-Q
-U
-[
-J
-Z
-L
-q
-z
-J
-h
-o
-a
-h
-h
-k
-h
-b
-h
-h
-b
-J
-h
-k
-m
-m
-m
-p
-?
-+
-~
-+
-<
->
--
-v
-Z
-m
-Z
->
-+
-x
-X
-X
-J
-J
-]
-;
-I
-:
-:
-i
-!
-;
-l
-;
-]
-(
-]
-?
-+
-\
-J
-|
-U
-0
-0
-Q
-0
-O
-Q
-O
-n
-t
-c
-X
-#
-o
-h
-*
-k
-d
-k
-O
-w
-Y
-a
-v
-M
-h
-M
-&
-#
-&
-8
-d
-o
-b
-O
-Z
-W
-8
-M
-8
-&
-*
-k
-d
-#
-)
-)
-1
-)
-\
-\
-(
-{
-{
-{
-1
-(
-|
-t
-J
-k
-m
-d
-d
-b
-b
-b
-k
-a
-*
-*
-M
-d
-d
-p
-d
-b
-o
-b
-w
-*
-o
-*
-%
-a
-o
-h
-a
-*
-q
-M
-a
-b
-W
-M
-B
-8
-8
-%
-W
-%
-*
-h
-M
-h
-h
-M
-B
-M
-#
-W
-k
-o
-M
-M
-M
-&
-W
-&
-o
-L
-k
-C
-k
-#
-*
-v
-z
-a
-/
-d
-/
-t
-v
-&
-k
-[
-#
-h
-b
-*
-8
-/
-Q
-p
-w
-w
-q
-p
-d
-d
-O
-Q
-0
-Z
-k
-b
-Q
-d
-U
-C
-[
-f
-W
-B
-L
-J
-M
-W
-M
-M
-M
-#
-w
-M
-*
-#
-*
-a
-*
-o
-&
-m
-)
-O
-Q
-L
-Q
-L
-L
-Q
-\
-}
-[
-}
-?
-_
->
-i
-\
-j
-u
-x
-x
-x
-x
-x
-x
-x
-r
-x
-c
-c
-z
-+
-_
-J
-0
-U
-f
-?
-!
-<
-<
-<
->
-!
-+
-z
-Y
-j
-Q
-Z
-a
-h
-p
-Z
-Z
-o
-h
-k
-h
-k
-a
-k
-h
-k
-b
-Y
-a
-b
-Z
-{
-?
--
--
--
-u
-Z
-L
-L
-C
-J
-m
-m
-Z
->
-{
-?
-c
-_
-v
-v
-:
-;
-;
-:
-:
-i
->
-l
-<
-l
-}
-(
-]
-_
-<
-/
-C
-}
-v
-c
-u
-u
-x
-r
-Q
-Z
-u
-}
-X
-v
-a
-o
-a
-k
-h
-b
-k
-p
-Z
-a
-a
-Z
-M
-#
-W
-b
-b
-k
-&
-w
-8
-b
-Z
-Q
-&
-8
-*
-&
-*
-#
-o
-k
-&
-t
-(
-)
-)
-(
-\
-(
-1
-{
-{
-)
-(
-|
-/
-J
-b
-Z
-d
-d
-d
-d
-b
-b
-h
-a
-*
-M
-d
-d
-d
-p
-k
-k
-#
-X
-X
-L
-8
-h
-W
-q
-m
-*
-k
-8
-&
-k
-k
-W
-|
-&
-&
-&
-%
-8
-o
-k
-#
-#
-0
-M
-h
-%
-#
-M
-m
-d
-a
-p
-z
-%
-8
-#
-M
-p
-Z
-k
-m
-k
-h
-W
-z
-v
-x
-|
-\
-r
-j
-n
-c
-p
-}
-*
-*
-a
-h
-b
-h
-B
-$
-Z
-_
-f
-L
-0
-Y
-c
-f
-#
-&
-M
-M
-8
-o
-b
-0
-C
-L
-Y
-$
-x
-W
-#
-M
-k
-M
-W
-M
-a
-*
-*
-o
-W
-#
-*
-k
-C
-O
-{
-Q
-Q
-L
-L
-Q
-Q
-Q
-f
-[
-?
-[
--
--
->
-i
-/
-f
-v
-t
-c
-r
-u
-v
-n
-u
-x
-x
-x
-r
-Y
-+
-+
-L
-U
-C
-J
-J
-J
-C
-U
-x
-_
-i
->
->
-!
-w
-J
-a
-a
-o
-k
-Q
-C
-o
-h
-k
-h
-k
-k
-k
-h
-b
-k
-J
-a
-Z
-}
-}
-}
-J
-Q
-C
-C
-C
-C
-C
-L
-c
-m
-m
-Z
->
-1
-!
-n
-?
-v
-v
-;
-;
-;
-;
-:
->
-i
-I
-l
-l
-}
-(
-]
-_
-<
-t
-Q
-)
-x
-z
-X
-n
-n
-x
-J
-O
-x
-)
-c
-U
-*
-a
-h
-k
-d
-h
-k
-C
-o
-a
-W
-#
-W
-W
-h
-d
-k
-p
-&
-q
-B
-m
-O
-O
-8
-8
-b
-&
-W
-a
-a
-&
-p
-J
-)
-)
-)
-)
-|
-(
-{
-{
-{
-)
-(
-(
-L
-Q
-d
-m
-w
-q
-p
-q
-d
-b
-h
-o
-o
-q
-p
-d
-d
-d
-b
-b
-M
-W
-h
-#
-W
-%
-d
-&
-M
-%
-o
-q
-a
-p
-*
-d
-M
-W
-W
-W
-%
-*
-h
-b
-#
-m
-d
-o
-M
-&
-M
-&
-0
-m
-M
-h
-a
-&
-#
-*
-c
-d
-h
-k
-q
-k
-h
-p
-c
-t
-x
-\
-|
-\
-X
-Q
-X
-q
-(
-M
-#
-a
-h
-a
-a
-d
-p
-a
-W
-8
-&
-M
-M
-#
-o
-o
-o
-*
-o
-M
-&
-O
-h
-m
-t
-\
-$
-x
-o
-w
-M
-p
-q
-M
-b
-k
-#
-o
-a
-p
-#
-*
-h
-o
-a
-Q
-}
-Q
-C
-Q
-L
-Q
-L
-x
-]
-?
-[
-_
-[
-i
-i
-\
-t
-v
-/
-z
-f
-u
-v
-c
-X
-z
-Y
-v
-u
-X
-~
-+
-J
-J
-L
-u
-u
-X
-J
-J
-J
-U
-J
-Y
-1
-i
-j
-w
-b
-a
-o
-a
-d
-0
-o
-k
-b
-h
-h
-k
-k
-h
-d
-a
-J
-d
-Z
-C
-C
-J
-J
-J
-J
-X
-c
-u
-U
-J
-f
-m
-m
-m
->
-(
-l
-n
-[
-j
-n
-:
-;
-;
-:
-;
-i
->
-l
-<
->
-{
-(
-]
-]
-~
-j
-0
-|
-n
-C
-c
-n
-n
-v
-C
-C
-X
-n
-c
-*
-b
-k
-k
-h
-h
-k
-p
-&
-J
-M
-M
-W
-8
-&
-k
-#
-a
-O
-M
-a
-8
-w
-Q
-m
-&
-8
-8
-&
-d
-#
-q
-q
-O
-Q
-0
-(
-(
-j
-|
-1
-)
-{
-1
-)
-1
-b
-O
-X
-C
-m
-m
-w
-q
-q
-p
-p
-k
-a
-a
-m
-w
-p
-p
-p
-q
-b
-o
-M
-#
-a
-d
-%
-o
-w
-q
-o
-%
-C
-Y
-p
-o
-#
-M
-M
-W
-&
-&
-a
-p
-#
-a
-m
-#
-Q
-&
-B
-8
-W
-8
-b
-M
-M
-#
-W
-h
-q
-O
-#
-k
-h
-p
-p
-w
-v
-r
-z
-t
-\
-|
-8
-0
-|
-q
-Q
-v
-%
-*
-M
-h
-o
-o
-a
-k
-h
-d
-d
-b
-b
-k
-k
-a
-a
-h
-k
-k
-h
-M
-c
-*
-0
-c
-p
-&
-n
-J
-m
-k
-d
-b
-M
-d
-b
-d
-o
-k
-w
-M
-Z
-d
-o
-k
-Z
-d
-w
-m
-q
-m
-m
-Z
-_
-[
-]
-}
-_
-[
-i
-i
-/
-f
-v
-f
-c
-x
-v
-v
-u
-z
-v
-z
-x
-n
-x
-<
-~
-J
-L
-0
-m
-d
-Q
-u
-v
-v
-u
-z
-J
-X
-z
->
-q
-d
-a
-a
-a
-Y
-0
-o
-b
-b
-k
-k
-b
-h
-k
-d
-k
-Y
-k
-p
-C
-U
-U
-c
-|
-{
-C
-U
-X
-U
-u
-x
-m
-m
-0
->
-t
-l
-x
-)
-x
-j
-;
-;
-I
-;
-;
->
->
-l
->
-i
-)
-|
-[
-_
-<
-r
-0
-j
-r
-L
-c
-n
-v
-v
-C
-U
-X
-x
-o
-h
-k
-b
-b
-p
-k
-m
-~
-W
-x
-U
-d
-d
-#
-&
-W
-O
-0
-M
-d
-p
-M
-p
-w
-p
-*
-#
-&
-a
-#
-d
-m
-Z
-Z
-O
-O
-[
-(
-1
-1
-U
-{
-1
-1
-{
-*
-0
-m
-v
-d
-m
-m
-m
-w
-w
-q
-q
-d
-k
-*
-Z
-m
-w
-q
-q
-p
-d
-b
-k
-k
-k
-b
-b
-b
-p
-Z
-p
-%
-M
-b
-d
-#
-M
-M
-M
-M
-#
-8
-#
-#
-o
-m
-*
-d
-k
-b
-%
-&
-M
-#
-Z
-h
-k
-b
-b
-w
-q
-*
-*
-p
-k
-k
-Z
-X
-z
-t
-t
-/
-\
-1
-*
-$
-)
-v
-Q
-Y
-8
-*
-M
-M
-b
-h
-o
-o
-o
-*
-#
-*
-o
-k
-k
-o
-o
-#
-*
-o
-d
-*
-8
-Q
-h
-z
-X
-)
-n
-1
-p
-*
-h
-k
-W
-k
-b
-o
-o
-a
-m
-q
-Z
-O
-o
-k
-C
-|
-w
-m
-m
-m
-m
-q
-_
-}
-}
-}
-+
-]
-i
-i
-/
-x
-c
-/
-v
-j
-v
-v
-1
-z
-x
-c
-|
-c
-j
-+
-~
-J
-Q
-Q
-m
-m
-d
-d
-m
-m
-Z
-u
-u
-n
-f
-!
-(
-q
-k
-a
-a
-#
-0
-*
-k
-b
-b
-a
-b
-k
-k
-p
-b
-0
-k
-m
-O
-b
-d
-x
-(
-)
-C
-z
-c
-U
-f
--
-m
-m
-C
-!
-r
-l
-\
-/
-f
-j
-I
-l
-l
-;
-l
->
->
-l
-!
-!
-|
-(
-[
--
-+
-c
-m
-x
-x
-r
-(
-|
-/
-|
-j
-1
-v
-h
-h
-a
-k
-k
-p
-b
-b
-n
-&
-!
-z
-c
-q
-p
-b
-W
-#
-a
-0
-W
-p
-p
-W
-w
-p
-a
-b
-a
-L
-*
-p
-w
-Z
-Z
-Z
-Z
-0
-Q
-)
-{
-}
-1
-{
-1
-{
-]
-Q
-Z
-Z
-t
-Q
-Z
-m
-Z
-w
-w
-w
-q
-d
-b
-o
-O
-Z
-m
-w
-q
-q
-d
-k
-h
-h
-a
-k
-#
-M
-%
-Z
-w
-8
-&
-8
-p
-%
-#
-#
-#
-*
-o
-%
-#
-*
-a
-a
-a
-Z
-W
-8
-%
-&
-M
-q
-U
-L
-m
-k
-h
-#
-o
-*
-B
-Z
-o
-d
-m
-u
-r
-/
-/
-\
-|
-(
-c
-v
-|
-u
-m
-z
-&
-o
-h
-M
-M
-b
-o
-h
-o
-*
-*
-*
-o
-*
-M
-M
-M
-*
-*
-o
-h
-k
-8
-Q
-b
-f
-t
-n
-r
-/
-*
-#
-k
-p
-W
-M
-a
-W
-h
-o
-p
-#
-d
-w
-*
-*
-Q
-(
-w
-m
-m
-m
-m
-w
-?
-]
-[
-[
-_
-?
-i
->
-\
-r
-v
-t
-z
-f
-v
-u
-t
-z
-x
-c
-u
-u
-j
--
-~
-C
-J
-Q
-m
-m
-d
-d
-m
-m
-p
-w
-Z
-0
-u
-i
-:
-m
-k
-a
-h
-k
-O
-*
-d
-k
-b
-k
-b
-k
-b
-p
-b
-w
-k
-p
-q
-d
-p
-J
-{
-t
-c
-v
-X
-C
-+
-(
-m
-m
-Y
-I
-v
-l
-n
-/
-)
-r
->
-l
-l
-~
-+
-<
-<
-!
-!
-l
-\
-(
-[
-[
-?
-v
-Z
-(
-)
-\
-{
-)
-(
-t
-u
-|
-h
-h
-h
-a
-k
-b
-d
-p
-o
-W
-f
-f
-#
-W
-#
-a
-b
-b
-&
-*
-0
-&
-M
-8
-*
-k
-w
-o
-\
-,
-k
-Z
-m
-m
-Z
-Z
-Z
-Q
-Q
-Q
-O
-{
-[
-1
-1
-1
-}
-0
-O
-Z
-L
-f
-0
-m
-m
-m
-m
-m
-w
-p
-d
-b
-Y
-Q
-Q
-Z
-Z
-q
-q
-p
-k
-k
-h
-h
-h
-k
-k
-8
-Z
-8
-W
-&
-M
-q
-%
-#
-*
-*
-M
-M
-M
-#
-*
-a
-a
-b
-q
-W
-q
-%
-M
-M
-#
-k
-b
-b
-h
-#
-a
-o
-8
-&
-C
-O
-q
-b
-#
-p
-f
-\
-\
-|
-|
-X
-r
-\
-n
-X
-n
-#
-*
-b
-h
-*
-*
-b
-b
-o
-a
-a
-o
-o
-o
-a
-d
-p
-o
-o
-*
-a
-p
-a
-m
-Q
-0
-c
-Z
-n
-Z
-o
-W
-M
-W
-W
-M
-a
-M
-a
-k
-p
-*
-o
-0
-*
-#
-0
-c
-w
-q
-m
-m
-Z
-Z
--
-[
-]
-[
--
-?
-i
-i
-(
-r
-v
-\
-X
-r
-j
-x
-v
-X
-u
-c
-n
-c
-j
-(
-~
-Q
-J
-Q
-0
-m
-m
-w
-Z
-m
-p
-q
-O
-Q
-U
-L
-;
-Z
-b
-k
-a
-p
-o
-a
-m
-h
-b
-b
-b
-k
-d
-q
-p
-k
-d
-q
-w
-q
-q
-q
-(
-\
-c
-v
-U
-Q
-?
-r
-m
-Z
-z
-I
-Y
-l
-/
-c
-)
-j
-<
-l
-!
-~
-+
-;
-<
-!
-~
-i
-\
-(
-]
-_
-}
-v
-O
-j
-\
-z
-(
-f
-t
-|
-n
-{
-h
-a
-a
-h
-k
-b
-d
-d
-,
-*
-c
-L
-M
-o
-a
-p
-#
-p
-M
-*
-0
-*
-M
-8
-W
-b
-p
-k
-(
-l
-c
-m
-O
-O
-0
-0
-Q
-Q
-L
-Q
-C
-c
-[
-)
-{
-}
-Q
-0
-Z
-Q
-L
-f
-Z
-Z
-Z
-Z
-m
-m
-m
-q
-d
-b
-J
-J
-L
-0
-Z
-w
-q
-p
-k
-k
-k
-h
-h
-k
-o
-8
-O
-&
-8
-#
-o
-w
-B
-#
-#
-&
-&
-M
-*
-#
-a
-#
-a
-m
-#
-M
-o
-%
-W
-C
-&
-h
-k
-b
-k
-o
-#
-M
-M
-M
-Q
-b
-@
-#
-J
-\
-/
-|
-\
-(
-(
-(
-(
-|
-x
-}
-r
-Q
-o
-k
-p
-h
-o
-*
-k
-d
-o
-a
-b
-p
-q
-q
-a
-h
-m
-#
-o
-a
-b
-p
-d
-0
-L
-U
-v
-w
-c
-d
-o
-k
-k
-b
-k
-h
-o
-k
-d
-a
-*
-o
-C
-*
-M
-Q
-X
-w
-w
-m
-m
-m
-w
-_
--
-[
-[
--
--
-i
-i
-|
-r
-n
-|
-X
-x
-t
-n
-u
-Y
-v
-z
-)
-n
-f
-x
-~
-J
-C
-Q
-Q
-m
-m
-m
-m
-m
-m
-m
-Z
-Q
-U
-C
-;
-0
-d
-k
-a
-o
-o
-a
-*
-m
-o
-b
-b
-b
-p
-m
-p
-d
-w
-q
-O
-0
-w
-m
-/
-f
-u
-z
-C
-O
-_
-X
-m
-0
-r
-I
-J
-l
-t
-Y
-?
-x
-1
-;
-+
-+
-+
->
-~
-!
-!
-+
-|
-(
-?
-_
-(
-v
-L
-\
-c
-Q
-c
-J
-Y
-X
-z
-a
-a
-a
-a
-a
-h
-p
-m
-d
-&
-c
-L
-k
-a
-o
-*
-k
-d
-M
-d
-W
-Y
-m
-8
-#
-p
-p
-k
-M
-x
-i
-\
-L
-Q
-Q
-0
-L
-C
-J
-C
-J
-C
-C
-}
-(
-f
-Z
-O
-Z
-0
-C
-C
-z
-p
-q
-m
-m
-m
-m
-m
-q
-p
-k
-U
-U
-J
-Q
-Z
-Z
-w
-w
-q
-q
-w
-k
-h
-h
-k
-a
-#
-&
-Z
-&
-o
-w
-B
-&
-W
-W
-#
-*
-8
-d
-#
-o
-q
-m
-W
-d
-h
-8
-W
-&
-#
-&
-q
-o
-#
-%
-W
-B
-8
-h
-0
-O
-k
-w
-/
-}
-)
-(
-(
-)
-(
-(
-(
-)
-j
-M
-f
-o
-a
-o
-p
-q
-k
-o
-o
-h
-d
-q
-h
-h
-k
-h
-a
-J
-*
-*
-b
-p
-b
-Z
-k
-O
-L
-v
-U
-&
-j
-Z
-w
-k
-k
-k
-b
-p
-d
-d
-m
-w
-w
-Z
-w
-*
-k
-q
-C
-Z
-m
-m
-m
-Z
-m
-_
-?
-]
-]
--
-[
-i
-i
-(
-j
-n
-/
-z
-x
-/
-x
-~
-c
-t
-X
-+
-n
-f
-U
-~
-j
-L
-Q
-L
-m
-m
-m
-m
-m
-Z
-Z
-Z
-O
-Y
-Y
-;
-v
-p
-k
-h
-a
-a
-a
-*
-p
-Z
-a
-d
-b
-q
-0
-w
-d
-m
-O
-0
-0
-Z
-Q
-r
-x
-z
-X
-C
-0
-[
-O
-m
-C
-{
-l
-C
-l
-n
-X
-+
-n
-|
-)
--
-+
-+
-_
-;
-l
-i
-{
-\
-(
-[
-[
-j
-v
-C
-\
-v
-U
-u
-X
-v
-Y
-a
-a
-h
-a
-k
-w
-z
-0
-h
-m
-#
-O
-C
-a
-h
-a
-o
-#
-k
-d
-L
-&
-p
-Z
-8
-a
-h
-O
-b
-Z
-m
-{
-/
-U
-Q
-0
-L
-C
-L
-J
-C
-J
-J
-C
-U
-b
-Z
-m
-O
-w
-J
-J
-J
-c
-o
-b
-O
-w
-m
-m
-Z
-q
-p
-k
-U
-J
-U
-C
-O
-Z
-m
-q
-d
-p
-q
-q
-k
-a
-b
-a
-o
-w
-U
-W
-a
-d
-B
-M
-#
-o
-*
-*
-o
-a
-*
-b
-q
-*
-M
-#
-M
-8
-&
-M
-W
-M
-p
-#
-W
-8
-0
-O
-&
-b
-p
-q
-0
-|
-x
-1
-)
-)
-)
-)
-)
-)
-)
-)
-q
-M
-/
-h
-k
-o
-h
-w
-p
-b
-o
-*
-a
-d
-w
-w
-O
-J
-O
-*
-*
-X
-U
-o
-b
-m
-h
-0
-Z
-n
-U
-#
-n
-q
-b
-q
-k
-b
-p
-q
-q
-p
-d
-w
-w
-Q
-M
-#
-m
-q
-0
-Z
-m
-m
-m
-m
-Z
--
-?
-]
-]
--
-[
-i
-i
-(
-c
-n
-|
-c
-r
-n
-r
-?
-X
-n
-z
-n
-n
-j
-J
-<
--
-J
-0
-L
-Z
-d
-m
-Z
-m
-Z
-Z
-Z
-O
-J
-Y
-;
-I
-p
-k
-a
-a
-a
-a
-*
-o
-a
-Z
-k
-d
-w
-Z
-k
-d
-w
-0
-O
-0
-Q
-m
-x
-c
-v
-z
-L
-O
-{
-Z
-m
-C
-_
-l
-J
-l
-u
-X
->
-c
-)
-[
->
-!
->
-l
-<
-!
-+
-|
-\
-(
-_
-+
-t
-z
-U
-f
-t
-X
-r
-v
-x
-Y
-a
-h
-k
-k
-X
-z
-z
-Q
-w
-m
-&
-L
-0
-o
-h
-o
-o
-o
-o
-*
-q
-#
-Z
-M
-#
-*
-*
-J
-o
-J
-L
-f
-r
-Y
-C
-L
-C
-L
-C
-J
-J
-C
-h
-o
-C
-0
-0
-C
-0
-X
-U
-C
-J
-z
-*
-#
-o
-q
-w
-m
-m
-q
-p
-Y
-U
-J
-Y
-J
-Q
-0
-Z
-w
-p
-p
-q
-q
-w
-k
-b
-#
-a
-a
-&
-M
-o
-p
-B
-#
-o
-*
-#
-o
-M
-a
-h
-d
-d
-M
-o
-#
-k
-8
-M
-W
-M
-&
-Z
-#
-W
-&
-W
-L
-&
-d
-q
-r
-\
-)
-1
-1
-)
-)
-)
-(
-)
-)
-)
-)
-c
-#
-\
-L
-*
-o
-o
-k
-w
-p
-d
-a
-a
-k
-p
-w
-w
-p
-a
-o
-z
-z
-)
-a
-d
-0
-p
-0
-m
-U
-L
-C
-Q
-m
-p
-m
-k
-d
-p
-q
-p
-p
-q
-w
-w
-Z
-*
-p
-X
-q
-C
-m
-Z
-m
-m
-Z
-J
-[
-?
-?
-?
--
-]
-i
->
-)
-v
-n
-(
-n
-r
-x
-r
-n
-X
-v
-z
-u
-u
-r
-Y
-<
->
-C
-0
-C
-m
-d
-d
-Z
-m
-Z
-q
-Z
-O
-Y
-U
-;
-,
-q
-k
-h
-a
-a
-a
-o
-o
-o
-o
-Z
-d
-O
-m
-a
-p
-O
-O
-Q
-Q
-m
-q
-n
-c
-c
-U
-L
-O
-(
-Q
-m
-C
-i
-!
-U
-l
-n
-X
->
-n
-}
-]
->
-?
--
-l
->
-i
-i
-|
-\
-(
--
-+
-f
-n
-Y
-f
-f
-U
-U
-Y
-z
-a
-h
-k
-k
-/
-z
-z
-z
-L
-b
-<
-o
-0
-v
-h
-h
-a
-o
-a
-#
-h
-k
-&
-W
-h
-a
-h
-k
-w
-Q
-Q
-L
-X
-U
-J
-Q
-L
-C
-C
-J
-J
-m
-\
-*
-q
-C
-U
-U
-U
-v
-X
-J
-C
-Q
-p
-M
-M
-M
-k
-p
-q
-m
-q
-q
-c
-Y
-Y
-J
-J
-C
-0
-Z
-Z
-w
-q
-w
-p
-w
-b
-b
-k
-a
-k
-Z
-o
-p
-b
-%
-#
-*
-#
-M
-M
-M
-d
-k
-k
-M
-#
-8
-*
-o
-8
-W
-W
-W
-W
-Z
-#
-*
-&
-u
-J
-W
-p
-b
-n
-\
-)
-{
-{
-1
-1
-)
-(
-)
-)
-)
-1
-)
-o
-\
-O
-b
-k
-o
-a
-a
-q
-p
-p
-d
-k
-h
-k
-b
-b
-q
-Z
-U
-t
-o
-d
-d
-X
-Q
-w
-Y
-t
-Y
-C
-Z
-m
-w
-p
-w
-w
-Z
-Z
-O
-O
-Q
-Q
-L
-Z
-k
-b
-?
-Q
-Y
-J
-J
-L
-L
-C
-J
-U
-(
-?
-]
-+
-}
-?
-{
-|
-f
-|
-t
-f
-f
-f
-x
-u
-U
-v
-c
-t
-u
-n
-X
-<
-<
-0
-Q
-C
-Z
-d
-d
-Z
-m
-Z
-p
-Z
-Z
-J
-J
-I
-x
-w
-k
-h
-a
-a
-a
-a
-a
-o
-o
-b
-m
-p
-w
-h
-b
-O
-0
-Q
-C
-m
-q
-n
-X
-J
-J
-C
-Z
-\
-L
-m
-C
-l
-!
-J
-!
-u
-z
-<
-r
-(
-{
-I
-l
-I
-_
-i
-i
-i
-|
-\
-(
-]
-]
-\
-c
-U
-u
-U
-L
-z
-J
-v
-a
-h
-h
-c
-\
-z
-z
-X
-0
-?
-u
-h
-X
-U
-*
-q
-h
-d
-o
-#
-b
-*
-*
-&
-&
-o
-a
-b
-d
-n
-0
-z
-C
-C
-J
-L
-Q
-C
-L
-J
-j
-c
-d
-*
-z
-Q
-X
-J
-t
-x
-X
-J
-C
-q
-m
-*
-W
-W
-#
-Z
-q
-w
-w
-q
-v
-z
-Y
-U
-J
-C
-L
-Q
-Z
-m
-w
-w
-q
-q
-q
-k
-k
-h
-w
-w
-W
-o
-b
-%
-M
-W
-W
-W
-M
-a
-Z
-a
-#
-W
-8
-&
-o
-a
-8
-&
-&
-M
-W
-m
-M
-#
-B
-M
-J
-W
-p
-b
-x
-|
-1
-{
-{
-1
-1
-)
-)
-)
-)
-1
-1
-{
-q
-(
-Q
-0
-q
-a
-o
-a
-q
-p
-p
-q
-q
-w
-m
-m
-m
-m
-Z
-v
-h
-*
-r
-Z
-u
-Q
-h
-j
-_
-C
-Z
-O
-q
-w
-p
-q
-q
-Z
-O
-O
-Z
-Q
-Q
-L
-O
-Z
-Q
-)
-0
-J
-J
-C
-L
-L
-L
-J
-J
-(
-]
-]
-_
-}
-?
-\
-x
-n
-v
-u
-u
-r
-f
-u
-v
-Y
-x
-c
--
-x
-n
-Y
-~
-~
-0
-C
-C
-m
-d
-d
-Z
-m
-Z
-q
-Z
-Z
-C
-J
-;
-Z
-m
-k
-p
-a
-a
-a
-a
-h
-o
-o
-a
-Z
-0
-w
-d
-b
-Q
-0
-Q
-Q
-Q
-p
-c
-U
-J
-Y
-C
-Z
-c
-C
-m
-C
-;
-i
-J
-l
-c
-z
-_
-u
-|
-}
-?
-?
-?
-l
--
->
-_
-|
-\
-(
-]
-]
-\
-v
-C
-u
-1
-/
-/
-u
-h
-a
-a
-)
-n
-r
-X
-z
-z
-Q
-Y
-u
-b
-a
-Z
-Q
-M
-b
-o
-k
-a
-q
-*
-#
-#
-&
-M
-o
-O
-J
-X
-x
-\
-J
-L
-C
-Q
-Q
-C
-C
-!
-L
-w
-#
-#
-c
-L
-v
-r
-t
-f
-X
-J
-Q
-Q
-Z
-h
-&
-M
-W
-k
-q
-q
-w
-w
-u
-c
-X
-Y
-U
-J
-J
-Q
-0
-O
-m
-m
-w
-w
-p
-b
-b
-h
-m
-Z
-8
-a
-b
-%
-W
-W
-W
-W
-o
-8
-J
-M
-W
-*
-%
-W
-*
-*
-&
-W
-W
-W
-#
-w
-M
-W
-&
-o
-c
-M
-q
-b
-u
-)
-1
-{
-{
-{
-1
-)
-)
-1
-1
-1
-1
-o
-m
-}
-C
-U
-b
-O
-o
-a
-a
-q
-p
-p
-q
-q
-w
-m
-w
-Z
-Y
-b
-*
-n
-W
-m
-b
-Q
-a
-/
-+
-M
-b
-w
-p
-w
-Y
-w
-w
-Z
-O
-O
-Z
-0
-L
-C
-O
-n
-Q
-L
-0
-0
-J
-C
-L
-L
-L
-J
-J
-|
-[
-]
--
-]
-[
-\
-)
-\
-f
-f
-c
-v
-c
-u
-1
-Y
-1
-z
-/
-v
-x
-Y
-<
-+
-Q
-C
-C
-m
-Z
-w
-m
-m
-m
-Z
-O
-Z
-C
-C
-_
-U
->
-h
-k
-b
-b
-q
-k
-h
-o
-a
-o
-o
-Q
-v
-p
-b
-q
-q
-w
-p
-q
-q
-U
-U
-L
-C
-Q
-O
-X
-J
-m
-C
-;
-i
-U
-l
-u
-Y
-_
-x
-\
-1
-[
-]
-]
-_
-+
->
-i
-(
-\
-(
-+
-+
-\
-X
-C
-/
-\
-/
-f
-X
-a
-h
-0
-1
-r
-)
-z
-X
-z
-0
-z
-f
-@
-k
-Z
-Q
-L
-h
-h
-a
-o
-*
-o
-W
-o
-o
-a
-b
-p
-v
-h
-|
-)
-r
-J
-L
-Q
-L
-J
->
-X
-m
-#
-o
-L
-n
-O
-)
-r
-f
-r
-v
-L
-Q
-Q
-Z
-#
-M
-#
-M
-#
-q
-p
-q
-q
-u
-v
-z
-X
-U
-U
-J
-J
-Q
-0
-O
-Z
-Z
-w
-p
-b
-b
-#
-m
-&
-&
-a
-k
-8
-M
-M
-#
-o
-#
-W
-Y
-W
-W
-&
-#
-o
-o
-o
-W
-&
-&
-W
-M
-Z
-#
-W
-W
-W
-L
-#
-m
-b
-d
-)
-1
-{
-{
-{
-{
-)
-)
-1
-1
-1
-{
-*
-0
-{
-Q
-J
-U
-Z
-b
-a
-o
-o
-p
-d
-b
-b
-d
-p
-q
-0
-p
-h
-Q
-M
-k
-q
-O
-b
-*
-r
-v
-a
-b
-d
-d
-w
-/
-w
-w
-Z
-O
-O
-Z
-0
-Q
-Q
-C
-U
-Z
-0
-0
-0
-J
-C
-Q
-L
-C
-J
-J
-(
-[
-]
-]
-]
-(
-\
-{
-f
-j
-|
-t
-|
-j
-v
-(
-J
-n
-X
-n
-v
-c
-U
->
-+
-L
-C
-L
-m
-m
-m
-m
-m
-m
-Z
-Z
-m
-L
-C
-)
-:
-O
-d
-d
-p
-d
-p
-b
-h
-a
-h
-o
-o
-o
-k
-O
-b
-Z
-q
-m
-q
-p
-q
-J
-Y
-q
-q
-q
-w
-w
-0
-Z
-U
-;
-i
-J
-I
-c
-Y
-(
-x
-(
-)
-!
-!
-!
->
--
-<
-i
-|
-\
-(
-[
-]
-(
-z
-Y
-L
-L
-C
-n
-k
-a
-h
-Y
-\
-f
-f
-z
-X
-C
-O
-c
-x
-M
-&
-k
-q
-o
-q
-a
-a
-o
-k
-k
-&
-&
-b
-o
-p
-O
-0
-(
-(
-{
-(
-C
-L
-L
-O
-(
-Y
-Y
-a
-#
-*
-v
-B
-X
-)
-j
-t
-k
-Q
-Q
-Q
-Q
-m
-&
-Z
-h
-#
-W
-M
-q
-p
-q
-u
-u
-v
-z
-Y
-Y
-J
-J
-L
-Q
-0
-O
-Z
-w
-p
-b
-d
-o
-0
-&
-&
-a
-k
-B
-M
-*
-#
-#
-#
-&
-&
-&
-8
-o
-&
-#
-#
-o
-W
-&
-&
-&
-M
-0
-#
-*
-W
-W
-8
-*
-m
-d
-b
-Y
-{
-{
-{
-{
-{
-1
-)
-]
-{
-{
-]
-#
-J
-}
-C
-J
-L
-d
-b
-o
-*
-*
-o
-b
-b
-b
-d
-p
-w
-q
-k
-O
-*
-o
-q
-h
-b
-d
-0
-/
-U
-q
-z
-h
-d
-d
-_
-q
-w
-Z
-Z
-O
-O
-0
-L
-Q
-C
-z
-U
-J
-0
-Q
-U
-C
-Q
-Q
-C
-J
-J
-(
-[
-]
-[
-[
-\
-f
-1
-t
-\
-/
-f
-}
-j
-v
-c
-J
-c
-X
-n
-v
-u
-U
->
-~
-J
-C
-C
-m
-Z
-m
-w
-m
-m
-m
-Z
-Z
-L
-L
-J
-/
-Y
-w
-d
-d
-d
-b
-k
-k
-o
-h
-p
-o
-o
-a
-*
-b
-q
-w
-m
-q
-p
-w
-J
-U
-q
-q
-q
-q
-w
-0
-Z
-U
-;
->
-U
->
-v
-z
-f
-r
-t
-)
-}
-[
-[
-[
-]
->
->
-|
-\
-)
-]
-]
-1
-Y
-X
-L
-L
-L
-c
-h
-k
-J
-Y
-(
-z
-r
-X
-X
-Q
-Z
-z
-k
-k
-J
-o
-h
-o
-h
-a
-o
-*
-o
-p
-&
-&
-W
-h
-m
-Q
-8
-]
-)
-|
-/
-J
-z
-U
-/
-Y
-n
-p
-*
-a
-o
-Z
-)
-L
-(
-r
-j
-L
-8
-L
-Q
-Q
-k
-a
-m
-d
-a
-W
-o
-b
-p
-b
-n
-n
-v
-c
-c
-v
-Y
-J
-J
-L
-Q
-0
-O
-m
-q
-d
-d
-k
-k
-&
-k
-b
-k
-B
-W
-M
-#
-M
-&
-8
-d
-&
-%
-&
-#
-o
-*
-o
-8
-&
-8
-&
-#
-C
-*
-*
-&
-W
-%
-*
-w
-b
-?
-?
-]
-{
-{
-{
-{
-1
-(
-{
-{
-{
-#
-M
-C
-]
-0
-O
-C
-a
-p
-a
-#
-*
-o
-*
-*
-h
-d
-p
-q
-k
-w
-a
-#
-d
-q
-h
-h
-h
-c
-}
-*
-Z
-Y
-o
-d
-k
-_
-q
-w
-Z
-Z
-O
-O
-0
-C
-Q
-C
-J
-X
-J
-0
-C
-C
-C
-C
-Q
-J
-J
-J
-1
--
-[
-}
-[
-\
-/
-t
-t
-(
-/
-t
-[
-f
-v
-v
-C
-z
-Y
-u
-v
-x
-Y
->
-~
-J
-C
-C
-Z
-b
-b
-m
-m
-m
-q
-Z
-Z
-Q
-Q
-c
-f
-Y
-m
-J
-d
-b
-b
-b
-k
-k
-k
-b
-a
-o
-a
-o
-b
-q
-q
-Z
-q
-p
-q
-Q
-Y
-q
-p
-q
-p
-w
-0
-Z
-J
-;
-<
-U
-l
-c
-Z
-c
-n
-f
-1
-{
-{
-}
-_
-[
-<
-_
-\
-\
-{
-_
-+
-\
-Y
-z
-C
-J
-Q
-0
-h
-U
-Y
-z
-|
-/
-r
-U
-z
-L
-O
-O
-k
-M
-Q
-x
-u
-Q
-0
-*
-o
-o
-o
-k
-W
-&
-*
-k
-O
-O
-j
-}
-)
-?
-{
-!
-}
-b
-v
-n
-c
-o
-*
-o
-b
-&
-p
-b
-t
-j
-O
-t
-%
-Q
-L
-Q
-o
-Z
-b
-d
-h
-M
-M
-b
-#
-b
-v
-n
-v
-v
-v
-v
-X
-Y
-C
-L
-Q
-0
-O
-m
-q
-p
-b
-d
-8
-h
-a
-q
-o
-%
-&
-W
-&
-&
-8
-&
-v
-8
-&
-W
-#
-#
-#
-a
-&
-8
-&
-W
-M
-L
-#
-#
-M
-M
-%
-*
-m
-#
-}
--
-v
-1
-{
-{
-1
-1
-1
-{
-{
-_
-#
-#
-0
-[
-C
-d
-X
-h
-U
-p
-o
-#
-#
-o
-*
-o
-o
-a
-h
-k
-h
-#
-o
-q
-m
-Q
-m
-h
-O
-X
-X
-0
-h
-o
-d
-k
-/
-w
-w
-Z
-Z
-O
-O
-0
-L
-U
-L
-U
-J
-J
-0
-L
-C
-L
-C
-L
-J
-J
-J
-(
-]
-]
-[
-{
-/
-f
-)
-t
-(
-/
-f
-\
-j
-u
-z
-C
-X
-U
-v
-z
-n
-z
->
-+
-J
-C
-C
-m
-d
-d
-m
-m
-w
-q
-m
-Z
-Q
-Q
-X
-u
-Y
-Z
-/
-b
-b
-b
-b
-b
-b
-b
-k
-a
-a
-a
-#
-k
-m
-p
-Z
-p
-p
-w
-J
-Y
-q
-d
-p
-q
-w
-0
-Z
-C
-;
-+
-X
->
-u
-m
-n
-v
-x
-1
-(
-]
-~
-?
-}
-<
-{
-\
-\
-}
-+
-+
-f
-U
-c
-U
-J
-m
-a
-a
-c
-v
-z
-1
-u
-X
-J
-U
-0
-Z
-k
-h
-c
-}
-X
-Z
-w
-q
-C
-m
-o
-b
-w
-W
-M
-d
-w
-a
-q
-~
-}
-\
-~
->
-f
-j
-x
-L
-a
-*
-o
-o
-o
-|
-?
-Q
-k
-t
-b
-h
-p
-v
-Q
-L
-o
-J
-Q
-p
-q
-p
-#
-M
-o
-h
-Z
-n
-u
-u
-u
-v
-c
-z
-X
-U
-J
-L
-Q
-O
-Z
-q
-d
-d
-d
-8
-8
-&
-o
-p
-B
-B
-%
-8
-8
-&
-&
-n
-&
-&
-M
-M
-o
-#
-*
-&
-&
-W
-&
-8
-Q
-#
-M
-#
-M
-8
-*
-m
-/
-[
-]
-]
-1
-{
-{
-{
-1
-1
-{
-{
-*
-#
-#
-m
-?
-f
-C
-L
-b
-Q
-O
-m
-#
-o
-M
-W
-*
-o
-h
-b
-b
-W
-a
-O
-Z
-O
-*
-o
-c
-\
-c
-M
-d
-k
-o
-b
-k
-Q
-b
-d
-p
-p
-q
-q
-q
-m
-m
-m
-Z
-m
-Z
-q
-m
-Z
-w
-w
-m
-Z
-C
-|
-|
-}
-}
-]
-{
-j
-f
-)
-t
-(
-t
-f
-f
-r
-v
-u
-J
-Y
-J
-/
-n
-u
-v
->
-~
-J
-C
-C
-Z
-b
-b
-w
-m
-m
-p
-Z
-Z
-Q
-0
-!
-n
-Y
-c
-z
-k
-b
-p
-b
-k
-b
-b
-h
-a
-a
-q
-h
-d
-q
-q
-m
-p
-Z
-w
-Q
-L
-q
-d
-p
-p
-w
-O
-Z
-C
-;
-?
-u
-}
-x
-Z
-\
-u
-n
-(
-}
-}
-}
-}
-[
-<
-)
-\
-\
-[
-]
-1
-f
-J
-z
-c
-C
-C
-a
-J
-z
-z
-Y
-f
-u
-n
-J
-J
-Z
-0
-h
-C
-8
-[
-q
-d
-d
-d
-q
-*
-a
-k
-Z
-W
-h
-k
-q
-m
-8
-+
-+
-u
-/
-/
-t
-1
-C
-a
-W
-M
-W
-a
-a
-o
-\
-Q
-k
-t
-L
-8
-Q
-z
-Q
-L
-c
-r
-c
-p
-q
-d
-*
-M
-*
-k
-b
-Z
-0
-v
-v
-v
-v
-c
-X
-U
-Y
-L
-L
-0
-Z
-q
-p
-d
-d
-M
-*
-q
-Z
-k
-B
-B
-%
-%
-8
-&
-&
-x
-&
-M
-M
-#
-#
-o
-o
-&
-&
-&
-W
-8
-0
-M
-M
-o
-#
-M
-*
-0
-)
-]
-]
-]
-|
-1
-{
-}
-{
-1
-{
--
-M
-#
-#
-w
-j
-O
-C
-C
-q
-J
-*
-b
-a
-#
-b
-M
-M
-*
-h
-p
-d
-w
-m
-O
-O
-a
-Q
-o
-0
-f
-*
-U
-q
-h
-a
-k
-k
-d
-b
-p
-p
-m
-q
-q
-q
-Z
-w
-m
-Z
-m
-m
-w
-Z
-m
-m
-m
-m
-Z
-Q
-|
-)
-[
-{
-}
-1
-r
-f
-}
-/
-)
-f
-f
-j
-x
-c
-f
-C
-/
-J
-j
-c
-n
-n
-i
-+
-C
-L
-L
-m
-b
-b
-m
-Z
-m
-p
-Z
-Z
-Q
-0
-"
-n
-u
-f
-C
-Z
-d
-q
-b
-o
-b
-b
-a
-a
-a
-p
-0
-b
-q
-w
-m
-0
-m
-q
-Q
-Q
-p
-d
-p
-p
-Y
-O
-m
-Q
-I
-[
-j
-\
-m
-Z
-(
-z
-v
-}
-{
-)
-}
-}
-}
-<
-)
-\
-\
-[
-]
-|
-j
-U
-v
-Y
-J
-a
-o
-z
-n
-Y
-X
-j
-C
-c
-J
-J
-Q
-h
-a
-J
-}
-f
-m
-d
-d
-q
-b
-d
-#
-a
-m
-M
-p
-k
-q
-O
-L
-_
-_
-/
-\
-/
-c
-o
-&
-o
-M
-M
-W
-W
-h
-Y
-w
-m
-h
-|
-8
-J
-L
-u
-Q
-o
-C
-0
-q
-x
-x
-q
-k
-M
-#
-a
-a
-*
-b
-*
-c
-v
-c
-c
-z
-z
-Y
-J
-L
-0
-0
-w
-p
-b
-p
-a
-h
-q
-o
-a
-%
-%
-%
-M
-B
-8
-&
-z
-*
-W
-#
-M
-#
-M
-o
-8
-&
-&
-&
-J
-O
-W
-M
-W
-#
-b
-a
-f
-}
-]
-]
-}
-]
-J
-{
-{
-1
-1
-{
-M
-M
-#
-#
-m
-h
-Q
-L
-Q
-w
-0
-m
-#
-o
-*
-*
-M
-*
-h
-w
-b
--
-0
-m
-0
-L
-q
-k
-C
-X
-z
-&
-X
-o
-k
-a
-k
-k
-q
-b
-p
-q
-Z
-q
-q
-q
-w
-q
-m
-O
-w
-0
-Z
-Z
-m
-m
-m
-m
-Z
-J
-|
-(
-}
-{
-)
-)
-f
-\
-}
-/
-)
-f
-j
-r
-x
-c
-r
-C
-r
-U
-X
-c
-n
-x
-i
-+
-C
-Q
-C
-O
-b
-b
-m
-m
-m
-m
-Z
-Z
-O
-0
-:
-u
-v
-/
-u
-d
-d
-w
-k
-o
-b
-b
-a
-a
-a
-d
-L
-k
-p
-w
-p
-0
-w
-q
-L
-0
-Z
-Z
-m
-w
-Z
-O
-m
-0
-!
-{
-\
-X
-Z
-m
-/
-r
-|
-{
--
-i
-i
-_
-{
-)
-\
-\
-|
-[
-]
-r
-/
-C
-c
-n
-\
-h
-|
-n
-|
-x
-n
-c
-n
-C
-L
-z
-w
-a
-o
-n
-]
-Q
-p
-b
-k
-L
-b
-C
-o
-h
-Z
-8
-k
-h
-O
-0
-<
--
-Y
-\
-\
-/
-Y
-q
-*
-M
-M
-q
-#
-O
-a
-w
-C
-h
-h
-a
-W
-J
-Q
-c
-J
-J
-h
-M
-*
-p
-j
-L
-d
-M
-W
-#
-o
-o
-d
-k
-c
-v
-c
-c
-X
-Y
-X
-J
-C
-L
-Q
-q
-p
-d
-p
-b
-a
-h
-8
-a
-&
-&
-o
-W
-8
-8
-8
-Q
-*
-W
-&
-M
-*
-*
-o
-&
-&
-&
-&
-X
-Z
-#
-#
-&
-#
-O
-8
-f
-}
-[
-]
-}
-]
-{
-X
-O
-(
-{
-{
-#
-&
-#
-M
-O
-&
-C
-0
-Q
-q
-L
-p
-*
-b
-q
-o
-a
-h
-Z
-C
-i
-_
-m
-C
-C
-0
-a
-o
-X
-r
-O
-a
-J
-#
-h
-a
-k
-k
-m
-d
-d
-p
-Z
-m
-w
-w
-q
-q
-m
-O
-w
-0
-Z
-Z
-m
-m
-w
-m
-Z
-z
-|
-(
-)
-{
-)
-)
-j
-\
-{
-t
-1
-f
-r
-f
-x
-X
-X
-L
-Y
-J
-X
-X
-X
-j
->
-+
-L
-Q
-C
-0
-q
-w
-w
-m
-m
-m
-m
-Z
-Z
-O
-l
-v
-X
-f
-v
-d
-d
-m
-h
-o
-b
-b
-h
-a
-o
-o
-h
-d
-m
-Z
-L
-Z
-p
-q
-L
-C
-Z
-m
-Z
-w
-J
-O
-m
-Z
->
-{
-)
-c
-Z
-m
-j
-c
-j
-\
-{
-}
-{
-l
-]
-)
-/
-|
-|
-[
-?
-t
-t
-U
-c
-U
-X
-h
-f
-n
-u
-v
-Y
-f
-c
-Y
-C
-Y
-a
-a
-C
-q
-_
-q
-p
-p
-q
-q
-Q
-#
-d
-o
-L
-M
-M
-k
-p
-k
-~
-c
-0
-x
-\
-0
-Z
-w
-w
-0
-O
-X
-x
-o
-X
-t
-n
-o
-k
-a
-u
-C
-Q
-n
-0
-M
-M
-W
-W
-a
-d
-j
-p
-#
-W
-o
-o
-Y
-U
-Z
-p
-c
-z
-X
-X
-X
-X
-Y
-C
-L
-0
-p
-q
-d
-d
-k
-Z
-k
-&
-a
-%
-%
-o
-$
-@
-8
-8
-o
-*
-&
-8
-*
-#
-M
-*
-&
-W
-W
-W
-o
-Z
-p
-#
-*
-#
-C
-j
-{
-[
-]
-[
-]
-]
-?
-b
-U
-J
-J
-w
-#
-#
-#
-*
-Z
-8
-Z
-Q
-0
-w
-O
-b
-o
-w
-Q
-Q
-#
-a
-O
-z
->
-.
-U
-C
-C
-Q
-m
-W
-Z
-x
-(
-k
-m
-a
-h
-o
-k
-k
-m
-w
-d
-d
-m
-Z
-Z
-w
-q
-q
-m
-O
-w
-Q
-Z
-O
-m
-m
-w
-O
-m
-c
-(
-|
-|
-/
-\
-1
-j
-\
-{
-t
-1
-f
-r
-f
-x
-X
-X
-J
-U
-C
-X
-Y
-Y
-r
-<
-+
-0
-C
-C
-0
-q
-q
-w
-m
-q
-m
-m
-Z
-Q
-Z
-_
-v
-c
-(
-v
-d
-p
-Z
-h
-o
-b
-b
-a
-o
-*
-o
-L
-Z
-w
-0
-m
-w
-q
-q
-Q
-L
-Z
-O
-Z
-w
-C
-O
-m
-m
->
-|
-{
-z
-Z
-Z
-r
-X
-|
-_
-]
-?
--
-|
-\
-(
-\
-(
-|
-}
-?
-x
-|
-U
-u
-Q
-b
-q
-X
-U
-Y
-L
-Y
-j
-v
-U
-C
-q
-o
-a
-x
-o
->
-z
-w
-0
-C
-Y
-w
-o
-q
-a
-Q
-8
-#
-h
-Z
-W
-i
-l
-c
-Y
-x
-J
-Q
-0
-Q
-M
-U
-x
-Z
-m
-C
-(
-1
-d
-h
-&
-n
-C
-Q
-u
-k
-M
-#
-W
-&
-W
-#
-p
-X
-0
-M
-#
-k
-m
-b
-O
-Q
-m
-z
-z
-Y
-X
-X
-Y
-J
-C
-Q
-m
-p
-d
-d
-k
-Q
-8
-&
-W
-&
-#
-8
-o
-W
-8
-8
-8
-#
-W
-*
-*
-#
-M
-*
-W
-*
-*
-W
-W
-Z
-O
-#
-#
-#
-Q
-f
-}
-[
-]
-[
-[
-?
-[
-Q
-U
-J
-C
-u
-h
-Z
-k
-p
-h
-%
-t
-Y
-Z
-w
-a
-a
-a
-O
-0
-Z
-#
-h
-m
-Y
->
-?
-L
-C
-Q
-m
-W
-O
-v
-X
-L
-Z
-L
-0
-#
-o
-k
-h
-Z
-Z
-p
-p
-Z
-Z
-Z
-m
-q
-q
-m
-0
-m
-Q
-w
-Z
-m
-m
-w
-Z
-Z
-z
-(
-|
-(
-/
-t
-)
-j
-|
-}
-/
-{
-t
-x
-\
-j
-X
-z
-L
-Y
-C
-X
-U
-Y
-r
--
-+
-0
-C
-L
-Q
-w
-q
-q
-m
-q
-p
-Z
-Z
-C
-O
-0
-c
-z
-u
-C
-d
-d
-Z
-a
-o
-k
-b
-a
-a
-*
-o
-q
-Z
-w
-q
-w
-m
-q
-q
-Q
-C
-Q
-L
-Z
-w
-C
-O
-m
-m
->
-j
-}
-Y
-Z
-0
-x
-c
-)
-~
-?
-?
--
-[
-_
-~
->
-1
-/
-}
-|
-u
-1
-J
-X
-O
-h
-0
-X
-U
-Y
-J
-J
-x
-z
-C
-C
-p
-o
-Z
-d
-Z
-+
-}
-p
-0
-0
-C
-k
-b
-q
-a
-p
-8
-#
-w
-m
-d
-i
-t
-X
-X
-n
-C
-L
-0
-Z
-X
-C
-r
-L
-w
-X
-)
-]
-b
-q
-a
-|
-L
-Q
-#
-Y
-a
-#
-W
-&
-&
-W
-M
-q
-U
-x
-#
-a
-0
-h
-p
-Q
-w
-b
-Y
-Y
-X
-X
-Y
-U
-C
-Q
-O
-p
-b
-p
-b
-q
-&
-&
-8
-M
-&
-o
-M
-&
-W
-W
-%
-o
-W
-k
-&
-*
-#
-a
-o
-h
-a
-#
-#
-q
-O
-*
-#
-#
-(
-j
-}
-[
-[
-[
-[
-?
-)
-m
-U
-U
-U
-j
-b
-p
-b
-w
-*
-W
--
-Q
-Z
-w
-b
-q
-b
-q
-w
-O
-#
-h
-m
-O
-J
-X
-0
-Q
-0
-#
-#
-O
-v
-O
-?
-Y
-v
-*
-u
-*
-k
-k
-Z
-m
-p
-p
-m
-O
-O
-Z
-m
-w
-w
-m
-m
-J
-m
-w
-m
-Z
-Z
-m
-O
-C
-{
-(
-(
-/
-f
-)
-j
-\
-{
-t
-[
-/
-r
-(
-r
-Y
-x
-J
-u
-z
-r
-X
-X
-j
-[
-+
-0
-L
-C
-L
-b
-b
-q
-w
-w
-q
-Z
-m
-m
-d
-/
-j
-Y
-v
-O
-p
-m
-Z
-a
-o
-a
-k
-o
-a
-*
-*
-a
-0
-q
-m
-Z
-Z
-O
-q
-L
-U
-L
-Q
-Z
-m
-J
-O
-m
-Z
->
-c
-[
-X
-Z
-0
-x
-Y
-(
-v
-u
-Y
-}
-?
-~
-<
->
-)
-j
-(
-[
-v
-t
-U
-c
-0
-b
-Q
-X
-X
-z
-X
-Y
-x
-Q
-Q
-Z
-o
-a
-m
-Z
-C
-a
-)
-z
-L
-w
-C
-b
-*
-d
-#
-#
-8
-o
-w
-8
-;
-n
-c
-C
-U
-Y
-J
-Q
-Q
-L
-U
-r
-C
-J
-h
-{
-{
-}
-o
-p
-%
-r
-C
-L
-J
-c
-U
-W
-W
-&
-&
-&
-&
-M
-o
-*
-*
-L
-#
-o
-k
-p
-C
-p
-p
-X
-X
-X
-Y
-J
-C
-Q
-0
-p
-d
-p
-d
-M
-&
-M
-%
-8
-&
-#
-W
-8
-8
-B
-B
-#
-%
-h
-a
-o
-o
-k
-p
-p
-b
-*
-&
-q
-k
-a
-#
-#
-c
-L
-v
-?
-}
-}
-}
-{
-t
-u
-u
-n
-r
-|
-q
-/
-w
-L
-a
-o
-J
-O
-0
-Z
-o
-b
-o
-d
-0
-Q
-*
-m
-b
-b
-q
-b
-Z
-O
-w
-a
-Z
-m
-z
-v
-C
-Z
-O
-J
-w
-z
-k
-b
-m
-q
-Z
-Z
-0
-0
-Z
-0
-0
-O
-C
-C
-L
-C
-L
-Q
-C
-C
-J
-U
-U
-J
-Y
-(
-(
-/
-t
-)
-j
-|
-{
-\
-[
-t
-r
-{
-r
-X
-u
-Y
-I
-f
-t
-U
-v
-f
-)
-+
-L
-L
-C
-C
-b
-b
-w
-w
-w
-p
-Z
-Z
-m
-w
->
-|
-U
-u
-0
-q
-w
-Z
-h
-o
-a
-h
-o
-a
-*
-o
-a
-U
-q
-w
-0
-Q
-O
-q
-Q
-C
-0
-O
-m
-w
-C
-O
-m
-0
->
-U
-}
-c
-0
-Z
-f
-X
-x
-c
-X
-Y
-X
-z
-(
-f
-t
-/
-|
-t
-r
-n
-|
-J
-z
-Q
-p
-C
-Y
-J
-J
-c
-Y
-X
-U
-L
-d
-o
-o
-L
-C
-C
-k
-C
-U
-Z
-O
-L
-Z
-h
-p
-8
-M
-&
-M
-d
-%
-;
-_
-L
-t
-L
-Q
-C
-O
-j
-J
-L
-j
-C
-U
-b
-1
-{
-}
-b
-&
-|
-f
-/
-d
-0
-x
-X
-M
-M
-W
-&
-&
-&
-p
-M
-W
-b
-M
-o
-m
-o
-o
-Z
-b
-p
-p
-X
-Y
-Y
-J
-C
-L
-0
-p
-d
-d
-p
-M
-&
-&
-B
-8
-W
-W
-M
-B
-&
-8
-%
-o
-&
-a
-a
-&
-o
-U
-I
-i
-,
-o
-M
-L
-o
-k
-#
-Q
-L
-x
-]
-{
-{
-)
-{
-]
-c
-m
-j
-v
-1
-c
-w
-C
-Q
-n
-*
-h
-0
-O
-p
-h
-p
-k
-k
-w
-O
-Z
-#
-w
-#
-b
-k
-k
-b
-p
-p
-#
-m
-Q
-q
-J
-w
-q
-d
-0
-0
-Q
-k
-b
-Z
-Z
-w
-Z
-O
-0
-Z
-0
-0
-Z
-Q
-C
-L
-J
-L
-Q
-L
-C
-U
-Y
-Y
-U
-X
-)
-\
-f
-t
-1
-j
-\
-{
-/
-]
-t
-f
-}
-j
-X
-v
-v
-^
-'
-v
-C
-v
-j
-\
-+
-U
-L
-C
-L
-d
-b
-q
-w
-q
-m
-m
-Z
-m
-w
-u
-t
-Y
-Y
-Q
-m
-m
-Z
-a
-o
-a
-a
-o
-a
-*
-*
-h
-J
-d
-Z
-O
-L
-Z
-q
-L
-Z
-Z
-m
-Z
-m
-L
-O
-m
-Q
-<
-C
-[
-c
-0
-Z
-/
-Y
-f
-c
-X
-X
-X
-c
-\
-|
-|
-\
-|
-x
-f
-v
-f
-Y
-x
-p
-L
-C
-Y
-Q
-Y
-L
-Y
-t
-z
-Q
-b
-o
-m
-b
-X
-m
-x
-d
-m
-b
-O
-Q
-0
-q
-k
-M
-#
-*
-M
-q
-%
-_
-m
-C
-C
-O
-0
-Q
-O
-Q
-U
-r
-L
-C
-Q
-q
-1
-1
-h
-a
-8
-\
-\
-/
-u
-v
-r
-Y
-O
-M
-h
-h
-o
-W
-J
-k
-}
-a
-W
-0
-m
-h
-*
-p
-M
-p
-p
-q
-z
-X
-Y
-J
-L
-0
-d
-d
-d
-d
-M
-W
-&
-8
-W
-8
-M
-W
-B
-&
-#
-&
-o
-o
-k
-b
-h
-o
-1
-<
->
-_
-|
-*
-Q
-*
-&
-*
-W
-Q
-O
-@
-]
-v
-)
-[
-b
-k
-b
-b
-q
-0
-Z
-U
-n
-c
-0
-o
-W
-L
-J
-v
-Z
-p
-b
-k
-k
-d
-Z
-#
-w
-Z
-h
-k
-k
-k
-d
-d
-W
-m
-Y
-*
-Z
-q
-%
-&
-Q
-C
-q
-k
-d
-Z
-X
-w
-Z
-0
-0
-Z
-Q
-O
-O
-Q
-J
-Q
-J
-L
-Q
-L
-C
-J
-Y
-U
-Y
-v
-|
-t
-/
-j
-\
-t
-{
-_
-~
-?
-)
-f
-}
-x
-z
-Y
-n
-I
-|
-X
-C
-Y
-x
-n
-+
-x
-L
-O
-Q
-q
-p
-q
-w
-q
-m
-m
-Z
-k
-k
-t
-r
-J
-U
-0
-m
-w
-m
-o
-a
-o
-o
-o
-a
-*
-o
-h
-L
-p
-Z
-L
-0
-L
-w
-Q
-0
-b
-b
-p
-q
-C
-0
-m
-L
->
-L
-[
-c
-Z
-0
-j
-Y
-n
-Y
-X
-X
-Y
-n
-|
-|
-|
-|
-(
-f
-f
-x
-x
-J
-v
-a
-J
-L
-U
-C
-L
-J
-Y
-x
-0
-b
-o
-o
-p
-d
-Q
-0
-q
-n
-p
-b
-O
-(
-w
-Y
-*
-b
-M
-W
-#
-m
-8
-/
-Z
-Y
-J
-m
-C
-Z
-o
-J
-f
-O
-C
-C
-*
-J
-)
-W
-O
-a
-#
-)
-\
-b
-X
-v
-f
-x
-U
-k
-a
-k
-b
-h
-b
-\
-)
-M
-W
-m
-w
-h
-#
-h
-p
-p
-p
-p
-q
-Y
-Y
-J
-L
-0
-p
-d
-b
-d
-*
-h
-&
-&
-M
-8
-W
-B
-W
-&
-Z
-&
-#
-a
-k
-k
-p
-*
-*
-<
-i
-i
-~
-U
-Z
-*
-h
-h
-d
-k
-z
-Z
-b
-Q
-}
-w
-*
-o
-b
-Z
-z
-p
-X
-C
-X
-p
-o
-o
-W
-p
-p
-0
-X
-u
-a
-a
-b
-b
-m
-*
-m
-m
-a
-k
-b
-p
-p
-d
-m
-M
-J
-z
-0
-8
-*
-a
-Y
-U
-b
-h
-d
-Z
-j
-m
-m
-0
-0
-Z
-0
-0
-0
-Q
-C
-L
-C
-L
-Q
-L
-J
-J
-U
-X
-Y
-u
-f
-/
-t
-f
-t
-t
-/
-{
-/
-[
-t
-f
-1
-f
-Y
-U
-(
-,
-v
-Y
-C
-J
-u
-J
-+
-|
-0
-L
-O
-p
-q
-q
-w
-w
-w
-Z
-m
-b
-*
-(
-j
-Y
-Q
-O
-w
-w
-Z
-o
-a
-o
-o
-o
-a
-*
-h
-d
-O
-q
-Z
-0
-0
-Z
-w
-Q
-Z
-b
-b
-p
-p
-J
-0
-Z
-C
->
-L
-}
-X
-Z
-Q
-n
-J
-x
-t
-j
-n
-r
-n
-(
-|
-|
-|
-/
-x
-(
-j
-j
-J
-Y
-o
-C
-Y
-X
-U
-C
-r
-c
-X
-Q
-p
-o
-q
-b
-k
-Z
-m
-w
-Z
-p
-q
-Q
-Q
-a
-c
-#
-q
-o
-W
-b
-Z
-]
-!
-w
-a
-Y
-m
-Q
-J
-0
-J
-Q
-j
-Q
-L
-a
-[
-1
-a
-p
-a
-W
-|
-t
-v
-c
-X
-c
-)
-J
-0
-a
-b
-d
-d
-Y
-{
-#
-&
-W
-Z
-w
-d
-M
-M
-p
-d
-d
-p
-q
-X
-Y
-Y
-C
-Q
-p
-b
-b
-d
-W
-b
-&
-&
-#
-&
-W
-@
-&
-M
-Y
-M
-o
-a
-h
-b
-b
-a
-#
--
->
->
-!
-C
-w
-*
-o
-d
-8
-v
-Q
-u
-M
-J
-Z
-a
-o
-o
-o
-0
-q
-C
-J
-b
-z
-p
-p
-\
-m
-w
-d
-X
-C
-]
-0
-k
-b
-d
-w
-m
-O
-m
-b
-b
-b
-b
-k
-a
-q
-Q
-p
-0
-0
-#
-#
-w
-0
-Z
-h
-a
-b
-Z
-/
-m
-O
-m
-m
-m
-Z
-Z
-O
-0
-Q
-L
-C
-Q
-0
-L
-C
-U
-J
-Y
-Y
-j
-/
-\
-t
-f
-t
-f
-f
-t
-j
-j
-j
-r
-j
-x
-U
-z
-(
-!
-U
-Y
-C
-L
-c
-0
-+
-{
-0
-L
-O
-k
-d
-q
-q
-q
-m
-Z
-b
-b
-h
-)
-f
-J
-C
-Z
-q
-w
-m
-*
-h
-o
-o
-*
-p
-Z
-b
-C
-m
-q
-p
-Z
-O
-w
-q
-Q
-p
-k
-b
-d
-p
-J
-Q
-Z
-J
->
-C
-{
-c
-O
-U
-n
-C
-r
-)
-/
-f
-n
-n
-(
-(
-v
-/
-|
-f
-f
-/
-j
-U
-C
-X
-u
-j
-x
-z
-U
-z
-U
-u
-U
-a
-o
-d
-b
-Z
-O
-b
-k
-q
-Q
-0
-m
-b
-U
-w
-a
-m
-b
-#
-q
-h
-l
-Z
-p
-o
-Y
-C
-Q
-8
-Z
-L
-C
-n
-Q
-L
-m
-1
-{
-_
-a
-h
-(
-\
-q
-X
-v
-Y
-Y
-j
-1
-0
-m
-p
-k
-b
-f
-#
-k
-&
-z
-Q
-Z
-p
-#
-W
-b
-d
-d
-p
-p
-z
-Y
-U
-C
-0
-q
-b
-b
-d
-&
-Z
-&
-#
-a
-8
-%
-W
-8
-8
-u
-*
-o
-a
-h
-k
-b
-h
-W
-*
-h
-)
-o
-r
-d
-&
-c
-%
-z
-c
-x
-Q
-o
-Y
-k
-o
-o
-o
-a
-w
-d
-Z
-Z
-L
-m
-a
-Q
-!
-O
-8
-U
-c
-z
-r
-\
-h
-h
-b
-w
-O
-w
-d
-q
-M
-h
-o
-a
-&
-w
-C
-M
-Y
-C
-k
-p
-0
-b
-x
-p
-o
-d
-m
-{
-m
-Z
-0
-0
-O
-0
-Z
-O
-L
-0
-C
-C
-Q
-0
-C
-J
-Y
-U
-U
-J
-f
-/
-f
-f
-x
-r
-r
-r
-j
-j
-j
-j
-r
-x
-x
-Y
-u
-J
-|
-Q
-u
-L
-X
-U
-0
-+
-]
-0
-L
-O
-k
-b
-q
-q
-q
-m
-d
-k
-b
-J
-]
-j
-0
-L
-Z
-q
-q
-w
-*
-a
-o
-o
-o
-a
-h
-d
-q
-w
-q
-p
-q
-w
-q
-w
-Q
-d
-k
-k
-b
-d
-J
-Q
-O
-J
->
-J
-{
-u
-O
-U
-X
-C
-n
-c
-z
-j
-u
-x
-c
-x
-n
-f
-(
-t
-x
-\
-j
-Y
-h
-c
-J
-c
-c
-Y
-Q
-Z
-X
-L
-d
-a
-o
-d
-d
-Z
-L
-k
-h
-p
-Q
-Q
-p
-b
-u
-0
-o
-q
-b
-W
-p
-8
-{
-0
-h
-#
-J
-J
-L
-Q
-W
-f
-Q
-x
-O
-0
-k
-1
-{
-?
-M
-a
-x
-\
-Z
-c
-z
-U
-J
-J
-(
-L
-q
-q
-d
-k
-X
-o
-k
-W
-U
-L
-Z
-Z
-#
-W
-a
-k
-b
-p
-q
-Z
-X
-U
-C
-L
-p
-b
-b
-b
-8
-Z
-&
-d
-#
-&
-B
-W
-M
-W
-8
-*
-*
-h
-b
-k
-h
-b
-&
-M
-*
-M
-&
-O
-b
-0
-k
-w
-X
-r
-r
-x
-z
-o
-h
-*
-a
-o
-o
-o
-h
-b
-h
-k
-a
-p
-h
-C
-r
-r
-Y
-n
-j
-X
-q
-p
-h
-b
-w
-Z
-q
-w
-b
-p
-#
-*
-M
-h
-m
-Q
-J
-k
-#
-m
-b
-)
-h
-m
-q
-a
-d
-w
-+
-O
-O
-0
-0
-O
-0
-0
-0
-C
-0
-C
-C
-Q
-0
-C
-U
-U
-J
-U
-U
-t
-t
-t
-j
-n
-x
-r
-r
-f
-r
-r
-r
-x
-n
-u
-Y
-v
-L
-v
-0
-n
-Q
-z
-C
-Q
-+
-?
-Q
-L
-O
-k
-k
-p
-q
-q
-w
-d
-b
-b
-v
-i
-j
-0
-Q
-m
-q
-q
-q
-#
-a
-o
-o
-a
-o
-a
-q
-q
-w
-q
-q
-m
-q
-q
-p
-L
-w
-k
-k
-b
-p
-J
-Q
-Z
-J
-<
-J
-)
-r
-Q
-z
-U
-Q
-r
-z
-X
-X
-u
-n
-}
-j
-c
-j
-|
-v
-Y
-Y
-\
-J
-m
-C
-Q
-J
-U
-Q
-Q
-O
-J
-v
-w
-o
-h
-b
-m
-m
-a
-h
-b
-J
-q
-Q
-q
-k
-u
-L
-o
-m
-h
-M
-m
-W
-Y
-q
-a
-m
-Y
-J
-C
-L
-L
-o
-8
-n
-q
-*
-Q
-1
-{
-*
-f
-a
-u
-v
-X
-c
-J
-U
-J
-C
-Q
-r
-p
-d
-k
-p
-?
-J
-k
-&
-C
-Q
-O
-O
-*
-W
-a
-q
-k
-p
-q
-w
-X
-U
-C
-Q
-q
-b
-b
-b
-&
-W
-&
-8
-#
-%
-&
-M
-M
-&
-M
-M
-#
-h
-b
-b
-b
-k
-M
-&
-B
-&
-%
-#
-Q
-b
-%
-&
-Y
-j
-j
-r
-k
-O
-w
-d
-C
-k
-k
-a
-k
-d
-k
-a
-a
-a
-+
-]
-(
-f
-&
-f
-j
-0
-O
-r
-a
-k
-d
-Z
-w
-m
-d
-h
-#
-M
-W
-p
-b
-Z
-m
-B
-&
-#
-0
-)
-k
-m
-m
-a
-d
-q
-~
-O
-O
-O
-0
-O
-0
-O
-O
-Q
-0
-C
-C
-Q
-0
-C
-U
-U
-U
-U
-Y
-/
-j
-j
-r
-r
-j
-j
-/
-/
-\
-\
-)
-\
-|
-/
-Y
-c
-Q
-J
-O
-J
-Q
-J
-O
-Q
-_
--
-0
-Q
-Z
-k
-k
-d
-q
-w
-q
-p
-b
-b
-0
-l
-j
-0
-Z
-Z
-q
-q
-q
-#
-a
-o
-*
-h
-o
-h
-w
-m
-m
-q
-d
-w
-q
-q
-w
-C
-q
-p
-q
-q
-p
-C
-Q
-Z
-J
-<
-J
-)
-j
-Q
-v
-Q
-O
-r
-v
-X
-X
-c
-n
-[
-f
-|
-(
-\
-n
-j
-C
-\
-C
-Q
-U
-O
-U
-C
-C
-w
-m
-Y
-x
-d
-a
-p
-C
-w
-o
-k
-p
-p
-h
-d
-0
-k
-p
-X
-Q
-o
-d
-q
-&
-p
-B
-Q
-k
-o
-U
-Y
-J
-C
-J
-0
-Q
-M
-v
-q
-*
-j
--
-0
-\
-(
-k
-x
-w
-Y
-z
-C
-L
-L
-J
-O
-x
-h
-a
-b
-d
-/
-z
-h
-&
-L
-L
-O
-Z
-#
-&
-*
-m
-b
-p
-p
-w
-X
-U
-J
-L
-q
-b
-k
-b
-&
-B
-W
-&
-k
-%
-M
-#
-8
-8
-C
-#
-M
-h
-h
-d
-k
-k
-M
-&
-&
-U
-B
-*
-C
-q
-W
-b
-v
-f
-j
-v
-U
-&
-b
-p
-v
-Q
-m
-w
-b
-a
-h
-O
-a
-:
-z
-{
-(
-/
-f
-m
-j
-j
-0
-w
-a
-b
-q
-O
-q
-b
-b
-b
-k
-&
-8
-q
-h
-k
-p
-M
-&
-*
-z
-1
-k
-Z
-Z
-a
-d
-q
-]
-O
-0
-0
-Q
-0
-L
-L
-0
-L
-Q
-C
-C
-Q
-O
-L
-Q
-Q
-0
-O
-Y
-f
-j
-t
-/
-f
-(
-f
-t
-\
-|
-)
-Y
-j
-t
-f
-Y
-J
-Q
-L
-0
-U
-Q
-L
-m
-L
-_
--
-Q
-O
-Z
-p
-b
-b
-w
-w
-k
-d
-b
-b
-Z
-l
-f
-C
-Z
-Z
-w
-q
-q
-#
-o
-*
-*
-a
-o
-k
-0
-J
-w
-q
-q
-p
-p
-q
-Z
-C
-p
-w
-q
-p
-p
-Q
-0
-O
-U
-~
-J
-(
-j
-Q
-x
-0
-Z
-\
-Y
-Y
-Y
-/
-r
-j
-v
-j
-(
-j
-u
-X
-c
-\
-h
-J
-C
-C
-z
-U
-0
-w
-w
-J
-q
-a
-a
-Q
-Q
-a
-b
-d
-w
-k
-d
-d
-m
-k
-h
-a
-0
-w
-Z
-0
-M
-0
-_
-Z
-b
-a
-J
-X
-C
-0
-C
-O
-Z
-#
-n
-p
-O
-o
-1
-\
-|
-L
-Y
-x
-Q
-Y
-J
-J
-J
-Q
-Z
-r
-0
-b
-d
-q
-p
-j
-\
-W
-o
-L
-C
-Z
-m
-#
-W
-*
-0
-d
-p
-p
-q
-X
-Y
-J
-Q
-q
-b
-k
-b
-8
-8
-b
-W
-h
-W
-M
-*
-8
-8
-c
-o
-#
-*
-k
-d
-a
-k
-M
-&
-8
-r
-@
-a
-U
-k
-b
-p
-c
-f
-x
-z
-a
-8
-q
-L
-u
-[
-n
-)
-j
-c
-L
-w
-?
-J
-;
-:
-|
-/
-t
-W
-j
-u
-u
-J
-j
-b
-Z
-w
-q
-m
-k
-k
-k
-#
-8
-q
-0
-p
-0
-b
-p
-*
-Y
-[
-h
-Z
-Q
-a
-d
-p
-t
-w
-q
-q
-w
-q
-m
-w
-Z
-m
-m
-Z
-Z
-Z
-m
-m
-w
-O
-Z
-O
-n
-{
-\
-\
-t
-t
-|
-j
-t
-/
-/
-Y
-Y
-Y
-j
-f
-z
-J
-L
-Q
-0
-J
-0
-L
-q
-L
-_
-_
-Q
-m
-0
-p
-p
-p
-d
-w
-d
-k
-b
-p
-b
-l
-/
-U
-O
-Q
-q
-q
-q
-#
-*
-*
-*
-o
-o
-k
-0
-z
-Y
-w
-w
-q
-w
-q
-0
-J
-p
-m
-w
-d
-p
-Q
-0
-O
-Y
-+
-J
-|
-j
-0
-f
-O
-Z
-/
-n
-X
-x
-u
-Y
-Y
-X
-v
-j
-r
-x
-v
-u
-)
-h
-v
-U
-Y
-Y
-C
-O
-w
-w
-O
-a
-a
-a
-O
-a
-b
-b
-Q
-b
-b
-d
-b
-b
-h
-h
-M
-m
-k
-b
-k
-h
-Z
-J
-w
-h
-a
-q
-z
-J
-w
-Q
-m
-m
-&
-r
-h
-Q
-)
-|
-1
-\
-|
-)
-f
-U
-C
-J
-C
-C
-0
-x
-Q
-q
-O
-q
-k
-#
-Q
-a
-%
-Q
-0
-Q
-Q
-m
-o
-W
-*
-0
-d
-p
-q
-q
-w
-X
-J
-L
-q
-d
-b
-d
-W
-&
-W
-W
-M
-w
-M
-#
-8
-M
-m
-o
-#
-o
-a
-k
-d
-k
-W
-W
-8
-Y
-8
-*
-c
-m
-%
-m
-Y
-f
-v
-Q
-q
-Z
-h
-r
-x
-x
-x
-)
-n
-x
-x
-r
-Q
-{
-~
-r
-|
-*
-&
-j
-%
-c
-z
-0
-(
-p
-b
-m
-Z
-p
-q
-p
-a
-M
-M
-q
-c
-J
-o
-W
-h
-b
-c
-+
-#
-m
-Q
-a
-d
-p
-c
-w
-q
-w
-m
-q
-q
-m
-Z
-m
-m
-Z
-Z
-m
-m
-m
-m
-O
-O
-O
-}
-\
-x
-/
-/
-f
-|
-f
-f
-/
-t
-X
-X
-X
-Y
-f
-X
-X
-L
-J
-O
-J
-0
-0
-d
-Q
-_
-+
-0
-0
-0
-b
-d
-d
-d
-w
-b
-d
-p
-d
-Q
-[
-f
-C
-O
-Q
-q
-q
-q
-#
-#
-#
-*
-#
-a
-k
-m
-z
-j
-q
-p
-Z
-w
-q
-Z
-J
-w
-m
-w
-d
-d
-Q
-0
-Z
-X
-+
-J
-\
-n
-Q
-f
-Z
-m
-|
-/
-n
-U
-v
-X
-J
-J
-Y
-X
-c
-v
-t
-u
-(
-X
-z
-J
-C
-C
-C
-0
-q
-q
-k
-a
-a
-p
-a
-k
-b
-q
-w
-Z
-b
-d
-k
-b
-h
-k
-o
-0
-h
-p
-a
-O
-&
-0
-q
-o
-o
-q
-X
-Z
-q
-Q
-m
-a
-#
-b
-o
-m
-)
-{
-)
-\
-|
-j
-C
-C
-C
-Q
-J
-L
-\
-j
-Q
-Z
-d
-*
-&
-#
-W
-a
-M
-J
-0
-0
-O
-0
-d
-M
-*
-O
-d
-p
-q
-q
-m
-X
-U
-C
-p
-b
-b
-d
-&
-M
-d
-Y
-&
-a
-M
-*
-8
-#
-#
-a
-*
-k
-k
-q
-q
-#
-&
-W
-&
-p
-h
-O
-Z
-$
-&
-0
-X
-t
-z
-p
-Z
-C
-*
-t
-c
-t
-t
-\
-j
-+
-1
-^
-{
-,
-[
-(
-\
-u
-8
-m
-W
-j
-h
-O
-b
-a
-p
-w
-Z
-q
-m
-d
-a
-W
-&
-w
-J
-C
-W
-W
-W
-m
-u
-_
-#
-m
-Q
-a
-d
-d
-J
-w
-q
-m
-Z
-w
-w
-0
-m
-m
-m
-m
-C
-Z
-Z
-m
-U
-Z
-Z
-Z
-)
-\
-j
-(
-/
-f
-|
-j
-j
-f
-v
-X
-Y
-X
-Y
-x
-Y
-U
-Q
-X
-Z
-z
-0
-U
-p
-Q
-_
-<
-O
-0
-Q
-h
-k
-p
-b
-w
-p
-b
-d
-b
-Y
-c
-|
-0
-Z
-0
-q
-w
-q
-#
-#
-#
-*
-o
-h
-k
-q
-X
-x
-p
-d
-p
-w
-q
-O
-J
-w
-m
-q
-w
-d
-Q
-0
-Z
-v
--
-U
-\
-c
-0
-x
-Z
-O
-|
-x
-n
-u
-X
-J
-v
-Y
-U
-J
-Y
-z
-X
-J
-k
-J
-v
-Y
-c
-\
-u
-X
-L
-p
-m
-m
-o
-a
-h
-b
-Q
-b
-L
-Z
-m
-b
-k
-b
-p
-p
-b
-m
-b
-Z
-h
-w
-[
-m
-p
-o
-*
-w
-X
-p
-q
-p
-0
-*
-r
-q
-o
-)
-(
-)
-0
-X
-k
-O
-Z
-L
-0
-0
-0
-X
-f
-Z
-a
-h
-M
-*
-M
-*
-a
-0
-&
-w
-O
-Z
-0
-w
-w
-#
-*
-O
-d
-p
-p
-q
-w
-X
-J
-L
-q
-k
-k
-b
-B
-8
-Z
-W
-&
-*
-p
-M
-8
-o
-M
-a
-a
-h
-h
-h
-b
-&
-W
-W
-8
-#
-r
-J
-J
-b
-o
-L
-v
-f
-J
-@
-0
-z
-#
-}
-(
-(
-)
-{
-)
-x
-)
-}
-1
-(
-(
-Y
-/
-t
-f
-z
-v
-M
-c
-n
-d
-O
-w
-O
-m
-q
-q
-b
-o
-&
-&
-q
-w
-j
-M
-#
-o
-O
-n
-+
-#
-q
-O
-a
-d
-p
-0
-q
-q
-0
-0
-Z
-m
-0
-Z
-m
-m
-w
-Y
-0
-m
-Z
-U
-O
-Z
-Z
-t
-j
-c
-(
-)
-|
-t
-j
-r
-t
-c
-r
-X
-X
-X
-n
-z
-z
-Q
-Y
-Z
-c
-0
-U
-d
-L
--
-~
-Z
-Q
-Q
-b
-d
-p
-k
-q
-m
-d
-d
-k
-U
-v
-t
-Z
-Z
-O
-w
-w
-q
-#
-#
-#
-*
-h
-h
-h
-w
-X
-v
-q
-Q
-L
-C
-q
-0
-U
-Z
-w
-w
-q
-p
-Q
-0
-Z
-u
-]
-Y
-/
-c
-0
-j
-Z
-0
-|
-n
-u
-Y
-Y
-v
-U
-c
-Y
-Y
-v
-Y
-J
-X
-h
-Y
-v
-r
-v
-c
-Y
-v
-h
-k
-k
-o
-o
-k
-a
-p
-k
-q
-o
-o
-#
-b
-b
-p
-q
-d
-{
-L
-p
-Z
-a
-Z
-J
-q
-b
-a
-*
-p
-Y
-q
-p
-q
-q
-j
-q
-w
-p
-1
-}
-)
-{
-)
-\
-|
-1
-L
-O
-Q
-0
-t
-w
-#
-M
-W
-#
-#
-#
-M
-o
-q
-q
-p
-w
-m
-Z
-w
-p
-*
-a
-Z
-d
-p
-q
-q
-w
-z
-U
-L
-q
-d
-b
-d
-B
-B
-Z
-W
-&
-*
-w
-#
-&
-8
-a
-k
-h
-b
-d
-k
-p
-&
-W
-M
-B
-B
-X
-X
-B
-a
-a
-U
-v
-\
-L
-U
-L
-c
-/
-W
-(
-)
-)
-{
-1
-v
-1
-\
-)
-\
-|
-|
-t
-%
-f
-z
-j
-|
-v
-0
-0
-f
-p
-m
-m
-d
-d
-d
-o
-M
-M
-m
-d
-c
-W
-b
-*
-O
-v
-[
-M
-*
-q
-a
-d
-d
-Z
-q
-p
-0
-Z
-0
-Z
-0
-O
-Z
-Z
-Z
-J
-Z
-Z
-Z
-U
-Z
-Z
-Z
-/
-c
-v
-f
-t
-f
-f
-)
-\
-x
-X
-X
-X
-z
-X
-j
-U
-Y
-0
-0
-Z
-Q
-0
-0
-b
-L
-_
-+
-m
-O
-Q
-b
-b
-d
-k
-b
-w
-p
-b
-h
-m
-1
-t
-m
-0
-O
-q
-w
-q
-#
-#
-#
-#
-k
-h
-h
-m
-z
-/
-q
-m
-m
-m
-Z
-Q
-J
-w
-Z
-m
-m
-p
-C
-O
-Z
-r
-}
-U
-/
-c
-0
-x
-0
-0
-\
-U
-Q
-0
-X
-c
-X
-0
-U
-J
-v
-z
-X
-c
-b
-C
-v
-r
-C
-L
-O
-d
-h
-q
-a
-a
-o
-w
-d
-k
-8
-h
-@
-h
-u
-+
-*
-Z
-a
-#
-q
-0
-b
-O
-p
-r
-c
-p
-b
-a
-#
-p
-U
-q
-q
-w
-q
-b
-Z
-p
-|
-(
-|
-{
-)
-|
-\
-|
-1
-L
-0
-O
-m
-t
-d
-*
-M
-#
-*
-*
-o
-o
-o
-}
-&
-0
-d
-Z
-q
-p
-w
-o
-h
-O
-p
-q
-q
-q
-q
-Y
-U
-C
-p
-d
-b
-d
-B
-B
-p
-b
-&
-#
-o
-M
-o
-W
-*
-*
-p
-k
-b
-b
-b
-M
-W
-W
-a
-%
-o
-w
-B
-p
-k
-z
-n
-c
-O
-Q
-J
-v
-x
-*
-|
-(
-)
-)
-1
-M
-X
-(
-(
-|
-\
-Y
-t
-x
-f
-p
-f
-f
-*
-X
-j
-v
-p
-w
-q
-b
-p
-a
-o
-&
-W
-m
-k
-C
-W
-M
-#
-q
-v
-{
-a
-b
-p
-h
-d
-d
-L
-d
-p
-Q
-0
-O
-Z
-0
-0
-m
-m
-O
-J
-J
-Y
-C
-C
-U
-J
-C
-Y
-c
-c
-v
-f
-t
-t
-f
-f
-c
-/
-z
-z
-z
-X
-Y
-C
-Q
-0
-0
-m
-0
-Z
-O
-b
-L
-_
-+
-m
-m
-Q
-b
-b
-b
-k
-k
-w
-d
-b
-h
-o
-L
-\
-m
-0
-O
-q
-q
-q
-#
-M
-#
-#
-k
-h
-a
-0
-c
-r
-q
-w
-q
-p
-q
-m
-0
-w
-h
-q
-h
-b
-Q
-O
-Z
-f
-1
-U
-/
-X
-m
-c
-q
-w
-j
-J
-q
-m
-J
-U
-J
-Q
-0
-X
-X
-X
-J
-a
-J
-w
-X
-Y
-J
-0
-q
-h
-q
-a
-b
-o
-b
-U
-Y
-k
-&
-d
-p
-Y
-Z
-k
-C
-#
-#
-b
-O
-Z
-p
-m
-*
-X
-c
-q
-h
-o
-*
-p
-J
-p
-m
-m
-w
-a
-m
-?
-(
-)
-)
-(
-1
-d
-Q
-n
-n
-O
-O
-m
-0
-O
-h
-M
-#
-o
-*
-k
-o
-o
-a
-f
-@
-o
-d
-O
-m
-w
-Z
-a
-k
-Q
-C
-p
-q
-m
-O
-w
-U
-Q
-d
-b
-k
-d
-@
-W
-@
-&
-W
-#
-*
-)
-*
-o
-a
-k
-d
-b
-k
-d
-b
-&
-W
-&
-U
-W
-M
-n
-Q
-d
-q
-n
-j
-u
-m
-Q
-X
-v
-n
-j
-*
-(
-(
-)
-(
-)
-z
-#
-|
-|
-#
-*
-h
-m
-)
-8
-j
-f
-C
-p
-8
-C
-b
-Z
-p
-q
-p
-a
-8
-M
-M
-p
-b
-J
-&
-M
-o
-k
-n
-{
-p
-p
-a
-h
-d
-d
-L
-0
-L
-L
-C
-J
-U
-U
-U
-Y
-X
-z
-v
-n
-x
-n
-n
-x
-r
-r
-f
-/
-/
-t
-(
-(
-(
-(
-/
-t
-f
-f
-f
-j
-j
-x
-c
-X
-J
-J
-J
-J
-J
-J
-Q
-L
--
-+
-Z
-Q
-O
-0
-Q
-Q
-0
-Q
-L
-Y
-C
-0
-O
-Y
-/
-Z
-O
-O
-q
-q
-q
-#
-#
-M
-#
-h
-h
-a
-L
-z
-C
-U
-Y
-Y
-Y
-Y
-X
-X
-X
-X
-X
-X
-Y
-0
-O
-Z
-u
-(
-U
-/
-v
-v
-c
-c
-c
-c
-c
-c
-c
-c
-c
-v
-v
-v
-c
-X
-Y
-z
-k
-X
-j
-<
->
-~
-?
-h
-U
-W
-c
-b
-a
-h
-J
-z
-;
-*
-w
-0
-Y
-Q
-O
-d
-*
-M
-O
-m
-o
-O
-m
-&
-X
-Q
-w
-a
-a
-M
-d
-b
-w
-w
-w
-m
-#
-C
-\
-|
-|
-)
-)
-{
-k
-n
-v
-r
-0
-Z
-n
-/
-a
-h
-M
-o
-o
-o
-o
-a
-*
-#
--
-&
-W
-L
-0
-p
-Z
-w
-a
-k
-L
-X
-q
-w
-m
-0
-L
-J
-Q
-d
-b
-b
-d
-B
-k
-B
-&
-m
-M
-o
-8
-8
-o
-M
-a
-b
-h
-p
-w
-d
-W
-W
-W
-n
-8
-b
-W
-*
-q
-Z
-j
-f
-c
-$
-Q
-U
-v
-x
-t
-a
-|
-(
-)
-(
-(
-(
-|
-|
-\
-#
-d
-#
-|
-(
-8
-$
-f
-z
-c
-@
-C
-Q
-m
-q
-d
-h
-k
-b
-a
-o
-b
-m
-u
-b
-d
-a
-k
-u
-{
-0
-d
-h
-a
-d
-d
-C
-Q
-Q
-L
-C
-U
-X
-z
-c
-v
-u
-x
-j
-t
-/
-\
-|
-|
-(
-)
-{
-}
-}
-}
-{
-{
-{
-{
-1
-1
-)
-)
-|
-|
-\
-t
-x
-u
-X
-X
-X
-X
-X
-Y
-Y
-Q
-_
-~
-Z
-Q
-0
-X
-X
-X
-X
-X
-z
-u
-u
-Y
-U
-Y
-r
-Z
-O
-O
-p
-p
-q
-M
-M
-#
-#
-a
-h
-a
-J
-Q
-z
-X
-Y
-z
-x
-t
-|
-1
-}
-[
--
-_
-]
-Q
-O
-Z
-j
-\
-U
-|
-(
-}
-{
-{
-{
-1
-{
-)
-(
-(
-t
-n
-c
-z
-J
-O
-Z
-Z
-b
-d
-a
-k
-k
-p
-h
-h
-a
-h
-x
-r
-h
-a
--
-#
-k
-d
-Q
-Z
-k
-o
-b
-z
-q
-k
-o
-O
-o
-p
-0
-f
-X
-q
-p
-a
-o
-b
-d
-p
-w
-m
-Z
-m
-M
-)
-(
-|
-{
-|
-(
-(
-/
-t
-d
-O
-Z
-f
-f
-u
-k
-M
-o
-a
-q
-a
-*
-#
-M
-*
-f
-0
-W
-a
-L
-b
-w
-p
-h
-d
-L
-f
-p
-w
-Z
-L
-C
-j
-X
-d
-b
-b
-d
-B
-W
-X
-8
-M
-&
-#
-8
-%
-z
-o
-h
-o
-b
-d
-w
-M
-W
-W
-8
-t
-%
-0
-W
-p
-m
-L
-t
-t
-X
-M
-Q
-J
-c
-v
-t
-M
-M
-(
-(
-(
-\
-*
-]
-\
-#
-?
-Z
-O
-&
-f
-(
-@
-x
-f
-x
-J
-@
-n
-m
-p
-p
-h
-&
-b
-a
-k
-k
-0
-C
-M
-W
-p
-o
-v
-}
-U
-X
-a
-h
-d
-d
-L
-O
-Z
-O
-0
-Q
-L
-C
-J
-J
-U
-X
-z
-c
-v
-v
-n
-n
-x
-x
-r
-j
-j
-j
-j
-j
-j
-j
-j
-r
-x
-x
-x
-n
-n
-u
-c
-X
-U
-Y
-Y
-U
-U
-J
-C
-J
-_
-~
-O
-Q
-0
-Q
-L
-L
-C
-C
-U
-Y
-z
-J
-C
-C
-n
-O
-O
-O
-p
-d
-q
-M
-M
-M
-#
-o
-k
-k
-J
-0
-f
-}
-?
-?
-]
--
--
-?
-[
-[
-[
-}
-\
-Z
-m
-m
-j
-(
-w
--
-~
-<
-<
-<
-~
->
-i
-!
-I
-;
-,
-:
-:
-,
-,
-:
-!
-q
-p
--
-1
-!
-!
-k
-a
-b
-u
-w
-o
-r
-a
-o
-o
-k
-&
-q
-0
-q
-U
-Q
-C
-k
-L
-a
-w
-#
-h
-Z
-q
-v
-O
-p
-#
-o
-o
-m
-d
-p
-m
-w
-m
-m
-w
-(
-(
-|
-(
-1
-|
-\
-v
-x
-x
-w
-j
-/
-k
-h
-k
-M
-o
-k
-k
-a
-#
-#
-#
-#
-+
-r
-M
-W
-J
-b
-q
-p
-b
-d
-Q
-r
-p
-m
-O
-L
-J
-/
-f
-Q
-b
-b
-d
-8
-&
-b
-d
-&
-&
-a
-8
-c
-c
-*
-o
-o
-b
-b
-w
-M
-M
-W
-8
-j
-@
-0
-#
-m
-0
-J
-/
-/
-z
-d
-Q
-C
-X
-Y
-t
-)
-a
-|
-|
-|
-|
-8
-M
-|
-W
-M
-%
-Z
-&
-f
-f
-o
-$
-v
-m
-&
-B
-v
-w
-p
-k
-h
-d
-k
-k
-b
-h
-Q
-J
-M
-M
-Z
-a
-c
-}
-m
-1
-a
-h
-d
-d
-0
-J
-X
-c
-v
-u
-x
-x
-x
-r
-r
-j
-f
-t
-\
-\
-\
-(
-)
-)
-1
-1
-{
-{
-{
-{
-{
-{
-{
-1
-1
-1
-1
-)
-)
-(
-\
-\
-/
-/
-/
-f
-r
-x
-n
-n
-+
-~
-O
-Q
-0
-Y
-f
-z
-c
-v
-u
-r
-f
-v
-J
-Q
-x
-Z
-O
-Z
-q
-b
-p
-M
-M
-W
-M
-#
-h
-h
-d
-q
-q
-q
-q
-p
-m
-m
-w
-m
-Z
-O
-O
-0
-Z
-m
-m
-Z
-U
-m
-m
-Z
-Z
-Z
-m
-m
-m
-m
-Z
-O
-0
-0
-L
-C
-J
-J
-J
-C
-L
-d
-b
-O
-b
-Z
-a
-b
-h
-o
-n
-h
-k
-j
-a
-a
-h
-k
-b
-O
-Z
-m
-m
-#
-h
-o
-#
-q
-M
-o
-a
-Z
-X
-z
-w
-M
-W
-o
-o
-d
-b
-q
-m
-d
-b
-)
-)
-(
-(
-|
-|
-(
-u
-Y
-a
-J
-c
-j
-C
-b
-k
-a
-#
-#
-o
-b
-k
-o
-*
-#
-#
-M
-&
-w
-M
-W
-a
-0
-p
-w
-p
-b
-O
-\
-d
-p
-O
-L
-J
-|
-/
-v
-z
-k
-p
-%
-8
-b
-m
-M
-&
-O
-&
-k
-c
-a
-h
-k
-p
-a
-q
-M
-&
-W
-8
-c
-&
-C
-q
-Z
-L
-Y
-\
-\
-k
-o
-0
-L
-Y
-U
-j
-/
-&
-w
-|
-\
-#
-a
-(
-/
-w
-?
-W
-Q
-)
-$
-C
-B
-o
-C
-v
-*
-#
-B
-$
-b
-b
-8
-p
-d
-b
-b
-b
-Q
-U
-M
-M
-m
-k
-c
-}
-O
-]
-a
-h
-b
-d
-m
-Z
-c
-u
-x
-f
-/
-/
-t
-\
-\
-(
-)
-1
-{
-{
-}
-}
-}
-}
-[
-]
-]
-]
-]
-}
-}
-1
-)
-(
-|
-(
-(
-)
-{
-_
->
-l
-l
-l
-i
-I
-,
-`
-,
->
-]
-{
-0
-0
-0
-)
-:
-^
-^
-"
-,
-,
-;
-?
-\
-U
-x
-O
-O
-Z
-w
-b
-p
-M
-W
-W
-M
-o
-k
-h
-d
-w
-w
-p
-q
-w
-m
-m
-m
-m
-Z
-Z
-q
-w
-m
-m
-m
-m
-Z
-Z
-Z
-Z
-Z
-Z
-m
-m
-w
-w
-w
-w
-m
-Z
-O
-0
-Q
-L
-Q
-Q
-Q
-b
-b
-m
-b
-a
-d
-a
-a
-o
-x
-k
-k
-\
-a
-h
-h
-h
-o
-Z
-b
-*
-*
-M
-M
-W
-p
-o
-a
-b
-#
-0
-J
-C
-q
-*
-M
-a
-o
-h
-k
-w
-z
-c
-X
-x
-|
-)
-(
-|
-|
-j
-C
-%
-v
-z
-J
-r
-b
-k
-h
-h
-W
-*
-d
-b
-h
-o
-*
-#
-#
-&
-Z
-#
-#
-h
-W
-X
-b
-m
-w
-d
-Q
-|
-d
-p
-m
-L
-J
-\
-/
-c
-v
-X
-b
-B
-o
-W
-m
-#
-&
-q
-8
-a
-U
-o
-o
-a
-k
-p
-q
-M
-W
-&
-8
-C
-O
-*
-q
-L
-J
-c
-|
-\
-#
-M
-k
-C
-C
-J
-r
-t
-}
-o
-]
-L
-m
-&
-&
-n
-z
-0
-M
-W
-$
-$
-@
-L
-#
-Y
-q
-h
-m
-o
-J
-k
-h
-h
-b
-p
-p
-w
-p
-C
-c
-*
-b
-Z
-p
-X
-}
-O
-}
-a
-h
-k
-d
-w
-m
-0
-Q
-C
-J
-J
-U
-U
-z
-v
-v
-u
-n
-n
-n
-x
-r
-r
-r
-r
-x
-n
-v
-c
-z
-X
-X
-Y
-Y
-Y
-Y
-Y
-X
-X
-c
-v
-u
-x
-r
-j
-j
-r
-r
-n
-v
-J
-Y
-0
-0
-Z
-w
-L
-U
-U
-U
-U
-J
-C
-m
-m
-0
-j
-0
-O
-Z
-m
-b
-p
-M
-W
-W
-M
-h
-b
-h
-p
-m
-m
-q
-q
-w
-m
-w
-m
-m
-m
-w
-q
-m
-Z
-m
-m
-m
-m
-Z
-m
-m
-Z
-m
-m
-m
-Z
-q
-q
-m
-O
-0
-Q
-C
-C
-L
-L
-L
-b
-b
-b
-k
-h
-Y
-v
-u
-v
-c
-w
-b
-h
-b
-a
-h
-h
-Z
-:
-Z
-U
-#
-*
-M
-&
-8
-W
-h
-o
-W
-W
-U
-U
-w
-a
-o
-o
-h
-a
-d
-x
-x
-z
-v
-L
-h
-(
-)
-|
-|
-/
-U
-o
-M
-v
-j
-x
-m
-h
-o
-W
-W
-o
-b
-q
-p
-k
-o
-*
-#
-&
-&
-M
-W
-j
-L
-&
-#
-U
-w
-q
-k
-O
-|
-p
-q
-w
-Z
-J
-v
-r
-z
-c
-v
-u
-8
-a
-&
-q
-*
-W
-p
-&
-W
-Y
-*
-o
-o
-o
-d
-Z
-#
-M
-W
-8
-p
-m
-k
-p
-J
-Y
-j
-|
-)
-&
-a
-*
-p
-Q
-Q
-z
-f
-/
-*
-d
-k
-*
-x
-J
-w
-%
-w
-h
-B
-8
-B
-Y
-$
-b
-B
-O
-Z
-q
-b
-%
-k
-#
-h
-k
-d
-d
-q
-q
-w
-U
-*
-W
-O
-d
-J
-}
-O
-(
-a
-h
-h
-d
-p
-L
-Z
-O
-0
-Q
-Q
-Q
-L
-Q
-C
-U
-J
-X
-X
-z
-c
-c
-c
-c
-c
-z
-z
-X
-Y
-Y
-U
-C
-L
-L
-Q
-Q
-L
-C
-J
-J
-U
-X
-c
-c
-u
-u
-c
-c
-Y
-J
-Q
-J
-0
-0
-Z
-d
-m
-Z
-Z
-0
-Z
-J
-U
-O
-Z
-L
-f
-0
-Z
-Z
-w
-k
-p
-M
-W
-W
-M
-k
-k
-h
-p
-Z
-w
-d
-p
-q
-w
-m
-q
-p
-w
-w
-w
-Z
-Z
-m
-m
-m
-m
-m
-m
-Z
-m
-m
-m
-m
-q
-m
-m
-m
-m
-Z
-O
-0
-Q
-Q
-Q
-0
-k
-b
-h
-a
-b
-h
-j
-k
-J
-v
-n
-m
-p
-w
-o
-h
-m
-w
-w
-o
-q
-#
-M
-W
-#
-W
-W
-*
-W
-#
-W
-Y
-v
-X
-a
-a
-a
-b
-X
-c
-c
-z
-X
-z
-/
-w
-(
-(
-/
-f
-c
-Q
-8
-n
-u
-r
-q
-a
-W
-W
-W
-#
-b
-p
-p
-b
-k
-*
-M
-&
-W
-W
-M
-&
-M
-J
-a
-W
-Z
-m
-m
-a
-Z
-)
-m
-Z
-Z
-L
-0
-L
-x
-c
-X
-c
-x
-C
-a
-%
-#
-k
-M
-o
-z
-@
-J
-o
-o
-o
-k
-a
-M
-M
-W
-#
-W
-8
-W
-w
-O
-n
-X
-x
-(
-Z
-%
-k
-k
-k
-m
-m
-Y
-j
-/
-k
-*
-C
-0
-d
-/
-a
-o
-d
-&
-$
-8
-W
-j
-Q
-o
-n
-f
-Z
-#
-W
-o
-#
-o
-k
-b
-p
-k
-p
-q
-q
-m
-#
-M
-Q
-p
-L
-}
-O
-t
-a
-h
-a
-d
-p
-u
-w
-m
-m
-Z
-Z
-Z
-0
-0
-L
-C
-L
-Q
-C
-U
-Y
-U
-U
-U
-U
-Y
-U
-J
-J
-C
-L
-L
-Q
-Q
-0
-O
-0
-C
-C
-J
-J
-Y
-Y
-Y
-C
-C
-C
-L
-Q
-0
-0
-J
-0
-0
-Z
-d
-m
-m
-Z
-O
-m
-J
-Y
-O
-Z
-v
-j
-Q
-Z
-Z
-q
-k
-p
-M
-W
-W
-M
-a
-k
-k
-w
-m
-q
-q
-p
-w
-m
-q
-q
-q
-Z
-Z
-Z
-Z
-Z
-m
-m
-m
-m
-Z
-Z
-Z
-m
-w
-w
-w
-q
-w
-m
-m
-Z
-m
-w
-w
-m
-w
-w
-p
-k
-h
-h
-U
-a
-f
-Z
-b
-b
-n
-Q
-b
-k
-k
-o
-Z
-Z
-m
-Z
-(
-p
-b
-a
-#
-o
-M
-8
-&
-M
-a
-W
-]
-x
-X
-a
-#
-m
-J
-X
-Y
-Y
-Z
-Y
-k
-?
-C
-|
-\
-v
-U
-Q
-a
-W
-f
-n
-p
-m
-W
-W
-M
-#
-h
-p
-q
-q
-p
-o
-#
-&
-W
-&
-W
-M
-C
-M
-c
-w
-#
-h
-U
-p
-a
-0
-{
-Z
-Z
-0
-0
-O
-0
-c
-X
-X
-X
-x
-Q
-|
-U
-#
-8
-8
-&
-[
-Y
-z
-a
-#
-o
-#
-a
-&
-&
-&
-B
-&
-U
-a
-m
-J
-x
-c
-n
-)
-J
-@
-d
-d
-d
-q
-m
-J
-x
-|
-d
-o
-o
-w
-a
-z
-a
-Q
-O
-*
-L
-\
-$
-j
-b
-x
-f
-*
-/
-M
-*
-h
-k
-h
-h
-q
-d
-q
-q
-w
-w
-p
-M
-#
-Q
-p
-0
-1
-0
-f
-a
-h
-a
-d
-p
-t
-w
-m
-m
-m
-m
-m
-Z
-O
-0
-Q
-L
-Q
-L
-C
-C
-C
-C
-C
-C
-C
-C
-C
-L
-L
-Q
-Q
-Q
-O
-Q
-Q
-Q
-Q
-L
-C
-Q
-C
-C
-C
-L
-L
-O
-0
-0
-O
-O
-J
-0
-0
-Z
-d
-m
-m
-O
-0
-L
-J
-Y
-O
-Z
-r
-x
-0
-Z
-Z
-q
-k
-d
-M
-W
-W
-M
-*
-a
-h
-d
-Z
-k
-b
-d
-p
-p
-p
-q
-q
-m
-Z
-O
-O
-Z
-Z
-m
-Z
-Z
-Z
-m
-Z
-m
-m
-m
-m
-w
-q
-w
-q
-w
-w
-w
-m
-w
-w
-m
-b
-a
-o
-p
-b
-b
-r
-d
-b
-b
-p
-b
-O
-h
-Z
-o
-Z
-Z
-Z
-O
-d
-o
-W
-#
-a
-o
-a
-W
-W
-W
-M
-B
-v
-J
-*
-O
-L
-C
-J
-J
-J
-w
-Q
-U
-*
-O
-C
-u
-L
-Q
-L
-a
-&
-M
-r
-k
-m
-M
-M
-M
-*
-a
-d
-p
-p
-d
-a
-#
-W
-W
-W
-W
-M
-M
-0
-(
-w
-J
-o
-#
-0
-h
-h
-J
-?
-0
-Q
-O
-L
-0
-Q
-Y
-U
-U
-Y
-c
-Z
-|
-c
-x
-8
-b
-%
-\
-C
-n
-#
-*
-o
-o
-o
-&
-&
-&
-&
-W
-M
-d
-C
-u
-t
-u
-n
-(
-&
-M
-p
-p
-q
-w
-p
-Z
-c
-8
-o
-o
-k
-Y
-J
-o
-M
-v
-w
-p
-M
-n
-n
-#
-X
-*
-x
-m
-h
-M
-b
-o
-J
-a
-b
-b
-d
-p
-w
-*
-p
-p
-a
-*
-p
-Y
-Z
-/
-Q
-t
-a
-h
-a
-d
-p
-(
-w
-m
-d
-m
-m
-m
-Z
-Z
-O
-0
-0
-0
-0
-Q
-Z
-m
-0
-L
-Z
-Q
-Q
-Q
-O
-O
-Z
-Z
-Z
-m
-Z
-Z
-O
-0
-Q
-Q
-Q
-Q
-Q
-0
-Z
-Z
-O
-O
-O
-O
-O
-C
-O
-0
-Z
-p
-m
-q
-w
-0
-C
-U
-X
-0
-Z
-j
-z
-O
-Z
-m
-p
-k
-d
-M
-M
-M
-M
-M
-h
-h
-p
-m
-b
-Z
-Z
-Z
-O
-O
-0
-O
-O
-O
-O
-O
-0
-0
-Z
-Z
-Z
-Z
-Z
-Z
-Z
-Z
-Z
-Z
-m
-m
-m
-m
-m
-m
-m
-m
-Z
-m
-O
-k
-h
-C
-n
-n
-h
-n
-b
-d
-Z
-b
-k
-k
-k
-m
-a
-m
-m
-m
-Z
-p
-Q
-&
-M
-&
-&
-h
-#
-#
-a
-a
-)
-U
-a
-0
-L
-L
-C
-C
-J
-0
-a
-C
-m
-q
-w
-U
-L
-L
-0
-8
-&
-M
-M
-x
-o
-a
-W
-#
-#
-a
-b
-d
-p
-d
-p
-o
-M
-&
-*
-M
-W
-M
-M
-&
-W
-M
-m
-#
-*
-L
-O
-d
-J
-?
-0
-0
-Q
-L
-0
-0
-Y
-U
-L
-U
-Y
-m
-u
-X
-u
-b
-%
-8
-8
-U
-z
-#
-o
-#
-*
-M
-%
-8
-&
-&
-&
-q
-L
-Y
-f
-(
-r
-x
-|
-@
-%
-q
-q
-m
-m
-b
-m
-Y
-h
-a
-b
-o
-m
-r
-*
-h
-Q
-X
-#
-#
-z
-C
-*
-*
-a
-w
-W
-h
-k
-w
-B
-J
-a
-k
-d
-q
-p
-q
-W
-k
-Z
-w
-b
-o
-v
-m
-x
-Q
-x
-a
-h
-a
-d
-p
-)
-m
-m
-b
-q
-m
-O
-O
-Z
-Z
-m
-O
-0
-0
-0
-Q
-0
-Q
-L
-m
-Z
-w
-m
-w
-w
-w
-w
-w
-m
-O
-O
-O
-0
-0
-O
-0
-0
-0
-O
-O
-O
-O
-O
-O
-0
-O
-C
-Z
-0
-Z
-p
-w
-q
-O
-Q
-L
-C
-Y
-Q
-Z
-j
-J
-O
-Z
-m
-p
-k
-d
-M
-M
-M
-M
-M
-h
-h
-p
-Q
-L
-b
-b
-b
-0
-Q
-Q
-z
-Z
-q
-O
-q
-k
-0
-Z
-Z
-O
-_
-Y
-\
-Q
-w
-m
-w
-0
-w
-m
-0
-m
-m
-J
-f
-{
-]
-b
-*
-u
-o
-Y
-n
-n
-n
-n
-a
-b
-b
-b
-L
-k
-L
-J
-Q
-Q
-Q
-C
-p
-1
-u
-M
-W
-8
-W
-k
-M
-p
-8
-J
-Q
-Z
-Z
-Z
-Q
-X
-J
-L
-a
-w
-a
-*
-Z
-m
-k
-C
-h
-z
-M
-W
-M
-W
-j
-M
-M
-o
-o
-h
-a
-k
-d
-b
-d
-a
-*
-M
-o
-o
-W
-M
-W
-M
-*
-w
-[
-8
-U
-a
-Q
-Y
-m
-L
-[
-0
-0
-C
-L
-0
-m
-X
-Y
-L
-C
-w
-h
-Y
-q
-0
-k
-&
-&
-q
-J
-X
-b
-o
-M
-*
-*
-&
-8
-&
-&
-|
-m
-X
-J
-1
-?
-\
-t
-)
-8
-W
-w
-m
-Z
-m
-p
-w
-8
-o
-Z
-b
-b
-o
-o
-k
-t
-k
-W
-q
-b
-Q
-k
-#
-*
-o
-a
-M
-o
-d
-q
-8
-0
-h
-a
-p
-b
-b
-p
-h
-k
-a
-Z
-#
-*
-L
-Z
-c
-L
-n
-h
-h
-h
-p
-p
-{
-b
-b
-d
-p
-p
-p
-J
-0
-w
-q
-q
-w
-q
-w
-O
-O
-O
-O
-w
-0
-w
-m
-m
-Z
-O
-O
-0
-r
-u
-L
-J
-U
-J
-L
-Q
-Q
-0
-O
-Z
-O
-Z
-Z
-Q
-O
-m
-C
-O
-0
-Z
-p
-w
-Z
-w
-Z
-O
-Q
-Z
-Z
-m
-t
-Q
-Z
-Z
-w
-k
-k
-d
-M
-M
-M
-M
-#
-k
-k
-q
-L
-Z
-w
-d
-b
-d
-p
-Q
-Q
-Q
-k
-h
-h
-h
-Q
-Z
-O
-Z
->
-Y
-{
-q
-0
-m
-w
-q
-p
-0
-Q
-0
-0
-z
-)
-Y
-0
-h
-b
-n
-b
-b
-k
-x
-h
-p
-b
-k
-b
-O
-O
-k
-U
-Y
-M
-c
-/
-0
-,
-&
-W
-M
-W
-#
-8
-o
-#
-W
-/
-L
-q
-q
-m
-L
-n
-v
-Y
-h
-k
-a
-#
-o
-Z
-m
-a
-M
-X
-O
-M
-W
-M
-k
-f
-W
-#
-h
-p
-b
-h
-d
-d
-d
-a
-*
-M
-#
-a
-#
-o
-W
-#
-M
-o
-o
-&
-(
-r
-d
-0
-0
-w
-Q
-)
-Q
-Q
-Z
-L
-O
-m
-X
-Y
-C
-J
-h
-p
-c
-q
-Z
-k
-$
-8
-o
-L
-Y
-O
-*
-#
-*
-8
-&
-8
-&
-&
-*
-d
-n
-j
-+
-_
-1
-(
-Y
-&
-Q
-m
-m
-0
-O
-m
-m
-M
-&
-C
-d
-a
-U
-d
-q
-b
-d
-&
-m
-a
-L
-M
-o
-p
-k
-d
-c
-Q
-Z
-p
-W
-h
-c
-k
-b
-p
-k
-d
-p
-p
-d
-q
-W
-M
-Q
-c
-X
-L
-x
-k
-k
-h
-p
-q
-[
-d
-p
-q
-w
-w
-w
-x
-J
-m
-p
-p
-p
-p
-p
-q
-O
-Z
-Z
-L
-z
-r
-Q
-O
-Z
-O
-O
-Z
-O
-w
-u
-\
-O
-J
-L
-O
-O
-0
-Z
-w
-m
-m
-Z
-J
-Q
-O
-z
-0
-0
-Z
-h
-d
-h
-a
-k
-h
-k
-h
-a
-a
-f
-0
-Z
-Z
-w
-a
-k
-b
-M
-M
-M
-M
-#
-d
-k
-O
-C
-O
-O
-m
-d
-d
-w
-0
-O
-Q
-k
-h
-k
-k
-Q
-O
-O
-{
-i
-Y
-+
-U
-m
-w
-q
-q
-p
-p
-Z
-Q
-L
-0
-J
-|
-o
-d
-b
-n
-d
-d
-b
-u
-d
-d
-p
-p
-L
-Z
-Z
-p
-z
-z
-x
-u
-\
-X
-0
-W
-*
-O
-h
-h
-8
-8
-M
-M
-f
-0
-q
-O
-O
-J
-z
-v
-w
-b
-a
-#
-#
-o
-k
-Z
-&
-J
-z
-M
-M
-M
-h
-x
-r
-W
-k
-d
-0
-b
-a
-b
-d
-b
-a
-*
-*
-a
-#
-W
-M
-M
-M
-#
-a
-w
-q
-#
-q
-v
-Q
-Z
-Y
-Z
-.
-O
-L
-p
-L
-O
-m
-Y
-J
-Q
-U
-k
-#
-0
-d
-q
-h
-]
-8
-#
-c
-}
-n
-*
-*
-#
-&
-%
-8
-8
-#
-w
-Y
-c
-)
-+
-<
-[
-}
-z
-#
-8
-8
-Z
-L
-L
-Q
-$
-8
-#
-#
-O
-h
-k
-a
-a
-o
-Z
-Q
-p
-o
-q
-&
-d
-w
-p
-q
-k
-Z
-b
-W
-J
-U
-j
-a
-k
-q
-q
-q
-w
-k
-p
-p
-w
-#
-0
-{
-z
-Q
-j
-k
-k
-k
-q
-w
-[
-q
-q
-w
-m
-w
-w
-q
-m
-w
-q
-q
-p
-d
-p
-Z
-0
-q
-m
-Q
-m
-0
-Q
-O
-Z
-C
-O
-Z
-Z
-Z
-m
-m
-p
-X
-r
-Y
-O
-Q
-Z
-m
-m
-Z
-m
-U
-J
-:
-r
-L
-0
-Z
-b
-h
-b
-d
-a
-a
-h
-a
-a
-a
-f
-Q
-0
-m
-q
-a
-h
-b
-M
-W
-M
-#
-#
-d
-b
-0
-C
-Q
-d
-m
-m
-m
-m
-0
-U
-0
-d
-k
-k
-k
-L
-Z
-O
-1
-l
-Y
-~
-Z
-C
-Q
-O
-q
-p
-q
-Z
-Q
-O
-C
-L
-h
-q
-k
-b
-x
-d
-d
-d
-d
-p
-p
-Z
-Y
-z
-0
-v
-v
-u
-x
-n
-r
-/
-j
-$
-{
-u
-J
-Q
-h
-8
-#
-p
-k
-Q
-m
-k
-O
-0
-O
-k
-a
-a
-a
-#
-#
-*
-o
-#
-#
-M
-L
-z
-M
-M
-h
-h
-|
-O
-h
-b
-O
-O
-p
-a
-k
-b
-a
-o
-#
-M
-h
-#
-M
-M
-M
-M
-a
-J
-Z
-#
-p
-m
-j
-o
-k
-L
-p
-/
-(
-L
-m
-L
-O
-w
-C
-C
-L
-U
-*
-k
-p
-w
-b
-o
-q
-M
-&
-}
-_
-l
-k
-a
-o
-M
-8
-%
-&
-f
-w
-z
-j
-{
-+
-~
--
-]
-#
-*
-$
-k
-Z
-L
-L
-Q
-$
-%
-a
-*
-W
-O
-m
-b
-b
-b
-w
-m
-q
-a
-a
-q
-d
-m
-q
-q
-b
-d
-a
-*
-M
-Q
-(
-a
-k
-b
-d
-b
-w
-M
-8
-b
-q
-M
-p
-0
-z
-C
-n
-b
-k
-k
-q
-m
-{
-q
-q
-w
-w
-w
-q
-Y
-m
-q
-m
-q
-p
-p
-p
-0
-m
-Z
-q
-q
-q
-0
-Q
-w
-L
-Z
-C
-Q
-Q
-m
-m
-m
-w
-q
-q
-d
-c
-v
-q
-m
-Z
-m
-m
-U
-v
-^
-?
-C
-Q
-0
-k
-a
-a
-a
-a
-a
-h
-a
-a
-*
-/
-C
-O
-m
-q
-a
-h
-k
-M
-M
-M
-#
-#
-p
-p
-0
-J
-Y
-Z
-m
-w
-q
-w
-w
-q
-Z
-d
-q
-Z
-0
-L
-O
-O
-~
-i
-X
-~
-t
-Y
-m
-Y
-q
-q
-p
-p
-Q
-L
-J
-q
-q
-h
-h
-n
-x
-b
-d
-p
-q
-q
-c
-v
-v
-n
-0
-x
-n
-Y
-x
-u
-v
-*
-&
-M
-n
-J
-Y
-m
-0
-o
-8
-#
-8
-Q
-w
-p
-0
-k
-a
-a
-o
-o
-*
-#
-M
-*
-a
-k
-#
-B
-C
-c
-M
-#
-m
-a
-/
-a
-p
-q
-0
-Q
-p
-a
-a
-a
-o
-#
-M
-o
-#
-M
-M
-M
-M
-*
-o
-p
-m
-M
-*
-*
-(
--
-z
-|
-q
-r
-L
-C
-Q
-0
-Z
-w
-Z
-0
-L
-Y
-o
-M
-k
-h
-h
-#
-O
-8
-&
-}
-[
-!
-L
-J
-k
-*
-&
-8
-8
-#
-Q
-n
-C
-]
-<
-+
--
-}
-a
-k
-b
-u
-k
-L
-L
-@
-W
-8
-L
-a
-#
-Z
-Q
-w
-d
-d
-q
-O
-k
-O
-C
-d
-a
-q
-m
-q
-O
-o
-k
-Q
-L
-U
-k
-o
-a
-h
-p
-k
-q
-h
-q
-d
-p
-d
-#
-C
-z
-Z
-|
-b
-k
-b
-w
-m
-\
-w
-O
-c
-v
-z
-c
-z
-U
-Z
-Z
-m
-p
-p
-p
-0
-p
-q
-w
-q
-q
-q
-0
-m
-q
-q
-C
-Q
-Q
-Q
-0
-m
-q
-q
-q
-q
-q
-d
-Q
-c
-m
-m
-m
-Y
-n
-`
-"
-C
-L
-0
-o
-o
-h
-a
-a
-a
-h
-a
-a
-#
-\
-C
-Z
-w
-p
-o
-h
-k
-M
-M
-M
-M
-#
-p
-p
-L
-U
-X
-J
-b
-q
-m
-J
-z
-C
-Q
-O
-m
-w
-O
-L
-O
-O
-!
-i
-X
-<
-c
-{
-U
-O
-w
-q
-w
-p
-Q
-C
-C
-L
-q
-o
-L
-j
-u
-u
-p
-d
-p
-z
-u
-u
-u
-X
-0
-v
-u
-w
-v
-n
-v
-X
-&
-*
-X
-q
-b
-q
-b
-a
-W
-W
-$
-L
-h
-m
-o
-a
-a
-o
-a
-o
-#
-M
-#
-#
-h
-k
-#
-U
-U
-v
-h
-q
-J
-#
-\
-d
-w
-Q
-0
-m
-p
-h
-o
-a
-o
-#
-#
-a
-#
-a
-M
-#
-#
-a
-z
-w
-Z
-#
-M
-*
-C
-x
-c
-p
-d
-j
-f
-Q
-Q
-0
-m
-q
-p
-0
-Q
-J
-a
-#
-a
-h
-b
-h
-&
-&
-8
-\
-+
->
-z
-f
-r
-a
-W
-8
-%
-Q
-X
-c
-f
-?
-+
-<
-]
-\
-q
-q
-b
-$
-&
-L
-C
-k
-h
-8
-@
-b
-o
-*
-W
-0
-p
-m
-O
-0
-Q
-b
-o
-d
-&
-a
-p
-Z
-w
-#
-b
-k
-x
-z
-Q
-n
-k
-b
-p
-d
-q
-Z
-#
-o
-C
-w
-#
-C
-c
-f
-(
-Z
-b
-b
-w
-Z
-x
-Y
-Y
-v
-r
-n
-z
-X
-Y
-Z
-O
-p
-d
-d
-p
-p
-p
-q
-q
-q
-q
-q
-w
-m
-p
-Z
-0
-L
-0
-0
-Q
-O
-Z
-Z
-q
-q
-q
-p
-d
-b
-h
-0
-w
-Y
-n
-^
->
-C
-Q
-0
-a
-a
-h
-a
-a
-a
-h
-a
-a
-h
-\
-L
-Z
-w
-p
-o
-h
-a
-M
-M
-M
-M
-#
-k
-q
-L
-Y
-q
-q
-w
-d
-w
-q
-m
-q
-Z
-m
-w
-q
-q
-0
-0
-O
->
->
-Y
-<
-z
-c
-?
-t
-Z
-m
-Q
-q
-O
-J
-U
-O
-w
-x
-X
-d
-c
-p
-0
-p
-t
-U
-Y
-Y
-/
-L
-X
-u
-v
-z
-h
-v
-J
-O
-W
-*
-Q
-b
-a
-o
-a
-q
-p
-*
-%
-0
-h
-a
-a
-a
-a
-o
-*
-#
-#
-M
-#
-h
-#
-o
-#
-J
-c
-r
-d
-c
-z
-o
-1
-m
-Z
-Q
-L
-m
-d
-h
-a
-o
-#
-M
-#
-*
-M
-M
-W
-M
-a
-a
-p
-m
-Z
-#
-#
-*
-k
-U
-o
-l
-k
-n
-n
-L
-0
-0
-m
-p
-p
-Z
-0
-U
-o
-W
-*
-k
-#
-Q
-x
-8
-Y
-/
-+
-_
-Y
-j
-f
-k
-M
-8
-x
-0
-z
-u
-|
--
-+
-~
-]
-X
-q
-0
-b
-@
-\
-q
-#
-a
-b
-8
-@
-0
-h
-k
-a
-q
-c
-U
-w
-q
-v
-d
-#
-d
-k
-M
-a
-k
-h
-M
-Q
-*
-U
-z
-J
-x
-a
-k
-b
-d
-b
-q
-M
-o
-O
-X
-q
-O
-J
-a
-Q
-L
-d
-b
-m
-Z
-u
-Y
-z
-x
-I
-t
-c
-z
-Q
-Z
-m
-d
-d
-p
-p
-p
-p
-p
-q
-q
-p
-q
-q
-w
-p
-0
-q
-p
-Q
-Z
-0
-Z
-p
-O
-Z
-Z
-m
-q
-p
-d
-b
-k
-k
-Y
-n
-^
-}
-C
-Q
-Q
-k
-a
-b
-h
-a
-a
-h
-a
-a
-p
-f
-C
-Z
-q
-p
-o
-h
-a
-M
-M
-M
-M
-#
-k
-m
-Q
-U
-m
-w
-w
-d
-d
-d
-p
-w
-q
-q
-q
-p
-q
-Q
-O
-O
-~
-<
-X
-~
-U
-X
-X
-U
-[
-u
-C
-Q
-J
-J
-C
-O
-U
-w
-C
-h
-b
-p
-L
-Q
-C
-(
-)
-z
-n
-Y
-m
-m
-w
-O
-L
-J
-0
-0
-B
-W
-q
-o
-k
-a
-O
-a
-Z
-h
-p
-k
-h
-a
-a
-a
-a
-o
-#
-#
-#
-o
-a
-#
-a
-a
-0
-v
-x
-h
-z
-c
-X
-M
-\
-O
-O
-Q
-Q
-m
-d
-a
-o
-o
-*
-#
-*
-M
-#
-M
-#
-o
-o
-c
-m
-w
-Z
-#
-*
-*
-o
-O
-h
-o
-k
-(
-Y
-C
-Q
-Z
-m
-p
-p
-O
-O
-C
-*
-W
-#
-m
-h
-*
-8
-8
-$
-t
-_
-f
-L
-z
-j
-a
-&
-&
-Z
-Q
-X
-n
-}
-_
-<
-+
-t
-w
-d
-U
-d
-d
-/
-8
-\
-*
-p
-&
-%
-%
-k
-o
-k
-k
-k
-0
-0
-d
-o
-@
-Q
-Z
-b
-M
-k
-a
-#
-8
-M
-a
-X
-L
-Q
-n
-h
-h
-b
-k
-m
-b
-d
-k
-8
-c
-x
-o
-t
-k
-r
-\
-d
-d
-Z
-Z
-z
-X
-c
-f
-.
-)
-n
-Y
-O
-Z
-p
-d
-p
-p
-p
-p
-p
-q
-w
-0
-0
-q
-p
-m
-O
-Z
-q
-Z
-q
-m
-w
-O
-p
-O
-Z
-Z
-m
-m
-m
-d
-b
-k
-k
-Y
-c
-"
-t
-C
-Q
-Q
-b
-a
-d
-a
-a
-a
-a
-a
-a
-m
-f
-L
-w
-q
-d
-a
-h
-o
-M
-M
-M
-M
-#
-h
-O
-O
-U
-q
-d
-d
-d
-b
-p
-p
-q
-q
-p
-p
-q
-q
-0
-0
-0
-_
-~
-X
-_
-J
-J
-Y
-U
-C
-|
-U
-m
-Q
-Q
-C
-Q
-0
-w
-U
-m
-q
-p
-Q
-C
-C
-L
-0
-r
-x
-/
-x
-x
-v
-z
-c
-z
-U
-Q
-r
-#
-*
-#
-h
-h
-b
-q
-w
-W
-X
-b
-h
-a
-a
-a
-a
-o
-a
-a
-a
-*
-a
-a
-(
-w
-J
-/
-r
-J
-c
-z
-X
-W
-v
-O
-O
-L
-Q
-w
-q
-h
-a
-a
-#
-*
-#
-M
-M
-#
-a
-a
-w
-O
-m
-m
-O
-a
-#
-o
-o
-C
-b
-o
-h
-Z
-j
-w
-0
-m
-w
-p
-d
-O
-O
-C
-#
-M
-M
-k
-b
-#
-&
-&
-a
-f
-?
-w
-m
-U
-x
-o
-&
-&
-m
-L
-Y
-z
--
-_
-<
-+
--
-d
-p
-z
-d
-b
-%
-r
-M
-w
-b
-W
-8
-8
-8
-%
-#
-&
-@
-@
-p
-M
-o
-W
-J
-C
-0
-*
-o
-*
-M
-&
-M
-o
-v
-n
-0
-m
-x
-k
-k
-a
-p
-p
-Z
-#
-k
-C
-c
-v
-x
-b
-J
-j
-p
-p
-Z
-q
-Y
-Y
-X
-L
-,
-f
-X
-C
-q
-Z
-m
-w
-Z
-p
-p
-p
-q
-q
-q
-p
-p
-p
-q
-p
-m
-Z
-m
-m
-p
-q
-w
-w
-q
-q
-Z
-Z
-Z
-O
-m
-p
-q
-q
-k
-Y
-z
-:
-c
-C
-C
-Q
-h
-b
-h
-a
-a
-a
-a
-a
-o
-m
-f
-C
-q
-q
-k
-a
-h
-o
-M
-M
-M
-M
-#
-a
-O
-O
-U
-q
-d
-q
-d
-p
-d
-q
-q
-w
-m
-Z
-Z
-0
-Y
-0
-0
-?
-~
-X
--
-J
-J
-J
-U
-C
-U
-U
-Y
-C
-C
-L
-Q
-0
-C
-q
-w
-p
-0
-C
-L
-C
-J
-L
-X
-f
-x
-z
-C
-Q
-L
-Q
-X
-J
-Q
-X
-W
-&
-W
-M
-#
-b
-a
-Q
-Z
-(
-b
-h
-a
-a
-a
-o
-a
-a
-#
-o
-o
-q
-d
-Q
-a
-J
-?
-t
-/
-n
-z
-X
-&
-z
-O
-/
-q
-b
-O
-q
-k
-o
-a
-#
-o
-M
-#
-#
-o
-k
-o
-j
-Q
-w
-m
-0
-p
-#
-#
-o
-Z
-u
-*
-h
-q
-f
-h
-0
-Z
-p
-p
-p
-Q
-O
-J
-#
-&
-q
-*
-k
-W
-&
-k
-w
-/
-?
-p
-0
-L
-O
-o
-&
-%
-p
-L
-X
-(
-_
-+
-~
-<
-[
-d
-p
-0
-d
-p
-@
-u
-a
-L
-M
-W
-W
-&
-8
-W
-&
-8
-B
-W
-o
-M
-p
-k
-J
-U
-b
-o
-o
-o
-%
-&
-#
-&
-u
-r
-Z
-w
-r
-h
-b
-d
-d
-d
-m
-q
-k
-o
-v
-X
-u
-b
-Y
-\
-p
-p
-Z
-q
-Y
-X
-Y
-U
-u
-n
-X
-w
-d
-p
-p
-q
-q
-p
-p
-m
-p
-q
-q
-q
-q
-Z
-p
-m
-p
-p
-p
-m
-m
-d
-w
-w
-q
-q
-q
-q
-O
-w
-m
-d
-m
-w
-p
-Y
-Y
-;
-U
-C
-L
-0
-k
-k
-a
-a
-a
-a
-a
-a
-o
-m
-j
-C
-q
-d
-k
-a
-h
-o
-M
-M
-M
-M
-#
-a
-O
-Z
-U
-q
-k
-w
-p
-p
-q
-m
-0
-L
-Q
-C
-C
-J
-Y
-O
-0
-}
--
-Y
-]
-Y
-C
-J
-J
-U
-U
-Y
-J
-j
-Q
-J
-L
-0
-Q
-q
-0
-Q
-L
-0
-0
-L
-L
-Q
-Q
-L
-0
-Z
-Z
-w
-q
-m
-m
-w
-m
-Q
-&
-&
-W
-&
-a
-*
-*
-m
-Y
-v
-b
-h
-a
-a
-a
-a
-a
-a
-h
-b
-d
-w
-/
-d
-k
-Q
-\
-t
-_
-;
-f
-U
-a
-r
-O
-\
-o
-O
-m
-q
-p
-h
-#
-#
-*
-M
-*
-k
-p
-h
-m
-0
-0
-m
-Z
-Q
-k
-*
-#
-*
-J
-j
-h
-h
-p
-x
-0
-Z
-m
-p
-d
-p
-Q
-O
-L
-*
-#
-W
-&
-d
-8
-C
-C
-O
-r
-1
-q
-d
-w
-b
-*
-8
-d
-q
-Q
-O
-)
-~
-~
-<
-<
-?
-d
-b
-w
-p
-d
-k
-\
-o
-X
-@
-&
-W
-W
-&
-o
-&
-M
-h
-a
-a
-#
-w
-h
-J
-b
-Q
-k
-#
-b
-B
-&
-%
-%
-w
-x
-z
-a
-b
-a
-h
-o
-a
-b
-b
-p
-w
-W
-o
-O
-Y
-a
-x
-1
-L
-p
-Z
-w
-Y
-X
-U
-C
-c
-X
-d
-d
-d
-d
-d
-p
-p
-p
-p
-q
-w
-q
-q
-q
-q
-q
-Q
-q
-m
-p
-p
-Z
-d
-q
-0
-Z
-q
-q
-q
-q
-q
-p
-q
-w
-w
-q
-d
-Y
-Y
-!
-Q
-C
-L
-Z
-d
-a
-a
-a
-a
-o
-a
-a
-o
-w
-n
-L
-q
-p
-h
-a
-h
-o
-M
-M
-M
-M
-#
-o
-Z
-Z
-Y
-q
-b
-m
-Z
-m
-q
-O
-Y
-c
-Q
-C
-U
-J
-Z
-0
-0
-|
-?
-Y
-[
-J
-t
-U
-Y
-Y
-X
-Y
-Y
-C
-r
-v
-L
-Q
-Z
-q
-0
-L
-0
-Z
-O
-O
-Q
-0
-Q
-O
-Q
-O
-m
-w
-m
-m
-m
-q
-C
-c
-Z
-&
-W
-#
-M
-a
-M
-*
-Z
-f
-b
-h
-h
-a
-a
-a
-&
-f
-b
-k
-q
-p
-f
-Z
-J
-x
-+
-/
--
->
-,
-r
-m
-c
-Z
-|
-h
-Z
-m
-w
-p
-a
-*
-o
-#
-p
-a
-b
-k
-k
-t
-\
-n
-m
-O
-Q
-k
-#
-#
-o
-X
-t
-x
-h
-d
-n
-O
-Z
-w
-q
-d
-d
-Q
-0
-C
-M
-&
-M
-b
-&
-8
-z
-k
-Q
-Y
-[
-m
-b
-q
-p
-#
-&
-J
-d
-0
-L
-)
-<
-<
-~
-f
-0
-b
-h
-q
-p
-p
-X
-B
-O
-c
-%
-&
-&
-&
-*
-a
-M
-#
-a
-a
-o
-Z
-d
-J
-k
-b
-L
-p
-#
-d
-8
-%
-@
-k
-q
-Y
-/
-Y
-z
-a
-k
-h
-o
-k
-b
-m
-m
-p
-W
-k
-#
-p
-Y
-)
-\
-q
-O
-O
-X
-X
-J
-C
-Z
-J
-d
-d
-d
-d
-d
-p
-p
-p
-p
-p
-p
-q
-q
-m
-q
-p
-m
-q
-q
-p
-p
-Z
-d
-O
-0
-O
-Z
-O
-q
-q
-p
-p
-d
-d
-b
-q
-b
-X
-z
->
-Z
-C
-L
-m
-d
-a
-a
-a
-o
-a
-a
-a
-o
-q
-c
-Q
-q
-p
-h
-a
-h
-a
-M
-M
-M
-M
-#
-o
-O
-m
-Y
-w
-k
-q
-w
-m
-m
-0
-U
-z
-L
-Q
-J
-X
-J
-0
-0
-j
-]
-Y
-}
-U
-}
-X
-c
-Y
-X
-Y
-Y
-J
-J
-Q
-r
-0
-Q
-0
-0
-L
-J
-m
-w
-Z
-O
-Z
-0
-m
-Z
-m
-m
-w
-m
-Z
-Z
-p
-O
-O
-0
-M
-q
-o
-o
-#
-*
-h
-L
-1
-b
-h
-h
-a
-o
-]
-c
-{
-b
-d
-q
-q
-t
-m
-Q
-1
-f
-Z
-?
-_
-_
--
-J
-m
-0
-d
-k
-q
-q
-p
-p
-*
-*
-#
-M
-*
-k
-o
-k
-O
-J
-j
-|
-m
-0
-Q
-J
-*
-*
-#
-C
-r
-/
-*
-p
-z
-v
-m
-q
-p
-p
-d
-0
-Q
-C
-M
-8
-8
-#
-o
-8
-8
-&
-q
-U
-}
-O
-m
-w
-b
-&
-B
-q
-k
-O
-Y
-_
-<
-~
-+
-?
-w
-b
-a
-q
-q
-q
-8
-M
-}
-t
-%
-8
-W
-h
-a
-M
-#
-#
-h
-o
-o
-0
-W
-0
-C
-Y
-C
-w
-b
-d
-&
-@
-&
-p
-w
-X
-t
-t
-Q
-M
-d
-k
-k
-d
-d
-p
-k
-a
-q
-M
-o
-*
-X
-}
-f
-\
-0
-O
-X
-z
-C
-L
-C
-C
-d
-d
-d
-d
-d
-p
-p
-p
-p
-q
-q
-q
-q
-O
-Z
-q
-w
-m
-q
-p
-p
-p
-m
-w
-O
-Z
-p
-O
-Z
-m
-m
-d
-d
-b
-b
-b
-a
-Y
-u
-<
-O
-L
-Q
-m
-h
-a
-o
-o
-o
-o
-o
-a
-o
-d
-J
-0
-p
-w
-h
-h
-h
-a
-M
-M
-M
-M
-M
-o
-Z
-m
-J
-m
-k
-q
-q
-m
-Z
-p
-X
-U
-0
-L
-J
-X
-u
-O
-O
-u
-}
-X
-{
-J
-1
-c
-\
-v
-X
-X
-Y
-Y
-J
-C
-L
-)
-L
-L
-0
-L
-Q
-Z
-q
-m
-Z
-w
-d
-w
-w
-w
-w
-m
-0
-Z
-Z
-d
-m
-m
-0
-q
-L
-M
-m
-#
-a
-k
-Z
->
-/
-Z
-M
-B
-)
-(
-Y
-k
-d
-b
-p
-d
-z
-k
-Q
-t
-)
-j
-]
-]
-?
-}
-J
-k
-0
-p
-q
-b
-w
-q
-k
-M
-#
-W
-#
-a
-a
-o
-m
-x
-u
-n
-/
-m
-O
-Q
-C
-#
-#
-o
-*
-u
-|
-v
-p
-L
-u
-m
-w
-p
-p
-p
-Q
-Q
-C
-#
-W
-%
-B
-o
-#
-&
-&
-&
-U
-|
-p
-w
-p
-b
-#
-B
-p
-o
-m
-v
--
-~
--
-?
-[
-q
-p
-w
-q
-q
-q
-b
-M
-)
-/
-8
-B
-a
-k
-a
-o
-*
-*
-a
-b
-p
-m
-q
-L
-J
-Y
-C
-m
-m
-a
-&
-@
-8
-k
-w
-J
-/
-f
-W
-f
-k
-a
-a
-h
-p
-d
-a
-d
-q
-#
-#
-#
-k
-j
-b
-j
-}
-O
-X
-z
-C
-J
-U
-J
-d
-d
-d
-p
-p
-p
-p
-p
-p
-q
-q
-w
-q
-q
-q
-q
-q
-Z
-Z
-p
-p
-d
-Z
-m
-O
-O
-p
-O
-m
-m
-w
-w
-w
-b
-b
-k
-o
-J
-r
-~
-0
-Q
-Q
-w
-k
-k
-o
-o
-o
-a
-o
-o
-o
-w
-Q
-0
-p
-w
-h
-h
-h
-a
-M
-M
-M
-M
-M
-a
-q
-q
-Q
-O
-h
-q
-q
-p
-d
-X
-d
-q
-J
-L
-J
-Y
-c
-0
-0
-z
-}
-z
-)
-v
-)
-X
-/
-t
-f
-x
-c
-Y
-J
-C
-C
-U
-L
-j
-m
-Q
-0
-w
-w
-Z
-Z
-q
-b
-q
-m
-b
-k
-p
-p
-k
-b
-p
-q
-Z
-O
-J
-c
-w
-q
-o
-#
-M
-m
->
-[
-}
-j
-&
-u
-v
-X
-d
-d
-p
-d
-/
-b
-Z
-Q
--
-t
-[
-}
-[
-}
-(
-/
-k
-(
-u
-O
-m
-p
-p
-p
-h
-M
-M
-#
-o
-a
-k
-U
-z
-c
-c
-x
-Z
-O
-0
-0
-#
-o
-o
-a
-*
-u
-/
-q
-m
-z
-m
-p
-p
-d
-p
-0
-C
-J
-M
-&
-8
-8
-8
-W
-8
-&
-&
-8
-p
-b
-b
-p
-a
-W
-B
-W
-#
-q
-v
-[
-[
-}
-{
-}
-k
-p
-p
-q
-q
-q
-q
-W
-k
-}
-U
-h
-p
-p
-b
-o
-o
-*
-a
-b
-Z
-p
-&
-C
-U
-z
-p
-Z
-q
-&
-M
-@
-&
-B
-q
-m
-t
-Z
-8
-Q
-m
-O
-J
-m
-)
-|
-m
-*
-W
-M
-p
-b
-Z
-m
-M
-M
-1
-c
-c
-X
-O
-C
-C
-O
-p
-d
-d
-d
-p
-p
-p
-p
-q
-w
-w
-w
-w
-q
-q
-q
-q
-q
-p
-p
-p
-Z
-w
-d
-d
-Z
-Z
-m
-m
-w
-m
-m
-q
-q
-p
-d
-o
-L
-/
-+
-Q
-0
-0
-w
-b
-k
-o
-o
-o
-a
-o
-o
-o
-X
-C
-O
-b
-q
-h
-h
-h
-h
-o
-M
-M
-M
-M
-o
-p
-p
-O
-O
-k
-p
-q
-d
-b
-C
-v
-X
-Z
-L
-U
-Z
-n
-O
-O
-X
-{
-c
-1
-Y
-(
-U
-\
-u
-r
-n
-f
-U
-J
-L
-Q
-Q
-Z
-w
-L
-Q
-d
-p
-d
-q
-m
-q
-C
-u
-|
--
-_
-<
-i
->
->
-!
->
-<
-i
-!
->
-~
-1
-|
-r
-w
-u
-<
-[
-[
-[
-Z
-c
-n
-C
-b
-q
-q
-d
-\
-Z
-J
-/
-_
-l
-L
-1
-}
-{
-x
-f
-w
->
-<
-f
-C
-C
-q
-p
-b
-M
-M
-#
-o
-k
-Z
-u
-X
-Y
-z
-c
-Z
-Z
-0
-0
-#
-M
-o
-k
-a
-o
-|
-p
-p
-c
-p
-p
-d
-p
-d
-Z
-J
-J
-o
-&
-8
-W
-8
-8
-8
-&
-&
-W
-q
-p
-k
-b
-a
-M
-M
-&
-a
-d
-Y
-1
-1
-(
-|
-w
-q
-q
-q
-q
-q
-q
-q
-M
-h
-_
-f
-b
-w
-m
-b
-h
-k
-a
-k
-b
-m
-a
-q
-b
-m
-p
-L
-p
-q
-#
-W
-$
-&
-$
-q
-p
-v
-q
-u
-Y
-z
-z
-X
-z
-Y
-Y
-Q
-{
-|
-]
-j
-u
-}
-}
-}
-[
-{
-~
--
--
-?
-]
-?
-+
-l
-_
-?
-f
-v
-Q
-b
-h
-b
-q
-w
-w
-w
-q
-q
-q
-Z
-q
-q
-p
-p
-p
-b
-m
-m
-b
-p
-p
-m
-q
-d
-m
-q
-k
-p
-a
-a
-0
-(
-_
-0
-0
-0
-m
-h
-o
-o
-o
-o
-a
-o
-o
-*
-r
-C
-Z
-k
-w
-h
-h
-h
-h
-X
-M
-M
-M
-M
-a
-d
-q
-m
-Q
-k
-p
-k
-h
-U
-0
-v
-c
-w
-Q
-U
-Q
-Z
-O
-O
-X
-1
-X
-/
-Y
-/
-n
-\
-Y
-Y
-C
-Y
-r
-\
-]
->
-;
-,
-"
-I
-;
-l
-!
-i
->
-i
-i
-<
-<
-<
-<
->
-<
-<
-~
-<
--
-_
-+
-+
-+
-<
-<
-~
-_
-1
-\
->
-<
-{
-?
-}
-/
-Q
-p
-h
-p
-p
-b
-d
-\
-0
-Q
-)
-<
-"
-p
-)
-1
-1
-
-t
-Z
-?
-_
-+
-z
-U
-O
-d
-k
-M
-M
-#
-k
-b
-z
-J
-Y
-X
-X
-z
-C
-Z
-0
-Q
-W
-M
-b
-O
-a
-*
-o
-w
-p
-Y
-w
-p
-p
-p
-p
-Z
-U
-J
-W
-W
-8
-W
-8
-W
-8
-8
-W
-%
-&
-&
-b
-a
-a
-M
-#
-W
-k
-a
-Q
-|
-\
-t
-j
-a
-d
-q
-q
-q
-q
-q
-q
-%
-a
-k
-(
-J
-J
-O
-p
-d
-k
-h
-b
-p
-m
-o
-0
-C
-q
-q
-k
-o
-p
-#
-W
-B
-&
-#
-p
-d
-v
-o
-L
-w
-Q
-Y
-X
-Y
-U
-X
-z
-0
-Q
-L
-}
-:
-i
-{
-%
-z
-j
-f
-(
-\
-]
-+
--
-?
-<
-+
-<
->
-<
-l
->
-,
-,
-l
-;
-I
-;
-_
-f
-0
-w
-q
-h
-b
-d
-d
-p
-q
-q
-k
-p
-d
-d
-b
-q
-q
-p
-k
-p
-d
-h
-O
-1
-_
-0
-0
-O
-m
-a
-o
-o
-o
-o
-a
-o
-o
-*
-f
-C
-m
-k
-q
-h
-h
-h
-h
-U
-M
-M
-M
-M
-o
-k
-q
-q
-Q
-d
-w
-d
-q
-C
-Z
-m
-v
-0
-Q
-C
-X
-O
-O
-O
-X
-(
-(
-{
-_
-~
-<
-!
-^
-^
-^
-^
-^
-"
-:
-,
-I
-l
-!
-!
-i
->
-i
->
-q
-8
-O
-u
--
--
--
--
--
-?
-?
-?
-?
-]
-[
-}
-{
-{
-[
-]
--
-_
-?
->
->
-{
-?
-{
-/
-L
-C
-p
-p
-d
-d
-u
-q
-p
-0
-r
-I
-
-(
-(
-(
-z
-
-/
-0
-(
-[
-}
-}
-c
-L
-q
-b
-#
-#
-a
-p
-Q
-v
-J
-J
-C
-J
-U
-Y
-Z
-Q
-0
-M
-W
-k
-x
-\
-)
-)
-d
-p
-m
-q
-p
-p
-p
-k
-m
-J
-J
-h
-W
-W
-W
-8
-*
-C
-x
-@
-&
-%
-8
-Z
-w
-p
-W
-W
-#
-w
-o
-q
-r
-x
-v
-J
-b
-w
-q
-q
-q
-q
-q
-q
-M
-a
-q
-?
-n
-X
-0
-m
-d
-k
-k
-p
-p
-m
-q
-0
-k
-z
-X
-o
-h
-p
-*
-M
-b
-W
-#
-@
-k
-O
-n
-p
-u
-J
-U
-C
-C
-X
-c
-C
-L
-O
-b
-b
-Y
-U
-o
-x
-{
-1
-)
-`
-?
-.
-j
-z
-n
-U
-x
-j
-X
-/
-x
-(
-1
-?
-_
-?
-+
-<
-l
-!
-!
-I
-!
->
-i
-<
-!
-l
-!
-i
-i
-|
-J
-Z
-k
-k
-k
-d
-p
-b
-a
-o
-O
-]
--
-0
-O
-O
-Z
-o
-o
-o
-o
-o
-o
-o
-o
-h
-f
-J
-q
-b
-q
-h
-a
-h
-h
-m
-M
-M
-M
-M
-o
-h
-m
-q
-L
-Z
-k
-m
-L
-C
-J
-m
-L
-x
-w
-Z
-Q
-m
-O
-Z
-v
-l
-!
-l
-l
-I
-I
-:
-,
-"
-"
-,
-;
-l
-l
-!
->
-i
-!
-i
-<
-)
-(
-L
-O
-q
-k
-d
-z
-0
-f
-t
-f
-f
-j
-f
-j
-f
-f
-f
-t
-\
-(
-1
-{
-}
-/
-_
-<
-}
-]
-}
-f
-C
-L
-p
-d
-b
-q
-)
-w
-b
-Y
-|
-`
-
-/
-\
-\
-
-
-/
-0
-|
-{
-{
-|
-t
-C
-w
-d
-k
-*
-a
-w
-z
-C
-C
-J
-J
-C
-C
-J
-Z
-0
-O
-o
-W
-w
-t
-p
-*
-#
-w
-k
-Z
-q
-p
-q
-p
-h
-O
-J
-J
-M
-M
-&
-W
-8
-&
-&
-i
-?
-a
-h
-u
-W
-O
-q
-O
-b
-*
-W
-*
-k
-J
-J
-J
-o
-Z
-q
-q
-q
-w
-q
-q
-q
-X
-o
-k
-0
-\
-n
-C
-L
-q
-b
-h
-b
-k
-q
-w
-p
-k
-c
-Y
-m
-q
-o
-o
-h
-w
-M
-q
-B
-a
-p
-u
-b
-0
-0
-m
-0
-U
-z
-C
-J
-C
-b
-z
-w
-C
-J
-\
-1
-1
-1
-1
-1
-|
-{
-n
-J
-z
-C
-J
-X
-U
-Y
-C
-v
-U
-u
-\
-)
-)
-1
-1
-}
-?
-+
-_
-]
-}
-]
-}
-[
-}
-_
-+
->
-+
-?
-l
-L
-a
-h
-h
-a
-h
-o
-Z
-+
--
-O
-O
-O
-m
-o
-o
-o
-o
-o
-o
-o
-o
-p
-/
-Y
-p
-d
-q
-h
-h
-h
-h
-O
-M
-M
-M
-M
-o
-h
-Q
-q
-C
-p
-k
-k
-q
-w
-m
-Z
-v
-m
-Q
-w
-Z
-/
-L
-i
-<
-<
->
-i
->
-i
-l
-l
-l
-i
-_
-?
-}
-1
-(
-(
-(
-)
-/
-/
-f
-f
-m
-X
-p
-O
-Z
-q
-w
-p
-c
-p
-n
-v
-u
-u
-n
-n
-n
-x
-r
-f
-j
-f
-f
-j
-q
-]
-[
-[
-[
-{
-J
-L
-p
-d
-d
-q
-m
-{
-L
-Q
-\
--
-
-
-]
-c
-X
-
-
-\
-O
-\
-1
-)
-]
-|
-X
-q
-d
-k
-o
-a
-p
-J
-O
-0
-Q
-C
-C
-C
-C
-Z
-Z
-Z
-W
-a
-J
-m
-Z
-z
-u
-v
-#
-p
-p
-q
-p
-p
-k
-O
-U
-Q
-a
-M
-W
-W
-8
-M
-8
-z
-8
-c
-v
-W
-W
-&
-b
-)
-_
-i
-t
-&
-p
-Z
-b
-U
-k
-p
-d
-q
-q
-w
-q
-w
-q
-{
-o
-b
-a
-1
-v
-O
-p
-h
-#
-h
-k
-k
-w
-m
-o
-C
-c
-J
-C
-q
-#
-o
-#
-X
-#
-O
-a
-b
-a
-a
-h
-o
-a
-b
-C
-J
-0
-L
-0
-h
-k
-w
-q
-L
-x
-f
-1
-1
-\
-\
-1
-}
-}
-~
-\
-0
-m
-d
-w
-m
-O
-C
-C
-Z
-0
-C
-0
-Q
-L
-Q
-X
-Q
-n
-z
-z
-v
-X
-c
-U
-n
-c
-r
-f
-u
-\
-\
-x
-u
-z
-a
-b
-h
-h
-Z
-+
-?
-O
-O
-O
-w
-o
-o
-o
-o
-o
-o
-o
-o
-Z
-|
-J
-d
-q
-q
-h
-h
-h
-k
-M
-&
-M
-M
-M
-o
-h
-L
-q
-Y
-q
-k
-b
-k
-m
-b
-m
-p
-Z
-m
-Q
-x
-_
->
-~
--
-}
-\
-/
-j
-t
-j
-j
-r
-r
-x
-r
-r
-n
-n
-n
-v
-c
-c
-c
-z
-c
-]
-w
-q
-Q
-L
-O
-Z
-0
-Q
-J
-J
-*
-C
-J
-J
-U
-Y
-X
-Y
-X
-U
-X
-c
-v
-1
-[
-[
-[
-{
-x
-J
-C
-q
-d
-p
-m
-w
-f
-Z
-L
-r
-;
-
-
-'
-j
-
-
-
-\
-0
-t
-|
-|
-1
-|
-X
-Z
-p
-b
-k
-k
-O
-w
-o
-w
-Z
-m
-O
-0
-0
-q
-w
-m
-Z
-p
-w
-0
-Q
-k
-o
-Z
-p
-p
-m
-q
-p
-d
-b
-h
-m
-k
-p
-W
-W
-8
-8
-8
-8
-Q
-@
-|
-Y
-&
-n
-|
-B
-(
-1
-}
-_
-+
-_
-+
-8
-p
-a
-q
-d
-q
-w
-w
-q
-q
-w
-X
-*
-k
-k
-]
-c
-m
-h
-#
-[
-j
-k
-q
-m
-Z
-h
-U
-q
-L
-0
-q
-a
-a
-o
-Y
-*
-m
-h
-$
-M
-a
-M
-*
-k
-O
-J
-m
-O
-0
-h
-Y
-Y
-Q
-b
-Z
-n
-/
-1
-1
-/
-v
-1
-1
-)
-1
-;
-B
-w
-w
-1
-O
-w
-*
-d
-a
-k
-q
-p
-Z
-0
-q
-0
-Q
-w
-q
-J
-0
-Z
-J
-0
-0
-Z
-p
-U
-Y
-Q
-u
-c
-Y
-v
-v
-b
-b
-Z
-Z
--
--
-Z
-O
-m
-w
-o
-o
-o
-o
-o
-o
-o
-o
-w
-v
-Q
-d
-w
-p
-h
-h
-a
-k
-8
-Y
-M
-M
-M
-*
-h
-Q
-q
-X
-b
-k
-k
-k
-k
-m
-Z
-m
-z
-0
-Z
-Z
-i
--
-t
-/
-j
-x
-x
-n
-r
-n
-n
-u
-v
-v
-c
-c
-z
-z
-z
-X
-X
-Y
-U
-O
-f
-)
-w
-b
-Q
-Q
-C
-Q
-L
-L
-L
-L
-z
-Q
-h
-J
-L
-C
-L
-C
-0
-O
-O
-0
-0
-[
-}
-]
-[
-\
-U
-C
-Z
-p
-p
-w
-m
-\
-Q
-h
-L
-}
-:
-
-
-
-
-
-
-
-\
-Z
-/
-\
-\
-1
-1
-U
-m
-q
-b
-h
-d
-U
-Z
-m
-a
-*
-p
-Z
-0
-0
-w
-k
-h
-p
-C
-~
-U
-0
-p
-p
-X
-x
-C
-p
-q
-q
-d
-k
-a
-p
-M
-%
-W
-W
-8
-&
-&
-&
-o
-8
-%
-Y
-&
-%
-c
-8
-u
-j
-\
-\
-}
-_
-+
-i
--
-h
-q
-q
-q
-q
-q
-w
-w
-b
-W
-#
-h
-h
->
-X
-w
-k
-h
-o
-p
-c
-L
-m
-m
-q
-U
-b
-m
-L
-q
-h
-p
-b
-m
-*
-q
-k
-$
-#
-W
-#
-h
-d
-m
-d
-q
-m
-k
-O
-0
-0
-b
-k
-b
-m
-t
-1
-{
-)
-r
-f
-{
-1
-(
-]
-l
-B
-M
-k
-J
-Y
-k
-q
-p
-h
-h
-p
-b
-m
-w
-p
-p
-m
-q
-q
-p
-m
-p
-O
-0
-Z
-q
-L
-Z
-Z
-O
-L
-X
-Y
-j
-w
-a
-J
-Z
-?
-?
-m
-Z
-w
-Z
-o
-o
-o
-o
-o
-o
-o
-o
-w
-C
-O
-b
-q
-d
-k
-h
-a
-k
-&
-U
-M
-M
-M
-#
-h
-0
-w
-Y
-b
-k
-k
-k
-b
-d
-p
-w
-v
-w
-m
-<
-{
-/
-x
-j
-x
-u
-v
-c
-v
-v
-c
-v
-z
-z
-U
-J
-L
-Q
-0
-O
-O
-O
-O
-C
-]
-U
-m
-q
-Q
-Q
-U
-L
-C
-L
-U
-Y
-Y
-C
-J
-U
-0
-q
-O
-0
-Z
-Z
-Z
-0
-O
-[
-[
-[
-{
-j
-X
-C
-w
-p
-q
-Z
-Z
-?
-C
-Y
-f
-]
-"
-
-
-.
-.
-
-
-
-/
-Q
-\
-t
-/
-(
-|
-Y
-p
-p
-d
-k
-w
-C
-U
-Q
-Z
-Z
-Z
-O
-Z
-Z
-q
-p
-p
-m
-~
-[
--
-w
-0
-O
-r
-]
-n
-q
-q
-p
-d
-b
-d
-p
-M
-8
-B
-W
-8
-&
-q
-W
-w
-&
-&
-Q
-&
-&
-J
-C
-Z
-n
-/
-|
-|
-)
-)
-1
->
-?
-|
-h
-q
-k
-q
-q
-q
-p
-#
-&
-#
-#
-<
-o
-M
-&
-M
-*
-o
-n
-n
-J
-Z
-m
-Z
-n
-q
-0
-b
-h
-b
-q
-h
-#
-w
-h
-d
-$
-@
-M
-h
-q
-d
-#
-Q
-[
-1
-)
-\
-|
-x
->
-)
-c
-f
-/
-}
-a
-8
-$
-t
-}
-|
-\
-:
-<
-f
-a
-a
-h
-p
-h
-a
-b
-a
-a
-a
-d
-o
-k
-o
-o
-k
-k
-h
-d
-m
-q
-0
-w
-Z
-m
-Z
-m
-m
-O
-w
-Q
-O
-u
-a
-v
-Z
--
--
-m
-Z
-Z
-w
-o
-o
-o
-o
-o
-o
-o
-o
-q
-0
-0
-b
-q
-b
-h
-h
-a
-k
-8
-&
-M
-M
-M
-*
-a
-0
-w
-Y
-b
-k
-b
-k
-k
-d
-w
-d
-X
-Y
-n
-?
-(
-x
-n
-n
-n
-n
-u
-X
-v
-z
-X
-U
-J
-C
-L
-Q
-O
-O
-Z
-Z
-Z
-d
-0
-1
-(
-w
-w
-0
-L
-C
-z
-z
-L
-L
-J
-U
-J
-Q
-C
-L
-Y
-z
-0
-q
-w
-w
-q
-Z
-q
-[
-}
-}
-|
-z
-U
-J
-w
-m
-m
-m
-m
-_
-L
-U
-(
-~
-^
-.
-
-
-
-
-
-.
-/
-J
-/
-j
-t
-\
-/
-c
-q
-q
-k
-o
-Q
-0
-J
-L
-0
-Z
-Z
-m
-Z
-Z
-p
-d
-C
-h
-h
-C
-h
-Z
-|
-)
-Y
-{
-f
-p
-q
-p
-d
-b
-p
-d
-#
-%
-&
-W
-8
-8
-&
-W
-#
-a
-&
-C
-&
-O
-J
-X
-Z
-c
-v
-n
-f
-\
-(
-f
-1
-_
-+
-?
-c
-k
-q
-q
-w
-#
-k
-M
-8
-M
-~
-J
-M
-o
-d
-Z
-Y
-X
-f
-x
-0
-Z
-m
-X
-m
-k
-#
-a
-w
-q
-h
-#
-q
-b
-k
-*
-q
-m
-0
-0
-k
-%
-%
-@
-M
-#
-#
-M
-*
-o
-&
-M
-8
-\
-|
-?
-8
-8
-$
-(
-$
-)
-U
-c
--
-)
-o
-#
-o
-o
-o
-a
-#
-h
-o
-h
-o
-#
-o
-h
-#
-o
-o
-d
-O
-m
-q
-O
-Q
-O
-w
-0
-O
-m
-m
-m
-Q
-Z
-h
-z
-Z
--
--
-q
-Z
-Z
-p
-o
-o
-o
-o
-o
-o
-o
-*
-p
-0
-0
-b
-q
-k
-h
-a
-a
-k
-8
-&
-8
-M
-M
-#
-o
-Z
-m
-Y
-d
-h
-k
-h
-k
-d
-w
-O
-O
-L
-<
-/
-j
-u
-c
-c
-u
-u
-n
-v
-u
-c
-X
-J
-Q
-0
-O
-O
-Z
-Z
-Z
-Z
-Z
-p
-u
-1
-u
-w
-w
-O
-J
-U
-J
-Y
-U
-L
-C
-Y
-Y
-U
-C
-Y
-J
-C
-z
-z
-c
-k
-w
-Z
-[
-[
-[
-[
-x
-Y
-X
-m
-q
-m
-Z
-m
-{
-r
-p
-J
-(
-!
-`
-.
-
-
-
-
-
-.
-(
-X
-\
-j
-f
-L
-f
-X
-Z
-Z
-k
-*
-L
-U
-U
-J
-Q
-Q
-Q
-0
-Q
-0
-p
-b
-h
-h
-p
-a
-b
-x
-~
-\
-]
-)
-t
-p
-q
-q
-p
-d
-p
-d
-*
-%
-&
-W
-8
-8
-&
-&
-&
-k
-*
-q
-W
-W
-0
-Q
-b
-J
-J
-j
-c
-\
-n
-(
-}
-\
-)
-}
-]
-f
-q
-q
-q
-&
-p
-M
-#
-M
-[
-C
-&
-#
-k
-Z
-C
-v
-n
-u
-v
-x
-U
-j
-c
-X
-v
-j
-u
-q
-U
-#
-p
-p
-k
-k
-q
-q
-O
-b
-#
-#
-8
-&
-o
-#
-M
-#
-M
-W
-o
-h
-&
-$
-\
-\
-]
-W
-&
-\
-a
-~
-)
-~
-o
-o
-o
-&
-h
-o
-a
-#
-*
-a
-#
-#
-a
-M
-M
-a
-a
-o
-o
-b
-p
-q
-d
-Q
-L
-q
-b
-m
-p
-k
-m
-O
-m
-Q
-z
-Y
-O
--
-_
-p
-m
-m
-a
-o
-o
-o
-o
-o
-o
-o
-o
-Q
-Q
-O
-b
-p
-k
-h
-a
-a
-k
-#
-&
-w
-M
-M
-M
-o
-Z
-O
-Y
-q
-h
-a
-k
-b
-b
-m
-O
-Z
-)
-[
-j
-u
-J
-v
-Z
-u
-u
-n
-v
-c
-c
-c
-X
-C
-Q
-O
-m
-Z
-m
-Z
-Z
-p
-m
-/
-t
-p
-d
-0
-Q
-C
-J
-X
-Y
-Y
-0
-J
-Y
-J
-U
-C
-C
-C
-Q
-U
-X
-c
-z
-z
-b
-]
-]
-[
-)
-v
-X
-U
-q
-w
-O
-0
-Q
-+
-C
-0
-v
-j
-I
-^
-.
-
-
-
-
-
-.
-{
-u
-/
-f
-\
-\
-f
-U
-O
-m
-b
-a
-Q
-Y
-Y
-C
-C
-J
-L
-C
-C
-0
-q
-b
-1
-[
-}
-a
-Y
-h
-I
-(
-{
-{
-Y
-q
-q
-q
-d
-d
-d
-d
-a
-8
-&
-&
-8
-&
-8
-C
-&
-#
-&
-%
-8
-W
-Z
-0
-%
-U
-X
-n
-c
-r
-n
-/
-/
-\
-|
-|
-{
-_
-}
-q
-m
-W
-q
-M
-*
-#
-)
-%
-&
-&
-o
-m
-Q
-c
-Y
-Y
-n
-c
-C
-m
-U
-v
-U
-v
-r
-u
-h
-M
-b
-Z
-k
-b
-O
-q
-0
-p
-h
-*
-&
-&
-M
-*
-#
-M
-#
-p
-#
-M
-#
-&
-&
-?
-)
-&
-M
-)
-[
-$
-{
-]
-B
-*
-*
-#
-*
-h
-8
-*
-*
-o
-#
-*
-W
-*
-#
-#
-W
-a
-#
-p
-h
-Z
-q
-q
-C
-O
-w
-b
-m
-b
-k
-O
-Q
-d
-J
-Y
-O
--
-_
-b
-m
-m
-*
-o
-o
-o
-o
-o
-o
-o
-o
-Y
-J
-w
-b
-b
-h
-h
-a
-a
-h
-8
-%
-Y
-M
-M
-#
-o
-m
-0
-U
-Z
-a
-h
-h
-k
-p
-d
-p
-O
-+
-t
-u
-Y
-0
-J
-p
-U
-z
-u
-u
-c
-c
-X
-X
-Y
-J
-0
-m
-q
-q
-w
-q
-h
-o
-/
-\
-w
-m
-0
-L
-C
-Q
-v
-Y
-X
-C
-C
-C
-C
-J
-U
-J
-C
-J
-X
-Y
-X
-c
-c
-X
-z
-#
-_
-|
-X
-U
-d
-d
-m
-0
-Q
-Y
->
-J
-[
-/
-c
-:
-"
-`
-
-
-
-
-.
-.
-/
-x
-t
-t
-/
-/
-f
-X
-q
-q
-k
-a
-v
-X
-X
-Y
-X
-X
-X
-U
-c
-J
-O
-+
-L
-j
-;
-{
-a
-~
-.
-]
-1
-\
-C
-p
-q
-p
-d
-p
-p
-b
-k
-8
-8
-8
-W
-W
-&
-c
-#
-a
-#
-o
-M
-w
-p
-m
-%
-J
-C
-X
-v
-r
-j
-\
-j
-)
-|
-\
-{
-{
-]
-1
-h
-W
-q
-&
-o
-#
-|
-&
-&
-&
-#
-d
-O
-J
-J
-Y
-v
-n
-t
-k
-C
-x
-j
-/
-x
-x
-m
-o
-p
-w
-b
-Q
-p
-m
-w
-Z
-d
-o
-&
-8
-M
-#
-#
-k
-o
-M
-#
-#
-#
-#
-#
-&
-W
-M
-M
-?
-?
-M
-_
-!
-W
-o
-#
-M
-%
-W
-M
-#
-o
-*
-o
-#
-W
-M
-*
-o
-*
-*
-h
-Z
-b
-Q
-Z
-0
-p
-0
-h
-k
-m
-o
-d
-d
-Z
-p
-Q
-Y
-Z
-_
-_
-d
-q
-q
-*
-o
-o
-o
-o
-o
-o
-o
-o
-x
-J
-q
-k
-k
-a
-a
-a
-h
-J
-C
-&
-k
-M
-M
-M
-o
-q
-O
-C
-0
-a
-h
-k
-p
-p
-d
-w
-c
-)
-f
-u
-J
-w
-Q
-b
-w
-X
-X
-z
-X
-z
-z
-Y
-X
-J
-Q
-m
-w
-q
-q
-w
-h
-n
-/
-L
-Z
-O
-0
-Q
-C
-0
-Q
-C
-C
-z
-Q
-C
-L
-C
-C
-J
-U
-Y
-X
-X
-X
-X
-X
-z
-z
-X
-X
-h
-X
-Y
-p
-d
-m
-O
-Q
-j
-)
-n
-_
-(
-}
-:
-,
-.
-
-
-.
-
-
-`
-J
-x
-f
-t
-r
-/
-n
-J
-Z
-w
-h
-k
-z
-Y
-X
-X
-X
-X
-X
-v
-z
-w
-:
-;
-;
-x
-u
-?
-a
--
--
-{
-|
-f
-0
-q
-p
-p
-q
-b
-h
-U
-Y
-v
-\
-8
-W
-W
-o
-Y
-m
-M
-M
-&
-C
-b
-k
-p
-8
-w
-J
-z
-X
-u
-v
-t
-t
-r
-\
-)
-f
-}
-[
-}
-B
-&
-q
-&
-o
-#
-(
-&
-&
-&
-#
-w
-m
-m
-J
-Y
-v
-x
-(
-d
-Y
-(
-v
-\
-\
-x
-c
-#
-a
-p
-b
-b
-d
-q
-q
-w
-d
-&
-&
-M
-#
-k
-h
-M
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-$
-+
-M
-{
-@
-m
-*
-#
-8
-#
-o
-M
-*
-M
-a
-#
-#
-o
-*
-*
-&
-M
-#
-h
-h
-q
-p
-Z
-m
-Z
-d
-a
-p
-h
-a
-h
-o
-q
-p
-m
-q
-O
-_
-}
-w
-m
-p
-o
-o
-o
-o
-o
-o
-o
-o
-*
-r
-Q
-h
-k
-k
-o
-a
-o
-a
-Y
-a
-&
-B
-M
-M
-M
-o
-q
-O
-0
-L
-a
-k
-k
-b
-p
-d
-m
-]
-f
-j
-v
-U
-p
-0
-k
-d
-C
-J
-X
-J
-X
-X
-Y
-Y
-U
-O
-w
-q
-q
-q
-k
-w
-t
-j
-0
-Z
-0
-Q
-Q
-J
-Q
-0
-O
-J
-Q
-0
-J
-z
-J
-C
-J
-Y
-X
-Y
-X
-X
-Y
-Y
-X
-X
-X
-X
-X
-C
-k
-q
-k
-w
-O
-0
-?
-U
-x
--
-[
-?
-;
-;
-`
-.
-'
-.
-
-
-^
-m
-j
-
--
-U
-j
-z
-L
-m
-d
-o
-d
-z
-U
-X
-z
-X
-v
-X
-n
-Y
-"
-^
-`
-"
-I
-u
-.
-W
-_
-/
-f
-x
-r
-q
-q
-Z
-k
-q
-c
-u
-t
-\
-(
-1
-&
-8
-&
-c
-Y
-d
-a
-&
-&
-v
-k
-k
-q
-&
-p
-0
-C
-U
-n
-/
-u
-j
-|
-t
-\
-\
-(
-1
-?
-|
-M
-h
-&
-o
-q
-1
-&
-8
-W
-#
-k
-d
-0
-J
-X
-u
-c
-t
-O
-Z
-o
-t
-/
-(
-t
-x
-o
-o
-m
-b
-d
-d
-w
-m
-q
-k
-8
-M
-o
-q
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-*
-*
-#
-#
-*
-<
-o
-*
-w
-a
-o
-*
-h
-M
-a
-a
-a
-#
-#
-o
-*
-#
-o
-#
-*
-#
-o
-a
-p
-0
-m
-Z
-m
-d
-k
-o
-p
-o
-o
-#
-M
-k
-w
-k
-Q
-0
-_
-f
-Z
-m
-b
-o
-o
-o
-o
-o
-o
-o
-o
-o
-j
-0
-a
-h
-b
-o
-h
-o
-h
-*
-m
-&
-@
-M
-M
-M
-*
-p
-Z
-m
-U
-q
-k
-k
-b
-d
-p
-q
-_
-/
-r
-v
-0
-b
-p
-k
-k
-Q
-q
-w
-0
-C
-X
-X
-Y
-C
-Q
-Z
-q
-d
-b
-p
-n
-f
-j
-m
-O
-Q
-L
-C
-C
-L
-O
-q
-O
-m
-w
-z
-X
-U
-J
-U
-Y
-X
-X
-Y
-X
-Y
-Y
-Y
-Y
-Y
-Y
-X
-z
-X
-Z
-q
-q
-m
-Q
-[
-c
-<
-<
-]
-<
-'
-'
-.
-
-'
-.
-.
-.
-,
-p
-j
-
-t
-Q
-C
-U
-Q
-m
-b
-#
-d
-Y
-U
-X
-c
-v
-X
-X
-u
-0
-"
-.
-'
-`
-,
-u
-
-z
-}
-j
-}
-L
-d
-m
-Z
-c
-x
-/
-(
-{
-[
-?
--
-]
-$
-8
-8
-W
-W
-W
-W
-&
-&
-Y
-a
-d
-p
-&
-Z
-L
-O
-Y
-n
-f
-f
-(
-)
-j
-\
-|
-|
-(
-}
-?
-M
-b
-W
-o
-&
-z
-W
-&
-W
-*
-p
-Z
-C
-U
-c
-v
-Y
-]
-u
-U
-d
-n
-n
-|
-/
-n
-U
-o
-k
-p
-d
-d
-m
-m
-p
-p
-b
-k
-*
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-*
-*
-*
-*
-o
->
-0
-f
-U
-a
-%
-#
-W
-W
-*
-*
-#
-o
-o
-a
-#
-*
-#
-*
-#
-#
-*
-h
-b
-w
-p
-w
-O
-Z
-*
-M
-a
-W
-#
-M
-M
-#
-o
-p
-Z
-L
-_
-C
-O
-Z
-k
-o
-o
-o
-o
-o
-o
-o
-o
-b
-j
-O
-a
-a
-d
-o
-a
-*
-C
-k
-z
-&
-Q
-M
-M
-M
-*
-k
-Z
-Z
-Y
-b
-h
-k
-b
-p
-p
-c
-)
-r
-v
-0
-w
-k
-b
-k
-h
-m
-b
-p
-w
-0
-Y
-z
-v
-C
-Q
-Z
-w
-p
-b
-k
-j
-r
-X
-Z
-0
-Q
-C
-U
-L
-L
-O
-p
-w
-m
-p
-0
-U
-z
-Q
-L
-J
-Y
-Y
-Y
-X
-X
-Y
-U
-U
-U
-U
-Y
-X
-c
-v
-Q
-q
-O
-Z
-Q
-Q
-<
-?
-]
->
-^
-'
-`
-.
-'
-"
-'
-.
-;
-d
-u
-Y
-u
-0
-O
-Z
-Q
-q
-k
-M
-w
-X
-C
-X
-z
-c
-Y
-Y
-c
-'
-"
-.
-'
-`
-`
-}
-
-?
-1
-x
-i
-Q
-p
-n
-x
-/
-(
-}
-?
-_
-+
-_
->
-]
-B
-&
-W
-b
-W
-&
-&
-&
-&
-0
-o
-a
-b
-W
-w
-m
-0
-Y
-v
-X
-n
-f
-f
-n
-(
-t
-j
-)
-1
-?
-/
-p
-M
-*
-&
-W
-&
-&
-8
-q
-p
-Q
-C
-Y
-u
-n
-u
-b
-v
-Z
-Y
-f
-n
-\
-f
-c
-z
-M
-z
-d
-p
-p
-v
-v
-W
-b
-#
-#
-*
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-*
-*
-o
-*
-w
-0
-x
-(
-n
-*
-*
-*
-M
-h
-h
-o
-#
-*
-o
-#
-a
-M
-#
-o
-#
-#
-a
-d
-w
-m
-d
-q
-m
-d
-#
-M
-M
-M
-M
-#
-W
-M
-#
-d
-w
-z
-~
-w
-Z
-Z
-d
-o
-o
-o
-o
-o
-o
-o
-o
-w
-X
-m
-o
-a
-k
-a
-a
-*
-)
-k
-#
-8
-J
-Y
-M
-#
-*
-a
-O
-L
-Y
-p
-h
-d
-b
-p
-p
-{
-/
-v
-Q
-q
-0
-k
-b
-k
-k
-d
-b
-b
-p
-w
-m
-U
-v
-U
-J
-0
-m
-p
-b
-O
-f
-f
-0
-O
-Q
-Q
-L
-X
-C
-q
-q
-p
-a
-Z
-p
-p
-Q
-U
-Y
-C
-J
-X
-X
-X
-U
-Y
-Y
-Y
-U
-U
-U
-J
-Y
-z
-v
-u
-L
-Q
-x
-q
-c
-}
-?
-]
-l
-:
-`
-'
-.
-.
-.
-.
-
-"
-p
-x
-U
-j
-X
-b
-p
-q
-d
-h
-*
-m
-U
-J
-Y
-z
-z
-J
-U
-J
-,
-^
-'
-'
-`
-^
-_
-'
-f
-O
-|
-J
-X
-r
-1
-1
-?
-_
-_
-+
-_
-_
-_
-_
-@
-8
-8
-W
-m
-&
-c
-W
-W
-&
-h
-a
-o
-b
-&
-Z
-Q
-m
-L
-u
-v
-L
-r
-j
-Y
-|
-j
-[
-(
-\
-}
--
-d
-#
-M
-@
-B
-@
-@
-Z
-{
-t
-m
-Q
-c
-u
-v
-n
-d
-U
-Q
-C
-b
-c
-x
-n
-u
-h
-k
-w
-q
-p
-q
-B
-$
-o
-#
-*
-#
-*
-*
-*
-*
-*
-*
-#
-#
-#
-*
-#
-*
-o
-o
-o
-b
-0
-Y
-r
-(
-/
-h
-*
-*
-M
-&
-o
-o
-o
-M
-a
-#
-a
-*
-M
-#
-&
-M
-#
-p
-m
-q
-m
-q
-k
-a
-*
-#
-#
-a
-o
-*
-M
-W
-M
-b
-d
-|
-~
-m
-Z
-Z
-m
-o
-o
-o
-o
-o
-o
-o
-o
-m
-m
-p
-o
-a
-k
-a
-o
-#
-J
-b
-M
-&
-&
-Z
-#
-M
-*
-a
-Z
-0
-Y
-b
-a
-p
-b
-d
-d
-_
-/
-u
-Z
-C
-m
-p
-b
-d
-d
-p
-w
-b
-b
-q
-q
-J
-z
-X
-Y
-Q
-m
-b
-k
-u
-/
-/
-Q
-0
-Q
-Q
-C
-U
-L
-p
-w
-O
-a
-w
-d
-b
-q
-Z
-0
-Q
-C
-Y
-X
-X
-Y
-J
-U
-Y
-U
-J
-J
-J
-J
-X
-z
-v
-O
-Y
-X
-a
-r
-[
-_
->
->
-:
-'
-
-
-
-
-
-
-;
-q
-n
-J
-f
-v
-b
-a
-h
-k
-a
-*
-w
-Y
-J
-X
-X
-c
-J
-Y
-+
-"
-`
-`
-'
-^
-^
--
-(
-a
-0
-/
-v
-u
--
-_
--
--
-_
--
-_
-_
-_
-~
--
-&
-Q
-8
-8
-d
-C
-z
-M
-*
-&
-#
-a
-o
-d
-&
-O
-O
-O
-Q
-X
-z
-0
-v
-\
-L
-\
-n
-)
-{
-)
-{
-+
-c
-#
-W
-]
-*
-8
-M
-a
-o
-#
-Z
-J
-Y
-v
-v
-n
-k
-L
-Y
-L
-d
-n
-n
-L
-m
-O
-d
-d
-q
-a
-%
-$
-#
-#
-*
-*
-*
-*
-*
-*
-*
-*
-*
-#
-*
-#
-*
-*
-o
-o
-a
-a
-w
-Q
-Y
-r
-)
-|
-*
-*
-M
-*
-W
-#
-o
-#
-o
-o
-*
-M
-*
-W
-M
-W
-a
-k
-b
-m
-0
-Z
-b
-M
-M
-&
-#
-b
-p
-o
-o
-M
-M
-o
-k
-d
-?
-<
-O
-Z
-Z
-Z
-o
-o
-o
-o
-o
-o
-o
-o
-p
-Z
-p
-o
-*
-k
-a
-*
-b
-#
-k
-#
-8
-&
-B
-o
-W
-#
-a
-Z
-q
-Y
-b
-a
-k
-d
-d
-p
-<
-f
-Y
-m
-Z
-p
-q
-m
-O
-Z
-m
-m
-m
-d
-b
-q
-0
-z
-z
-J
-Q
-Z
-b
-b
-t
-t
-0
-Q
-0
-L
-C
-C
-0
-L
-Z
-p
-p
-*
-p
-w
-a
-0
-m
-d
-Z
-O
-J
-X
-U
-U
-J
-C
-J
-J
-J
-J
-J
-J
-J
-X
-z
-v
-U
-X
-c
-w
-0
-1
-[
-+
-:
-`
-'
-.
-
-
-
-.
->
-m
-x
-n
-u
-v
-Y
-a
-o
-*
-*
-#
-k
-C
-Y
-X
-z
-z
-C
-J
-,
-"
-I
-'
-`
-^
-,
-]
-0
-J
-Q
-f
-]
-_
-_
-_
-_
-_
-_
-_
--
--
-?
-<
->
-8
-]
-8
-&
-M
-Z
-z
-&
-B
-&
-&
-*
-*
-h
-q
-m
-C
-X
-Z
-J
-c
-q
-J
-u
-0
-t
-Y
-t
-\
-)
-1
-[
->
-#
-#
-#
-&
-%
-8
-1
-d
-Z
-x
-q
-U
-X
-J
-X
-L
-O
-c
-Q
-X
-k
-x
-*
-m
-Y
-d
-B
-Z
-n
-*
-B
-*
-*
-*
-o
-o
-o
-o
-o
-o
-*
-*
-*
-*
-*
-#
-*
-o
-o
-a
-b
-Z
-L
-z
-/
-|
-X
-a
-a
-M
-#
-M
-M
-a
-M
-o
-a
-a
-o
-*
-o
-#
-o
-a
-d
-d
-0
-Z
-b
-o
-W
-*
-*
-k
-a
-B
-8
-d
-o
-W
-#
-a
-w
-!
-<
-0
-Z
-Z
-Z
-o
-o
-o
-o
-o
-o
-o
-o
-m
-0
-b
-*
-o
-k
-o
-*
-n
-&
-*
-#
-C
-&
-&
-Y
-M
-M
-o
-Z
-m
-X
-b
-a
-q
-b
-d
-d
-_
-f
-Q
-q
-q
-q
-O
-0
-Q
-0
-m
-0
-w
-m
-q
-b
-q
-0
-z
-J
-L
-Q
-m
-j
-t
-\
-L
-Q
-0
-Q
-C
-C
-Q
-q
-m
-p
-a
-o
-k
-p
-*
-d
-0
-q
-Z
-m
-L
-J
-U
-U
-C
-C
-L
-C
-J
-C
-C
-J
-U
-Y
-X
-X
-z
-Y
-z
-c
-n
-L
-:
-i
-!
-l
-:
-:
-:
-;
-I
-:
-(
-Z
-u
-u
-Q
-v
-U
-J
-a
-o
-#
-*
-d
-0
-J
-X
-X
-X
-C
-I
-"
-,
-^
-^
-`
-^
-I
-v
-C
-C
-L
-?
-]
-]
-]
-?
--
-?
--
--
--
-?
-]
-?
-!
-@
-]
-8
-M
-8
-W
-n
-M
-&
-&
-8
-W
-a
-k
-w
-Q
-m
-L
-O
-J
-w
-o
-L
-J
-m
-n
-O
-C
-u
-\
-)
--
-+
-u
-a
-z
-8
-B
-@
-B
-b
-J
-[
-w
-j
-L
-v
-q
-O
-Z
-Y
-0
-Q
-b
-M
-d
-W
-m
-$
-$
-8
-8
-0
-k
-o
-*
-o
-o
-o
-a
-o
-o
-o
-o
-o
-*
-*
-#
-#
-#
-#
-a
-o
-d
-Z
-C
-u
-/
-f
-Z
-#
-a
-#
-M
-*
-h
-h
-*
-W
-a
-k
-#
-#
-&
-*
-8
-o
-d
-Z
-L
-p
-o
-*
-*
-k
-&
-z
-Y
-n
-@
-w
-&
-h
-&
-o
-d
-l
->
-Q
-0
-Z
-Z
-o
-o
-o
-o
-o
-o
-o
-*
-U
-O
-b
-*
-*
-h
-*
-o
-Q
-M
-W
-#
-J
-&
-8
-C
-M
-M
-o
-Z
-O
-J
-b
-h
-p
-m
-d
-p
-/
-t
-0
-d
-d
-w
-Q
-Q
-0
-w
-p
-w
-m
-m
-m
-d
-p
-q
-U
-c
-U
-J
-C
-x
-f
-Z
-C
-0
-0
-Q
-L
-C
-Q
-m
-d
-b
-o
-#
-o
-b
-*
-k
-0
-Z
-p
-p
-m
-Q
-O
-J
-J
-C
-C
-C
-L
-C
-C
-J
-U
-U
-Y
-X
-X
-J
-z
-z
-c
-n
-C
-t
->
-_
->
-l
-i
-!
->
-<
-f
-0
-r
-x
-L
-u
-X
-U
-O
-h
-#
-#
-b
-O
-U
-Y
-X
-X
-0
-!
-I
-.
-,
-"
-^
-"
-;
-q
-L
-C
-t
-;
-;
-I
-[
-[
--
-?
-]
-?
--
-[
-_
-}
-{
-O
-+
-8
-&
-%
-8
-Y
-#
-&
-8
-&
-k
-*
-b
-d
-Q
-m
-Z
-0
-J
-d
-a
-w
-q
-m
-X
-m
-0
-c
-t
-)
-(
-<
-]
-k
-u
-M
-%
-@
-8
-&
-w
-p
-0
-r
-k
-O
-b
-O
-w
-L
-0
-Z
-d
-Q
-M
-J
-&
-&
-Q
-b
-p
-@
-a
-o
-a
-a
-a
-a
-a
-a
-a
-a
-o
-o
-*
-#
-M
-M
-M
-#
-a
-a
-d
-Z
-J
-n
-\
-j
-W
-&
-#
-a
-#
-a
-o
-&
-M
-#
-*
-o
-o
-M
-#
-M
-W
-*
-q
-b
-Q
-k
-o
-#
-a
-k
-m
-O
-Z
-0
-&
-w
-Z
-#
-&
-*
-k
-l
-<
-Z
-m
-O
-w
-o
-o
-o
-o
-o
-o
-o
-o
-v
-Z
-k
-*
-o
-a
-o
-o
-w
-W
-W
-#
-W
-0
-M
-w
-M
-M
-o
-Z
-m
-J
-q
-a
-p
-m
-w
-v
-t
-r
-0
-d
-p
-O
-Q
-d
-a
-b
-b
-q
-p
-k
-m
-q
-b
-q
-L
-X
-Y
-J
-J
-t
-f
-C
-0
-O
-0
-Q
-0
-C
-Q
-Z
-w
-h
-a
-*
-M
-k
-o
-#
-a
-Z
-m
-m
-q
-Z
-m
-m
-O
-Q
-C
-C
-L
-L
-C
-C
-J
-U
-Y
-X
-z
-z
-z
-X
-z
-c
-n
-0
-p
-i
-+
-_
--
-_
-<
->
-)
-J
-f
-f
-J
-n
-c
-X
-Z
-Z
-#
-W
-h
-Z
-U
-X
-X
-Y
-<
-!
->
-"
-,
-'
-,
-,
-[
-O
-L
-v
-+
->
-!
-i
-i
-+
-[
--
-?
-?
-?
-~
-+
-_
-$
-8
-h
-8
-W
-8
-8
-X
-o
-M
-8
-M
-C
-o
-h
-b
-L
-U
-Z
-0
-d
-q
-*
-b
-h
-w
-m
-p
-w
-U
-\
-{
-{
-]
-<
-k
-&
-r
-a
-M
-k
-M
-B
-b
-Z
-Q
-O
-+
-m
-J
-k
-m
-k
-q
-m
-@
-h
-p
-%
-W
-C
-&
-u
-a
-a
-a
-a
-h
-h
-h
-h
-k
-k
-h
-a
-o
-#
-#
-M
-M
-M
-#
-a
-h
-p
-O
-Y
-j
-\
-n
-M
-8
-*
-W
-*
-a
-a
-M
-#
-*
-o
-W
-h
-M
-*
-M
-#
-a
-p
-p
-q
-a
-o
-*
-h
-Z
-m
-U
-Y
-p
-%
-v
-b
-#
-#
-M
-o
-;
->
-m
-O
-Z
-k
-o
-o
-o
-o
-o
-o
-a
-*
-r
-q
-o
-o
-o
-a
-o
-o
-*
-h
-B
-#
-#
-w
-M
-B
-8
-M
-o
-m
-m
-Y
-Z
-a
-k
-w
-p
-|
-/
-n
-0
-b
-w
-O
-Z
-#
-*
-q
-w
-b
-U
-Z
-d
-w
-b
-p
-0
-X
-v
-0
-u
-f
-x
-0
-O
-0
-0
-Q
-0
-0
-0
-0
-Z
-o
-h
-#
-#
-o
-o
-o
-o
-w
-m
-k
-b
-m
-O
-m
-w
-Q
-Q
-Q
-L
-L
-L
-L
-C
-J
-Y
-X
-z
-z
-c
-z
-z
-z
-u
-c
-O
-O
-{
-l
-;
-l
-:
-"
-<
-r
-t
-f
-X
-r
-v
-z
-O
-m
-a
-M
-q
-Z
-X
-X
-X
-Y
-<
-!
-!
->
-:
-`
-;
-I
-c
-C
-Q
-c
-+
-~
-<
-!
->
-i
-+
--
-_
-_
-?
-?
-_
-}
-(
-]
-%
-8
-&
-&
-%
-c
-&
-M
-&
-a
-X
-a
-M
-p
-Z
-Q
-m
-w
-a
-o
-*
-#
-h
-b
-b
-b
-p
-Q
-|
-\
-(
-)
-i
-d
-B
-O
-n
-m
-b
-m
-J
-@
-Z
-M
-B
-@
-a
-k
-%
-&
-d
-*
-B
-p
-k
-m
-&
-a
-*
-C
-o
-a
-h
-k
-k
-k
-k
-k
-k
-k
-k
-k
-a
-o
-#
-M
-M
-W
-M
-#
-h
-h
-q
-0
-c
-f
-\
-v
-h
-&
-o
-&
-%
-%
-a
-M
-*
-a
-o
-M
-#
-#
-#
-o
-o
-h
-w
-w
-b
-*
-M
-q
-O
-0
-Q
-Z
-O
-w
-Q
-q
-M
-O
-d
-#
-k
-!
->
-m
-Q
-m
-o
-a
-a
-o
-o
-o
-a
-a
-#
-j
-b
-o
-o
-o
-o
-o
-o
-0
-b
-b
-#
-#
-o
-8
-&
-U
-M
-*
-m
-m
-Y
-0
-a
-h
-k
-Z
-{
-\
-n
-C
-p
-Q
-Q
-a
-#
-J
-c
-L
-0
-v
-Y
-p
-w
-p
-b
-w
-U
-v
-L
-f
-j
-0
-O
-0
-0
-L
-O
-Q
-O
-Z
-O
-m
-h
-o
-*
-o
-#
-*
-M
-k
-o
-q
-p
-b
-p
-O
-p
-q
-p
-Z
-0
-Q
-Q
-L
-L
-C
-J
-J
-Y
-X
-z
-c
-c
-z
-z
-v
-X
-v
-z
-0
-p
-;
-:
-:
-:
-<
-r
-j
-f
-f
-x
-u
-u
-O
-Z
-o
-M
-0
-m
-X
-z
-X
-Q
-+
-<
-I
-:
-,
-;
-!
-:
-Q
-Q
-C
-<
-?
--
-+
-+
-+
-+
-<
-~
-+
-_
-_
--
-]
-[
-?
-/
-(
-8
-8
-&
-#
-X
-*
-W
-W
-&
-v
-8
-%
-O
-L
-X
-d
-a
-a
-*
-a
-*
-k
-o
-k
-h
-d
-w
-U
-v
-f
-\
-l
-+
-$
-#
-n
-k
-o
-M
-#
-C
-$
-m
-\
-r
-w
-v
-Y
-Q
-w
-O
-z
-0
-d
-h
-8
-8
-B
-8
-*
-a
-b
-d
-b
-k
-b
-b
-d
-b
-k
-a
-o
-*
-#
-M
-M
-&
-W
-#
-a
-k
-q
-Q
-c
-j
-\
-c
-*
-8
-#
-#
-o
-*
-&
-M
-o
-M
-M
-*
-M
-#
-M
-M
-o
-q
-k
-q
-h
-*
-M
-k
-Z
-L
-Z
-L
-Z
-m
-0
-c
-t
-d
-b
-M
-%
-!
->
-m
-O
-p
-a
-a
-h
-a
-a
-a
-a
-a
-k
-v
-a
-a
-o
-o
-o
-#
-&
-0
-d
-m
-*
-a
-/
-M
-8
-&
-M
-*
-p
-m
-L
-Q
-w
-k
-h
-b
-?
-/
-u
-Q
-p
-C
-m
-p
-c
-m
-w
-C
-n
-C
-n
-Y
-q
-0
-q
-p
-C
-X
-c
-f
-x
-0
-Q
-0
-Q
-0
-O
-Q
-0
-m
-m
-b
-b
-o
-o
-#
-#
-#
-M
-k
-o
-p
-q
-k
-k
-q
-O
-p
-p
-w
-m
-O
-0
-0
-Q
-Q
-C
-U
-U
-X
-z
-z
-c
-v
-v
-v
-x
-u
-U
-J
-m
-Q
-^
-:
-:
-_
-j
-/
-f
-j
-v
-u
-n
-Q
-q
-k
-#
-Z
-O
-z
-X
-U
-n
-~
-]
-!
-!
-:
-;
-1
-l
-m
-0
-O
--
-{
-}
-}
-]
-]
-_
-_
-~
-+
-_
-]
-+
-_
-}
-_
-}
-]
-8
-8
-&
-k
-L
-*
-*
-&
-&
-c
-&
-p
-q
-Z
-L
-p
-*
-*
-a
-*
-*
-o
-o
-k
-k
-b
-b
-m
-Y
-)
-(
-+
-:
-M
-8
-Z
-X
-%
-m
-*
-q
-d
-u
-Y
-n
-n
-x
-\
-)
-|
-0
-Q
-d
-o
-#
-k
-d
-p
-d
-d
-d
-d
-d
-b
-h
-o
-M
-%
-B
-W
-*
-#
-#
-#
-M
-M
-W
-W
-*
-h
-b
-w
-Q
-v
-x
-(
-z
-k
-&
-M
-#
-#
-W
-W
-o
-8
-M
-a
-M
-#
-*
-#
-#
-a
-d
-Z
-k
-k
-a
-*
-Z
-L
-0
-O
-w
-k
-q
-0
-U
-*
-*
-Q
-o
-M
-i
-i
-Q
-0
-w
-p
-k
-b
-h
-a
-a
-a
-o
-O
-Z
-a
-L
-p
-o
-*
-0
-&
-M
-m
-w
-*
-q
-}
-?
-&
-d
-W
-*
-k
-Z
-O
-Q
-q
-m
-h
-k
-<
-/
-u
-Q
-p
-O
-b
-k
-x
-w
-O
-0
-C
-Y
-X
-t
-Z
-q
-p
-q
-Q
-z
-t
-j
-v
-0
-0
-Q
-Q
-0
-O
-m
-O
-O
-O
-b
-a
-o
-#
-o
-a
-#
-M
-a
-k
-o
-p
-o
-h
-a
-Z
-p
-d
-p
-w
-Z
-0
-0
-0
-0
-Q
-J
-U
-Y
-X
-X
-c
-c
-v
-u
-x
-X
-v
-X
-0
-C
-Z
-;
-;
--
-j
-j
-/
-j
-n
-n
-n
-L
-m
-h
-#
-Z
-m
-Y
-X
-w
-<
-<
-|
-i
-i
-;
-;
-c
-l
-0
-O
-?
-[
-|
-)
-1
-1
-1
--
-+
-]
-_
-(
-+
-?
-?
-}
-{
-1
-o
-%
-8
-&
-&
-&
-8
-%
-a
-&
-o
-8
-m
-m
-U
-Z
-h
-o
-#
-o
-a
-k
-o
-k
-o
-*
-o
-p
-m
-0
-j
-}
--
->
-J
-h
-k
-c
-t
-q
-M
-m
-m
-m
-w
-U
-v
-Y
-x
-)
-O
-q
-v
-h
-a
-m
-m
-m
-m
-Z
-m
-Z
-Z
-Z
-w
-p
-b
-k
-k
-a
-a
-#
-#
-8
-&
-#
-*
-#
-M
-a
-h
-d
-m
-C
-u
-r
-(
-X
-*
-&
-&
-*
-#
-&
-&
-8
-8
-8
-o
-#
-M
-W
-M
-#
-h
-k
-q
-w
-a
-&
-o
-m
-\
-p
-h
-h
-0
-J
-Q
-C
-B
-C
-C
-W
-8
->
-l
-0
-L
-C
-w
-d
-k
-h
-a
-h
-o
-o
-m
-w
-k
-.
-C
-o
-*
-0
-&
-W
-o
-q
-*
-b
-(
-)
-o
-M
-&
-#
-h
-Z
-d
-L
-w
-X
-c
-v
-~
-/
-n
-O
-m
-Z
-h
-J
-L
-8
-M
-W
-v
-z
-Y
-z
-/
-0
-Z
-w
-0
-C
-f
-r
-J
-Q
-0
-Q
-Q
-O
-Z
-m
-Z
-m
-b
-a
-a
-#
-*
-*
-#
-p
-o
-M
-a
-*
-p
-b
-h
-a
-p
-p
-b
-k
-b
-q
-w
-Z
-0
-0
-0
-Q
-C
-Y
-X
-z
-c
-v
-v
-v
-x
-r
-c
-X
-C
-J
-L
-m
-J
-]
-j
-r
-t
-f
-x
-j
-x
-Y
-w
-k
-#
-L
-p
-Y
-Y
-!
->
->
-j
-i
-+
-l
-<
-n
-l
-Q
-Z
-{
-\
-f
-t
-/
-\
-)
-(
-}
-{
-+
-l
-)
-[
-[
-1
--
-c
-8
-&
-8
-&
-8
-#
-W
-W
-8
-8
-W
-&
-p
-m
-Q
-p
-o
-k
-h
-p
-b
-q
-d
-m
-q
-*
-*
-b
-q
-w
-Y
-{
-_
-!
-?
-M
-%
-r
-C
-v
-a
-h
-C
-C
-Z
-0
-L
-Y
-v
-Q
-Q
-v
-b
-h
-z
-Y
-U
-U
-U
-Y
-Y
-Y
-J
-C
-L
-0
-Z
-w
-Z
-m
-Q
-o
-#
-#
-#
-#
-*
-W
-M
-a
-k
-p
-Z
-C
-v
-j
-t
-X
-a
-a
-a
-k
-h
-8
-&
-W
-o
-8
-%
-o
-#
-*
-#
-#
-*
-p
-k
-q
-a
-#
-b
-Q
-J
-a
-b
-L
-C
-p
-m
-0
-&
-O
-J
-8
-x
->
-!
-J
-Y
-J
-q
-Z
-k
-k
-k
-k
-d
-}
-Z
-m
-d
-^
-J
-a
-o
-&
-h
-h
-q
-q
-*
-k
-(
-(
-o
-&
-Z
-#
-a
-Z
-k
-C
-w
-v
-v
-n
-~
-t
-v
-m
-q
-q
-p
-b
-B
-d
-0
-|
-Z
-C
-c
-x
-j
-0
-0
-q
-Z
-u
-f
-n
-C
-O
-0
-0
-0
-Z
-Z
-m
-w
-w
-p
-a
-h
-O
-Z
-a
-#
-*
-b
-a
-*
-o
-a
-b
-o
-a
-b
-p
-b
-b
-k
-p
-p
-p
-Z
-O
-0
-0
-Q
-C
-Y
-z
-c
-v
-u
-n
-n
-x
-Y
-X
-L
-0
-Q
-m
-#
-c
-j
-f
-r
-f
-\
-f
-r
-z
-C
-b
-#
-L
-q
-U
-Q
-<
-_
->
-n
-i
-X
-!
-)
-c
-!
-L
-/
-f
-\
-f
-t
-r
-f
-t
-(
-{
-}
-+
->
-!
-[
-1
-)
-\
-8
-B
-%
-8
-&
-8
-U
-m
-W
-&
-&
-u
-W
-b
-p
-C
-d
-*
-h
-b
-d
-Z
-u
-c
-X
-d
-w
-k
-k
-b
-w
-0
-t
--
->
-[
-Z
-B
-p
-J
-X
-C
-o
-m
-b
-h
-d
-X
-J
-t
-0
-0
-#
-b
-0
-x
-n
-n
-n
-n
-x
-x
-n
-v
-c
-X
-U
-C
-L
-C
-J
-a
-M
-M
-#
-M
-#
-Q
-W
-M
-a
-k
-p
-O
-J
-c
-f
-n
-U
-8
-&
-o
-o
-k
-o
-&
-#
-o
-&
-&
-h
-M
-*
-W
-#
-k
-w
-d
-d
-k
-M
-p
-0
-c
-h
-L
-b
-a
-*
-w
-Y
-W
-v
-X
-b
-n
-<
--
-J
-J
-C
-Z
-Z
-Z
-h
-*
-+
-_
-+
-U
-m
-k
-<
-Q
-o
-a
-b
-k
-W
-q
-q
-*
-a
-h
-t
-#
-&
-U
-#
-o
-Z
-h
-L
-m
-u
-n
-x
-]
-/
-x
-0
-p
-p
-#
-o
-Q
-%
-&
-k
-z
-v
-J
-X
-n
-n
-b
-w
-w
-f
-r
-J
-Q
-O
-O
-0
-O
-O
-m
-q
-p
-b
-w
-\
-O
-o
-d
-h
-o
-#
-*
-h
-M
-o
-*
-k
-k
-o
-h
-b
-b
-k
-k
-b
-p
-q
-p
-q
-m
-O
-0
-Q
-L
-X
-c
-v
-u
-n
-n
-x
-x
-Y
-J
-c
-m
-Q
-o
-*
-j
-r
-/
-f
-/
-j
-j
-v
-u
-b
-*
-w
-q
-C
-<
-r
-~
-w
-|
-i
-n
-!
-Q
-j
-?
-Q
-t
-v
-j
-j
-U
-u
-r
-j
-/
-|
-|
-<
-l
-?
-]
-[
-+
-W
-&
-*
-8
-8
-8
-8
-W
-Y
-U
-&
-8
-z
-%
-k
-p
-w
-b
-k
-b
-q
-U
-Z
-U
-\
-t
-f
-q
-O
-k
-d
-q
-Q
-r
-_
-<
-`
-m
-&
-m
-Q
-Q
-0
-{
-c
-)
-c
-C
-0
-o
-p
-Q
-u
-#
-Z
-)
-|
-/
-/
-/
-t
-t
-f
-j
-r
-n
-u
-c
-z
-c
-z
-t
-M
-M
-#
-#
-M
-#
-a
-W
-M
-a
-d
-q
-0
-U
-c
-j
-v
-C
-8
-&
-W
-*
-8
-a
-M
-h
-h
-&
-8
-*
-*
-#
-#
-*
-o
-d
-h
-h
-o
-W
-O
-d
-p
-d
-*
-k
-a
-h
-b
-X
-0
-j
-c
-X
-c
-<
-u
-C
-C
-C
-b
-t
-!
-+
-~
-_
-+
-<
-n
-w
-a
-a
-a
-a
-r
-k
-k
-%
-q
-w
-#
-o
-o
-v
-M
-&
-h
-M
-o
-Z
-h
-C
-Z
-x
-x
-r
-{
-|
-Y
-O
-d
-q
-o
-a
-8
-%
-U
-W
-Q
-J
-u
-x
-x
-|
-w
-w
-u
-f
-x
-Q
-O
-O
-O
-O
-Z
-Z
-m
-m
-w
-q
-c
-h
-o
-o
-h
-d
-h
-#
-#
-#
-k
-M
-o
-h
-h
-*
-o
-k
-k
-k
-k
-k
-d
-p
-w
-p
-p
-m
-O
-0
-Q
-C
-z
-v
-u
-u
-x
-n
-n
-J
-J
-Y
-C
-a
-w
-o
-n
-x
-f
-r
-f
-t
-j
-j
-Y
-d
-o
-d
-q
-C
-L
-Z
-i
-m
-:
->
-n
-!
-Q
-[
-}
-J
-x
-Y
-u
-x
-C
-c
-x
-n
-r
-|
-1
->
-v
--
-j
-h
-8
-M
-0
-&
-8
-&
-8
-%
-8
-B
-p
-&
-X
-z
-*
-b
-Z
-L
-o
-k
-q
-j
-z
-q
-u
-X
-Q
-Z
-n
-0
-w
-k
-p
-m
-r
-+
-<
-`
-b
-#
-8
-a
-U
-Y
-/
-/
-f
-Y
-v
-r
-u
-m
->
-@
-M
-X
-)
-(
-|
-|
-|
-\
-/
-t
-f
-r
-x
-u
-v
-c
-c
-v
-q
-#
-#
-#
-#
-M
-#
-#
-W
-#
-a
-p
-m
-Q
-U
-z
-j
-z
-Q
-*
-#
-8
-a
-a
-#
-&
-a
-#
-8
-8
-#
-o
-o
-M
-o
-a
-k
-b
-*
-a
-M
-p
-p
-#
-Q
-O
-k
-a
-k
-q
-q
-Q
-f
-c
-U
-n
-<
-0
-L
-C
-U
->
->
-~
-~
-~
-+
-{
-w
-n
-b
-a
-a
-a
-o
-k
-k
-k
-b
-q
-w
-#
-*
-#
-M
-&
-M
-&
-M
-*
-m
-h
-L
-0
-Y
-w
-n
-)
-\
-z
-Z
-d
-p
-h
-#
-8
-q
-&
-q
-#
-b
-Q
-\
-c
-u
-p
-m
-t
-x
-v
-O
-0
-O
-Z
-0
-O
-m
-Q
-q
-k
-v
-u
-k
-h
-k
-k
-o
-h
-b
-M
-M
-&
-k
-M
-o
-h
-o
-#
-k
-k
-k
-h
-a
-b
-d
-m
-Z
-q
-p
-q
-Z
-0
-L
-J
-c
-u
-u
-n
-n
-n
-c
-C
-C
-c
-0
-o
-o
-n
-u
-n
-f
-r
-/
-/
-f
-z
-m
-h
-b
-q
-L
-Q
-Q
-+
-0
-I
-\
-Q
->
-Q
-J
-}
-t
-v
-J
-U
-X
-J
-C
-x
-v
-n
-f
-)
-[
-p
-8
-8
-M
-C
-Z
-8
-&
-&
-*
-#
-8
-8
-m
-W
-&
-&
-c
-h
-a
-m
-Q
-k
-O
-t
-X
-O
-J
-X
-v
-1
-X
-v
-1
-m
-Z
-b
-w
-C
-]
-+
-;
-*
-Z
-b
-o
-O
-Z
-L
-z
-Q
-v
-U
-x
-f
-Z
-n
-M
-#
-v
-\
-)
-[
-?
-]
-}
-)
-(
-|
-\
-\
-/
-u
-u
-v
-c
-*
-#
-#
-#
-M
-#
-#
-W
-M
-o
-k
-m
-O
-L
-U
-X
-/
-X
-Z
-&
-h
-o
-o
-&
-a
-M
-a
-o
-*
-&
-a
-a
-*
-M
-o
-h
-o
-k
-b
-*
-*
-m
-q
-#
-k
-a
-b
-h
-p
-J
-q
-Z
-n
-c
-v
-<
-_
-L
-C
-C
-v
-<
-<
->
-(
-q
-Z
-Z
-0
-r
-h
-a
-a
-a
-#
-o
-b
-b
-h
-w
-w
-#
-*
-#
-#
-#
-M
-&
-m
-*
-m
-h
-L
-Q
-p
-C
-Q
-n
-)
-n
-0
-p
-p
-p
-M
-b
-&
-8
-k
-&
-&
-M
-v
-/
-t
-Q
-O
-f
-x
-C
-Q
-0
-Z
-Z
-w
-k
-0
-q
-h
-b
-/
-c
-q
-m
-p
-h
-h
-a
-k
-o
-#
-#
-&
-k
-M
-o
-a
-*
-*
-a
-a
-h
-a
-h
-b
-d
-w
-Z
-Z
-d
-p
-q
-O
-C
-Y
-c
-n
-v
-x
-x
-u
-C
-O
-X
-Y
-W
-b
-u
-u
-j
-x
-j
-f
-/
-t
-Y
-0
-k
-b
-p
-L
-Z
-?
-<
-1
->
-U
-L
-)
-L
-q
-]
-C
-c
-C
-Q
-L
-C
-L
-Y
-z
-u
-x
-/
-]
-(
-b
-%
-B
-%
-w
-8
-a
-8
-#
-*
-8
-&
-%
-&
-&
-W
-M
-o
-h
-m
-Z
-a
-c
-0
-Y
-L
-Y
-(
-(
-(
-{
-<
-1
-j
-Q
-d
-m
-Y
-[
-?
-I
-i
-*
-W
-a
-Z
-r
-z
-J
-Y
-O
-x
-L
-0
-U
-m
-#
-M
-(
-f
-f
-j
-j
-j
-j
-j
-r
-r
-x
-n
-u
-u
-u
-u
-*
-*
-#
-#
-#
-#
-#
-b
-W
-M
-o
-d
-O
-0
-C
-Y
-Y
-f
-Y
-w
-p
-o
-o
-a
-b
-8
-W
-8
-o
-a
-&
-%
-#
-*
-#
-M
-a
-o
-h
-a
-M
-k
-Q
-O
-p
-U
-h
-d
-a
-a
-0
-h
-C
-z
-<
-<
-~
-]
-L
-C
-C
-0
-m
-Z
-m
-m
-Z
-Q
-Q
-Q
-Y
-k
-h
-a
-h
-x
-&
-d
-#
-h
-q
-w
-*
-*
-M
-M
-Q
-M
-&
-z
-o
-q
-k
-Q
-Q
-b
-p
-p
-O
-\
-x
-C
-w
-w
-p
-*
-%
-%
-%
-h
-a
-&
-{
-t
-_
-f
-n
-n
-r
-n
-Q
-Z
-m
-Z
-Z
-Z
-q
-q
-k
-k
-d
-\
-X
-Z
-Q
-O
-k
-k
-a
-b
-h
-M
-o
-M
-8
-b
-#
-*
-o
-#
-*
-o
-a
-h
-o
-h
-b
-d
-q
-w
-Z
-p
-d
-d
-O
-L
-Y
-u
-x
-x
-x
-n
-U
-0
-z
-Y
-W
-W
-n
-c
-j
-j
-x
-j
-r
-f
-c
-Q
-q
-k
-m
-Q
-m
-]
-[
-[
-_
-J
-J
-{
-m
-q
-/
-0
-x
-Q
-Z
-Z
-Z
-O
-O
-X
-n
-u
-t
-]
-l
-Z
-8
-8
-8
-Y
-8
-a
-8
-#
-#
-M
-h
-%
-o
-&
-&
-#
-a
-h
-q
-p
-&
-|
-0
-J
-o
-O
-z
-|
-x
-\
-?
-_
-?
-w
-q
-m
-J
-/
-{
-!
-i
-M
-M
-h
-C
-J
-U
-C
-J
-Y
-Y
-C
-q
-Q
-Z
-*
-W
-x
-r
-x
-x
-r
-x
-x
-x
-x
-n
-n
-u
-v
-u
-v
-u
-o
-#
-#
-#
-#
-#
-#
->
-M
-#
-a
-p
-0
-0
-J
-U
-Y
-r
-Y
-m
-Q
-O
-8
-h
-W
-M
-M
-k
-o
-#
-o
-o
-*
-h
-*
-*
-*
-k
-k
-o
-#
-a
-J
-q
-J
-X
-_
-&
-_
-~
--
-+
-<
-~
-+
-~
-+
-<
-J
-O
-m
-w
-m
-m
-O
-0
-0
-L
-L
-Q
-Z
-h
-a
-a
-h
-J
-W
-#
-W
-h
-q
-w
-#
-*
-M
-M
-M
-h
-&
-*
-*
-h
-d
-m
-Q
-h
-d
-d
-p
-/
-x
-u
-m
-q
-w
-a
-k
-b
-h
-M
-&
-Z
-d
-w
-t
-c
-q
-t
-n
-Y
-Q
-m
-Z
-m
-Z
-m
-b
-a
-b
-h
-u
-(
-k
-O
-0
-Q
-0
-k
-h
-d
-k
-#
-#
-#
-M
-8
-b
-*
-o
-M
-#
-*
-a
-a
-a
-o
-h
-k
-b
-d
-p
-w
-w
-b
-d
-p
-Q
-Y
-n
-x
-x
-x
-X
-0
-Q
-Q
-q
-*
-c
-v
-f
-j
-j
-r
-j
-j
-r
-J
-w
-a
-d
-0
-p
-_
-r
-]
--
-J
-Y
-j
-q
-J
-Z
-Z
-J
-Q
-U
-Z
-O
-O
-0
-Y
-~
-[
-1
-1
-(
-q
-8
-W
-#
-Y
-8
-8
-8
-#
-M
-8
-8
-8
-&
-&
-&
-8
-%
-h
-b
-Z
-%
-X
-O
-L
-q
-w
-j
-c
-X
-q
-1
-X
-)
-i
-L
-m
-C
-x
-}
--
--
-#
-b
-o
-O
-r
-U
-J
-J
-J
-L
-Q
-b
-Z
-q
-#
-X
-x
-x
-x
-n
-u
-n
-n
-u
-v
-v
-c
-c
-c
-v
-v
-0
-o
-*
-#
-#
-#
-#
-#
-M
-M
-#
-h
-m
-Q
-Q
-C
-U
-X
-u
-U
-q
-X
-r
-a
-k
-h
-k
-&
-M
-h
-&
-W
-#
-o
-#
-a
-M
-*
-h
-a
-k
-*
-h
-f
-h
-J
-!
-+
-M
-_
-?
-~
-+
-~
-<
-j
-d
-m
-w
-q
-w
-w
-O
-0
-Q
-Q
-L
-0
-m
-m
-L
-Z
-k
-h
-a
-h
-h
-W
-#
-h
-h
-q
-w
-#
-#
-M
-W
-M
-a
-&
-8
-*
-a
-q
-b
-w
-h
-d
-b
-d
-t
-f
-x
-Z
-w
-m
-a
-h
-h
-h
-h
-o
-*
-Z
-k
-v
-X
-c
-j
-u
-U
-Q
-m
-m
-C
-q
-h
-h
-b
-b
-h
-/
-(
-k
-Z
-Q
-L
-L
-k
-k
-k
-b
-a
-W
-a
-M
-#
-&
-b
-#
-*
-o
-*
-a
-o
-a
-*
-o
-h
-k
-k
-k
-d
-d
-q
-b
-b
-p
-m
-z
-n
-x
-r
-u
-O
-w
-Y
-p
-#
-U
-u
-j
-x
-r
-j
-r
-t
-f
-L
-m
-k
-b
-Z
-d
-_
-c
-|
-?
-Q
-u
-C
-U
-O
-O
-0
-0
-Q
-U
-0
-L
-Z
-Z
-Q
-z
-X
-c
-{
-]
-q
-M
-8
-8
-B
-W
-&
-B
-M
-*
-q
-M
-8
-a
-*
-o
-&
-8
-d
-h
-m
-a
-0
-m
-X
-p
-q
-c
-U
-U
-r
-t
-(
-Y
-x
-X
-O
-Z
-z
-)
-]
-i
-M
-*
-d
-Z
-j
-r
-C
-X
-Y
-C
-Q
-L
-a
-o
-#
-C
-n
-n
-u
-v
-u
-v
-v
-c
-c
-z
-X
-z
-z
-v
-v
-a
-o
-*
-#
-#
-#
-#
-M
-$
-M
-*
-k
-Z
-L
-Q
-C
-U
-Y
-c
-C
-a
-L
-(
-X
-b
-h
-p
-&
-M
-h
-W
-8
-a
-*
-M
-#
-*
-h
-k
-h
-a
-a
-o
-f
-k
-Y
-<
-+
-*
-+
-]
-j
-w
-O
-m
-w
-q
-q
-w
-Z
-0
-Q
-Q
-Q
-Q
-m
-q
-q
-w
-m
-Y
-Z
-h
-h
-a
-h
-h
-#
-k
-k
-h
-q
-q
-#
-#
-M
-M
-M
-a
-&
-&
-*
-a
-m
-k
-p
-a
-d
-b
-b
-t
-\
-j
-c
-p
-q
-k
-b
-k
-k
-k
-h
-*
-J
-*
-C
-c
-/
-x
-c
-U
-Z
-O
-0
-d
-p
-d
-b
-k
-k
-*
-/
-)
-b
-Z
-C
-C
-U
-L
-p
-b
-b
-d
-W
-#
-b
-#
-M
-&
-d
-#
-M
-a
-#
-*
-o
-o
-*
-o
-k
-k
-k
-k
-k
-b
-d
-b
-b
-d
-q
-c
-Y
-x
-n
-Y
-Z
-U
-#
-*
-J
-v
-r
-j
-j
-r
-f
-j
-n
-C
-0
-b
-h
-b
-b
-]
-]
-c
-~
-O
-)
-C
-0
-0
-Q
-C
-L
-Z
-O
-L
-C
-Q
-0
-O
-C
-X
-Y
-i
-_
-w
-8
-8
-k
-J
-b
-M
-8
-q
-#
-8
-&
-w
-a
-&
-&
-Q
-o
-8
-M
-w
-o
-k
-w
-Q
-p
-w
-d
-O
-U
-Y
-\
-C
-t
-x
-J
-L
-0
-Y
-{
-(
-+
-r
-#
-d
-0
-Q
-x
-u
-U
-U
-Y
-X
-Q
-Q
-M
-#
-U
-n
-u
-c
-c
-c
-z
-X
-X
-Y
-Y
-Y
-X
-X
-c
-c
-o
-o
-#
-#
-#
-#
-#
-M
-M
-M
-o
-d
-O
-C
-L
-C
-U
-X
-c
-L
-8
-z
-|
-/
-a
-M
-b
-h
-W
-k
-M
-&
-o
-*
-a
-*
-o
-#
-a
-h
-*
-*
-*
-U
-w
-Q
-X
-J
-k
-O
-m
-Z
-q
-w
-m
-m
-0
-0
-0
-0
-Q
-Z
-q
-q
-m
-w
-q
-q
-q
-w
-Z
-m
-a
-a
-a
-a
-@
-k
-k
-h
-h
-q
-q
-#
-#
-M
-M
-M
-X
-8
-8
-o
-*
-m
-b
-d
-h
-d
-d
-b
-n
-t
-t
-x
-p
-b
-k
-k
-b
-b
-k
-h
-o
-a
-k
-0
-j
-r
-n
-X
-O
-Z
-Z
-w
-m
-b
-b
-b
-o
-*
-*
-)
-|
-q
-0
-Q
-C
-z
-Y
-O
-b
-h
-h
-a
-#
-a
-*
-#
-M
-W
-k
-M
-a
-a
-o
-o
-o
-o
-*
-*
-k
-k
-k
-k
-h
-h
-k
-b
-b
-p
-q
-p
-U
-J
-c
-m
-Q
-o
-a
-L
-v
-x
-r
-j
-j
-j
-r
-x
-X
-U
-d
-a
-k
-b
-]
-{
-{
-z
-x
-X
-O
-0
-J
-Q
-Q
-m
-m
-m
-Z
-C
-C
-Q
-0
-0
-J
-Y
-z
-j
-%
-Y
-n
-v
-Y
-L
-#
-U
-%
-%
-8
-o
-w
-L
-&
-#
-h
-a
-b
-h
-k
-h
-p
-C
-J
-q
-L
-b
-O
-L
-p
-Z
-z
-|
-)
-.
-0
-w
-z
-[
-(
-_
-,
-Z
-o
-0
-C
-0
-v
-J
-U
-X
-X
-U
-0
-M
-#
-Y
-u
-v
-c
-z
-X
-Y
-Y
-U
-U
-U
-Y
-Y
-z
-c
-p
-o
-*
-#
-*
-#
-#
-#
-&
-M
-#
-a
-p
-0
-J
-C
-J
-Y
-X
-z
-Q
-%
-v
-\
-1
-k
-d
-h
-d
-k
-k
-&
-#
-b
-&
-b
-o
-o
-o
-#
-k
-#
-o
-o
-L
-d
-q
-J
-O
-b
-m
-w
-O
-0
-Q
-Q
-Q
-O
-q
-q
-q
-q
-q
-w
-m
-m
-w
-w
-q
-p
-Z
-m
-b
-a
-a
-a
-&
-W
-k
-k
-h
-k
-q
-q
-#
-#
-M
-M
-M
-W
-8
-8
-Y
-*
-m
-h
-d
-k
-d
-d
-d
-0
-t
-/
-j
-m
-a
-h
-k
-b
-b
-b
-a
-h
-M
-p
-b
-r
-n
-v
-c
-C
-C
-L
-p
-b
-k
-k
-k
-k
-a
-U
-(
-f
-Z
-0
-L
-U
-Y
-z
-C
-w
-p
-b
-o
-#
-o
-*
-#
-#
-*
-M
-k
-*
-*
-o
-o
-a
-a
-a
-*
-o
-h
-k
-h
-h
-a
-a
-k
-b
-b
-b
-q
-w
-J
-J
-O
-o
-*
-a
-0
-u
-x
-t
-r
-j
-j
-r
-r
-x
-0
-b
-#
-k
-L
-1
-)
-t
-f
-c
-L
-0
-J
-L
-Q
-m
-w
-*
-#
-m
-m
-C
-J
-Q
-Z
-0
-J
-U
-&
-f
-u
-n
-v
-w
-L
-a
-Y
-q
-B
-&
-o
-*
-*
-&
-Y
-J
-h
-a
-d
-h
-o
-Z
-Y
-Z
-h
-0
-*
-z
-k
-p
-U
-J
-u
-^
-/
-U
-O
-Q
-(
-]
-]
-;
-m
-d
-Z
-X
-0
-n
-\
-J
-X
-u
-Y
-.
-#
-M
-U
-z
-c
-z
-X
-U
-U
-J
-J
-J
-J
-U
-Y
-z
-X
-a
-o
-*
-*
-#
-#
-#
-#
-t
-#
-#
-a
-q
-0
-J
-C
-J
-Y
-X
-z
-Q
-M
-v
-/
-1
-b
-k
-p
-d
-#
-h
-M
-J
-^
-#
-h
-a
-#
-M
-o
-a
-a
-a
-*
-L
-L
-b
-J
-Y
-p
-L
-0
-Q
-Q
-q
-p
-q
-q
-q
-w
-q
-q
-q
-w
-q
-w
-q
-q
-p
-d
-O
-w
-a
-a
-a
-#
-W
-W
-M
-k
-h
-b
-q
-q
-#
-#
-M
-M
-M
-W
-&
-&
-B
-o
-m
-h
-b
-k
-p
-b
-b
-b
-t
-/
-f
-J
-k
-a
-k
-p
-q
-w
-b
-h
-#
-d
-J
-f
-n
-v
-z
-J
-q
-d
-b
-b
-k
-k
-k
-k
-*
-r
-)
-q
-m
-O
-C
-C
-X
-z
-X
-m
-p
-k
-b
-o
-o
-p
-*
-*
-o
-#
-M
-*
-*
-a
-o
-o
-a
-a
-a
-o
-o
-h
-h
-a
-h
-a
-*
-o
-p
-b
-p
-b
-p
-w
-O
-o
-*
-h
-d
-v
-x
-j
-j
-j
-j
-u
-X
-Y
-Q
-d
-o
-b
-Y
-1
-|
-f
-x
-J
-L
-U
-C
-L
-p
-#
-b
-o
-o
-Q
-q
-Z
-0
-Q
-Z
-Z
-0
-C
-J
-1
-(
-|
-j
-a
-u
-*
-j
-w
-#
-&
-*
-#
-a
-&
-a
-b
-k
-Y
-Y
-p
-a
-m
-L
-q
-o
-a
-M
-\
-|
-0
-J
-U
-j
--
-j
-L
-O
-C
-/
-)
-}
->
-z
-z
-X
-n
-r
-u
-z
-u
-J
-Y
-J
-Y
-o
-U
-U
-U
-X
-Y
-Y
-U
-J
-C
-C
-C
-C
-J
-J
-Y
-C
-*
-#
-#
-#
-#
-#
-#
-#
-/
-M
-#
-a
-q
-0
-C
-C
-U
-Y
-z
-Y
-0
-b
-v
-/
-1
-O
-d
-p
-q
-M
-#
-&
-l
-[
-k
-k
-o
-M
-o
-a
-a
-a
-o
-h
-M
-C
-L
-U
-C
-w
-q
-m
-0
-w
-q
-q
-q
-p
-m
-q
-q
-q
-q
-q
-q
-d
-p
-d
-p
-d
-Z
-q
-a
-a
-a
-{
-#
-#
-B
-h
-h
-b
-q
-q
-M
-#
-M
-M
-M
-M
-B
-&
-&
-b
-b
-h
-h
-b
-d
-b
-b
-b
-/
-/
-\
-n
-b
-k
-q
-d
-k
-a
-a
-h
-L
-*
-r
-j
-u
-v
-X
-Q
-O
-b
-b
-h
-d
-b
-a
-h
-#
-j
-|
-w
-Z
-O
-C
-J
-Y
-X
-c
-O
-p
-d
-k
-k
-o
-p
-a
-#
-o
-a
-#
-a
-h
-#
-h
-o
-a
-o
-a
-a
-o
-o
-h
-h
-o
-a
-o
-*
-o
-b
-p
-w
-b
-b
-k
-#
-#
-M
-w
-n
-x
-j
-j
-x
-n
-c
-q
-0
-O
-w
-0
-d
-\
-)
-|
-j
-v
-X
-U
-U
-0
-q
-*
-d
-k
-d
-o
-C
-C
-Z
-L
-C
-0
-m
-0
-C
-Q
-X
-c
-{
-r
-p
-|
-o
-u
-Z
-q
-@
-h
-o
-#
-&
-*
-o
-M
-*
-*
-h
-o
-0
-0
-h
-*
-d
-M
-\
-\
-h
-k
-z
-U
-f
-f
-z
-O
-0
-c
-1
-]
->
-[
-n
-)
-v
-{
-t
-j
-r
-}
-J
-v
-I
-o
-Y
-J
-J
-Y
-Y
-U
-J
-C
-C
-C
-C
-L
-L
-L
-C
-q
-#
-#
-#
-#
-#
-#
-#
-#
-d
-M
-*
-h
-q
-Q
-C
-C
-U
-Y
-c
-Y
-m
-p
-v
-\
-)
-Y
-w
-q
-b
-o
-a
-w
-u
-z
-0
-h
-k
-h
-o
-h
-#
-h
-#
-#
-#
-Q
-#
-z
-J
-m
-q
-0
-Z
-w
-q
-q
-w
-q
-w
-w
-w
-q
-p
-b
-d
-b
-p
-d
-p
-b
-Z
-q
-a
-a
-a
-d
-a
-p
-d
-h
-a
-d
-q
-q
-#
-#
-M
-M
-M
-M
-L
-&
-&
-c
-o
-k
-k
-b
-h
-d
-d
-d
-Q
-/
-|
-/
-w
-b
-w
-k
-k
-a
-a
-h
-U
-{
-f
-n
-c
-c
-C
-O
-O
-d
-b
-k
-b
-k
-a
-#
-*
-n
-\
-p
-m
-0
-Q
-U
-U
-Y
-X
-Q
-q
-w
-b
-h
-a
-a
-h
-o
-o
-o
-o
-#
-b
-*
-o
-h
-a
-a
-a
-a
-a
-a
-o
-a
-a
-o
-o
-o
-#
-*
-b
-b
-q
-b
-p
-p
-#
-W
-d
-c
-x
-x
-x
-u
-X
-J
-w
-w
-J
-k
-b
-w
-)
-|
-f
-x
-u
-J
-U
-O
-b
-o
-o
-w
-U
-m
-b
-b
-X
-p
-Z
-0
-L
-w
-Q
-Q
-Z
-Q
-Q
-\
-Y
-#
-J
-0
-L
-O
-M
-@
-m
-o
-0
-&
-&
-b
-o
-a
-*
-*
-#
-#
-d
-d
-M
-M
-M
-/
-(
-q
-X
-X
-X
-x
-)
-`
-Z
-m
-u
-[
-_
-_
-<
-f
-x
-x
-(
-z
-]
-t
-f
-n
-j
-)
-o
-U
-C
-Q
-U
-U
-J
-C
-C
-C
-Q
-Q
-Q
-0
-0
-m
-k
-#
-#
-#
-#
-#
-#
-#
-#
-8
-W
-*
-h
-w
-0
-Q
-L
-J
-Y
-c
-X
-w
-w
-v
-\
-)
-x
-#
-q
-M
-M
-b
-M
-d
-C
-b
-d
-#
-*
-k
-a
-h
-a
-h
-h
-n
-L
-J
-z
-]
-C
-J
-L
-p
-w
-q
-q
-w
-w
-w
-p
-m
-q
-b
-b
-d
-b
-b
-p
-d
-d
-m
-p
-a
-a
-#
-*
-a
-p
-k
-h
-a
-p
-q
-q
-#
-#
-M
-W
-M
-M
-m
-k
-&
-v
-a
-k
-k
-b
-a
-d
-d
-b
-d
-f
-{
-\
-O
-p
-b
-k
-h
-h
-a
-k
-X
-X
-f
-n
-z
-X
-Q
-Z
-w
-p
-b
-d
-b
-h
-a
-#
-a
-c
-|
-d
-O
-Q
-L
-Q
-J
-Y
-U
-Q
-h
-w
-k
-k
-M
-h
-h
-a
-a
-o
-o
-*
-#
-m
-b
-*
-o
-a
-a
-a
-a
-a
-a
-a
-a
-o
-o
-o
-*
-#
-#
-d
-q
-w
-p
-p
-*
-#
-o
-c
-n
-n
-x
-c
-C
-q
-q
-O
-q
-b
-d
-0
-)
-/
-j
-x
-v
-X
-X
-q
-*
-*
-a
-*
-n
-0
-X
-d
-n
-Q
-Z
-Q
-L
-m
-Z
-O
-O
-0
-J
-J
-C
-M
-Q
-0
-Z
-O
-8
-$
-o
-Q
-Q
-&
-W
-*
-#
-o
-M
-*
-*
-o
-o
-k
-&
-W
-W
-t
-\
-p
-L
-X
-v
-r
-)
-.
-O
-0
-J
-}
-?
--
-!
-j
-n
-t
-/
-r
-)
-\
-/
-v
-(
-m
-o
-0
-Q
-0
-J
-C
-C
-L
-L
-Q
-Q
-0
-0
-O
-m
-p
-o
-#
-M
-#
-#
-#
-#
-#
-M
-#
-M
-*
-h
-w
-0
-0
-L
-J
-U
-c
-Y
-q
-m
-u
-/
-1
-j
-0
-d
-m
-q
-h
-W
-Z
-C
-Z
-d
-a
-*
-o
-h
-h
-#
-o
-h
-x
-o
-C
-Y
-Y
-Y
-L
-X
-O
-w
-w
-q
-q
-d
-p
-q
-w
-q
-b
-b
-d
-d
-b
-b
-b
-d
-q
-p
-a
-a
-x
-a
-a
-W
-k
-h
-a
-d
-q
-q
-#
-#
-M
-W
-M
-M
-W
-x
-#
-o
-*
-h
-k
-b
-a
-d
-d
-d
-d
-b
-t
-)
-\
-L
-k
-k
-a
-h
-a
-k
-p
-f
-r
-n
-Y
-J
-0
-q
-q
-b
-k
-b
-b
-k
-h
-M
-X
-t
-n
-m
-0
-0
-Q
-C
-U
-C
-Z
-Q
-k
-a
-k
-M
-o
-b
-a
-o
-o
-a
-h
-a
-*
-#
-m
-M
-a
-h
-a
-a
-a
-a
-a
-a
-a
-o
-o
-o
-o
-#
-*
-#
-L
-w
-q
-m
-o
-M
-M
-v
-Y
-0
-O
-q
-a
-k
-m
-p
-k
-k
-k
-f
-|
-/
-x
-x
-z
-X
-b
-p
-Q
-m
-a
-m
-q
-\
-v
-U
-Z
-z
-b
-Z
-0
-m
-w
-Z
-Z
-Z
-C
-X
-U
-W
-#
-q
-w
-0
-$
-&
-B
-Z
-C
-o
-o
-a
-#
-W
-Z
-#
-o
-o
-h
-a
-o
-W
-*
-\
-(
-b
-k
-X
-v
-j
-)
-.
-O
-O
-X
-?
-?
-_
-}
-{
-o
-/
-v
-j
-f
-|
-f
-c
-t
-w
-p
-Z
-Z
-m
-L
-L
-L
-Q
-0
-0
-O
-Z
-m
-w
-p
-k
-*
-#
-M
-#
-M
-#
-#
-M
-M
-*
-M
-o
-h
-w
-0
-O
-Q
-U
-Y
-X
-U
-w
-Z
-u
-t
-)
-v
-o
-p
-b
-Z
-d
-M
-o
-m
-Z
-d
-o
-o
-h
-k
-k
-k
-#
-h
-a
-h
-w
-L
-Y
-J
-Y
-C
-d
-q
-q
-p
-p
-p
-p
-q
-q
-p
-b
-d
-d
-d
-d
-b
-b
-Z
-p
-h
-a
-a
-J
-a
-b
-a
-k
-h
-a
-d
-p
-q
-M
-#
-M
-M
-M
-M
-W
-%
-8
-&
-C
-a
-k
-b
-a
-p
-d
-d
-p
-d
-d
-c
-)
-|
-m
-k
-k
-d
-h
-k
-p
-x
-n
-v
-U
-w
-q
-q
-b
-b
-k
-b
-b
-o
-#
-W
-x
-u
-f
-m
-L
-0
-Q
-L
-C
-C
-q
-O
-k
-h
-k
-k
-k
-b
-a
-k
-h
-a
-o
-a
-a
-#
-M
-Z
-#
-a
-o
-a
-a
-a
-a
-a
-a
-a
-a
-o
-o
-o
-o
-o
-*
-d
-m
-M
-#
-M
-#
-*
-*
-o
-*
-o
-o
-p
-d
-k
-k
-h
-k
-)
-|
-f
-n
-v
-z
-L
-q
-Z
-C
-j
-p
-#
-U
-|
-(
-b
-p
-v
-a
-w
-O
-Z
-m
-O
-0
-w
-m
-Z
-m
-m
-&
-M
-d
-8
-%
-@
-%
-&
-C
-a
-*
-#
-M
-#
-b
-Z
-k
-m
-Z
-d
-*
-#
-*
-(
-1
-d
-k
-Y
-u
-\
-`
-.
-m
-C
-v
-t
-}
->
-{
-O
-n
-B
-q
-/
-t
-u
-t
-v
-Y
-q
-0
-m
-q
-q
-Z
-0
-O
-Z
-Z
-m
-m
-w
-q
-d
-k
-a
-#
-#
-#
-M
-M
-M
-M
-#
-M
-#
-M
-o
-k
-w
-O
-Z
-Q
-J
-Y
-X
-J
-b
-Z
-c
-f
-|
-v
-q
-b
-0
-m
-Z
-a
-q
-k
-w
-b
-b
-a
-k
-o
-k
-a
-a
-a
-0
-m
-&
-m
-X
-U
-O
-C
-o
-w
-p
-q
-q
-q
-b
-q
-q
-k
-b
-d
-d
-b
-b
-b
-b
-m
-p
-a
-a
-*
-M
-&
-d
-a
-k
-h
-a
-d
-p
-q
-M
-#
-M
-M
-M
-M
-M
-k
-&
-8
-W
-a
-h
-k
-a
-p
-d
-p
-d
-p
-d
-d
-b
-x
-J
-p
-h
-h
-a
-k
-f
-f
-x
-v
-q
-Z
-w
-k
-b
-k
-k
-k
-b
-o
-M
-#
-x
-j
-j
-q
-O
-0
-O
-C
-L
-0
-Q
-q
-d
-o
-b
-m
-o
-*
-k
-a
-a
-o
-a
-a
-a
-a
-M
-&
-z
-*
-a
-a
-a
-a
-a
-h
-h
-h
-h
-a
-a
-o
-a
-*
-a
-o
-k
-*
-M
-M
-&
-M
-M
-a
-o
-o
-o
-d
-b
-b
-b
-a
-b
-)
-\
-f
-t
-c
-v
-m
-a
-k
-q
-k
-(
-b
-c
-_
-1
-j
-q
-?
-k
-m
-O
-w
-w
-O
-L
-q
-w
-w
-m
-m
-#
-J
-d
-@
-@
-8
-%
-&
-C
-h
-a
-M
-&
-a
-p
-d
-b
-#
-p
-k
-0
-*
-#
-)
-{
-a
-k
-Y
-v
-r
-,
-!
-Q
-O
-v
-/
-1
-+
-{
-k
-b
-W
-O
-X
-X
-v
-f
-j
-c
-d
-p
-q
-d
-k
-p
-m
-m
-w
-w
-q
-p
-p
-b
-k
-a
-*
-#
-M
-M
-M
-M
-M
-M
-#
-M
-#
-M
-a
-k
-w
-Z
-Z
-Q
-J
-U
-Y
-Q
-W
-Z
-X
-j
-/
-u
-b
-0
-o
-b
-q
-W
-b
-q
-h
-p
-d
-k
-k
-h
-k
-b
-a
-o
-C
-p
-v
-a
-#
-u
-C
-k
-m
-m
-Z
-w
-q
-p
-k
-p
-p
-h
-d
-p
-d
-d
-d
-b
-b
-m
-d
-a
-a
-U
-&
-M
-M
-h
-k
-a
-a
-d
-p
-q
-M
-#
-M
-M
-M
-M
-W
-b
-&
-8
-m
-o
-h
-k
-a
-p
-p
-d
-p
-p
-p
-p
-d
-d
-w
-o
-h
-a
-h
-k
-f
-r
-x
-Y
-Z
-q
-k
-b
-k
-k
-k
-k
-h
-*
-M
-W
-x
-x
-u
-m
-O
-0
-0
-Q
-L
-Z
-O
-d
-p
-o
-b
-b
-a
-o
-a
-a
-h
-k
-a
-a
-h
-a
-a
-M
-o
-z
-#
-a
-a
-a
-a
-a
-a
-h
-h
-h
-h
-a
-o
-o
-a
-#
-o
-M
-&
-*
-M
-o
-a
-o
-o
-o
-k
-b
-b
-b
-k
-h
-0
-(
-/
-u
-n
-c
-U
-k
-&
-M
-0
-J
-x
-J
-h
-]
-_
->
-m
-;
-h
-m
-Z
-Z
-w
-0
-L
-q
-q
-q
-q
-8
-B
-v
-b
-$
-@
-8
-8
-&
-C
-b
-#
-*
-o
-b
-M
-#
-a
-o
-b
-k
-o
-M
-M
-{
-}
-a
-k
-Y
-u
-x
-}
-(
-O
-O
-z
-\
-{
-?
-)
-p
-a
-J
-&
-L
-W
-Q
-w
-Z
-C
-b
-d
-d
-h
-h
-h
-q
-q
-p
-p
-d
-k
-h
-a
-a
-*
-#
-M
-M
-M
-W
-W
-M
-M
-M
-M
-M
-#
-a
-b
-w
-Z
-m
-Q
-J
-Y
-Y
-Z
-*
-q
-J
-u
-r
-Y
-k
-Z
-*
-M
-a
-h
-*
-b
-q
-q
-k
-k
-a
-a
-k
-#
-o
-a
-L
-J
-/
-h
-m
-h
-b
-*
-Z
-m
-w
-q
-q
-d
-h
-d
-d
-k
-d
-d
-b
-d
-p
-p
-d
-w
-b
-o
-a
-a
-J
-M
-W
-a
-k
-a
-a
-d
-p
-p
-M
-#
-M
-W
-W
-M
-M
-W
-&
-%
-*
-*
-h
-h
-a
-p
-d
-d
-d
-p
-p
-p
-p
-p
-p
-d
-p
-p
-d
-U
-j
-n
-v
-U
-w
-p
-k
-b
-k
-k
-k
-a
-o
-*
-8
-#
-x
-j
-X
-O
-0
-0
-O
-L
-J
-O
-w
-p
-p
-#
-o
-b
-k
-o
-h
-h
-h
-a
-o
-a
-a
-h
-a
-a
-W
-b
-Q
-d
-a
-a
-a
-a
-a
-h
-k
-h
-h
-h
-o
-a
-o
-o
-o
-o
-#
-o
-*
-k
-0
-b
-a
-o
-k
-b
-b
-k
-h
-k
-Q
-(
-t
-v
-n
-v
-0
-k
-a
-*
-*
-\
-*
-n
-d
-x
-_
-i
-p
-.
-a
-w
-Z
-O
-m
-0
-Q
-w
-q
-q
-q
-*
-c
-Y
-d
-M
-@
-8
-8
-&
-C
-b
-o
-o
-o
-b
-h
-o
-a
-a
-d
-b
-w
-a
-#
-{
-}
-#
-d
-U
-v
-x
-1
-x
-Z
-Q
-U
-\
--
--
-?
-o
-m
-#
-*
-J
-8
-%
-8
-h
-d
-b
-d
-k
-h
-o
-a
-p
-d
-b
-k
-h
-h
-a
-o
-*
-*
-#
-#
-M
-&
-#
-a
-a
-q
-w
-o
-M
-M
-a
-b
-w
-m
-m
-Q
-J
-U
-Y
-m
-b
-p
-Q
-z
-x
-0
-o
-k
-o
-o
-p
-p
-*
-b
-p
-q
-O
-m
-b
-h
-k
-a
-k
-*
-O
-Q
-\
-M
-k
-C
-C
-a
-O
-Z
-w
-p
-p
-b
-h
-d
-d
-b
-d
-b
-d
-d
-d
-d
-p
-w
-b
-a
-o
-a
-d
-a
-o
-a
-k
-a
-a
-d
-p
-p
-M
-#
-M
-M
-M
-M
-M
-M
-M
-&
-&
-c
-o
-a
-h
-b
-d
-d
-p
-p
-p
-p
-p
-p
-p
-p
-p
-d
-q
-j
-j
-n
-c
-Q
-q
-k
-k
-b
-k
-k
-h
-o
-o
-&
-8
-W
-x
-x
-c
-Q
-O
-0
-0
-0
-Q
-0
-b
-p
-a
-a
-a
-h
-a
-h
-k
-h
-k
-h
-a
-h
-a
-a
-h
-a
-a
-M
-b
-0
-b
-h
-a
-a
-a
-a
-h
-k
-k
-h
-h
-h
-a
-a
-h
-a
-*
-b
-b
-d
-k
-h
-o
-a
-p
-b
-b
-k
-h
-h
-f
-|
-r
-j
-u
-r
-o
-v
-d
-q
-o
-h
-#
-f
-b
-Y
-j
-\
-x
-1
-b
-b
-m
-O
-Z
-Z
-Q
-q
-p
-q
-Z
-0
-Q
-O
-d
-#
-B
-8
-W
-W
-b
-&
-*
-k
-a
-*
-w
-a
-#
-p
-m
-k
-q
-k
-a
-}
-}
-#
-0
-X
-r
-r
-)
-q
-w
-U
-J
-1
-(
-}
-}
-M
-b
-M
-k
-0
-*
-C
-M
-#
-o
-a
-a
-*
-*
-*
-*
-o
-k
-h
-h
-o
-o
-M
-o
-#
-o
-m
-W
-M
-q
-b
-a
-b
-b
-k
-B
-M
-#
-h
-d
-m
-w
-Z
-Q
-J
-U
-U
-w
-k
-p
-0
-Y
-n
-Z
-q
-O
-w
-O
-0
-Z
-Q
-W
-Q
-m
-q
-b
-a
-h
-h
-#
-k
-a
-U
-d
-r
-X
-b
-q
-0
-b
-a
-w
-q
-p
-d
-d
-b
-p
-k
-b
-b
-d
-b
-b
-b
-b
-w
-k
-k
-o
-*
-a
-8
-o
-a
-a
-k
-o
-a
-p
-p
-p
-M
-#
-M
-M
-M
-M
-M
-M
-&
-&
-&
-j
-o
-a
-h
-h
-p
-p
-p
-p
-p
-p
-p
-p
-p
-q
-q
-p
-X
-j
-r
-x
-Y
-Z
-p
-k
-k
-b
-k
-a
-*
-a
-#
-8
-8
-W
-x
-x
-J
-Z
-0
-0
-O
-O
-Q
-0
-Z
-d
-o
-a
-#
-k
-a
-k
-b
-h
-a
-h
-a
-a
-h
-h
-a
-h
-k
-o
-&
-C
-d
-h
-a
-a
-a
-a
-h
-h
-h
-h
-h
-h
-a
-h
-a
-k
-a
-a
-a
-h
-h
-a
-o
-a
-d
-b
-k
-h
-k
-b
-(
-\
-j
-j
-v
-z
-a
-L
-t
-q
-b
-o
-#
-n
-b
-C
-w
-Q
-k
-[
-p
-b
-m
-m
-m
-Z
-Z
-q
-q
-k
-d
-b
-k
-b
-C
-#
-8
-%
-&
-W
-b
-&
-p
-b
-b
-a
-k
-a
-h
-q
-k
-b
-k
-p
-a
-[
-{
-d
-Q
-z
-j
-f
-/
-p
-m
-Q
-X
-1
-)
-1
-(
-b
-M
-#
-a
-q
-8
-U
-W
-8
-a
-a
-a
-#
-#
-*
-*
-*
-a
-o
-h
-b
-o
-a
-o
-o
-k
-k
-o
-M
-M
-h
-o
-&
-W
-k
-W
-M
-#
-k
-d
-m
-w
-Z
-Q
-C
-J
-U
-p
-h
-p
-0
-U
-v
-Z
-k
-q
-m
-0
-q
-Q
-O
-d
-m
-q
-m
-w
-d
-k
-a
-h
-a
-a
-o
-O
-d
-t
-q
-z
-w
-Z
-Z
-w
-q
-p
-d
-b
-p
-d
-h
-b
-b
-d
-b
-b
-b
-b
-w
-k
-a
-a
-J
-h
-*
-o
-o
-h
-k
-o
-a
-d
-p
-d
-M
-#
-M
-W
-W
-M
-M
-M
-a
-&
-&
-v
-o
-a
-a
-a
-p
-p
-p
-p
-p
-q
-p
-p
-p
-q
-Z
-8
-r
-r
-u
-z
-Q
-O
-k
-b
-b
-b
-k
-a
-h
-o
-&
-&
-W
-M
-r
-r
-C
-Z
-O
-0
-O
-Q
-C
-w
-a
-k
-#
-*
-M
-b
-d
-k
-h
-a
-h
-a
-h
-a
-a
-a
-h
-a
-a
-a
-*
-W
-J
-a
-o
-h
-a
-a
-a
-h
-h
-h
-h
-h
-h
-h
-h
-a
-a
-a
-a
-o
-o
-o
-a
-h
-p
-p
-d
-d
-b
-k
-)
-/
-v
-x
-u
-%
-M
-C
-a
-Q
-h
-m
-#
-a
-b
-c
-k
-L
-m
-v
-M
-p
-m
-m
-q
-w
-Z
-m
-w
-q
-q
-Z
-o
-&
-L
-p
-8
-B
-W
-W
-k
-&
-M
-b
-b
-b
-h
-h
-m
-m
-p
-a
-d
-b
-k
-}
-1
-m
-J
-X
-v
-]
-n
-m
-Z
-C
-u
-)
-)
-\
-[
-p
-#
-@
-B
-%
-d
-&
-&
-Y
-p
-o
-o
-M
-W
-W
-W
-a
-*
-0
-b
-p
-h
-a
-*
-M
-#
-a
-k
-W
-W
-W
-*
-8
-*
-W
-B
-M
-#
-h
-p
-Z
-w
-Z
-L
-J
-J
-J
-d
-a
-q
-0
-J
-v
-Z
-&
-Z
-p
-q
-Y
-Z
-O
-Z
-Q
-d
-d
-b
-b
-b
-*
-o
-h
-*
-o
-d
-a
-/
-k
-J
-t
-|
-n
-q
-p
-d
-p
-k
-d
-d
-h
-b
-d
-b
-b
-b
-d
-b
-q
-k
-o
-o
-&
-&
-#
-o
-o
-h
-k
-o
-o
-d
-d
-p
-M
-#
-M
-W
-M
-M
-M
-W
-W
-&
-o
-%
-L
-o
-a
-a
-p
-p
-q
-q
-q
-q
-q
-p
-p
-q
-a
-n
-j
-r
-u
-J
-Z
-O
-k
-k
-b
-b
-b
-a
-*
-#
-M
-8
-8
-k
-r
-r
-L
-O
-O
-0
-w
-O
-w
-w
-b
-k
-*
-h
-o
-b
-k
-k
-k
-b
-a
-a
-h
-a
-a
-h
-a
-h
-a
-h
-h
-#
-M
-O
-a
-o
-h
-a
-a
-h
-h
-h
-h
-h
-h
-h
-h
-h
-a
-a
-a
-a
-a
-h
-h
-q
-a
-h
-b
-h
-a
-p
-)
-t
-u
-x
-r
-M
-0
-b
-M
-o
-J
-#
-C
-L
-&
-h
-M
-X
-p
-C
-#
-w
-O
-w
-q
-m
-Z
-w
-w
-q
-q
-w
-&
-&
-Z
-0
-&
-8
-&
-W
-h
-k
-%
-a
-h
-k
-h
-h
-k
-b
-Z
-w
-0
-d
-b
-{
-h
-m
-C
-c
-(
-)
-z
-m
-Z
-Y
-n
-t
-(
-|
-)
-W
-B
-@
-8
-W
-a
-h
-%
-8
-#
-d
-p
-m
-*
-C
-h
-h
-p
-p
-k
-L
-Z
-q
-#
-#
-*
-#
-#
-h
-h
-W
-&
-8
-*
-M
-%
-W
-#
-h
-p
-m
-m
-O
-L
-C
-C
-O
-p
-h
-p
-0
-Y
-u
-L
-&
-d
-q
-C
-O
-L
-0
-Z
-L
-O
-m
-q
-q
-d
-a
-b
-#
-h
-a
-#
-#
-k
-h
-p
-)
-|
-f
-#
-b
-p
-p
-a
-p
-b
-b
-d
-b
-b
-b
-d
-d
-b
-q
-a
-o
-Q
-a
-M
-o
-o
-o
-h
-h
-o
-o
-d
-d
-p
-M
-M
-M
-W
-W
-M
-M
-M
-M
-B
-#
-&
-/
-o
-a
-h
-q
-q
-q
-q
-q
-q
-q
-q
-q
-w
-a
-r
-r
-x
-X
-L
-O
-h
-b
-b
-p
-b
-k
-h
-*
-#
-W
-8
-L
-q
-x
-r
-L
-O
-0
-0
-q
-Z
-0
-k
-m
-b
-#
-M
-o
-a
-a
-a
-a
-h
-h
-k
-a
-a
-h
-a
-h
-a
-a
-a
-a
-h
-M
-8
-w
-a
-h
-h
-a
-h
-h
-h
-h
-h
-h
-h
-h
-a
-a
-a
-a
-a
-h
-h
-a
-h
-a
-o
-o
-a
-o
-Z
-)
-j
-\
-n
-v
-o
-M
-p
-b
-v
-d
-#
-M
-p
-k
-h
-h
-o
-d
-p
-k
-L
-0
-O
-q
-Z
-Z
-w
-w
-w
-w
-q
-O
-8
-Z
-m
-W
-&
-8
-W
-k
-h
-8
-o
-h
-a
-o
-b
-k
-Z
-m
-k
-b
-k
-a
-b
-p
-Z
-Y
-c
-(
-u
-m
-p
-0
-c
-r
-\
-\
-\
-(
-8
-h
-8
-&
-h
-m
-w
-*
-&
-o
-C
-#
-h
-n
-q
-]
-]
-z
-n
-X
-0
-h
-a
-#
-o
-p
-*
-*
-b
-a
-h
-M
-&
-&
-%
-8
-W
-#
-h
-p
-m
-w
-O
-L
-C
-J
-Z
-o
-a
-p
-Q
-Y
-u
-U
-k
-b
-W
-b
-0
-0
-C
-C
-O
-Z
-w
-Q
-w
-b
-b
-a
-o
-M
-#
-#
-#
-o
-Y
-a
-u
-(
-1
-Z
-Z
-p
-d
-h
-d
-d
-b
-b
-d
-b
-p
-b
-b
-p
-p
-o
-o
-u
-a
-o
-W
-o
-o
-h
-h
-o
-o
-d
-d
-d
-M
-M
-M
-W
-W
-M
-M
-M
-M
-*
-#
-%
-\
-a
-a
-a
-q
-q
-q
-q
-q
-q
-q
-q
-q
-M
-v
-j
-x
-c
-J
-Z
-w
-k
-d
-b
-p
-k
-h
-o
-#
-W
-8
-8
-L
-Q
-x
-r
-C
-Z
-O
-m
-m
-q
-0
-J
-q
-o
-*
-o
-m
-Z
-O
-m
-q
-p
-b
-p
-q
-k
-h
-h
-h
-h
-a
-h
-h
-a
-#
-#
-#
-w
-*
-b
-h
-h
-h
-h
-h
-h
-h
-h
-h
-h
-h
-a
-h
-h
-h
-k
-k
-*
-*
-*
-o
-a
-o
-0
-|
-x
-f
-v
-&
-#
-J
-&
-M
-z
-p
-&
-0
-L
-b
-m
-a
-k
-0
-k
-&
-C
-Q
-w
-w
-m
-O
-w
-q
-m
-m
-w
-m
-&
-q
-p
-W
-W
-%
-&
-b
-&
-&
-o
-k
-a
-a
-*
-h
-d
-p
-k
-C
-k
-a
-p
-k
-Q
-z
-r
-f
-J
-c
-w
-L
-u
-\
-\
-t
-f
-1
-b
-@
-%
-#
-Z
-o
-q
-p
-1
-?
-?
-1
-c
-_
-x
-X
-z
-c
-r
-!
-t
-w
-q
-*
-h
-k
-o
-b
-o
-k
-#
-a
-o
-#
-&
-8
-W
-*
-k
-q
-w
-w
-O
-C
-C
-J
-m
-W
-a
-d
-0
-Y
-c
-x
-d
-q
-b
-a
-o
-h
-L
-C
-Q
-U
-Y
-U
-z
-0
-w
-b
-d
-b
-a
-#
-M
-#
-c
-O
-J
-/
-Y
-Z
-Z
-d
-b
-d
-p
-b
-b
-b
-d
-d
-p
-d
-b
-q
-a
-o
-o
-8
-o
-w
-h
-o
-o
-h
-h
-o
-d
-b
-M
-d
-M
-M
-M
-M
-W
-M
-M
-M
-M
-k
-p
-8
-@
-#
-a
-a
-q
-q
-q
-q
-q
-q
-q
-w
-w
-O
-n
-c
-x
-Y
-C
-m
-m
-b
-p
-q
-b
-k
-k
-o
-#
-&
-o
-J
-L
-J
-x
-r
-C
-Z
-O
-Z
-q
-0
-Q
-m
-O
-#
-h
-w
-O
-O
-Z
-Z
-Z
-Z
-O
-O
-0
-m
-q
-d
-d
-d
-w
-a
-h
-h
-*
-a
-M
-0
-m
-M
-b
-h
-a
-h
-h
-a
-h
-h
-h
-h
-h
-a
-h
-a
-a
-h
-m
-o
-*
-o
-*
-o
-a
-c
-\
-r
-j
-n
-&
-#
-v
-o
-M
-z
-&
-#
-M
-C
-*
-M
-j
-k
-Z
-*
-Q
-Q
-O
-w
-w
-Z
-m
-w
-w
-w
-Z
-q
-k
-W
-C
-q
-M
-W
-8
-&
-d
-k
-&
-m
-k
-h
-o
-o
-o
-o
-O
-Z
-d
-d
-a
-o
-q
-Z
-c
-n
-O
-\
-n
-q
-J
-c
-f
-\
-t
-j
-t
-b
-b
-k
-8
-k
-C
-u
-\
-)
-(
-/
-[
-1
-j
-{
-X
--
-?
-x
-f
-|
-u
-Y
-w
-h
-b
-*
-d
-#
-h
-o
-M
-a
-&
-#
-*
-M
-*
-h
-q
-w
-w
-O
-C
-C
-J
-w
-b
-a
-d
-0
-Y
-v
-/
-Z
-O
-k
-q
-p
-b
-k
-b
-Q
-X
-c
-n
-c
-J
-Q
-p
-p
-d
-b
-#
-M
-a
-x
-p
-O
-/
-%
-0
-m
-p
-b
-p
-p
-k
-d
-d
-d
-d
-p
-d
-b
-q
-h
-o
-J
-a
-o
-*
-o
-o
-o
-h
-a
-*
-d
-d
-M
-o
-M
-M
-M
-W
-W
-M
-M
-M
-M
-#
-8
-8
-&
-o
-o
-o
-q
-q
-q
-q
-q
-q
-w
-w
-w
-W
-u
-x
-x
-U
-w
-p
-d
-d
-p
-p
-p
-k
-a
-*
-M
-%
-d
-|
-J
-Y
-x
-x
-C
-O
-O
-w
-q
-Z
-O
-0
-k
-h
-o
-w
-Z
-0
-O
-O
-O
-O
-0
-Q
-0
-0
-0
-0
-0
-0
-Q
-Z
-C
-b
-b
-o
-*
-M
-L
-w
-M
-*
-h
-h
-h
-a
-h
-h
-h
-h
-h
-h
-h
-h
-h
-w
-0
-Z
-h
-*
-*
-a
-L
-|
-(
-z
-r
-n
-o
-#
-b
-b
-Z
-c
-M
-W
-Z
-Q
-o
-@
-8
-8
-b
-C
-C
-Q
-0
-w
-w
-m
-w
-w
-q
-m
-d
-b
-M
-*
-d
-q
-#
-M
-8
-8
-Q
-w
-h
-a
-o
-a
-o
-o
-k
-h
-d
-k
-k
-a
-a
-#
-*
-b
-p
-L
-c
-+
-|
-Z
-U
-f
-f
-/
-/
-(
-t
-d
-p
-W
-a
-w
-Z
-|
-t
-C
-X
-Y
-i
-Z
-(
-r
-r
-j
-{
-{
-i
-\
-r
-c
-0
-u
-d
-p
-k
-o
-*
-*
-*
-#
-a
-o
-#
-M
-*
-a
-q
-w
-w
-0
-C
-C
-C
-q
-o
-a
-d
-Q
-U
-z
-j
-L
-O
-w
-d
-d
-q
-d
-w
-d
-d
-u
-u
-u
-c
-J
-L
-Q
-w
-w
-k
-a
-a
-J
-c
-m
-\
-z
-U
-W
-p
-p
-k
-d
-q
-d
-p
-p
-p
-p
-d
-p
-q
-a
-o
-(
-o
-a
-o
-o
-o
-o
-a
-o
-#
-p
-d
-M
-&
-M
-M
-M
-W
-W
-W
-M
-M
-M
-#
-@
-&
-&
-o
-o
-o
-k
-q
-p
-q
-q
-q
-w
-w
-w
-n
-r
-n
-z
-Z
-O
-w
-d
-p
-w
-p
-d
-k
-o
-M
-&
-o
-a
-o
-b
-X
-x
-r
-C
-O
-0
-q
-w
-O
-0
-w
-q
-b
-h
-m
-Z
-O
-O
-O
-O
-O
-0
-0
-0
-0
-0
-0
-0
-0
-Q
-0
-Q
-0
-0
-Z
-h
-o
-a
-b
-p
-d
-a
-a
-h
-h
-h
-h
-k
-h
-k
-h
-p
-h
-m
-Q
-Q
-0
-Q
-O
-d
-k
-O
-1
-/
-j
-x
-j
-b
-M
-o
-d
-Q
-m
-&
-a
-d
-q
-w
-h
-*
-*
-L
-w
-C
-0
-Q
-m
-m
-q
-m
-w
-w
-w
-m
-d
-&
-p
-Z
-Z
-*
-M
-&
-8
-k
-n
-d
-b
-#
-a
-a
-k
-o
-k
-q
-b
-k
-b
-o
-a
-o
-O
-X
-v
-\
-)
->
-L
-z
-f
-j
-t
-\
-/
-j
-p
-w
-#
-C
-Z
-O
-Q
-J
-/
-c
-u
-u
-t
-)
-j
-\
-|
-{
-1
-1
-)
-j
-u
-Y
-O
-m
-d
-d
-b
-p
-b
-a
-#
-M
-&
-*
-W
-#
-h
-p
-w
-w
-0
-C
-C
-Q
-p
-*
-h
-p
-0
-U
-z
-x
-J
-d
-q
-w
-J
-c
-Y
-J
-L
-O
-d
-O
-u
-v
-U
-J
-Q
-C
-0
-k
-a
-h
-p
-n
-w
-|
-)
-L
-W
-q
-d
-d
-d
-p
-p
-d
-p
-p
-p
-d
-p
-p
-o
-o
-M
-&
-q
-a
-*
-a
-j
-k
-p
-a
-J
-b
-d
-#
-M
-M
-M
-W
-W
-W
-#
-M
-M
-M
-v
-8
-8
-a
-o
-a
-a
-q
-p
-q
-q
-q
-w
-w
-w
-u
-c
-n
-L
-0
-m
-b
-d
-p
-b
-p
-b
-h
-#
-W
-#
-L
-d
-p
-q
-z
-x
-r
-Q
-O
-m
-q
-m
-O
-Z
-Z
-b
-p
-k
-m
-Z
-O
-O
-O
-O
-O
-O
-0
-Q
-0
-0
-0
-0
-0
-0
-0
-0
-Q
-Q
-0
-0
-Q
-q
-*
-p
-d
-h
-o
-h
-a
-h
-k
-k
-k
-b
-k
-o
-b
-m
-0
-0
-0
-Q
-0
-0
-c
-d
-{
-/
-(
-n
-u
-b
-X
-M
-#
-*
-#
-8
-b
-p
-k
-d
-k
-q
-C
-C
-m
-U
-Q
-Q
-O
-m
-w
-m
-w
-m
-m
-m
-d
-b
-w
-w
-L
-*
-W
-8
-%
-q
-v
-d
-a
-o
-h
-*
-h
-k
-k
-m
-p
-b
-h
-o
-a
-q
-r
-\
-f
-!
-X
-!
-L
-u
-f
-u
-f
-x
-j
-x
-d
-0
-C
-u
-n
-r
-\
-?
-z
-c
-t
-[
-u
-1
-(
-}
-{
-\
-]
-r
-t
-\
-Y
-+
-t
-v
-d
-d
-b
-b
-b
-b
-k
-*
-#
-&
-W
-#
-h
-p
-q
-w
-0
-C
-C
-0
-p
-#
-h
-p
-O
-U
-z
-x
-J
-C
-O
-L
-c
-X
-{
-t
-f
-v
-X
-J
-X
-v
-z
-J
-J
-Q
-C
-d
-k
-p
-d
-0
-x
-\
-b
-C
-m
-p
-q
-p
-p
-p
-d
-p
-q
-p
-d
-p
-p
-p
-o
-0
-*
-#
-#
-o
-h
-w
-p
-0
-d
-b
-W
-d
-w
-L
-M
-M
-M
-W
-W
-W
-#
-M
-M
-M
-#
-W
-8
-&
-*
-o
-a
-q
-q
-q
-q
-w
-w
-q
-(
-v
-v
-u
-0
-Z
-0
-d
-p
-w
-d
-b
-k
-h
-#
-8
-U
-u
-v
-u
-n
-u
-r
-r
-0
-Z
-Z
-w
-m
-m
-Z
-w
-q
-k
-o
-Z
-Y
-0
-Y
-O
-Y
-J
-O
-U
-Q
-0
-0
-0
-Q
-Q
-0
-0
-0
-C
-C
-L
-Q
-0
-0
-Q
-0
-0
-m
-0
-b
-h
-a
-h
-a
-a
-k
-d
-d
-0
-0
-0
-0
-0
-Q
-0
-Q
-L
-q
-[
-t
-\
-n
-J
-0
-Q
-)
-m
-k
-Z
-L
-p
-m
-k
-k
-a
-O
-Q
-m
-d
-O
-0
-Z
-q
-q
-w
-m
-w
-m
-m
-w
-q
-Z
-q
-k
-Q
-M
-M
-&
-%
-o
-&
-a
-o
-o
-o
-a
-o
-a
-o
-q
-w
-o
-a
-*
-*
-c
-t
-v
-{
-'
-{
-;
-0
-c
-x
-j
-j
-\
-t
-v
-L
-Q
-u
-v
-r
-n
-x
-Y
-x
-(
-)
-[
-_
-~
--
-?
-[
-/
-/
-j
-t
-u
-X
-Q
-z
-b
-b
-p
-O
-O
-m
-d
-q
-M
-%
-&
-#
-#
-h
-p
-p
-w
-0
-C
-C
-O
-h
-#
-h
-p
-O
-U
-z
-n
-U
-*
-Y
-L
-Q
-n
-)
-)
-n
-J
-L
-Y
-n
-Y
-c
-z
-J
-Y
-U
-p
-k
-Z
-d
-q
-x
-)
-n
-L
-m
-p
-p
-p
-d
-p
-p
-p
-p
-p
-p
-p
-q
-a
-o
-o
-M
-#
-h
-k
-b
-w
-b
-J
-o
-q
-h
-m
-O
-p
-W
-M
-M
-&
-W
-W
-*
-M
-M
-W
-#
-8
-&
-8
-}
-o
-a
-q
-q
-q
-q
-w
-w
-w
-f
-Y
-v
-c
-Z
-Q
-q
-p
-q
-m
-p
-k
-h
-o
-W
-#
-|
-n
-v
-u
-x
-x
-r
-j
-0
-O
-Z
-w
-w
-Z
-Z
-w
-q
-p
-*
-M
-#
-a
-d
-Z
-0
-Q
-0
-X
-0
-0
-Q
-L
-L
-C
-L
-L
-U
-Q
-J
-L
-L
-0
-Q
-Q
-L
-Q
-0
-L
-Q
-L
-m
-w
-m
-0
-Q
-0
-O
-0
-0
-0
-Q
-0
-Q
-Q
-Q
-j
-o
-}
-|
-t
-x
-k
-U
-b
-M
-q
-#
-M
-q
-]
-W
-k
-k
-a
-Q
-O
-m
-w
-Z
-Z
-m
-q
-q
-m
-m
-m
-m
-m
-w
-w
-m
-o
-&
-J
-a
-M
-&
-8
-*
-w
-*
-O
-#
-h
-o
-a
-k
-h
-p
-h
-0
-#
-*
-Y
-n
-t
-)
-[
-l
-<
-^
-Q
-n
-t
-f
-v
-x
-t
-U
-J
-C
-c
-u
-Y
-X
-v
-x
-r
-X
-_
-[
-_
-<
-+
--
-)
-\
-c
-f
-t
-f
-r
-v
-j
-O
-w
-w
-k
-a
-a
-*
-*
-#
-o
-&
-k
-*
-k
-p
-p
-w
-0
-C
-C
-Z
-&
-#
-h
-q
-0
-U
-z
-n
-X
-h
-0
-U
-J
-r
-r
-f
-X
-Q
-z
-x
-n
-Y
-X
-Y
-J
-J
-Y
-w
-k
-w
-k
-k
-J
-1
-n
-Q
-O
-q
-q
-p
-p
-p
-d
-q
-p
-q
-p
-p
-q
-k
-a
-a
-n
-p
-h
-b
-p
-1
-w
-c
-k
-q
-k
-Z
-q
-w
-W
-M
-W
-W
-W
-W
-*
-M
-W
-M
-#
-L
-&
-&
-j
-o
-o
-q
-q
-q
-w
-w
-w
-q
-x
-u
-v
-X
-0
-L
-d
-q
-q
-d
-b
-b
-a
-M
-M
-j
-)
-u
-u
-v
-u
-r
-j
-x
-0
-0
-0
-w
-q
-m
-w
-k
-p
-b
-*
-k
-b
-*
-b
-*
-h
-#
-#
-M
-o
-q
-z
-Q
-\
-~
-/
-/
-_
-~
-t
-\
-j
-n
-t
-n
-x
-x
-x
-z
-L
-L
-Q
-Q
-Q
-0
-0
-0
-Q
-0
-0
-Q
-0
-0
-0
-Q
-x
-X
-k
-_
-(
-r
-r
-x
-*
-k
-h
-0
-#
-a
-Z
-p
-k
-b
-h
-b
-#
-0
-Z
-Z
-m
-w
-w
-w
-w
-m
-w
-m
-q
-m
-w
-w
-m
-&
-&
-o
-q
-M
-&
-%
-*
-a
-h
-o
-q
-p
-h
-h
-o
-o
-k
-o
-Z
-#
-L
-C
-u
-C
-1
-.
-r
-x
-"
-Q
-v
-r
-f
-f
-t
-f
-C
-c
-J
-n
-c
-C
-Y
-u
-u
-v
-v
-v
-u
-x
-x
-X
-j
-x
-f
-L
-1
-|
-\
-O
-q
-q
-b
-h
-k
-p
-q
-w
-p
-m
-d
-p
-a
-d
-#
-k
-p
-q
-m
-0
-C
-J
-m
-k
-#
-k
-q
-Q
-J
-Y
-v
-n
-p
-m
-J
-0
-/
-v
-0
-m
-U
-f
-u
-u
-z
-c
-Y
-Y
-C
-U
-Z
-d
-O
-d
-q
-x
-)
-q
-m
-Z
-q
-q
-p
-q
-w
-w
-q
-q
-p
-p
-q
-Z
-b
-h
-b
-$
-w
-p
-q
-J
-W
-m
-0
-O
-d
-p
-b
-p
-q
-M
-M
-M
-W
-W
-W
-*
-M
-M
-M
-#
-U
-%
-o
-$
-o
-a
-w
-w
-q
-w
-w
-m
-\
-u
-n
-c
-U
-C
-w
-p
-q
-q
-b
-b
-k
-*
-W
-&
-/
-1
-z
-c
-v
-v
-x
-r
-Y
-0
-O
-O
-w
-w
-p
-q
-q
-q
-p
-#
-m
-k
-o
-*
-#
-*
-k
-a
-*
-#
-b
-O
-m
-O
-h
-a
-#
-w
-\
-]
-+
-+
--
-l
->
-[
-{
-i
-[
-{
-t
-f
-j
-X
-Q
-L
-0
-Q
-0
-Q
-L
-Q
-0
-r
-)
-)
-U
-J
-_
-/
-r
-j
-x
-d
-h
-M
-Q
-&
-M
-m
-h
-k
-k
-h
-h
-o
-0
-Z
-Z
-Z
-w
-m
-Z
-w
-q
-q
-w
-m
-w
-m
-q
-k
-#
-&
-b
-Z
-W
-8
-8
-#
-&
-8
-a
-d
-p
-p
-o
-k
-a
-a
-q
-O
-L
-p
-Z
-f
-\
-[
-
-/
-Z
-"
-Q
-u
-j
-n
-u
-j
-f
-C
-x
-c
-z
-X
-r
-X
-u
-r
-n
-t
-j
-c
-v
-n
-c
-t
-c
-|
-J
-b
-h
-q
-b
-q
-O
-p
-p
-b
-w
-h
-q
-w
-o
-a
-*
-a
-m
-#
-k
-d
-p
-m
-Q
-C
-C
-w
-a
-#
-k
-q
-Q
-U
-X
-c
-n
-p
-0
-w
-m
-c
-L
-p
-C
-j
-/
-t
-u
-J
-U
-Y
-U
-Y
-J
-C
-p
-q
-b
-q
-C
-)
-z
-w
-Z
-q
-q
-p
-w
-w
-w
-q
-q
-d
-p
-m
-C
-b
-x
-#
-q
-m
-w
-0
-Q
-q
-q
-b
-h
-M
-d
-q
-Q
-q
-M
-M
-M
-W
-W
-W
-*
-M
-M
-M
-M
-*
-Z
-o
-&
-Y
-a
-m
-q
-w
-m
-m
-m
-j
-c
-n
-z
-w
-Z
-q
-m
-q
-q
-b
-k
-a
-W
-M
-x
-(
-v
-c
-c
-c
-c
-x
-x
-J
-0
-O
-0
-m
-m
-m
-w
-q
-w
-p
-*
-m
-Z
-0
-O
-0
-Q
-w
-b
-d
-0
-Q
-r
-n
-c
-X
-c
-J
-|
-)
-v
-x
-x
-t
-n
-Q
-c
-f
-l
--
-<
-l
-_
-?
-<
-n
-X
-Y
-z
-v
-U
-x
-/
-t
-)
-[
-?
-u
-{
-+
-f
-x
-j
-/
-0
-X
-O
-k
-#
-b
-o
-p
-h
-k
-h
-k
-a
-#
-m
-Z
-Z
-Z
-m
-w
-m
-w
-w
-w
-m
-m
-o
-#
-*
-a
-#
-o
-0
-M
-W
-8
-#
-h
-o
-o
-a
-*
-p
-h
-*
-k
-k
-Q
-b
-Q
-Q
-f
-c
-n
-+
-
-?
-w
-"
-Q
-v
-v
-n
-x
-j
-j
-n
-n
-n
-c
-v
-u
-u
-v
-Y
-u
-z
-n
-n
-v
-X
-q
-o
-o
-h
-w
-c
-O
-C
-z
-n
-X
-Y
-p
-k
-a
-O
-w
-w
-q
-W
-M
-&
-0
-#
-k
-d
-q
-m
-Q
-C
-L
-q
-*
-#
-k
-w
-Q
-J
-X
-c
-n
-Z
-m
-p
-p
-L
-O
-J
-r
-/
-/
-r
-r
-k
-U
-X
-Y
-Y
-?
-C
-q
-p
-U
-p
-x
-)
-p
-U
-q
-q
-w
-m
-q
-w
-m
-m
-q
-m
-Q
-0
-O
-p
-M
-*
-0
-O
-Q
-n
-Z
-a
-$
-Z
-Z
-M
-q
-w
-Z
-p
-W
-M
-M
-W
-W
-W
-*
-M
-M
-M
-M
-*
-Q
-o
-&
-)
-o
-p
-q
-w
-m
-m
-z
-c
-n
-v
-Y
-J
-C
-p
-m
-b
-d
-b
-a
-#
-W
-X
-t
-|
-z
-v
-X
-c
-z
-x
-x
-J
-0
-0
-0
-m
-w
-w
-w
-w
-Z
-p
-*
-O
-0
-0
-0
-Q
-O
-k
-b
-b
-p
-)
-1
--
-_
-+
-_
-[
-)
-<
-t
-j
-|
-}
-}
-z
-(
-)
-1
-1
-t
-t
-n
-c
-t
-]
-"
-'
-+
-_
-,
-,
--
-?
-I
-<
-/
-u
--
-+
-t
-n
-x
-/
-Z
-c
-h
-q
-o
-p
-L
-b
-h
-h
-k
-d
-k
-o
-h
-m
-m
-m
-w
-m
-w
-w
-w
-q
-#
-*
-o
-a
-a
-%
-&
-&
-C
-W
-W
-%
-8
-#
-k
-0
-#
-#
-#
-q
-o
-h
-k
-O
-Z
-q
-u
-f
-/
-n
-.
-f
-1
-Z
-"
-L
-c
-x
-u
-j
-n
-n
-v
-x
-f
-X
-u
-n
-j
-n
-v
-v
-v
-d
-a
-a
-#
-k
-Q
-Q
-z
-t
-J
-u
-u
-c
-z
-L
-Z
-k
-p
-a
-b
-k
-W
-k
-#
-M
-#
-O
-#
-h
-d
-q
-m
-0
-C
-Q
-p
-#
-#
-k
-q
-Q
-Y
-X
-c
-x
-L
-q
-p
-k
-J
-n
-u
-r
-{
-/
-x
-j
-Z
-Y
-J
-X
-J
-1
-[
-Z
-q
-|
-k
-0
-)
-C
-w
-p
-m
-m
-w
-w
-m
-m
-m
-Q
-0
-0
-0
-q
-Z
-q
-*
-W
-Y
-O
-Z
-O
-a
-Z
-*
-&
-W
-W
-J
-m
-w
-W
-M
-M
-W
-W
-W
-*
-#
-M
-M
-M
-#
-U
-q
-&
-q
-a
-a
-q
-m
-m
-m
-j
-v
-v
-X
-J
-C
-0
-q
-m
-d
-d
-k
-*
-W
-#
-n
-t
-\
-z
-X
-z
-z
-z
-x
-x
-J
-Z
-0
-0
-m
-m
-m
-w
-q
-m
-p
-*
-Z
-k
-O
-b
-0
-q
-O
-d
-b
-U
-n
-}
--
->
-_
-?
-~
->
-l
-+
-!
-<
-?
-}
-x
-1
-?
-[
-[
-)
-\
-/
-\
-|
-(
-(
-n
-J
-U
-t
-l
-i
-<
-l
->
-\
-x
-?
-~
-f
-x
-c
-C
-m
-Q
-C
-0
-#
-J
-Z
-k
-k
-h
-k
-k
-b
-h
-o
-m
-Z
-m
-w
-m
-q
-a
-#
-o
-o
-a
-a
-k
-b
-h
-p
-d
-o
-M
-W
-8
-%
-*
-#
-k
-h
-a
-d
-q
-k
-a
-k
-Q
-*
-p
-c
-U
-j
-{
-
-X
-0
-p
-"
-L
-X
-x
-v
-j
-x
-r
-v
-X
-z
-t
-n
-n
-C
-h
-h
-k
-o
-b
-C
-0
-r
-\
-{
-|
-Y
-w
-a
-p
-w
-w
-w
-o
-M
-h
-h
-a
-o
-b
-k
-#
-#
-M
-p
-w
-#
-h
-d
-p
-m
-0
-C
-0
-q
-*
-o
-k
-w
-Q
-U
-z
-c
-x
-J
-q
-b
-m
-n
-\
-/
-\
-x
-r
-c
-u
-v
-Q
-U
-J
-C
-)
->
-q
-q
-(
-d
-v
-)
-U
-q
-d
-m
-w
-q
-Z
-q
-m
-O
-O
-Z
-0
-O
-w
-f
-d
-q
-M
-m
-q
-C
-m
-O
-p
-M
-8
-#
-x
-&
-k
-q
-W
-M
-M
-W
-W
-M
-#
-M
-#
-M
-M
-*
-#
-8
-&
-M
-o
-o
-w
-m
-m
-Z
-j
-v
-v
-Y
-U
-L
-q
-q
-q
-b
-k
-a
-M
-#
-&
-n
-j
-j
-U
-X
-z
-Y
-U
-n
-x
-J
-w
-Q
-L
-w
-w
-w
-w
-q
-m
-b
-o
-h
-w
-k
-0
-O
-Z
-k
-b
-b
-0
-+
-?
-!
-+
-~
-~
-}
-<
-l
-_
-i
--
-_
-?
-/
-_
--
-_
-;
-}
-<
-+
-_
--
-?
-]
-{
-(
-\
-/
-t
-t
-/
-r
-C
-O
-Y
-)
-_
-j
-r
-Z
-p
-v
-Q
-Q
-O
-a
-d
-w
-h
-h
-k
-k
-k
-k
-b
-p
-w
-p
-h
-o
-a
-h
-h
-h
-a
-a
-h
-b
-b
-d
-p
-b
-p
-W
-M
-M
-8
-&
-M
-a
-a
-#
-*
-d
-q
-0
-h
-a
-d
-m
-O
-Q
-d
-x
-{
-
-r
-0
-m
-"
-L
-Y
-v
-n
-n
-x
-L
-k
-a
-o
-a
-h
-p
-U
-n
-u
-c
-n
-{
-1
-(
-v
-U
-C
-Q
-Y
-X
-q
-c
-U
-v
-X
-Q
-q
-d
-q
-w
-a
-d
-k
-k
-#
-#
-k
-d
-M
-a
-d
-p
-m
-0
-L
-O
-h
-o
-*
-k
-w
-Q
-U
-z
-c
-n
-Y
-Z
-q
-Z
-|
-/
-/
-t
-z
-U
-x
-Y
-J
-C
-J
-J
-J
-z
-x
-Q
-0
-{
-w
-1
-q
-Z
-p
-d
-p
-w
-Z
-0
-0
-O
-m
-Z
-0
-m
-Z
-k
-W
-d
-X
-Q
-0
-m
-p
-#
-h
-M
-M
-m
-%
-f
-v
-Z
-p
-W
-M
-M
-W
-W
-W
-#
-#
-#
-M
-#
-*
-*
-o
-&
-u
-o
-o
-m
-m
-m
-/
-v
-n
-c
-J
-0
-Z
-b
-p
-p
-b
-b
-#
-M
-M
-M
-n
-x
-f
-J
-C
-J
-U
-J
-n
-x
-C
-w
-0
-Q
-m
-m
-w
-w
-p
-m
-k
-*
-h
-a
-h
-h
-m
-k
-h
-k
-h
-J
-/
-+
-?
->
-{
-~
--
-<
-~
-]
-[
-~
-}
-[
-+
-?
-]
-!
-_
->
->
-~
->
-<
-!
-!
-!
->
--
--
-?
-{
-|
-j
-u
-X
-p
-x
--
-r
-j
-Z
-m
-X
-O
-0
-U
-a
-0
-k
-b
-h
-h
-b
-k
-k
-b
-q
-O
-O
-d
-a
-a
-h
-k
-a
-a
-k
-b
-d
-d
-p
-p
-%
-w
-#
-W
-W
-8
-&
-8
-Z
-O
-#
-h
-a
-p
-v
-b
-h
-a
-d
-O
-L
-C
-1
-[
->
-f
-w
-q
-,
-L
-U
-c
-n
-n
-v
-O
-0
-d
-J
-v
-c
-z
-X
-j
-\
-f
-x
-1
-\
-\
-f
-f
-f
-f
-r
-x
-v
-n
-f
-t
-t
->
-m
-o
-b
-a
-*
-*
-d
-b
-&
-M
-a
-b
-#
-a
-d
-p
-m
-0
-L
-O
-&
-o
-o
-k
-q
-Q
-U
-z
-v
-n
-X
-p
-w
-Z
-j
-1
-(
-n
-J
-0
-C
-c
-z
-U
-X
-z
-L
-]
-f
-Q
-O
-f
-O
-(
-m
-c
-d
-b
-Z
-m
-0
-m
-Z
-m
-O
-Z
-Q
-w
-m
-b
-d
-d
-c
-m
-J
-m
-h
-L
-8
-W
-L
-C
-h
-j
-(
-8
-d
-W
-M
-M
-W
-W
-M
-#
-M
-#
-M
-#
-#
-#
-u
-8
-Q
-(
-o
-m
-m
-m
-\
-u
-v
-U
-O
-w
-d
-k
-b
-b
-b
-a
-M
-#
-o
-#
-x
-x
-n
-J
-C
-C
-J
-0
-n
-x
-Q
-m
-L
-Q
-m
-w
-w
-p
-d
-m
-k
-o
-a
-a
-a
-h
-w
-m
-b
-a
-h
-z
-?
-]
-{
-{
-)
-?
--
-/
-(
-]
-}
-]
->
-]
-]
-]
-l
-}
-[
-_
-~
-~
-~
-+
-~
-~
-~
-+
-_
--
-?
-]
-|
-n
-J
-L
-b
-j
-_
-x
-j
-n
-w
-r
-m
-J
-m
-p
-w
-k
-b
-b
-k
-k
-h
-k
-d
-q
-,
-Q
-q
-a
-o
-o
-a
-h
-h
-d
-d
-p
-p
-p
-p
-&
-q
-*
-W
-W
-8
-0
-8
-u
-q
-h
-a
-h
-p
-L
-b
-k
-k
-b
-Z
-0
-t
-)
-.
-1
-b
-p
-d
-,
-m
-U
-X
-v
-u
-n
-U
-0
-L
-f
-c
-c
-c
-1
-|
-(
-(
-f
-(
-(
-|
-\
-/
-/
-}
-1
-1
-)
-[
-f
-{
-(
-{
-C
-a
-b
-b
-d
-d
-%
-b
-d
-W
-k
-o
-M
-a
-b
-p
-w
-0
-Q
-Z
-*
-*
-o
-k
-w
-Q
-Y
-z
-v
-n
-c
-d
-Z
-Z
-C
-c
-Y
-J
-J
-p
-m
-J
-q
-Z
-Y
-v
-X
-n
-X
-L
-}
-L
-\
-|
-n
-q
-d
-k
-Q
-0
-Z
-Z
-m
-O
-Z
-O
-O
-w
-d
-|
-b
-d
-*
-Z
-m
-Z
-w
-J
-M
-M
-m
-&
-c
-j
-/
-B
-a
-W
-M
-M
-&
-W
-M
-*
-#
-#
-M
-M
-#
-#
-*
-8
-&
-B
-*
-m
-m
-w
-j
-n
-v
-q
-k
-d
-k
-k
-k
-b
-b
-W
-o
-W
-a
-*
-n
-u
-x
-L
-L
-C
-C
-L
-n
-x
-0
-O
-0
-L
-m
-m
-m
-w
-d
-w
-b
-a
-a
-a
-h
-a
-a
-w
-d
-b
-d
-/
-)
-n
-(
-j
-j
-)
-{
-}
-?
-{
-f
-}
-~
-)
-?
-+
-!
-}
-{
-{
-_
-_
-+
-_
-_
-+
-+
-+
-]
-?
-[
-]
-[
-v
-L
-0
-o
-x
-}
-x
-r
-w
-o
-\
-w
-b
-f
-k
-d
-o
-b
-k
-d
-h
-h
-h
-p
-O
->
-Q
-q
-h
-a
-a
-h
-h
-d
-p
-p
-p
-p
-p
-p
-&
-8
-8
-W
-W
-8
-0
-&
-o
-h
-b
-p
-b
-p
-d
-k
-b
-m
-d
-w
-Q
-/
-)
-
-x
-U
-q
-p
-:
-O
-J
-X
-v
-x
-c
-0
-w
-C
-n
-f
-f
-|
-(
-/
-/
-\
-(
-\
-\
-(
-t
-\
-)
-{
-\
-c
->
-[
-x
-\
-?
-I
-Y
-p
-p
-k
-d
-k
-d
-b
-p
-*
-*
-M
-#
-a
-b
-d
-m
-0
-Q
-m
-p
-o
-a
-k
-q
-Q
-U
-z
-c
-n
-u
-O
-k
-b
-*
-C
-Y
-Q
-q
-0
-C
-Z
-a
-Z
-X
-u
-X
-1
-(
-)
-<
-L
-}
-0
-X
-w
-b
-p
-Q
-O
-Z
-m
-m
-m
-m
-m
-b
-p
-d
-k
-k
-f
-O
-m
-a
-j
-a
-C
-W
-M
-q
-W
-Y
-r
-j
-B
-#
-W
-M
-M
-W
-W
-W
-#
-M
-#
-M
-M
-#
-#
-#
-o
-&
-&
-z
-m
-m
-+
-c
-x
-Y
-O
-q
-m
-k
-k
-b
-b
-a
-o
-#
-M
-M
-*
-r
-v
-u
-Q
-Q
-L
-C
-Y
-n
-r
-0
-O
-L
-Q
-w
-m
-Z
-m
-p
-w
-k
-k
-a
-h
-a
-a
-o
-q
-w
-k
-L
-/
-{
-r
-\
-x
-?
-t
-|
-)
-1
-\
-r
-]
-?
-?
-~
-+
-)
-|
-1
-}
--
-?
--
-_
-_
-_
--
-_
-]
-]
-[
-?
--
-X
-0
-O
-*
-x
-n
-n
-f
-p
-Z
-{
-q
-p
-p
-*
-d
-d
-b
-k
-k
-k
-k
-b
-q
-0
-[
-Q
-m
-h
-h
-h
-b
-p
-q
-p
-p
-p
-p
-p
-p
-&
-o
-Q
-W
-W
-8
-8
-8
-a
-a
-*
-q
-b
-m
-m
-d
-b
-O
-o
-m
-0
-|
-(
-I
-z
-L
-p
-d
-,
-Q
-J
-Y
-Y
-x
-z
-b
-k
-C
-j
-z
-c
-x
-t
-/
-t
-t
-/
-|
-/
-(
-j
-u
-c
-u
-v
-r
-X
-j
-c
-r
-1
->
-L
-w
-b
-b
-d
-p
-b
-h
-W
-W
-M
-#
-#
-a
-b
-p
-m
-0
-Q
-w
-p
-o
-a
-b
-q
-Q
-J
-z
-v
-n
-n
-0
-p
-b
-*
-Q
-L
-Z
-L
-q
-Q
-Z
-k
-L
-U
-U
-z
-1
-(
-r
-1
-z
-r
-Q
-p
-q
-k
-0
-0
-Z
-m
-m
-m
-m
-Z
-Z
-d
-p
-m
-k
-k
-n
-Z
-m
-h
-q
-p
-W
-W
-W
-q
-M
-U
-x
-W
-*
-8
-W
-M
-M
-W
-W
-M
-#
-M
-#
-M
-M
-#
-#
-*
-X
-&
-&
-f
-w
-m
-(
-z
-v
-0
-Z
-m
-q
-b
-k
-b
-b
-*
-a
-d
-h
-&
-*
-p
-u
-Y
-Q
-0
-0
-Q
-X
-n
-n
-Q
-0
-Q
-C
-m
-w
-m
-m
-w
-q
-k
-h
-o
-w
-a
-a
-o
-q
-d
-a
-q
-/
-{
-r
-j
-n
-]
-j
-/
-\
-}
-?
-f
-|
--
-_
--
-_
-(
-)
-)
-]
--
-]
-?
-?
--
--
-+
-_
-?
-?
-]
-]
-]
-}
-O
-m
-#
-x
-n
-u
-f
-k
-z
-\
-q
-q
-O
-h
-M
-d
-h
-d
-k
-k
-d
-b
-q
-O
-]
-f
-w
-h
-k
-p
-p
-p
-q
-p
-p
-p
-p
-p
-p
-q
-m
-a
-W
-W
-%
-O
-&
-Z
-k
-o
-h
-q
-b
-w
-q
-h
-0
-o
-d
-L
-|
-(
-?
-u
-J
-k
-m
-:
-m
-Q
-z
-z
-n
-X
-#
-p
-m
-x
-c
-C
-X
-v
-r
-v
-v
-f
-n
-x
-v
-z
-X
-C
-v
-Y
-C
-n
->
-J
-u
-C
-f
-X
-k
-k
-b
-a
-o
-#
-a
-&
-o
-&
-M
-*
-o
-b
-p
-w
-0
-0
-w
-X
-h
-a
-b
-w
-Q
-J
-X
-c
-u
-u
-Q
-q
-k
-b
-L
-C
-Q
-m
-0
-b
-*
-k
-O
-U
-Y
-(
-{
-u
--
-/
-j
-C
-X
-q
-q
-p
-C
-Z
-Z
-m
-m
-m
-m
-Z
-Z
-b
-b
-p
-p
-k
-#
-Z
-Z
-p
-a
-x
-W
-&
-M
-w
-M
-C
-j
-W
-M
-&
-W
-M
-M
-W
-W
-M
-#
-M
-#
-M
-M
-#
-#
-*
-X
-k
-M
-v
-p
-?
-j
-n
-c
-J
-Q
-C
-k
-b
-k
-b
-k
-o
-a
-k
-0
-&
-#
-k
-a
-O
-w
-m
-m
-Z
-Y
-n
-X
-Q
-O
-C
-L
-m
-w
-m
-Z
-m
-w
-k
-a
-o
-q
-o
-a
-o
-q
-o
-o
-q
-Y
-1
-u
-x
-n
-]
-x
-t
-f
-[
-{
-t
-j
-]
-?
-?
-(
-(
-1
-x
-?
-]
-?
--
--
--
-?
--
-?
-?
-]
-?
-[
-[
-}
-Q
-m
-M
-n
-x
-u
-j
-0
-J
-a
-m
-k
-k
-o
-o
-b
-b
-h
-k
-k
-k
-d
-w
-Z
-}
-}
-q
-b
-p
-p
-p
-q
-q
-p
-q
-p
-p
-p
-q
-m
-0
-8
-W
-W
-%
-c
-w
-k
-h
-k
-o
-h
-b
-m
-Z
-b
-Z
-*
-Z
-c
-/
-)
-/
-t
-Q
-a
-b
-:
-w
-0
-C
-X
-u
-z
-M
-h
-d
-Q
-Q
-m
-L
-0
-Q
-U
-z
-n
-c
-z
-U
-m
-0
-Z
-Z
-L
-O
-Q
-Q
-J
-Y
-J
-v
-v
-k
-&
-m
-&
-o
-o
-&
-#
-M
-%
-W
-*
-a
-b
-p
-w
-O
-0
-m
-n
-h
-h
-b
-w
-0
-J
-X
-c
-v
-u
-L
-q
-a
-d
-O
-Z
-0
-O
-w
-o
-o
-Q
-C
-Y
-Y
-{
-}
-}
-1
-1
-J
-J
-m
-Z
-q
-w
-C
-O
-Z
-w
-Z
-Z
-m
-Z
-m
-b
-k
-q
-Z
-m
-Z
-Z
-Z
-O
-b
-)
-Z
-M
-&
-&
-M
-L
-M
-W
-W
-M
-W
-M
-M
-W
-W
-M
-*
-#
-#
-#
-M
-#
-#
-*
-*
-x
-o
-%
-k
-1
-c
-v
-Y
-U
-m
-p
-h
-b
-b
-k
-o
-h
-m
-*
-b
-M
-h
-k
-#
-M
-a
-b
-d
-p
-z
-n
-L
-L
-0
-Y
-U
-m
-m
-m
-m
-m
-q
-b
-o
-o
-p
-k
-o
-p
-k
-p
-w
-L
-n
-}
-j
-n
-|
-{
-n
-j
-n
-]
-]
-_
-r
-?
-n
-?
-+
-(
-f
-+
-n
-]
-]
--
-?
-_
--
-]
-?
-?
-?
-]
-]
-{
-}
-Z
-w
-W
-x
-u
-u
-v
-0
-0
-h
-q
-a
-q
-o
-#
-d
-d
-h
-b
-d
-k
-d
-q
-m
-+
-O
-m
-p
-q
-q
-q
-q
-q
-q
-p
-p
-q
-w
-q
-w
-8
-8
-&
-W
-B
-a
-k
-*
-a
-*
-o
-k
-d
-w
-m
-k
-w
-#
-O
-t
-c
-|
-v
-b
-C
-o
-p
-;
-0
-C
-C
-c
-v
-J
-M
-h
-k
-O
-w
-m
-Z
-w
-p
-Y
-U
-J
-X
-C
-C
-Z
-0
-q
-m
-#
-&
-p
-k
-*
-o
-Z
-q
-L
-b
-*
-&
-M
-*
-o
-%
-&
-W
-M
-&
-#
-o
-b
-p
-w
-O
-O
-k
-w
-a
-k
-d
-w
-0
-C
-Y
-z
-v
-u
-J
-0
-d
-b
-O
-Q
-q
-a
-o
-a
-b
-0
-J
-J
-X
-X
-j
-u
-U
-z
-J
-h
-m
-Z
-q
-w
-Q
-0
-Z
-Z
-Z
-m
-w
-m
-k
-k
-b
-q
-&
-q
-m
-Z
-m
-O
-b
-C
-M
-#
-b
-C
-%
-W
-&
-&
-W
-W
-W
-M
-M
-W
-W
-M
-*
-#
-#
-#
-M
-#
-#
-*
-o
-p
-&
-8
-r
-j
-z
-c
-X
-U
-d
-p
-k
-k
-b
-k
-a
-b
-L
-b
-b
-*
-O
-Q
-b
-a
-&
-W
-W
-a
-c
-n
-Q
-C
-0
-C
-C
-m
-m
-m
-Z
-w
-b
-b
-#
-*
-d
-q
-o
-p
-o
-b
-d
-0
-C
-X
-{
-v
-}
-]
-v
-x
-}
-)
-f
-x
-r
-[
-_
-n
-f
-_
-?
-r
-x
-?
-]
--
--
-_
-?
-}
-]
-?
-?
-]
-[
-}
-[
-m
-q
-W
-x
-n
-u
-c
-o
-a
-0
-q
-k
-X
-d
-b
-p
-b
-k
-p
-b
-p
-b
-q
-q
-O
-0
-q
-q
-q
-q
-q
-q
-q
-q
-q
-p
-q
-q
-w
-m
-&
-o
-&
-W
-%
-@
-#
-a
-h
-o
-q
-0
-w
-O
-w
-k
-m
-#
-Z
-\
-j
-\
-Y
-o
-Q
-b
-p
-;
-m
-L
-U
-U
-c
-Q
-&
-h
-a
-p
-p
-d
-b
-Z
-w
-m
-U
-Y
-z
-X
-Q
-Z
-w
-b
-w
-b
-#
-Z
-p
-W
-d
-b
-Z
-Z
-o
-a
-%
-B
-#
-%
-M
-&
-M
-8
-B
-#
-o
-b
-p
-w
-Z
-Z
-d
-M
-h
-k
-k
-q
-O
-C
-Y
-z
-c
-v
-U
-O
-q
-Z
-d
-o
-M
-*
-k
-k
-m
-Y
-Y
-X
-X
-,
-j
-c
-v
-|
-Y
-b
-O
-Z
-q
-Z
-Q
-O
-Z
-Z
-m
-m
-m
-m
-k
-k
-U
-a
-w
-w
-m
-Z
-d
-m
-q
-k
-M
-W
-#
-W
-h
-8
-8
-&
-&
-W
-M
-M
-M
-M
-M
-M
-*
-#
-#
-#
-M
-#
-#
-o
-o
-X
-&
-&
-?
-z
-z
-Y
-z
-0
-q
-k
-b
-b
-b
-k
-o
-r
-u
-C
-k
-#
-k
-0
-L
-p
-q
-w
-m
-C
-u
-n
-L
-C
-O
-Y
-Q
-m
-m
-m
-m
-q
-b
-b
-M
-M
-k
-k
-#
-p
-*
-p
-w
-Z
-u
-J
-|
-z
-|
-{
-u
-n
-}
-x
-x
-n
-j
-n
-?
-x
-?
-1
-j
-j
-_
-?
-]
-_
-?
--
-?
-]
-[
-[
-]
-?
-]
-}
-{
-m
-p
-W
-n
-u
-n
-Y
-#
-Q
-Q
-a
-a
-m
-Z
-m
-d
-b
-b
-p
-p
-p
-b
-p
-q
-m
-m
-q
-p
-q
-q
-q
-q
-q
-q
-w
-q
-q
-w
-q
-m
-%
-O
-W
-W
-&
-&
-b
-b
-o
-m
-q
-m
-Y
-0
-f
-k
-p
-#
-p
-\
-)
-f
-Q
-o
-C
-#
-w
-;
-O
-0
-O
-U
-z
-m
-&
-a
-a
-o
-p
-k
-w
-m
-w
-p
-0
-Q
-u
-f
-J
-L
-q
-q
-d
-w
-M
-W
-b
-b
-#
-b
-h
-h
-M
-@
-B
-B
-B
-%
-M
-M
-M
-W
-M
-#
-*
-b
-p
-q
-Z
-Z
-w
-*
-o
-k
-b
-q
-m
-Q
-U
-Y
-z
-c
-U
-#
-a
-o
-a
-o
-k
-b
-q
-q
-Z
-X
-z
-z
-v
-{
-[
-1
-]
-)
-O
-0
-0
-m
-m
-Q
-Q
-0
-O
-m
-m
-m
-m
-m
-k
-o
-o
-*
-v
-w
-m
-Z
-k
-p
-p
-k
-W
-W
-k
-M
-&
-%
-%
-b
-M
-8
-M
-M
-M
-M
-M
-M
-*
-#
-#
-#
-M
-#
-#
-o
-o
-M
-&
-&
-j
-X
-z
-X
-X
-m
-p
-d
-k
-b
-k
-h
-h
-Z
-C
-m
-&
-M
-M
-L
-C
-q
-w
-w
-q
-Z
-n
-n
-L
-L
-0
-J
-C
-Z
-m
-m
-Z
-p
-b
-k
-*
-&
-#
-a
-#
-b
-#
-h
-p
-p
-d
-0
-x
-L
-/
-r
-v
-n
-]
-x
-u
-v
-r
-j
-}
-x
-?
-r
-j
-r
-f
-f
-_
--
-]
--
-]
-]
-}
-[
-[
-{
-[
-[
-]
-O
-d
-M
-n
-n
-n
-J
-C
-#
-#
-v
-d
-k
-X
-h
-p
-b
-q
-p
-w
-d
-d
-p
-p
-w
-w
-q
-p
-q
-q
-q
-q
-q
-q
-q
-q
-w
-q
-w
-w
-#
-Q
-o
-M
-$
-8
-L
-d
-d
-d
-#
-p
-#
-Q
-Q
-m
-w
-#
-a
-v
-t
-j
-0
-a
-L
-o
-d
-;
-Q
-C
-0
-L
-Y
-h
-W
-&
-#
-a
-w
-p
-q
-p
-q
-p
-q
-*
-L
-X
-r
-J
-0
-w
-d
-d
-d
-#
-h
-b
-a
-#
-b
-a
-b
-M
-#
-%
-%
-B
-M
-M
-M
-M
-%
-#
-*
-b
-p
-q
-Z
-q
-M
-q
-o
-k
-b
-p
-m
-Q
-C
-U
-X
-z
-U
-q
-h
-h
-k
-L
-c
-r
-\
-x
-t
-c
-v
-u
-r
-?
-}
-[
-r
-z
-J
-Q
-Z
-m
-m
-Q
-Q
-O
-O
-Z
-Z
-w
-m
-k
-k
-|
-Z
-M
-8
-m
-m
-m
-W
-k
-b
-h
-&
-W
-Q
-M
-&
-&
-&
-&
-b
-M
-M
-M
-M
-M
-W
-M
-*
-#
-#
-#
-#
-#
-#
-o
-o
-o
-B
-&
-X
-v
-Y
-c
-J
-m
-d
-b
-b
-k
-b
-*
-m
-o
-b
-k
-W
-*
-M
-O
-Q
-q
-q
-q
-w
-m
-n
-n
-L
-0
-0
-L
-L
-Z
-m
-m
-m
-p
-k
-k
-M
-8
-*
-o
-W
-a
-M
-M
-b
-b
-d
-q
-c
-m
-v
-n
-0
-r
-f
-C
-C
-J
-Y
-)
-z
-u
-u
-n
-j
-j
-f
-r
-]
-]
-]
-]
-[
-[
-}
-[
-}
-}
-1
-{
-1
-Z
-b
-#
-n
-v
-u
-J
-J
-p
-w
-Y
-0
-d
-0
-*
-b
-p
-b
-w
-w
-p
-p
-d
-p
-p
-q
-p
-q
-q
-q
-w
-w
-q
-w
-q
-q
-w
-q
-w
-m
-0
-a
-d
-W
-$
-&
-h
-h
-o
-k
-o
-a
-k
-Z
-L
-O
-d
-*
-o
-Q
-X
-j
-0
-o
-Q
-a
-p
-I
-Z
-m
-0
-C
-Y
-k
-W
-&
-k
-a
-p
-w
-p
-k
-q
-q
-k
-m
-p
-w
-O
-w
-0
-k
-k
-d
-%
-d
-&
-k
-b
-p
-k
-a
-W
-M
-W
-%
-M
-%
-#
-M
-#
-#
-#
-#
-*
-b
-p
-q
-m
-d
-Z
-Z
-0
-h
-b
-p
-w
-0
-L
-J
-Y
-X
-Y
-Z
-h
-Q
-t
-t
-(
-n
-\
-j
-x
-c
-n
-r
-~
-x
-m
-?
-/
-J
-C
-Q
-Z
-m
-m
-0
-0
-Z
-Z
-Z
-Z
-m
-m
-h
-b
-B
-w
-m
-r
-m
-Z
-w
-Y
-k
-k
-o
-&
-W
-&
-M
-W
-&
-&
-&
-#
-#
-M
-M
-M
-M
-M
-#
-o
-*
-*
-#
-#
-#
-#
-a
-a
-a
-q
-&
-&
-f
-Y
-X
-U
-O
-p
-b
-k
-b
-b
-*
-k
-o
-b
-*
-*
-#
-*
-Z
-L
-w
-q
-q
-w
-b
-n
-u
-L
-m
-0
-L
-Q
-Z
-w
-w
-w
-d
-b
-k
-%
-%
-%
-#
-M
-&
-&
-&
-o
-a
-a
-b
-Z
-J
-C
-p
-X
-O
-L
-m
-Q
-0
-0
-j
-/
-n
-C
-\
-z
-v
-x
-}
-}
-}
-}
-?
-]
-}
-}
-]
-}
-{
-1
-)
-\
-Z
-k
-a
-n
-v
-v
-C
-X
-*
-C
-*
-J
-Q
-d
-#
-b
-b
-w
-w
-p
-p
-p
-p
-p
-p
-p
-q
-q
-q
-q
-w
-q
-q
-q
-w
-w
-q
-q
-q
-w
-m
-8
-w
-W
-&
-&
-a
-q
-h
-d
-o
-a
-h
-a
-c
-U
-p
-k
-#
-k
-Y
-j
-L
-*
-C
-o
-b
-I
-O
-Z
-Z
-U
-J
-b
-o
-&
-a
-k
-a
-a
-p
-d
-O
-w
-q
-m
-0
-w
-m
-k
-h
-w
-w
-Z
-p
-m
-M
-p
-q
-d
-h
-*
-#
-M
-o
-*
-M
-#
-*
-o
-*
-a
-&
-M
-#
-k
-d
-p
-w
-b
-a
-8
-/
-o
-b
-d
-q
-Z
-Q
-C
-U
-Y
-Y
-0
-z
-v
-x
-1
-{
-(
-t
-r
-x
-x
-v
-1
-<
-Z
-Q
-_
-C
-J
-C
-0
-O
-Z
-m
-Q
-Q
-O
-m
-Z
-m
-Z
-w
-d
-h
-k
-q
-r
-m
-Z
-Z
-Z
-q
-a
-a
-k
-W
-&
-W
-M
-&
-W
-&
-&
-M
-o
-M
-M
-#
-#
-#
-*
-*
-*
-*
-#
-#
-#
-*
-o
-a
-h
-1
-&
-&
-&
-z
-X
-Q
-Z
-p
-b
-k
-b
-a
-o
-M
-*
-W
-M
-w
-a
-*
-B
-m
-p
-q
-q
-q
-k
-n
-u
-L
-m
-0
-L
-Q
-m
-w
-w
-q
-d
-k
-a
-m
-m
-W
-8
-&
-&
-&
-8
-M
-#
-W
-a
-a
-m
-h
-b
-0
-d
-p
-d
-Y
-z
-v
-c
-m
-v
-n
-u
-L
-z
-z
-u
-)
-1
-1
-}
-[
-}
-}
-[
-}
-{
-{
-)
-f
-O
-o
-a
-n
-v
-c
-J
-X
-U
-C
-0
-h
-Q
-0
-k
-h
-#
-M
-p
-p
-p
-p
-q
-q
-q
-q
-w
-q
-q
-q
-w
-m
-q
-q
-w
-q
-q
-q
-q
-w
-m
-a
-Z
-W
-W
-&
-Y
-o
-o
-k
-*
-o
-a
-a
-Y
-L
-p
-k
-#
-k
-c
-C
-c
-Y
-C
-h
-h
-l
-w
-Z
-Z
-Y
-Y
-o
-#
-8
-o
-a
-k
-d
-b
-d
-p
-m
-m
-w
-q
-m
-b
-w
-h
-o
-M
-o
-q
-q
-q
-&
-p
-p
-w
-o
-o
-a
-o
-#
-*
-h
-a
-*
-#
-o
-o
-M
-#
-k
-d
-p
-w
-h
-W
-8
-b
-*
-k
-d
-q
-m
-0
-L
-J
-J
-U
-Q
-c
-n
-v
-1
-|
-t
-n
-n
-z
-u
-|
-/
-J
-0
-X
-U
-Y
-J
-Q
-0
-O
-Z
-m
-L
-L
-Z
-O
-0
-d
-a
-a
-#
-\
-O
-m
-b
-m
-Z
-Z
-Z
-O
-b
-a
-0
-M
-W
-Q
-8
-8
-&
-&
-#
-k
-o
-#
-#
-#
-#
-#
-o
-o
-o
-*
-*
-#
-#
-*
-o
-a
-o
-1
-&
-8
-&
-n
-X
-O
-Z
-p
-k
-h
-b
-o
-m
-&
-#
-h
-#
-L
-p
-h
-d
-q
-k
-b
-d
-p
-O
-n
-n
-Q
-O
-Q
-Q
-0
-Z
-w
-w
-p
-b
-h
-p
-p
-q
-w
-q
-q
-d
-a
-&
-W
-W
-8
-p
-d
-#
-a
-#
-a
-a
-q
-k
-Q
-L
-L
-J
-C
-p
-q
-C
-Z
-0
-n
-r
-f
-/
-(
-{
-1
-}
-[
-{
-]
-}
-{
-1
-r
-w
-M
-a
-v
-z
-c
-Y
-0
-C
-Z
-J
-*
-d
-o
-o
-k
-o
-M
-p
-p
-p
-q
-w
-w
-w
-m
-m
-w
-q
-w
-q
-q
-w
-q
-w
-q
-q
-p
-q
-m
-Z
-Y
-C
-W
-w
-%
-q
-p
-b
-b
-d
-o
-a
-k
-q
-X
-p
-k
-M
-b
-f
-Y
-f
-j
-L
-h
-b
-I
-Z
-Z
-Z
-L
-O
-o
-#
-&
-b
-b
-h
-k
-p
-Z
-q
-q
-w
-k
-8
-0
-0
-0
-0
-w
-q
-O
-m
-d
-W
-M
-M
-&
-q
-b
-k
-k
-k
-b
-@
-#
-o
-#
-#
-%
-@
-W
-*
-k
-d
-p
-q
-a
-o
-k
-k
-W
-h
-b
-p
-w
-O
-Q
-C
-C
-C
-0
-f
-c
-x
-j
-u
-n
-\
-C
-Y
-<
-^
-{
-r
-z
-z
-Z
-Y
-C
-0
-O
-0
-Z
-0
-Q
-O
-w
-w
-*
-#
-M
-M
-#
-W
-O
-m
-j
-m
-Z
-Z
-0
-Q
-k
-a
-O
-W
-&
-a
-*
-m
-&
-&
-k
-#
-b
-#
-#
-#
-#
-#
-o
-o
-o
-o
-*
-*
-*
-o
-a
-h
-;
-u
-%
-B
-&
-r
-Y
-0
-w
-k
-h
-a
-k
-*
-w
-&
-M
-M
-W
-Z
-b
-w
-M
-a
-k
-k
-b
-b
-X
-n
-c
-L
-0
-J
-Q
-0
-Z
-w
-w
-b
-k
-k
-p
-p
-q
-q
-w
-q
-p
-q
-p
-p
-q
-k
-a
-*
-8
-h
-o
-*
-o
-p
-q
-m
-Z
-Z
-b
-b
-h
-k
-k
-0
-q
-X
-c
-n
-x
-t
-\
-(
-{
-}
-[
-{
-1
-)
-(
-v
-q
-W
-a
-u
-v
-z
-X
-m
-C
-z
-v
-M
-U
-a
-b
-o
-0
-k
-*
-q
-q
-w
-w
-w
-w
-w
-w
-w
-w
-w
-w
-w
-q
-q
-q
-q
-p
-q
-q
-m
-O
-p
-Y
-W
-Q
-@
-a
-p
-k
-h
-o
-a
-k
-k
-Q
-X
-q
-b
-b
-#
-0
-Y
-r
-v
-J
-*
-d
-l
-q
-m
-O
-L
-0
-*
-o
-&
-a
-q
-p
-m
-Z
-m
-Z
-m
-L
-m
-0
-Z
-m
-0
-d
-q
-q
-q
-b
-m
-h
-m
-C
-0
-k
-W
-M
-8
-%
-&
-W
-8
-%
-B
-B
-%
-B
-M
-#
-k
-d
-p
-q
-a
-q
-Z
-X
-a
-a
-b
-d
-q
-m
-0
-L
-C
-L
-O
-m
-c
-d
-v
-j
-m
-O
-O
-x
-I
->
-_
-I
-j
-(
-Q
-u
-L
-0
-0
-q
-Z
-0
-O
-O
-w
-w
-*
-#
-M
-M
-M
-&
-%
-r
-Z
-Z
-O
-O
-Q
-L
-a
-o
-m
-W
-W
-&
-Q
-p
-&
-&
-h
-o
-b
-*
-*
-*
-*
-*
-o
-o
-o
-o
-*
-o
-o
-o
-a
-k
-}
-c
-J
-Y
-O
-B
-Q
-q
-d
-h
-a
-k
-o
-M
-a
-M
-#
-#
-M
-k
-d
-h
-*
-q
-8
-8
-#
-k
-v
-n
-J
-L
-Q
-C
-0
-O
-m
-w
-w
-d
-b
-a
-d
-p
-q
-q
-w
-q
-p
-q
-p
-p
-w
-J
-1
-1
-{
-)
-U
-d
-8
-#
-*
-o
-a
-k
-p
-q
-o
-o
-o
-a
-b
-Z
-0
-L
-U
-v
-x
-t
-(
-1
-(
-)
-(
-|
-|
-U
-k
-W
-o
-u
-c
-X
-u
-h
-o
-d
-X
-W
-L
-d
-O
-Q
-O
-d
-p
-#
-w
-w
-q
-w
-w
-w
-m
-w
-w
-w
-w
-q
-q
-w
-q
-q
-q
-w
-p
-a
-b
-h
-C
-W
-*
-$
-W
-p
-d
-a
-q
-h
-h
-h
-d
-0
-Z
-q
-b
-*
-C
-f
-c
-C
-U
-b
-o
-l
-w
-Z
-0
-L
-q
-M
-o
-W
-a
-h
-d
-w
-O
-0
-m
-O
-L
-L
-Y
-L
-0
-C
-L
-0
-L
-0
-L
-J
-v
-n
-v
-X
-Z
-h
-8
-8
-8
-%
-%
-B
-B
-%
-&
-&
-&
-M
-#
-k
-d
-p
-q
-M
-O
-Q
-Q
-/
-o
-b
-b
-p
-w
-Z
-Q
-Q
-Q
-O
-*
-Y
-L
-m
-q
-w
-w
-Y
-\
-I
-?
--
-|
-?
-;
-r
-Y
-0
-Z
-Z
-0
-L
-C
-0
-O
-m
-w
-*
-#
-#
-M
-u
-*
-o
-B
-0
-O
-O
-O
-Q
-Q
-o
-*
-0
-W
-W
-M
-L
-b
-&
-W
-k
-h
-Y
-*
-*
-*
-o
-o
-o
-o
-a
-o
-o
-o
-o
-o
-a
-}
-v
-Y
-J
-v
-%
-&
-n
-d
-b
-h
-o
-b
-*
-q
-X
-M
-W
-#
-M
-*
-a
-*
-*
-8
-8
-B
-8
-8
-u
-x
-L
-Q
-L
-L
-0
-Z
-w
-q
-w
-b
-b
-b
-p
-p
-q
-q
-w
-p
-q
-q
-p
-p
-q
-Y
-(
-(
-{
-1
-{
-{
-{
-]
-?
-|
-O
-M
-8
-#
-&
-&
-W
-#
-a
-q
-q
-w
-Z
-0
-L
-X
-n
-r
-x
-f
-/
-\
-)
-m
-h
-W
-o
-u
-v
-c
-c
-b
-o
-a
-*
-o
-J
-Z
-C
-L
-p
-Q
-Z
-d
-w
-w
-m
-m
-w
-m
-m
-w
-w
-w
-w
-q
-w
-w
-q
-w
-p
-8
-#
-d
-o
-d
-J
-W
-w
-@
-@
-d
-q
-k
-b
-d
-k
-b
-0
-O
-0
-b
-b
-b
-C
-0
-/
-c
-r
-h
-h
-I
-q
-Z
-Z
-0
-m
-o
-a
-8
-o
-a
-k
-q
-m
-m
-0
-Z
-q
-O
-Q
-O
-Z
-m
-Z
-m
-p
-d
-Z
-m
-b
-%
-8
-#
-W
-&
-8
-8
-8
-&
-&
-8
-&
-W
-W
-8
-#
-W
-#
-k
-d
-q
-w
-a
-m
-C
-Q
-b
-*
-h
-b
-d
-q
-m
-O
-Q
-0
-m
-b
-q
-d
-q
-w
-}
--
-_
-}
-)
-)
-[
-_
-~
-,
-,
-U
-0
-m
-Z
-L
-J
-Q
-Z
-Z
-m
-w
-k
-#
-M
-*
-#
-l
-M
-c
-Q
-0
-O
-0
-0
-W
-*
-M
-M
-p
-M
-W
-k
-k
-8
-m
-M
-b
-d
-*
-*
-*
-o
-o
-a
-a
-a
-h
-a
-a
-o
-a
-k
-f
-Y
-J
-C
-o
-%
-&
-0
-b
-k
-o
-o
-k
-o
-Z
-#
-M
-o
-a
-o
-f
-a
-d
-#
-#
-&
-8
-B
-M
-n
-n
-L
-0
-L
-Q
-0
-Z
-w
-q
-p
-b
-k
-a
-b
-b
-d
-d
-p
-p
-q
-q
-q
-p
-q
-J
-\
-\
-(
-(
-(
-{
-{
-{
-{
-{
-}
-]
--
-_
-n
-h
-M
-#
-*
-*
-o
-o
-h
-b
-q
-m
-0
-L
-C
-C
-Y
-v
-u
-a
-M
-M
-o
-v
-c
-X
-c
-a
-d
-h
-k
-o
-p
-M
-0
-Q
-q
-m
-m
-%
-m
-Z
-m
-w
-m
-m
-w
-w
-w
-q
-w
-w
-w
-w
-Z
-q
-B
-k
-d
-*
-d
-p
-0
-&
-&
-M
-$
-b
-a
-p
-o
-a
-d
-a
-d
-Z
-C
-0
-b
-d
-p
-Y
-{
-J
-L
-h
-o
-l
-d
-w
-O
-0
-w
-k
-*
-&
-&
-M
-a
-p
-d
-b
-a
-o
-*
-*
-w
-q
-k
-k
-W
-M
-&
-M
-&
-W
-&
-M
-*
-*
-*
-M
-*
-*
-#
-8
-8
-8
-W
-M
-M
-a
-a
-W
-#
-k
-d
-p
-q
-m
-Z
-L
-0
-X
-#
-a
-k
-b
-p
-w
-Z
-0
-O
-m
-p
-0
-p
-_
-/
-}
-d
-m
-)
-x
-)
-)
-u
-I
-^
-:
-0
-O
-m
-Z
-C
-Y
-Q
-0
-Z
-m
-w
-m
-o
-#
-M
-#
-@
-#
-o
-M
-0
-0
-O
-Q
-*
-*
-M
-M
-k
-p
-M
-M
-b
-o
-W
-k
-J
-d
-*
-o
-o
-o
-o
-a
-@
-B
-B
-8
-h
-a
-h
-|
-t
-J
-J
-C
-a
-&
-&
-x
-k
-a
-a
-o
-o
-W
-Z
-&
-M
-#
-w
-Q
-\
-0
-p
-w
-B
-%
-M
-%
-M
-n
-n
-L
-L
-L
-Q
-O
-m
-q
-w
-b
-b
-b
-h
-a
-a
-k
-b
-b
-b
-d
-d
-b
-b
-q
-J
-\
-\
-\
-\
-|
-)
-{
-)
-{
-1
-{
-{
-}
-{
-{
-}
-}
-}
-]
-]
-[
-]
-]
-{
-x
-Z
-p
-p
-p
-q
-q
-b
-a
-o
-M
-#
-h
-c
-c
-Y
-X
-q
-b
-p
-h
-*
-o
-o
-W
-&
-a
-*
-W
-m
-m
-m
-m
-w
-w
-w
-w
-q
-w
-w
-w
-w
-m
-m
-w
-p
-h
-w
-o
-Q
-q
-b
-Y
-&
-&
-$
-$
-p
-k
-h
-a
-a
-b
-k
-h
-Z
-O
-Y
-0
-p
-m
-U
-c
-|
-x
-Y
-h
-I
-p
-q
-m
-m
-w
-M
-M
-%
-%
-M
-&
-M
-#
-#
-*
-a
-a
-#
-M
-#
-a
-h
-b
-a
-h
-o
-a
-k
-a
-h
-h
-k
-a
-h
-d
-w
-m
-a
-*
-*
-a
-*
-o
-o
-k
-M
-#
-h
-d
-p
-q
-X
-J
-w
-0
-k
-Z
-o
-k
-b
-d
-q
-m
-O
-O
-m
-p
-c
-j
-r
-\
--
-1
-}
-n
-<
-1
-{
-?
-|
-I
-:
-{
-Z
-w
-Q
-J
-U
-U
-Q
-m
-Z
-O
-Z
-o
-*
-a
-0
-o
-a
-q
-k
-m
-0
-Q
-Q
-*
-#
-M
-M
-a
-b
-*
-&
-8
-k
-#
-k
-q
-0
-o
-o
-o
-o
-*
-W
-8
-@
-B
-B
-h
-h
-h
-/
-{
-f
-U
-U
-X
-&
-8
-#
-a
-a
-o
-a
-*
-d
-d
-h
-#
-M
-p
-d
-L
-0
-h
-a
-#
-8
-%
-8
-k
-x
-n
-L
-Q
-Q
-0
-Z
-m
-q
-w
-k
-k
-k
-o
-o
-o
-a
-a
-h
-k
-b
-b
-b
-b
-d
-C
-j
-f
-\
-/
-\
-1
-{
-{
-1
-{
-{
-)
-1
-)
-{
-1
-1
-1
-{
-{
-}
-]
-]
-}
-{
-}
-)
-t
-t
-x
-Y
-m
-d
-o
-*
-a
-o
-J
-c
-z
-X
-q
-p
-q
-k
-o
-k
-M
-W
-#
-M
-o
-d
-m
-m
-m
-m
-m
-m
-m
-w
-w
-q
-w
-q
-m
-m
-Z
-k
-q
-b
-a
-*
-p
-o
-O
-u
-&
-&
-@
-$
-k
-k
-Z
-b
-a
-b
-b
-h
-q
-m
-U
-U
-q
-p
-*
-X
-}
-/
-u
-z
-"
-d
-w
-Z
-O
-m
-#
-Z
-M
-W
-M
-M
-M
-M
-a
-h
-b
-h
-b
-h
-k
-a
-h
-h
-a
-b
-h
-b
-q
-q
-O
-C
-C
-U
-c
-n
-c
-X
-m
-h
-a
-*
-h
-k
-a
-k
-M
-#
-a
-d
-q
-q
-p
-#
-W
-*
-Z
-b
-*
-a
-b
-b
-p
-w
-Z
-Z
-m
-p
-w
-z
-f
-1
-I
-;
-_
-~
-;
-l
-1
-!
-~
-I
-;
-!
-Z
-w
-J
-C
-J
-L
-O
-Z
-Z
-0
-Z
-*
-o
-&
-o
-d
-w
-m
-q
-p
-m
-Q
-Q
-&
-M
-M
-#
-#
-Q
-#
-p
-a
-p
-k
-k
-q
-C
-W
-#
-M
-W
-&
-M
-%
-8
-o
-M
-h
-k
-b
-b
-C
-Q
-o
-Y
-L
-b
-&
-o
-v
-a
-o
-o
-#
-Z
-&
-#
-a
-W
-h
-x
-q
-b
-h
-8
-W
-%
-p
-&
-p
-n
-n
-Q
-L
-L
-0
-Z
-q
-q
-q
-d
-a
-h
-*
-o
-o
-o
-o
-o
-o
-a
-a
-a
-a
-h
-Z
-z
-r
-r
-x
-r
-t
-(
-(
-(
-)
-1
-{
-1
-1
-{
-{
-1
-1
-1
-1
-1
-}
-}
-}
-{
-)
-1
-[
-{
-{
-\
-U
-0
-Q
-C
-0
-Z
-Q
-C
-C
-X
-Q
-a
-w
-k
-d
-b
-W
-a
-d
-Q
-k
-d
-m
-O
-m
-m
-m
-m
-m
-w
-w
-q
-w
-m
-m
-k
-b
-o
-o
-k
-h
-M
-#
-M
-M
-c
-&
-&
-X
-@
-d
-p
-b
-m
-a
-b
-p
-k
-q
-Z
-J
-0
-w
-w
-w
-w
-c
-j
-n
-/
-t
-f
-O
-w
-Q
-C
-O
-0
-L
-U
-C
-C
-0
-Z
-m
-0
-Z
-U
-z
-x
-j
-z
-X
-u
-f
-t
-/
-x
-n
-r
-j
-j
-x
-x
-v
-x
-x
-c
-0
-k
-b
-#
-a
-a
-d
-a
-M
-#
-a
-d
-q
-q
-C
-Q
-k
-*
-o
-h
-*
-a
-k
-b
-d
-q
-m
-m
-m
-p
-z
-X
-n
-|
->
-[
-]
-(
-<
-^
-v
-I
->
-]
-<
-]
-j
-O
-Y
-Y
-C
-J
-Q
-O
-O
-p
-a
-w
-z
-M
-o
-r
-w
-m
-Z
-p
-d
-d
-p
-Q
-#
-#
-*
-#
-o
-o
-o
-o
-k
-b
-p
-w
-m
-W
-%
-W
-M
-#
-*
-W
-W
-8
-M
-o
-d
-b
-b
-p
-#
-M
-W
-#
-Z
-&
-8
-B
-a
-a
-o
-M
-m
-#
-o
-Z
-M
-w
-p
-d
-o
-p
-h
-&
-8
-8
-*
-z
-n
-n
-0
-0
-Q
-0
-Z
-q
-q
-k
-b
-a
-p
-@
-8
-*
-8
-W
-h
-o
-o
-o
-o
-o
-a
-d
-Z
-Q
-J
-z
-x
-j
-f
-t
-t
-f
-/
-\
-(
-|
-)
-)
-)
-)
-)
-1
-}
-{
-1
-{
-1
-{
-{
-}
-}
-{
-}
-1
-]
-r
-C
-Q
-Z
-Z
-J
-L
-J
-J
-#
-a
-p
-0
-M
-M
-k
-C
-Q
-p
-q
-Z
-Z
-Z
-Z
-m
-q
-q
-q
-m
-q
-m
-w
-Z
-#
-o
-o
-&
-8
-&
-&
-W
-&
-M
-x
-0
-B
-k
-@
-p
-O
-m
-m
-m
-q
-d
-Q
-Q
-C
-L
-L
-p
-0
-m
-Z
-Y
-Y
-v
-f
-|
-/
-u
-L
-Y
-Y
-J
-n
-j
-r
-\
-\
-{
-)
-)
-)
-1
-{
-)
-)
-[
-|
-(
-\
-/
-)
-\
-t
-/
-\
-j
-j
-f
-f
-f
-j
-t
-v
-C
-h
-*
-h
-k
-a
-h
-8
-M
-#
-a
-p
-q
-p
-b
-o
-o
-d
-b
-Z
-q
-o
-h
-k
-b
-q
-w
-m
-w
-p
-a
-L
-Y
-v
-}
-(
-v
-X
-z
-^
-I
-}
-;
-}
--
-\
-f
-C
-J
-J
-Q
-p
-b
-k
-b
-k
-k
-o
-u
-@
-L
-j
-O
-m
-Z
-C
-q
-w
-q
-w
-#
-#
-o
-a
-o
-o
-a
-a
-b
-k
-b
-m
-Z
-b
-&
-&
-#
-M
-*
-W
-&
-W
-M
-8
-%
-k
-0
-d
-M
-M
-W
-W
-h
-8
-&
-&
-C
-a
-a
-#
-m
-M
-a
-W
-Z
-L
-*
-M
-&
-k
-m
-a
-o
-%
-W
-r
-n
-X
-Q
-Q
-Q
-O
-Z
-q
-q
-k
-b
-a
-w
-8
-@
-$
-B
-&
-%
-8
-8
-o
-o
-o
-a
-p
-Z
-O
-0
-Q
-J
-U
-v
-j
-j
-f
-j
-f
-t
-\
-|
-(
-)
-{
-(
-(
-(
-(
-)
-1
-1
-{
-{
-{
-}
-]
-1
-)
-{
-?
-j
-C
-0
-0
-Q
-Q
-C
-m
-#
-o
-a
-p
-w
-v
-O
-p
-L
-h
-o
-Z
-Z
-m
-m
-Z
-w
-m
-w
-Z
-O
-d
-m
-#
-a
-o
-#
-8
-%
-&
-a
-&
-&
-m
-{
-C
-$
-$
-$
-d
-Z
-O
-w
-m
-0
-w
-O
-m
-m
-J
-L
-q
-p
-Z
-O
-C
-|
-n
-)
-(
-v
-x
-L
-U
-U
-v
-v
-f
-\
-f
-|
-)
-(
-[
-\
-{
-|
-1
-1
-)
-|
-(
-\
-/
-r
-f
-j
-r
-r
-x
-r
-j
-f
-r
-j
-n
-c
-L
-#
-o
-W
-#
-#
-M
-*
-M
-#
-a
-p
-q
-p
-k
-o
-p
-k
-k
-(
-&
-*
-a
-k
-b
-p
-w
-m
-m
-p
-k
-C
-Y
-X
-|
-t
-C
-Y
-c
-j
-f
-X
-<
-+
-}
-n
-m
-Z
-w
-w
-q
-p
-b
-d
-p
-d
-h
-*
-@
-Z
-r
-w
-Z
-Z
-Q
-Q
-C
-q
-q
-p
-d
-o
-*
-o
-k
-k
-m
-b
-b
-k
-p
-Z
-0
-h
-W
-#
-#
-#
-&
-W
-p
-&
-#
-B
-%
-8
-p
-%
-#
-#
-#
-M
-M
-8
-8
-8
-X
-h
-h
-h
-*
-&
-r
-*
-w
-*
-O
-d
-q
-u
-*
-Q
-J
-o
-W
-x
-n
-J
-0
-0
-0
-O
-m
-q
-p
-b
-b
-h
-*
-h
-M
-#
-o
-*
-#
-8
-%
-W
-M
-W
-%
-k
-O
-O
-O
-O
-O
-0
-0
-Q
-L
-X
-n
-x
-x
-n
-x
-x
-j
-x
-f
-t
-/
-(
-|
-(
-1
-)
-)
-{
-(
-(
-(
-(
-f
-j
-n
-U
-U
-Q
-Z
-m
-J
-O
-M
-M
-b
-8
-&
-M
-o
-0
-b
-a
-*
-O
-Z
-O
-Z
-w
-O
-O
-Q
-o
-p
-Z
-o
-a
-#
-o
-8
-O
-o
-*
-8
-#
-#
-W
-m
-B
-$
-@
-B
-q
-d
-p
-p
-p
-b
-p
-a
-d
-p
-m
-w
-p
-p
-k
-O
-x
-L
-c
-\
-/
-x
-}
-C
-U
-0
-Y
-u
-/
-r
-1
-(
-|
-)
-(
-/
-/
-\
-\
-|
-)
-\
-f
-j
-r
-j
-x
-r
-r
-u
-u
-c
-n
-v
-v
-u
-X
-u
-Q
-p
-k
-p
-b
-a
-W
-M
-M
-#
-a
-p
-m
-d
-p
-a
-b
-m
-(
-O
-c
-*
-o
-k
-b
-d
-q
-w
-w
-p
-d
-v
-0
-Q
-c
-0
-J
-0
-Y
-n
-x
-(
->
-+
-/
-0
-0
-O
-Z
-m
-m
-q
-q
-q
-q
-m
-k
-x
-w
-0
-@
-O
-0
-0
-Q
-Q
-Q
-0
-m
-p
-p
-k
-a
-h
-h
-k
-0
-O
-Q
-m
-p
-0
-0
-M
-W
-h
-M
-o
-W
-W
-&
-W
-@
-B
-%
-k
-k
-*
-*
-*
-#
-M
-M
-b
-&
-&
-8
-a
-k
-h
-h
-J
-M
-k
-*
-*
-v
-d
-O
-k
-L
-U
-k
-a
-@
-r
-n
-J
-0
-Q
-0
-O
-m
-q
-d
-h
-b
-a
-b
-a
-a
-M
-#
-a
-p
-q
-o
-$
-@
-B
-B
-M
-o
-W
-h
-Q
-O
-O
-0
-O
-0
-0
-0
-C
-X
-c
-c
-c
-v
-v
-c
-v
-v
-n
-j
-t
-f
-/
-/
-\
-\
-(
-)
-|
-/
-j
-v
-Y
-J
-C
-O
-Z
-w
-C
-h
-W
-&
-#
-#
-&
-M
-W
-W
-#
-M
-0
-O
-O
-Z
-O
-Q
-p
-b
-h
-m
-k
-#
-M
-#
-8
-b
-o
-#
-8
-M
-@
-8
-W
-o
-$
-&
-@
-$
-q
-d
-d
-m
-b
-m
-b
-h
-k
-q
-m
-p
-q
-k
-b
-k
-J
-U
-Y
-X
-1
-1
-j
-L
-J
-0
-m
-Z
-Q
-0
-C
-z
-z
-Y
-J
-n
-Y
-z
-C
-Q
-Q
-J
-O
-Q
-0
-Z
-0
-Q
-Y
-u
-v
-c
-X
-Q
-Z
-p
-q
-a
-a
-W
-8
-&
-M
-M
-#
-M
-M
-*
-a
-p
-m
-p
-d
-d
-b
-}
-U
--
-C
-*
-o
-h
-k
-d
-q
-w
-w
-q
-d
-c
-Z
-d
-m
-m
-q
-Z
-j
->
-)
-l
-i
-\
-|
-w
-q
-0
-0
-O
-O
-Z
-Z
-Z
-Z
-Q
-b
-c
-p
-0
-x
-0
-0
-0
-Q
-Q
-L
-Q
-O
-O
-p
-k
-p
-h
-k
-k
-Q
-M
-8
-k
-Q
-0
-C
-W
-#
-k
-m
-&
-W
-o
-W
-*
-M
-B
-W
-X
-q
-W
-k
-*
-o
-M
-#
-&
-z
-h
-&
-Q
-w
-a
-Y
-*
-d
-r
-Y
-o
-U
-o
-}
-Q
-0
-O
-Z
-w
-b
-x
-v
-L
-Z
-0
-O
-Z
-q
-p
-b
-b
-k
-b
-8
-*
-o
-#
-*
-8
-8
-B
-%
-8
-w
-d
-p
-&
-&
-&
-8
-#
-q
-Q
-a
-o
-b
-Z
-m
-Z
-Z
-O
-O
-L
-C
-C
-U
-U
-Y
-U
-Y
-Y
-Y
-Y
-X
-z
-X
-z
-v
-v
-c
-U
-C
-C
-L
-L
-O
-Z
-w
-w
-m
-W
-W
-M
-8
-8
-#
-8
-#
-w
-%
-Q
-C
-L
-J
-8
-o
-h
-k
-h
-a
-*
-W
-o
-*
-W
-#
-8
-B
-p
-h
-a
-*
-&
-8
-8
-Y
-@
-@
-b
-p
-q
-b
-o
-o
-d
-d
-p
-b
-q
-b
-p
-b
-k
-k
-p
-O
-Z
-0
-/
-}
-]
-1
-U
-0
-Z
-q
-Z
-w
-q
-Z
-w
-Z
-q
-p
-Z
-m
-0
-Z
-Z
-p
-m
-O
-Q
-w
-w
-m
-Z
-q
-O
-p
-p
-m
-w
-k
-p
-h
-a
-#
-&
-8
-&
-W
-o
-M
-#
-o
-h
-p
-m
-p
-a
-U
-(
-Y
--
-/
-U
-a
-*
-a
-k
-b
-p
-q
-w
-q
-q
-L
-q
-p
-f
-\
-1
-]
-c
-.
-X
-{
-<
-?
-(
-p
-Z
-0
-Q
-0
-O
-O
-Z
-Z
-Q
-b
-o
-M
-h
-X
-0
-O
-0
-Q
-Q
-0
-L
-Q
-m
-U
-Y
-O
-h
-b
-q
-Z
-U
-o
-o
-a
-Y
-U
-m
-&
-a
-O
-b
-&
-&
-#
-&
-W
-#
-W
-a
-W
-a
-&
-j
-#
-a
-*
-o
-#
-M
-&
-&
-C
-p
-h
-a
-m
-L
-m
-c
-z
-c
-a
-v
-a
-Q
-O
-Q
-L
-q
-n
-u
-L
-0
-0
-O
-Z
-q
-p
-b
-b
-k
-d
-%
-%
-&
-8
-%
-a
-m
-h
-8
-B
-B
-d
-m
-n
-J
-m
-a
-M
-#
-M
-#
-d
-b
-k
-h
-*
-b
-Z
-m
-m
-q
-m
-O
-0
-Q
-C
-C
-L
-C
-C
-L
-C
-J
-J
-J
-U
-C
-L
-L
-Q
-O
-0
-0
-Z
-m
-q
-w
-C
-*
-M
-8
-%
-o
-&
-*
-o
-L
-Y
-b
-&
-k
-h
-p
-m
-k
-#
-#
-M
-*
-M
-h
-#
-o
-B
-#
-w
-k
-h
-M
-&
-C
-8
-a
-$
-@
-O
-d
-k
-w
-&
-#
-#
-b
-h
-d
-k
-b
-b
-k
-b
-a
-h
-C
-q
-J
-L
-}
-v
-v
-/
-J
-J
-Q
-C
-C
-L
-O
-w
-Q
-m
-C
-m
-q
-m
-w
-w
-Z
-Z
-w
-0
-0
-O
-Q
-C
-Q
-C
-C
-m
-m
-q
-w
-b
-k
-k
-W
-#
-M
-*
-W
-h
-M
-#
-o
-k
-p
-Z
-q
-j
-|
-x
-j
-b
-0
-)
-(
-*
-a
-k
-b
-p
-q
-w
-w
-q
-q
-k
-b
-n
-j
-r
-\
-/
-"
-f
-_
-<
-?
-j
-m
-0
-Q
-0
-0
-0
-O
-Z
-Z
-Q
-k
-x
-o
-a
-#
-Q
-0
-0
-0
-O
-b
-h
-h
-h
-M
-M
-*
-p
-d
-p
-q
-X
-*
-*
-#
-n
-p
-d
-&
-d
-O
-&
-&
-a
-&
-q
-p
-#
-#
-z
-*
-Z
-&
-k
-*
-h
-Y
-n
-C
-#
-&
-8
-Q
-#
-J
-d
-Z
-{
-n
-X
-U
-C
-h
-*
-o
-o
-o
-#
-b
-u
-n
-L
-L
-Z
-O
-O
-Z
-q
-k
-p
-b
-o
-m
-d
-p
-q
-b
-J
-Z
-O
-b
-Z
-d
-h
-B
-a
-Y
-L
-C
-Q
-O
-O
-0
-k
-o
-a
-*
-*
-*
-k
-k
-o
-h
-*
-q
-O
-q
-q
-p
-q
-p
-w
-w
-m
-Z
-O
-Q
-0
-O
-Z
-Q
-0
-O
-Q
-0
-O
-m
-Z
-m
-M
-h
-Q
-J
-O
-m
-h
-a
-0
-h
-#
-a
-a
-*
-#
-d
-&
-&
-#
-*
-W
-W
-W
-8
-d
-B
-m
-*
-Z
-Q
-L
-J
-C
-C
-]
-8
-@
-$
-@
-L
-Y
-L
-f
-M
-#
-o
-b
-d
-b
-*
-p
-k
-o
-a
-h
-k
-U
-0
-Y
-0
-}
-n
-Y
-c
-J
-c
-X
-Y
-Y
-C
-C
-C
-C
-L
-0
-Q
-L
-L
-C
-Z
-u
-<
-^
-,
--
-/
-X
-Y
-c
-z
-C
-U
-C
-Q
-O
-m
-b
-p
-p
-#
-M
-M
-*
-o
-#
-*
-a
-b
-p
-0
-m
-O
--
-_
-0
-q
-t
-|
-j
-#
-o
-h
-b
-d
-q
-w
-m
-w
-m
-h
-k
-Q
-Y
-v
-u
-{
-?
-{
->
-+
-}
-j
-Z
-0
-Q
-L
-Q
-0
-0
-0
-0
-J
-k
-o
-*
-#
-Q
-O
-p
-b
-k
-k
-k
-k
-k
-b
-M
-o
-W
-#
-0
-O
-L
-&
-#
-*
-o
-p
-b
-p
-a
-q
-J
-d
-d
-C
-d
-L
-w
-&
-a
-b
-p
-W
-p
-b
-o
-&
-*
-U
-z
-*
-&
-8
-m
-m
-U
-Y
-J
-X
-L
-z
-Z
-m
-b
-w
-*
-o
-*
-*
-*
-x
-n
-L
-L
-Z
-O
-Z
-m
-w
-b
-o
-b
-o
-#
-@
-M
-*
-*
-o
-a
-q
-m
-C
-v
-w
-q
-b
-m
-J
-Q
-Z
-Q
-X
-(
-O
-C
-Y
-w
-m
-b
-a
-*
-*
-*
-o
-Q
-a
-M
-a
-M
-h
-p
-p
-p
-p
-p
-q
-p
-p
-p
-p
-Z
-Q
-Q
-L
-0
-0
-Z
-m
-m
-b
-*
-W
-a
-8
-Q
-0
-k
-Z
-d
-o
-#
-k
-b
-b
-&
-d
-8
-%
-8
-%
-%
-8
-B
-k
-W
-k
-#
-Z
-O
-0
-L
-C
-U
-8
-&
-m
-@
-@
-0
-#
-m
-z
-a
-k
-a
-k
-p
-a
-8
-8
-q
-a
-h
-b
-U
-U
-Y
-z
-c
-[
-n
-z
-u
-U
-|
-!
-l
-{
-f
-(
-1
-[
-}
-{
-]
-X
-c
-[
-!
-{
-(
-]
-(
-/
-\
-]
-<
-<
-]
-Y
-U
-C
-L
-0
-m
-O
-q
-h
-*
-#
-W
-J
-#
-&
-*
-a
-b
-q
-L
-O
-j
-n
-Z
-p
-p
-O
-x
-Y
-X
-o
-h
-b
-d
-q
-w
-w
-w
-p
-h
-k
-0
-L
-L
-U
-f
-{
-i
-:
-x
-X
-Q
-O
-J
-L
-Q
-Q
-Q
-0
-0
-0
-o
-d
-q
-%
-}
-Z
-d
-d
-d
-h
-k
-k
-k
-a
-p
-M
-a
-M
-M
-a
-L
-Q
-M
-#
-*
-*
-b
-b
-L
-C
-X
-k
-8
-&
-W
-8
-&
-8
-q
-f
-p
-Z
-&
-c
-8
-8
-p
-h
-b
-v
-m
-8
-&
-Q
-J
-L
-J
-p
-Z
-v
-a
-W
-M
-O
-q
-*
-*
-*
-*
-#
-x
-r
-Q
-L
-O
-O
-O
-Z
-b
-k
-k
-b
-k
-o
-k
-p
-a
-h
-#
-#
-#
-*
-M
-m
-0
-c
-Y
-/
-q
-J
-O
-v
-U
-Y
-w
-Z
-Z
-L
-X
-U
-L
-q
-p
-o
-M
-M
-&
-*
-*
-#
-%
-8
-M
-*
-p
-q
-q
-q
-q
-p
-d
-m
-L
-L
-C
-0
-Z
-q
-m
-p
-Z
-o
-#
-M
-#
-M
-k
-q
-h
-b
-w
-M
-o
-h
-&
-a
-%
-W
-&
-B
-@
-B
-B
-&
-z
-h
-&
-8
-&
-#
-o
-h
-a
-a
-v
-*
-*
-B
-@
-%
-8
-q
-0
-k
-O
-o
-m
-q
-L
-&
-&
-#
-o
-h
-d
-U
-J
-j
-r
-1
-]
-)
-\
-)
-)
-\
-[
->
-]
-f
-f
-f
-/
-v
-/
-1
-)
-x
-~
-x
-U
-u
-U
-U
-j
-/
-(
-1
-(
-|
-1
-c
-U
-J
-J
-O
-Q
-Z
-p
-k
-Q
-q
-p
-p
-*
-o
-h
-b
-Z
-C
-Q
-x
-z
-d
-0
-(
-/
-r
-|
-X
-*
-a
-b
-d
-p
-w
-m
-m
-d
-b
-o
-Z
-0
-Q
-Q
-c
-/
-!
-|
-}
-v
-q
-0
-v
-L
-L
-Q
-Q
-Q
-c
-x
-Q
-C
-L
-O
-C
-Q
-d
-d
-k
-Q
-d
-k
-b
-k
-m
-W
-*
-a
-W
-w
-h
-k
-M
-#
-#
-#
-k
-Z
-h
-8
-&
-&
-&
-Z
-&
-Y
-d
-W
-&
-&
-z
-k
-d
-W
-&
-W
-&
-h
-W
-Y
-Y
-*
-&
-&
-B
-0
-#
-*
-&
-#
-M
-M
-o
-p
-#
-*
-*
-*
-*
-k
-x
-C
-Q
-L
-O
-O
-Z
-q
-a
-h
-b
-k
-a
-q
-h
-Z
-B
-%
-*
-#
-M
-M
-W
-#
-o
-a
-Y
-<
-]
-d
-Z
-m
-c
-0
-a
-L
-X
-j
-Y
-U
-C
-J
-n
-C
-O
-k
-a
-o
-a
-k
-O
-*
-a
-O
-o
-p
-h
-h
-a
-q
-o
-M
-M
-W
-W
-W
-M
-a
-b
-b
-h
-C
-k
-C
-0
-k
-h
-*
-0
-p
-q
-o
-o
-o
-B
-b
-B
-#
-#
-W
-*
-M
-a
-W
-*
-8
-8
-8
-8
-*
-o
-o
-k
-%
-@
-Z
-$
-%
-@
-B
-%
-&
-#
-b
-k
-*
-W
-/
-Q
-%
-o
-Q
-Z
-k
-X
-J
-X
-c
-v
-]
-<
-i
-{
-_
-[
-j
-(
-[
-?
-?
-{
-|
-}
--
--
-]
-+
-)
-C
-1
-{
-}
-}
-|
-/
-)
-|
-c
-r
-C
-f
-<
-_
-z
-c
-Y
-J
-Q
-Q
-Y
-h
-#
-#
-W
-*
-o
-k
-p
-0
-J
-C
-k
-c
-\
-|
-n
-x
-(
-Q
-h
-#
-a
-b
-p
-q
-w
-m
-m
-q
-k
-*
-w
-m
-Z
-Z
-L
-r
->
-]
-)
-u
-m
-C
-r
-c
-n
-v
-v
-v
-u
-f
-L
-@
-M
-0
-O
-0
-d
-b
-d
-W
-M
-k
-b
-k
-Z
-M
-W
-w
-M
-M
-#
-o
-*
-h
-#
-#
-#
-B
-m
-8
-*
-&
-W
-8
-&
-&
-&
-W
-b
-b
-&
-#
-J
-W
-W
-p
-C
-h
-W
-j
-z
-d
-&
-8
-&
-C
-Z
-a
-a
-J
-M
-M
-#
-k
-#
-#
-#
-#
-#
-L
-x
-J
-Q
-L
-Z
-O
-Z
-w
-a
-a
-k
-k
-b
-d
-b
-L
-#
-W
-#
-p
-Z
-8
-W
-M
-a
-*
-m
-z
-+
-x
-/
-j
-c
-m
-a
-*
-#
-\
-(
-J
-Y
-L
-X
-U
-p
-O
-0
-m
-o
-h
-d
-m
-p
-p
-q
-d
-k
-a
-m
-q
-M
-&
-8
-8
-&
-&
-W
-k
-L
-p
-m
-L
-*
-h
-Z
-o
-L
-C
-Z
-p
-d
-k
-a
-*
-8
-*
-*
-#
-#
-W
-#
-W
-M
-M
-*
-8
-8
-8
-8
-*
-o
-o
-o
-8
-*
-B
-$
-8
-$
-8
-U
-M
-&
-p
-k
-M
-#
-p
-B
-W
-L
-,
-J
-m
-u
-v
-Y
-Y
-}
-]
-!
-_
-]
--
-)
-j
-z
-v
-z
-t
-t
-t
-j
-j
-f
-/
-i
-+
-j
-1
-1
-\
-/
-/
-X
-C
-x
-u
-f
-j
-\
-n
-{
--
-_
-|
-}
-)
-j
-h
-#
-*
-M
-M
-o
-a
-b
-q
-Q
-J
-J
-Z
-0
-\
-x
-d
-0
-r
-m
-b
-d
-o
-k
-p
-q
-w
-m
-m
-d
-a
-#
-p
-q
-m
-Z
-0
-}
-i
-]
-(
-X
-k
-Z
-C
-n
-v
-u
-v
-u
-u
-C
-j
-*
-#
-L
-0
-Q
-d
-C
-&
-&
-&
-d
-k
-a
-Y
-M
-M
-p
-a
-0
-Q
-0
-0
-X
-b
-&
-M
-W
-8
-*
-W
-%
-w
-W
-W
-M
-a
-W
-&
-%
-&
-a
-%
-q
-&
-k
-8
-&
-W
-j
-Y
-m
-&
-8
-&
-J
-O
-Q
-o
-m
-&
-M
-#
-p
-#
-#
-#
-#
-#
-J
-c
-L
-Q
-L
-O
-Z
-O
-h
-a
-a
-b
-h
-q
-#
-O
-m
-L
-h
-&
-o
-k
-o
-M
-m
-W
-p
-b
-O
-v
-X
-c
-C
-z
-}
-?
-%
-#
-b
-*
-J
-z
-v
-k
-L
-#
-M
-Q
-x
-|
-b
-b
-p
-O
-p
-q
-0
-O
-f
-u
-Q
-d
-#
-&
-&
-#
-a
-Z
-p
-m
-#
-q
-U
-a
-a
-k
-o
-O
-L
-Q
-Q
-#
-k
-M
-&
-W
-*
-&
-C
-*
-#
-#
-M
-M
-M
-M
-M
-*
-*
-o
-o
-&
-d
-%
-&
-q
-&
-$
-B
-@
-$
-Z
-a
-d
-q
-a
-#
-*
-w
-h
-b
-p
-J
-O
-t
-&
-/
-{
-]
-]
-r
->
-(
-|
-}
-C
-u
-X
-r
-f
-t
-/
-j
-r
-r
-j
-t
-/
-t
-j
-/
-/
-|
-\
-0
-d
-a
-p
-p
-z
-x
-)
-\
-j
-u
-Q
-(
-l
-!
-|
-k
-#
-#
-M
-#
-a
-h
-d
-m
-C
-J
-J
-O
-f
-Z
-Q
-Z
-n
-Z
-C
-o
-*
-o
-k
-p
-q
-q
-w
-m
-p
-o
-M
-k
-p
-d
-p
-h
-\
-<
-1
-C
-w
-k
-Q
-L
-u
-n
-u
-n
-x
-f
-U
-#
-%
-#
-m
-O
-Q
-Q
-0
-M
-W
-&
-&
-w
-0
-#
-a
-Z
-0
-C
-W
-M
-#
-*
-W
-a
-m
-p
-p
-M
-B
-B
-@
-q
-M
-W
-M
-8
-*
-p
-q
-W
-8
-W
-8
-0
-Z
-h
-W
-0
-n
-X
-Q
-M
-a
-O
-%
-Z
-Q
-M
-&
-M
-0
-M
-d
-M
-M
-#
-#
-#
-r
-J
-L
-Q
-Q
-0
-Z
-w
-a
-h
-k
-k
-k
-p
-k
-Q
-p
-U
-b
-W
-%
-B
-a
-q
-*
-m
-Z
-c
-{
-p
-Z
-c
-/
-v
-|
-m
-Q
-a
-k
-#
-o
-*
-a
-a
-J
-*
-W
-a
-h
-j
-|
-c
-p
-b
-b
-m
-|
-r
-b
-*
-k
-U
-o
-M
-#
-q
-p
-J
-k
-d
-a
-b
-Q
-M
-k
-L
-b
-Q
-C
-C
-Z
-a
-#
-&
-8
-M
-Q
-*
-8
-8
-#
-#
-*
-M
-M
-M
-M
-#
-o
-a
-o
-M
-o
-@
-&
-&
-Q
-$
-@
-@
-$
-%
-M
-w
-Q
-o
-*
-p
-Q
-B
-Z
-p
-W
-p
-&
-o
-&
-]
-]
-x
-t
-/
-}
-<
-\
-1
-z
-f
-/
-/
-(
-|
-/
-t
-f
-j
-f
-[
-/
-j
-\
-)
-{
-}
-U
-0
-O
-w
-d
-d
-m
-{
-(
-r
-J
-n
-1
-<
-i
-?
-X
-p
-d
-W
-*
-a
-h
-p
-O
-J
-J
-U
-Q
-v
-n
-L
-x
-C
-Q
-Q
-#
-#
-o
-h
-p
-q
-q
-m
-m
-q
-m
-w
-b
-M
-#
-#
-*
-}
-]
-(
-u
-a
-p
-Q
-C
-r
-u
-n
-u
-x
-n
-Y
-X
-C
-L
-Q
-C
-Q
-L
-d
-d
-&
-M
-W
-&
-p
-Q
-w
-#
-#
-q
-M
-W
-W
-W
-W
-M
-M
-M
-8
-p
-%
-B
-M
-M
-q
-a
-#
-W
-w
-d
-d
-*
-o
-W
-W
-p
-#
-a
-W
-c
-c
-c
-L
-w
-J
-M
-&
-L
-b
-W
-W
-W
-&
-&
-w
-&
-&
-W
-W
-M
-x
-v
-0
-Q
-0
-O
-O
-k
-h
-k
-k
-k
-b
-d
-8
-Y
-Z
-Z
-b
-*
-B
-%
-o
-B
-m
-J
-8
-0
-/
-L
-x
-[
-I
-!
-[
-t
-v
-w
-b
-*
-q
-a
-o
-h
-a
-d
-b
-k
-h
-w
-{
-|
-[
-t
-X
-c
-C
-#
-*
-W
-&
-q
-m
-o
-a
-p
-b
-k
-a
-h
-o
-U
-C
-#
-a
-b
-v
-L
-0
-k
-d
-*
-*
-o
-M
-Q
-#
-8
-8
-%
-M
-M
-M
-M
-M
-M
-*
-o
-a
-h
-p
-k
-c
-n
-a
-&
-x
-$
-$
-@
-$
-M
-o
-Z
-h
-#
-*
-q
-&
-k
-m
-h
-8
-B
-8
-8
-8
-{
-v
-/
-c
-U
-}
-|
-n
-}
-c
-)
-1
-1
-{
-{
-{
-)
-|
-/
-t
-r
-u
-\
-(
-{
-]
-?
-{
--
--
--
-?
-c
-J
-X
-/
-f
-U
-d
-q
-\
-,
-<
-C
-m
-q
-W
-*
-a
-b
-p
-O
-C
-J
-U
-L
-r
-{
-f
-z
-Q
-O
-Z
-#
-#
-*
-a
-d
-q
-w
-m
-m
-q
-m
-q
-d
-M
-M
-#
-*
-(
-)
-/
-\
-a
-w
-L
-Q
-c
-v
-v
-c
-n
-U
-v
-C
-U
-@
-Q
-Q
-L
-L
-b
-Q
-&
-M
-W
-M
-w
-Z
-*
-W
-M
-W
-#
-M
-M
-&
-&
-W
-&
-&
-&
-W
-%
-M
-q
-M
-k
-8
-&
-W
-Z
-p
-k
-*
-&
-8
-*
-M
-Q
-W
-&
-d
-z
-M
-U
-k
-%
-&
-&
-U
-&
-M
-W
-w
-b
-&
-q
-w
-&
-&
-&
-W
-x
-Y
-0
-Q
-0
-Z
-Z
-h
-h
-o
-k
-k
-p
-q
-&
-Q
-x
-Y
-W
-8
-B
-M
-%
-M
-o
-q
-o
-m
-q
-z
-v
-)
-{
-b
-0
-u
-w
-*
-*
-Q
-c
-0
-X
-U
-p
-p
-Q
-t
-}
-!
-n
-m
-J
-C
-\
-j
-L
-h
-a
-#
-o
-*
-Y
-w
-m
-O
-d
-h
-h
-a
-#
-#
-M
-M
-#
-o
-k
-q
-p
-o
-k
-M
-M
-M
-k
-8
-8
-%
-%
-%
-M
-#
-#
-M
-#
-o
-a
-k
-d
-Q
-m
-q
-Y
-c
-k
-&
-h
-$
-$
-@
-B
-#
-X
-w
-w
-p
-d
-q
-d
-$
-p
-a
-%
-8
-*
-o
-&
-/
-)
-t
-x
-)
-]
-(
-n
-)
-)
-]
-_
-+
-+
-_
-?
-]
-{
-)
-(
-n
-n
-(
-}
-?
-+
-~
-<
-<
-<
-~
-+
-_
-?
-?
-)
-\
-_
-m
-q
-b
-w
-|
-J
-d
-*
-&
-#
-a
-k
-b
-Z
-C
-U
-Y
-J
-b
-)
-)
-m
-b
-o
-o
-w
-d
-m
-a
-b
-q
-w
-m
-m
-q
-o
-w
-q
-M
-M
-M
-#
-}
-\
-r
-%
-a
-Z
-Q
-Q
-Q
-v
-r
-x
-n
-Q
-$
-C
-Y
-u
-Q
-J
-L
-0
-p
-Q
-W
-*
-W
-m
-&
-Z
-M
-M
-#
-#
-p
-M
-M
-%
-8
-8
-&
-&
-&
-&
-W
-B
-a
-#
-8
-&
-&
-M
-#
-8
-m
-*
-&
-p
-M
-Y
-o
-W
-W
-8
-W
-a
-p
-Z
-W
-&
-&
-X
-W
-W
-M
-a
-o
-M
-k
-M
-O
-b
-8
-B
-x
-Y
-Q
-Q
-0
-C
-d
-k
-h
-o
-k
-b
-b
-8
-&
-m
-Y
-J
-8
-b
-#
-M
-&
-o
-a
-M
-m
-O
-Y
-j
-)
-l
-0
-k
-a
-u
-q
-Y
-J
-U
-z
-Z
-Z
-Q
-(
-J
-f
-1
-0
-x
-!
-t
-1
-\
-c
-m
-U
-X
-w
-o
-k
-p
-m
-u
-Z
-m
-q
-h
-J
-U
-C
-d
-*
-p
-x
-0
-m
-w
-p
-M
-M
-&
-M
-M
-8
-%
-%
-%
-%
-%
-M
-#
-M
-#
-#
-o
-h
-p
-C
-B
-&
-Z
-X
-8
-&
-&
-k
-$
-@
-@
-@
-M
-c
-q
-0
-d
-q
-q
-b
-m
-h
-a
-&
-&
-k
-a
-U
-x
-v
-{
-r
-c
-]
-|
-\
--
-}
-{
->
-l
-!
-!
->
-+
-]
-}
-{
-|
-|
-{
--
-+
-!
-I
-I
-l
-:
-;
->
-+
-_
--
-t
-|
-]
-C
-p
-p
-0
-t
-J
-a
-o
-&
-M
-o
-h
-k
-w
-L
-Y
-X
-Y
-O
-\
-L
-#
-M
-#
-M
-d
-b
-q
-o
-k
-q
-m
-m
-m
-q
-a
-d
-b
-M
-W
-M
-#
-|
-(
-v
-a
-k
-O
-Q
-Q
-L
-c
-n
-x
-t
-v
-z
-L
-c
-J
-0
-Y
-0
-Q
-d
-C
-M
-M
-b
-&
-W
-W
-&
-o
-#
-0
-o
-*
-M
-W
-8
-&
-&
-8
-&
-W
-&
-p
-W
-h
-a
-W
-&
-a
-W
-o
-&
-&
-8
-d
-h
-W
-W
-p
-B
-*
-M
-L
-Z
-k
-M
-8
-&
-h
-W
-#
-w
-M
-#
-a
-M
-Z
-Z
-O
-m
-C
-n
-v
-Q
-0
-C
-k
-b
-k
-k
-a
-k
-h
-*
-W
-&
-m
-b
-z
-W
-q
-8
-M
-B
-%
-b
-8
-p
-q
-X
-J
-}
-[
-M
-*
-#
-b
-w
-m
-v
-c
-Q
-J
-J
-Y
-p
-t
-\
-1
-?
-!
-l
-c
-J
-?
-1
-?
-(
-j
-C
-m
-m
-b
-q
-Z
-Q
-p
-t
-z
-m
-x
-d
-L
-#
-*
-q
-q
-C
-d
-#
-#
-#
-p
-o
-a
-8
-%
-%
-%
-%
-%
-M
-*
-#
-#
-#
-*
-c
-m
-q
-8
-W
-&
-8
-o
-B
-W
-o
-$
-@
-@
-$
-M
-a
-Z
-q
-d
-q
-p
-q
-p
-h
-%
-&
-&
-o
-&
-1
-\
-]
-[
-j
-/
-[
-t
-)
-)
-1
-[
-l
-<
-}
--
-<
-?
-+
-}
-[
-t
-}
-~
-+
->
-i
-+
-?
-[
-}
-?
-<
-i
-]
-]
--
->
-~
-}
-[
-J
-/
-]
-n
-q
-h
-&
-M
-#
-a
-a
-p
-O
-U
-c
-z
-U
-v
-o
-M
-M
-M
-M
-p
-b
-b
-&
-a
-p
-w
-w
-m
-w
-b
-p
-b
-&
-W
-W
-#
-)
-t
-|
-a
-b
-0
-Q
-Q
-L
-c
-v
-j
-j
-v
-B
-C
-o
-Z
-Y
-u
-b
-b
-h
-%
-#
-d
-8
-W
-&
-W
-b
-h
-o
-a
-M
-*
-M
-M
-&
-&
-&
-@
-@
-M
-&
-*
-#
-W
-&
-&
-&
-#
-a
-o
-W
-&
-W
-k
-k
-8
-&
-d
-8
-M
-*
-0
-W
-&
-d
-&
-&
-B
-M
-8
-w
-W
-M
-#
-a
-m
-w
-O
-Z
-0
-n
-c
-Q
-J
-0
-q
-k
-k
-k
-b
-k
-h
-k
-k
-m
-m
-Q
-W
-&
-h
-B
-W
-%
-&
-8
-a
-Z
-Q
-Y
-Q
-j
-)
-%
-*
-p
-b
-U
-0
-Z
-c
-O
-C
-X
-c
-r
-[
-0
-n
-v
-Q
-j
-(
-t
-j
-X
-O
-U
-Y
-u
-O
-b
-d
-a
-p
-0
-v
-0
-m
-r
-c
-*
-M
-a
-M
-M
-&
-h
-b
-o
-*
-M
-k
-8
-%
-8
-%
-%
-B
-B
-B
-W
-M
-#
-#
-#
-m
-m
-0
-L
-&
-a
-&
-%
-M
-&
-8
-o
-@
-@
-B
-@
-8
-k
-p
-d
-d
-p
-p
-b
-h
-h
-8
-&
-M
-o
-&
-v
-/
-<
-I
-t
-;
-}
-/
-|
-{
-{
-[
-^
-^
-!
-]
-{
-[
--
-[
-{
-|
-~
-_
-}
-}
-1
-{
-}
-1
-1
-1
-}
-}
-{
-{
-<
-{
-_
-~
-+
-]
-<
-]
-x
-m
-k
-o
-W
-M
-o
-o
-d
-m
-C
-c
-c
-X
-a
-#
-M
-M
-M
-M
-p
-k
-p
-k
-a
-d
-w
-m
-m
-w
-k
-p
-b
-&
-&
-M
-M
-/
-j
--
-a
-q
-0
-0
-0
-L
-n
-x
-f
-C
-&
-#
-Q
-m
-8
-M
-M
-q
-a
-Q
-&
-k
-p
-&
-W
-M
-b
-a
-h
-o
-o
-W
-M
-W
-*
-M
-&
-W
-B
-@
-@
-&
-&
-#
-a
-&
-&
-M
-W
-&
-&
-W
-&
-&
-o
-k
-o
-W
-&
-h
-M
-p
-#
-o
-W
-&
-&
-&
-&
-&
-d
-p
-M
-*
-a
-b
-w
-m
-m
-O
-n
-n
-v
-X
-Y
-w
-k
-b
-k
-a
-b
-k
-b
-h
-Z
-0
-a
-q
-k
-0
-M
-W
-o
-8
-b
-B
-&
-m
-m
-O
-L
-(
-]
-#
-k
-Z
-Q
-X
-J
-J
-Q
-J
-Y
-L
-m
-k
-c
-0
-Q
-z
-n
-x
-U
-X
-c
-m
-0
-m
-Y
-c
-Y
-L
-o
-b
-Q
-X
-Q
-r
-t
-1
-k
-h
-a
-o
-a
-p
-W
-#
-&
-8
-*
-*
-B
-%
-8
-%
-B
-B
-B
-B
-B
-%
-#
-M
-M
-q
-Z
-Q
-Y
-Y
-u
-h
-8
-&
-8
-8
-a
-&
-$
-@
-@
-@
-8
-a
-Q
-b
-p
-k
-k
-k
-a
-o
-8
-W
-o
-o
-&
-8
-Z
-@
-&
-f
-[
-}
-|
-?
-,
-!
-1
-j
-c
-u
-u
-n
-X
-Y
-\
-)
-)
-n
-r
-x
-\
-f
-f
-f
-r
-x
-x
-r
-j
-t
-1
-f
-}
-{
-)
-?
-[
-(
-v
-U
-m
-b
-*
-o
-M
-#
-o
-b
-w
-C
-v
-v
-z
-k
-#
-M
-W
-W
-M
-p
-p
-p
-q
-o
-k
-q
-w
-m
-w
-b
-d
-k
-&
-&
-W
-#
-c
-x
-~
-a
-m
-O
-0
-U
-c
-v
-Y
-X
-q
-Z
-#
-%
-p
-c
-*
-b
-#
-W
-M
-*
-d
-&
-&
-M
-&
-W
-h
-o
-o
-o
-W
-#
-M
-o
-h
-&
-8
-@
-@
-@
-M
-W
-M
-&
-&
-&
-#
-M
-*
-&
-&
-&
-&
-&
-k
-&
-&
-M
-q
-o
-C
-o
-W
-W
-M
-8
-&
-&
-&
-X
-p
-C
-W
-M
-*
-q
-Z
-Z
-m
-x
-x
-n
-c
-m
-p
-d
-k
-q
-a
-k
-k
-h
-8
-B
-o
-8
-d
-w
-M
-%
-B
-8
-W
-%
-B
-&
-d
-J
-q
-0
-|
-?
-h
-p
-Q
-v
-c
-x
-r
-L
-p
-d
-q
-p
-W
-Q
-u
-p
-w
-k
-b
-p
-0
-a
-X
-q
-*
-h
-U
-Z
-d
-k
-k
-o
-q
-x
-/
-x
-p
-a
-#
-k
-a
-M
-&
-b
-p
-b
-&
-d
-M
-p
-a
-*
-#
-#
-M
-M
-M
-M
-W
-8
-&
-p
-m
-m
-0
-Q
-C
-J
-*
-&
-#
-@
-M
-z
-Z
-$
-@
-@
-@
-M
-o
-C
-a
-o
-h
-#
-W
-o
-M
-W
-a
-M
-M
-M
-M
-&
-8
-&
-f
-]
-]
-?
-,
-+
-d
-q
-q
-p
-p
-d
-0
-U
-z
-n
-Y
-u
-x
-j
-J
-J
-L
-L
-d
-k
-a
-k
-a
-a
-L
-U
-_
-\
-t
-\
-X
-c
-v
-?
-r
-o
-q
-o
-a
-#
-M
-*
-b
-w
-C
-v
-v
-c
-b
-M
-M
-W
-W
-W
-b
-b
-b
-b
-W
-h
-p
-w
-m
-m
-p
-q
-b
-&
-&
-&
-*
-J
-v
-r
-q
-Y
-Y
-z
-z
-c
-f
-z
-J
-p
-X
-p
-w
-d
-&
-W
-o
-M
-W
-M
-d
-M
-M
-M
-a
-8
-W
-*
-h
-o
-#
-w
-Z
-O
-0
-Q
-m
-B
-@
-@
-@
-W
-M
-W
-&
-&
-&
-W
-#
-&
-W
-&
-&
-&
-d
-W
-W
-M
-k
-p
-d
-b
-o
-W
-o
-o
-o
-&
-&
-%
-B
-O
-W
-W
-m
-#
-w
-m
-O
-Z
-x
-n
-u
-0
-q
-d
-q
-m
-a
-o
-k
-k
-o
-8
-8
-%
-8
-q
-M
-8
-M
-a
-b
-o
-#
-*
-*
-w
-v
-p
-Y
-r
-Q
-k
-X
-r
-J
-c
-n
-Q
-Y
-U
-p
-b
-b
-&
-&
-W
-W
-&
-&
-p
-w
-k
-Y
-8
-8
-h
-h
-w
-k
-k
-h
-h
-a
-k
-c
-X
-w
-k
-a
-*
-p
-b
-k
-q
-p
-b
-k
-&
-%
-#
-&
-o
-#
-#
-#
-#
-#
-#
-#
-#
-8
-a
-b
-p
-p
-q
-w
-Z
-Q
-J
-o
-M
-&
-&
-v
-C
-@
-@
-@
-@
-W
-#
-B
-%
-%
-B
-B
-#
-*
-k
-h
-k
-k
-#
-&
-W
-*
-&
-B
-/
-?
-_
-l
-0
-d
-p
-d
-b
-b
-b
-k
-L
-C
-L
-Y
-J
-C
-Q
-L
-Q
-Q
-0
-0
-M
-o
-#
-#
-#
-#
-o
-a
-L
-?
-}
-)
-)
-n
-v
-_
-q
-b
-Q
-b
-L
-d
-&
-#
-k
-w
-C
-u
-u
-c
-O
-W
-M
-W
-W
-W
-d
-k
-k
-k
-k
-a
-d
-q
-m
-m
-q
-p
-k
-W
-o
-k
-q
-O
-v
-Y
-q
-U
-Y
-X
-X
-x
-c
-Y
-L
-q
-%
-p
-d
-b
-k
-#
-a
-d
-W
-w
-&
-W
-M
-8
-a
-a
-&
-8
-o
-w
-0
-&
-&
-o
-&
-&
-8
-o
-b
-W
-M
-&
-#
-8
-&
-&
-&
-8
-&
-&
-&
-&
-&
-&
-*
-&
-&
-M
-&
-%
-C
-o
-W
-o
-p
-q
-p
-Y
-b
-o
-&
-L
-*
-8
-8
-M
-*
-#
-w
-Z
-x
-c
-O
-p
-q
-d
-L
-a
-k
-b
-k
-h
-w
-8
-8
-%
-%
-Q
-O
-C
-Y
-#
-M
-&
-8
-M
-k
-Q
-&
-o
-L
-Z
-j
-v
-o
-i
-\
-n
-m
-0
-m
-q
-d
-p
-b
-&
-&
-8
-8
-&
-&
-&
-o
-J
-&
-8
-&
-h
-k
-m
-k
-b
-h
-k
-a
-h
-M
-p
-d
-h
-a
-#
-d
-w
-m
-*
-m
-p
-k
-%
-&
-o
-*
-&
-#
-#
-#
-#
-#
-*
-#
-*
-a
-a
-b
-b
-p
-p
-q
-m
-Z
-h
-*
-#
-W
-o
-c
-x
-8
-@
-@
-@
-W
-8
-8
-8
-8
-B
-B
-#
-a
-k
-h
-k
-#
-M
-W
-W
-W
-8
-k
-Q
-z
-"
-d
-p
-k
-a
-o
-*
-*
-*
-#
-O
-m
-Z
-O
-w
-Z
-Q
-0
-O
-o
-O
-0
-#
-#
-*
-#
-#
-#
-M
-M
-W
-#
-*
-0
-I
-_
-n
-~
-Q
-b
-J
-b
-b
-p
-b
-M
-a
-m
-C
-v
-n
-c
-n
-M
-W
-M
-W
-W
-q
-k
-k
-k
-Z
-o
-b
-p
-w
-m
-q
-M
-&
-k
-k
-h
-w
-b
-z
-v
-u
-Y
-Y
-z
-c
-r
-j
-X
-c
-o
-Z
-q
-d
-d
-b
-o
-M
-h
-&
-p
-W
-M
-&
-o
-o
-*
-W
-8
-0
-&
-M
-W
-W
-&
-W
-&
-W
-W
-W
-&
-W
-W
-&
-B
-{
-&
-W
-B
-/
-&
-&
-&
-&
-*
-&
-M
-M
-M
-&
-&
-m
-o
-W
-m
-Y
-w
-m
-q
-X
-c
-&
-C
-a
-*
-8
-W
-#
-W
-q
-q
-n
-J
-m
-q
-q
-C
-C
-b
-h
-h
-k
-k
-w
-8
-8
-8
-%
-%
-b
-M
-m
-d
-d
-o
-M
-&
-W
-*
-#
-8
-k
-O
-q
-{
-n
-f
-Q
-m
-u
-d
-p
-q
-d
-d
-M
-8
-8
-8
-&
-8
-&
-&
-b
-@
-8
-8
-8
-k
-h
-h
-h
-k
-k
-h
-d
-h
-a
-k
-k
-M
-o
-o
-0
-Z
-q
-b
-Y
-p
-d
-&
-*
-o
-k
-*
-#
-#
-#
-#
-#
-#
-#
-b
-a
-k
-k
-d
-d
-p
-q
-m
-L
-&
-M
-#
-W
-J
-\
-u
-o
-@
-@
-@
-8
-8
-%
-#
-%
-%
-&
-#
-o
-a
-h
-h
-k
-M
-W
-#
-k
-8
-$
-n
-v
-,
-m
-p
-h
-o
-o
-#
-#
-#
-p
-h
-m
-m
-m
-Z
-m
-C
-Q
-O
-o
-b
-M
-#
-#
-#
-*
-8
-M
-M
-M
-M
-M
-M
-q
-q
-h
-+
-}
-<
-+
-/
-L
-d
-q
-p
-#
-o
-m
-J
-v
-n
-v
-u
-#
-W
-&
-W
-&
-b
-k
-o
-W
-8
-#
-k
-q
-w
-w
-w
-#
-&
-o
-h
-b
-d
-L
-c
-u
-t
-Y
-Y
-c
-c
-r
-f
-z
-#
-*
-W
-d
-d
-b
-k
-k
-#
-*
-0
-&
-M
-W
-a
-o
-*
-#
-b
-w
-&
-W
-&
-W
-&
-&
-W
-&
-&
-M
-W
-W
-W
-&
-%
-\
-&
-&
-&
-W
-&
-&
-&
-&
-&
-#
-&
-&
-M
-M
-M
-C
-m
-W
-W
-q
-c
-
-r
-n
-a
-p
-&
-Q
-M
-8
-M
-*
-k
-M
-q
-m
-x
-u
-v
-O
-C
-J
-m
-b
-o
-k
-k
-a
-w
-%
-%
-%
-8
-%
-m
-k
-Z
-d
-w
-w
-#
-a
-o
-M
-*
-W
-#
-&
-U
-U
-q
-U
-w
-&
-8
-B
-8
-o
-p
-p
-%
-8
-8
-8
-8
-&
-8
-&
-&
-8
-8
-8
-8
-p
-b
-k
-k
-k
-a
-b
-b
-h
-k
-k
-h
-&
-M
-#
-q
-m
-Z
-Y
-w
-p
-O
-M
-a
-o
-h
-o
-*
-*
-#
-*
-o
-#
-k
-L
-k
-b
-d
-p
-d
-q
-W
-k
-#
-8
-#
-M
-&
-0
-j
-m
-p
-B
-$
-@
-o
-M
-M
-W
-8
-8
-8
-#
-o
-o
-k
-k
-k
-w
-#
-#
-&
-p
-0
-u
-f
-<
-d
-d
-k
-*
-*
-M
-&
-&
-m
-b
-h
-w
-p
-O
-m
-8
-W
-M
-W
-C
-&
-&
-M
-M
-M
-8
-M
-M
-W
-W
-M
-W
-p
-b
-h
-b
-r
-U
-Z
-q
-k
-q
-Z
-Q
-*
-*
-w
-L
-c
-x
-v
-v
-C
-k
-b
-d
-k
-&
-&
-&
-&
-&
-o
-a
-p
-w
-w
-w
-a
-W
-M
-h
-b
-q
-X
-c
-/
-1
-Y
-v
-v
-v
-r
-r
-z
-O
-*
-k
-p
-k
-k
-h
-h
-a
-#
-L
-&
-W
-M
-o
-*
-#
-#
-O
-M
-&
-W
-*
-W
-W
-M
-M
-W
-&
-&
-W
-8
-W
-&
-&
-8
-&
-&
-&
-&
-&
-8
-d
-&
-M
-M
-&
-W
-M
-M
-M
-q
-m
-W
-W
-&
-M
-W
-^
-u
-J
-8
-&
-%
-&
-M
-W
-8
-#
-#
-Z
-O
-X
-v
-u
-C
-L
-Z
-w
-k
-o
-k
-k
-a
-k
-8
-%
-%
-%
-W
-d
-q
-q
-h
-h
-M
-W
-#
-W
-M
-&
-M
-m
-&
-*
-m
-m
-O
-b
-%
-%
-%
-8
-%
-%
-8
-d
-p
-b
-*
-&
-%
-%
-8
-8
-8
-8
-8
-8
-k
-k
-k
-b
-b
-b
-b
-b
-b
-b
-k
-k
-8
-M
-#
-U
-L
-X
-L
-O
-q
-a
-d
-o
-b
-a
-o
-#
-*
-*
-o
-*
-k
-0
-O
-k
-b
-b
-d
-p
-q
-a
-h
-W
-W
-&
-&
-M
-&
-C
-J
-Y
-@
-@
-@
-*
-W
-&
-&
-W
-8
-W
-h
-o
-o
-*
-a
-k
-k
-W
-#
-8
-Z
-Q
-v
-r
-/
-*
-d
-h
-o
-*
-8
-8
-B
-a
-#
-k
-k
-d
-M
-&
-M
-M
-a
-8
-*
-M
-W
-8
-W
-W
-W
-W
-&
-W
-&
-W
-W
-b
-h
-k
-k
-k
-q
-w
-O
-b
-p
-J
-Z
-B
-*
-q
-Q
-z
-x
-u
-v
-C
-k
-k
-k
-k
-&
-&
-&
-&
-&
-w
-o
-d
-w
-m
-m
-h
-W
-&
-a
-a
-h
-q
-U
-f
-?
-X
-c
-c
-x
-r
-t
-U
-w
-p
-&
-b
-k
-h
-h
-h
-M
-q
-*
-W
-&
-&
-&
-M
-&
-0
-&
-&
-8
-W
-W
-&
-W
-&
-W
-8
-&
-&
-&
-W
-W
-&
-&
-&
-&
-8
-&
-&
-&
-&
-w
-&
-W
-W
-&
-&
-&
-h
-q
-h
-d
-W
-W
-W
-W
-W
-I
-~
-Z
-@
-&
-Q
-M
-8
-8
-&
-&
-k
-#
-p
-Z
-m
-v
-c
-Z
-m
-w
-b
-h
-k
-h
-h
-b
-%
-%
-%
-%
-d
-b
-b
-O
-m
-h
-M
-a
-w
-p
-&
-&
-p
-p
-8
-8
-W
-8
-8
-8
-%
-%
-8
-%
-%
-%
-%
-d
-d
-b
-d
-b
-k
-b
-d
-q
-w
-d
-b
-*
-b
-b
-b
-b
-b
-d
-k
-b
-p
-k
-b
-d
-8
-&
-W
-k
-w
-q
-0
-0
-b
-b
-*
-*
-a
-a
-a
-a
-*
-o
-o
-k
-p
-m
-Z
-h
-b
-k
-d
-p
-m
-a
-k
-W
-a
-8
-&
-L
-@
-z
-Q
-0
-@
-B
-$
-&
-M
-&
-p
-a
-W
-%
-o
-o
-*
-o
-a
-k
-p
-M
-o
-M
-#
-O
-x
-n
-]
-q
-b
-b
-a
-8
-B
-8
-h
-h
-o
-w
-#
-o
-M
-p
-h
-o
-o
-M
-B
-8
-W
-#
-8
-M
-W
-M
-M
-M
-W
-M
-&
-b
-a
-*
-M
-M
-#
-a
-b
-a
-o
-k
-q
-O
-*
-d
-0
-c
-j
-u
-v
-C
-q
-h
-h
-h
-&
-&
-8
-&
-8
-W
-o
-b
-q
-m
-m
-b
-&
-8
-o
-a
-h
-a
-z
-/
-v
-c
-c
-u
-j
-;
-f
-|
-q
-C
-p
-k
-h
-h
-k
-h
-W
-p
-W
-h
-W
-&
-W
-W
-@
-#
-&
-W
-W
-&
-W
-W
-8
-&
-8
-&
-&
-M
-&
-&
-&
-L
-&
-&
-8
-h
-0
-b
-&
-&
-&
-W
-W
-&
-&
-&
-W
-o
-a
-o
-b
-&
-M
-M
-W
-&
-;
-1
-r
-X
-&
-Q
-&
-&
-W
-#
-8
-o
-o
-a
-Z
-m
-w
-c
-X
-Z
-k
-o
-d
-k
-h
-k
-m
-%
-8
-%
-%
-k
-q
-d
-w
-q
-o
-a
-h
-p
-m
-d
-q
-d
-q
-8
-%
-8
-%
-%
-8
-8
-%
-8
-8
-%
-8
-%
-d
-w
-p
-d
-k
-q
-d
-p
-b
-d
-p
-b
-&
-8
-8
-8
-8
-8
-8
-%
-B
-8
-M
-o
-b
-8
-8
-M
-b
-U
-n
-X
-Z
-d
-q
-8
-b
-w
-a
-o
-o
-o
-*
-d
-p
-q
-U
-O
-0
-h
-b
-p
-q
-m
-k
-h
-&
-*
-&
-%
-n
-a
-n
-t
-J
-@
-%
-@
-$
-b
-8
-8
-%
-8
-h
-h
-*
-a
-a
-o
-a
-d
-W
-&
-o
-#
-M
-p
-v
-]
-o
-b
-M
-8
-%
-B
-%
-k
-k
-#
-#
-#
-a
-#
-o
-o
-M
-#
-k
-8
-%
-M
-b
-O
-Q
-m
-L
-Z
-O
-Z
-C
-o
-M
-M
-M
-M
-M
-*
-h
-d
-q
-p
-Z
-O
-v
-*
-b
-O
-Y
-x
-n
-v
-n
-Y
-$
-h
-a
-8
-8
-8
-8
-&
-&
-*
-b
-q
-m
-m
-q
-#
-8
-*
-a
-a
-Y
-c
-\
-Y
-j
-_
->
-"
-.
-U
-j
-p
-W
-k
-h
-Z
-0
-O
-o
-W
-h
-M
-h
-*
-#
-&
-&
-m
-&
-W
-&
-W
-&
-w
-O
-&
-W
-#
-Z
-k
-&
-&
-W
-&
-p
-%
-&
-o
-q
-q
-k
-o
-&
-&
-&
-&
-&
-W
-%
-X
-o
-a
-k
-a
-8
-b
-W
-W
-W
-u
-j
-t
-(
-#
-8
-&
-U
-&
-%
-&
-8
-d
-p
-0
-m
-Z
-p
-U
-C
-b
-#
-h
-k
-h
-k
-p
-%
-%
-8
-8
-k
-p
-d
-p
-q
-h
-w
-Z
-q
-d
-p
-p
-q
-8
-%
-8
-%
-8
-%
-%
-8
-8
-%
-8
-8
-%
-%
-p
-p
-d
-p
-d
-p
-p
-p
-d
-p
-p
-p
-%
-%
-8
-8
-8
-8
-8
-8
-8
-8
-8
-8
-%
-d
-b
-m
-k
-p
-z
-Q
-p
-b
-Q
-&
-b
-M
-a
-o
-a
-a
-a
-p
-w
-m
-m
-X
-L
-b
-d
-q
-q
-w
-w
-M
-&
-#
-&
-W
-x
-L
-|
-r
-n
-@
-%
-@
-$
-$
-8
-&
-M
-%
-m
-k
-h
-a
-o
-a
-a
-h
-#
-W
-&
-&
-#
-W
-n
-r
-o
-o
-8
-8
-%
-M
-8
-*
-8
-8
-%
-%
-B
-%
-8
-B
-%
-8
-8
-#
-J
-Q
-C
-J
-a
-Q
-C
-O
-0
-Q
-0
-M
-*
-#
-#
-*
-*
-*
-b
-q
-m
-O
-0
-L
-x
-o
-b
-O
-Y
-n
-u
-c
-n
-h
-$
-a
-a
-8
-8
-8
-8
-8
-8
-#
-k
-q
-m
-m
-w
-W
-&
-o
-a
-*
-X
-c
-\
-[
-(
-l
-`
-.
-"
-b
-@
-w
-#
-q
-o
-8
-8
-M
-8
-d
-W
-W
-&
-#
-M
-M
-8
-d
-&
-W
-&
-&
-Z
-W
-&
-8
-&
-&
-&
-%
-q
-&
-&
-&
-r
-8
-8
-C
-q
-k
-h
-a
-&
-&
-&
-&
-&
-0
-k
-p
-a
-o
-a
-d
-&
-*
-W
-&
-W
-(
-/
-j
-t
-B
-&
-&
-J
-%
-W
-&
-o
-Z
-Y
-O
-Z
-w
-Z
-q
-C
-b
-b
-b
-h
-k
-h
-w
-b
-p
-d
-#
-d
-p
-d
-d
-p
-p
-a
-w
-w
-w
-d
-p
-p
-8
-%
-8
-%
-%
-8
-8
-%
-8
-%
-8
-%
-8
-h
-d
-p
-q
-p
-p
-p
-d
-q
-p
-d
-p
-q
-B
-8
-%
-%
-%
-8
-8
-8
-8
-8
-8
-8
-%
-b
-d
-m
-m
-p
-Y
-m
-*
-m
-h
-M
-m
-&
-o
-B
-B
-B
-8
-8
-&
-&
-o
-*
-b
-Y
-c
-c
-c
-u
-n
-u
-o
-M
-&
-&
-W
-u
-!
-_
-_
-@
-B
-@
-@
-8
-M
-W
-8
-$
-m
-h
-M
-&
-8
-@
-8
-#
-M
-#
-a
-#
-M
-8
-$
-c
-Z
-w
-b
-a
-k
-h
-%
-8
-8
-8
-&
-W
-&
-&
-W
-M
-W
-&
-h
-C
-U
-J
-Y
-u
-Z
-f
-j
-j
-x
-x
-j
-0
-w
-h
-#
-*
-h
-q
-0
-L
-J
-J
-J
-Q
-c
-a
-b
-O
-J
-v
-v
-c
-a
-0
-*
-h
-h
-%
-8
-8
-8
-8
-8
-p
-k
-q
-Z
-Z
-m
-M
-8
-o
-a
-C
-X
-r
-j
-}
-~
-`
-^
-:
-X
-M
-Z
-&
-m
-p
-Z
-&
-W
-W
-W
-q
-&
-W
-W
-#
-M
-M
-m
-&
-&
-W
-W
-m
-%
-B
-B
-M
-%
-&
-W
-W
-&
-q
-&
-&
-a
-&
-&
-q
-p
-k
-k
-8
-&
-&
-&
-&
-&
-w
-p
-a
-a
-a
-p
-o
-a
-o
-W
-&
-%
-c
-t
-f
-j
-J
-8
-m
-#
-h
-8
-&
-8
-u
-Y
-Z
-O
-m
-Z
-b
-w
-k
-Z
-b
-k
-b
-p
-O
-b
-b
-b
-%
-%
-%
-B
-%
-M
-p
-p
-q
-w
-q
-p
-q
-p
-8
-8
-8
-%
-8
-8
-%
-8
-%
-8
-%
-8
-%
-p
-d
-p
-p
-q
-p
-p
-p
-d
-p
-q
-q
-q
-%
-%
-8
-%
-%
-%
-8
-%
-8
-8
-8
-8
-%
-b
-q
-#
-w
-k
-0
-o
-o
-k
-a
-#
-a
-8
-o
-B
-B
-8
-8
-8
-W
-o
-#
-d
-d
-n
-X
-X
-u
-u
-z
-Y
-a
-W
-8
-p
-B
-J
-<
-!
-[
-$
-@
-@
-@
-8
-M
-&
-8
-8
-&
-@
-8
-8
-8
-8
-B
-*
-#
-o
-b
-*
-M
-#
-8
-C
-w
-p
-a
-a
-p
-a
-&
-8
-&
-W
-M
-M
-#
-#
-*
-#
-o
-#
-Y
-C
-X
-n
-x
-)
-n
-f
-t
-r
-r
-r
-r
-L
-L
-L
-L
-C
-C
-J
-J
-J
-Y
-X
-Y
-0
-z
-k
-d
-O
-C
-z
-c
-b
-a
-#
-0
-$
-o
-8
-8
-8
-8
-8
-%
-p
-k
-q
-Z
-m
-q
-*
-&
-}
-r
-}
-m
-j
-\
-t
-J
-,
-"
-I
-;
-8
-W
-M
-w
-b
-0
-W
-W
-&
-M
-w
-W
-&
-W
-#
-M
-W
-0
-&
-&
-W
-b
-#
-B
-B
-B
-*
-8
-%
-&
-8
-&
-&
-q
-&
-&
-&
-&
-k
-a
-#
-M
-B
-&
-&
-@
-8
-&
-d
-a
-a
-o
-Z
-a
-a
-a
-a
-W
-0
-m
-L
-f
-f
-j
-(
-M
-0
-&
-J
-8
-&
-M
-r
-U
-C
-L
-O
-d
-d
-Z
-0
-p
-k
-a
-d
-Z
-Z
-b
-b
-b
-%
-%
-%
-%
-%
-%
-%
-8
-%
-8
-B
-&
-a
-m
-%
-8
-%
-8
-8
-%
-B
-%
-8
-%
-%
-%
-%
-d
-d
-d
-d
-d
-p
-q
-p
-d
-q
-q
-q
-q
-8
-8
-8
-8
-8
-&
-%
-%
-&
-8
-%
-%
-B
-p
-8
-#
-#
-o
-d
-&
-*
-#
-o
-o
-#
-a
-M
-B
-8
-8
-8
-8
-*
-a
-*
-k
-q
-X
-v
-r
-x
-c
-c
-c
-a
-B
-8
-r
-X
-J
->
-+
-+
-$
-$
-@
-@
-W
-J
-#
-&
-#
-8
-%
-8
-8
-8
-%
-%
-B
-B
-&
-M
-M
-#
-%
-j
-m
-Z
-b
-b
-q
-q
-k
-W
-W
-M
-#
-*
-o
-o
-o
-k
-p
-h
-q
-u
-r
-r
-/
-\
-/
-x
-r
-r
-n
-n
-X
-u
-Z
-p
-Z
-m
-Z
-0
-Q
-Q
-Q
-Q
-C
-C
-0
-n
-q
-p
-Z
-L
-U
-X
-a
-x
-J
-C
-m
-a
-W
-M
-M
-M
-W
-&
-h
-b
-k
-C
-p
-m
-k
-.
-<
-i
-!
-x
-f
-j
-f
-"
-"
-`
-^
-X
-M
-w
-k
-p
-k
-0
-&
-&
-&
-W
-q
-8
-&
-*
-M
-M
-%
-w
-&
-W
-&
-C
-8
-B
-B
-W
-&
-&
-&
-&
-p
-&
-$
-%
-8
-&
-8
-&
-w
-M
-M
-o
-@
-&
-W
-B
-k
-h
-*
-o
-a
-C
-a
-a
-a
-a
-a
-a
-b
-w
-C
-r
-x
-t
-v
-p
-d
-&
-Y
-B
-#
-b
-n
-q
-L
-z
-v
-u
-L
-h
-q
-q
-k
-h
-b
-d
-O
-w
-p
-B
-%
-%
-%
-%
-%
-%
-%
-%
-%
-8
-8
-&
-&
-d
-Z
-m
-q
-m
-b
-#
-8
-%
-%
-%
-%
-%
-%
-d
-w
-p
-p
-d
-d
-p
-d
-w
-q
-q
-p
-w
-8
-8
-8
-8
-&
-8
-8
-%
-%
-8
-8
-8
-%
-p
-M
-k
-o
-W
-B
-*
-#
-L
-*
-*
-&
-8
-o
-8
-8
-8
-8
-&
-q
-a
-p
-b
-q
-z
-z
-v
-c
-x
-b
-%
-o
-8
-&
-#
-j
-#
-$
-8
-w
-@
-$
-@
-@
-M
-J
-M
-8
-M
-p
-/
-f
-X
-M
-&
-%
-%
-%
-&
-#
-M
-C
-O
-z
-C
-p
-p
-p
-p
-w
-W
-M
-#
-*
-o
-a
-a
-b
-q
-b
-Y
-z
-X
-\
-\
-/
-f
-/
-r
-z
-n
-u
-v
-u
-z
-U
-p
-w
-m
-Z
-Z
-O
-0
-Q
-0
-0
-J
-O
-Z
-x
-Z
-q
-Z
-Q
-Y
-a
-u
-X
-U
-C
-Q
-d
-a
-a
-h
-h
-a
-o
-@
-k
-k
-q
-m
-p
-p
-$
-l
-;
-n
-v
-u
-j
-Y
-`
-^
-"
-.
-L
-Y
-q
-h
-d
-b
-h
-8
-W
-&
-&
-&
-&
-W
-W
-&
-8
-O
-&
-W
-#
-p
-W
-W
-B
-W
-W
-W
-&
-&
-&
-&
-$
-@
-&
-&
-#
-&
-8
-Z
-k
-#
-$
-%
-&
-&
-@
-8
-#
-o
-a
-Z
-a
-&
-a
-h
-h
-a
-b
-b
-d
-Q
-x
-x
-n
-x
-z
-p
-8
-%
-W
-k
-Q
-c
-p
-k
-b
-d
-d
-d
-p
-q
-Z
-k
-b
-b
-k
-0
-d
-b
-%
-%
-%
-%
-%
-%
-%
-%
-%
-%
-8
-%
-8
-&
-m
-Z
-q
-p
-q
-q
-q
-p
-p
-p
-d
-o
-&
-B
-p
-d
-d
-p
-p
-d
-p
-d
-b
-q
-q
-q
-q
-8
-%
-8
-8
-8
-8
-%
-%
-%
-8
-8
-%
-B
-8
-b
-p
-*
-*
-M
-#
-M
-Z
-M
-#
-&
-M
-k
-8
-8
-8
-&
-M
-a
-b
-b
-b
-p
-v
-z
-u
-r
-%
-o
-#
-h
-&
-8
-%
-&
-&
-&
-8
-0
-$
-@
-@
-@
-&
-d
-M
-M
-M
-\
-f
-\
-r
-X
-W
-&
-8
-b
-#
-#
-&
-X
-Z
-X
-0
-q
-b
-q
-w
-d
-M
-#
-*
-o
-a
-k
-q
-p
-j
-x
-x
-v
-/
-|
-/
-f
-j
-r
-Z
-z
-z
-u
-v
-v
-z
-w
-p
-q
-m
-Z
-Z
-Z
-0
-0
-Q
-0
-Q
-O
-Z
-n
-u
-m
-w
-Z
-+
-X
-#
-X
-Y
-U
-C
-p
-Z
-0
-j
-!
-<
-~
-j
-q
-q
-w
-w
-d
-Z
-k
-I
-I
-p
-c
-c
-j
-<
-^
-^
-,
-&
-B
-Q
-p
-h
-b
-k
-k
-h
-&
-W
-o
-8
-M
-&
-W
-&
-o
-0
-&
-W
-W
-Q
-%
-&
-&
-M
-W
-&
-B
-8
-&
-&
-&
-B
-%
-&
-b
-W
-8
-&
-q
-m
-h
-8
-&
-8
-&
-#
-#
-W
-8
-o
-a
-W
-J
-h
-a
-*
-a
-#
-Q
-X
-I
-!
-+
-(
-m
-B
-&
-&
-B
-#
-Q
-x
-m
-p
-q
-d
-m
-w
-p
-p
-k
-k
-d
-d
-w
-J
-b
-d
-8
-8
-%
-8
-&
-&
-W
-M
-p
-p
-d
-p
-p
-h
-w
-k
-b
-q
-Z
-0
-L
-C
-0
-p
-d
-b
-d
-p
-8
-%
-8
-%
-B
-@
-M
-h
-p
-q
-m
-p
-q
-%
-%
-8
-8
-8
-%
-%
-8
-%
-%
-%
-%
-&
-q
-m
-*
-W
-w
-#
-#
-a
-O
-*
-&
-M
-*
-n
-8
-8
-8
-M
-o
-k
-b
-p
-b
-k
-U
-v
-z
-v
-a
-8
-*
-k
-8
-B
-k
-&
-8
-$
-J
-l
-$
-$
-@
-@
-8
-&
-8
-8
-%
-v
-t
-(
-1
-/
-m
-8
-8
-q
-M
-M
-*
-C
-m
-n
-0
-q
-p
-q
-O
-a
-*
-a
-o
-o
-w
-q
-\
-t
-j
-n
-z
-J
-{
-)
-j
-r
-x
-n
-Z
-X
-c
-c
-u
-c
-X
-q
-d
-p
-q
-Z
-Z
-O
-0
-O
-Q
-C
-C
-Q
-Z
-n
-c
-U
-m
-m
-n
-h
-z
-U
-X
-z
-z
-+
-i
-l
-i
-;
-`
-.
-
-d
-J
-Z
-b
-q
-0
-a
-,
-i
-h
-z
-X
-r
-I
-`
-'
-z
-M
-8
-Q
-d
-a
-a
-b
-k
-d
-a
-&
-d
-&
-&
-W
-M
-W
-W
-0
-&
-&
-W
-0
-%
-%
-&
-&
-W
-&
-&
-&
-&
-&
-&
-B
-B
-&
-w
-W
-B
-&
-&
-&
-&
-&
-&
-&
-#
-M
-W
-h
-h
-W
-o
-*
-o
-a
-a
-d
-a
-a
-B
-z
-1
-<
-~
-~
-]
-Q
-&
-0
-M
-a
-X
-c
-z
-0
-w
-q
-q
-b
-b
-b
-p
-k
-m
-m
-w
-O
-d
-W
-*
-&
-&
-&
-W
-#
-#
-#
-b
-h
-*
-o
-a
-o
-Z
-L
-J
-U
-J
-J
-Y
-O
-q
-p
-d
-k
-m
-w
-M
-@
-B
-%
-%
-8
-%
-8
-%
-%
-%
-%
-B
-b
-k
-&
-B
-B
-%
-8
-%
-%
-%
-%
-%
-w
-b
-Z
-d
-W
-m
-m
-C
-*
-M
-M
-8
-&
-q
-8
-8
-&
-W
-o
-k
-b
-b
-b
-b
-b
-w
-c
-c
-v
-n
-%
-M
-h
-&
-k
-a
-W
-j
-<
-_
-_
-$
-@
-@
-@
-8
-8
-8
-%
-$
-n
-r
-(
-1
-1
-]
-b
-h
-#
-M
-W
-M
-%
-Z
-u
-L
-b
-w
-m
-0
-*
-o
-p
-a
-q
-)
-/
-t
-j
-v
-X
-J
-O
-f
-/
-r
-r
-x
-u
-X
-z
-c
-X
-c
-c
-u
-d
-d
-p
-q
-w
-w
-m
-Q
-C
-Y
-f
-t
-t
-z
-L
-C
-Q
-O
-v
-u
-a
-X
-X
-c
-c
-u
-;
-!
-^
-'
-.
-'
-.
-.
-q
-b
-k
-h
-j
-w
-w
-.
-)
-h
-c
-X
-(
-I
-^
-:
-B
-#
-W
-Y
-b
-h
-o
-p
-k
-a
-o
-W
-w
-&
-&
-&
-&
-8
-&
-O
-&
-&
-8
-a
-&
-W
-8
-&
-W
-&
-&
-&
-&
-8
-&
-8
-%
-&
-@
-%
-B
-8
-&
-&
-8
-&
-@
-#
-8
-#
-M
-&
-*
-#
-o
-*
-h
-k
-U
-k
-a
-o
-h
-C
-j
-l
-<
-+
-]
-|
-L
-8
-&
-J
-0
-n
-Z
-X
-O
-p
-p
-p
-w
-Z
-p
-0
-m
-p
-w
-b
-b
-#
-h
-k
-o
-M
-W
-M
-k
-h
-a
-a
-a
-a
-k
-d
-Y
-z
-u
-x
-x
-x
-n
-u
-r
-\
-t
-j
-f
-L
-#
-B
-%
-8
-%
-a
-M
-%
-%
-%
-8
-8
-8
-p
-p
-p
-p
-p
-p
-q
-p
-p
-d
-b
-*
-8
-m
-&
-8
-k
-o
-o
-h
-o
-#
-*
-k
-o
-k
-C
-&
-W
-*
-w
-h
-b
-b
-b
-b
-b
-q
-v
-c
-v
-v
-k
-M
-M
-%
-u
-a
-0
-t
->
-+
-\
-$
-@
-@
-@
-8
-B
-%
-B
-M
-M
-z
-f
-{
-}
-]
-~
-C
-*
-#
-M
-W
-W
-M
-r
-Q
-p
-w
-k
-h
-a
-d
-\
-|
-/
-f
-x
-n
-X
-U
-Q
-0
-m
-\
-\
-j
-n
-u
-u
-v
-v
-U
-0
-Z
-m
-q
-J
-Q
-Q
-X
-L
-J
-c
-n
-x
-v
-/
-x
-/
-Y
-U
-J
-J
-z
-f
-f
-X
-X
-X
-c
-u
-r
-`
-.
-.
-.
-.
-.
-.
-
-p
-k
-b
-b
-h
-m
-k
-#
-k
-o
-c
-c
--
-I
-:
-b
-u
-Y
-B
-O
-b
-h
-a
-d
-a
-a
-o
-&
-w
-&
-W
-W
-&
-8
-8
-L
-#
-8
-#
-%
-8
-8
-W
-&
-W
-W
-8
-&
-&
-m
-&
-&
-&
-#
-@
-B
-B
-B
-8
-&
-8
-@
-p
-%
-M
-M
-w
-#
-8
-#
-$
-@
-q
-L
-b
-o
-a
-*
-X
-Q
-f
->
->
-?
-+
-)
-Y
-&
-8
-U
-m
-q
-Z
-O
-Z
-w
-m
-Z
-Z
-O
-b
-p
-p
-p
-q
-q
-w
-o
-a
-d
-k
-a
-#
-#
-*
-h
-o
-h
-a
-o
-*
-Z
-Q
-J
-c
-n
-x
-j
-x
-n
-r
-j
-/
-\
-\
-X
-z
-X
-X
-Q
-#
-B
-8
-%
-%
-a
-%
-%
-%
-w
-p
-d
-b
-d
-p
-q
-q
-d
-p
-d
-b
-p
-%
-&
-O
-d
-h
-a
-p
-*
-%
-d
-%
-o
-b
-h
-8
-W
-h
-o
-b
-k
-k
-k
-b
-w
-q
-u
-v
-n
-v
-c
-n
-@
-8
-J
-a
-r
-\
--
--
-r
-W
-@
-@
-$
-d
-C
-&
-W
-M
-u
-X
-v
-/
-{
-?
-l
-;
-#
-b
-M
-#
-o
-M
-(
-U
-q
-h
-h
-a
-Z
-1
-(
-\
-t
-f
-t
-r
-f
-r
-x
-r
-Z
-m
-Z
-Z
-m
-m
-m
-q
-O
-p
-p
-p
-p
-p
-U
-O
-0
-Q
-Y
-c
-n
-u
-n
-/
-/
-f
-f
-J
-U
-U
-J
-C
-/
-Y
-Y
-X
-z
-c
-n
-x
-`
-.
-.
-.
-.
-.
-.
-
-q
-k
-d
-d
-p
-0
-m
-a
-b
-a
-c
-c
-_
-~
-"
-U
-X
-U
-C
-Z
-b
-h
-a
-d
-a
-*
-*
-&
-m
-&
-&
-&
-8
-B
-B
-Q
-W
-&
-p
-8
-8
-8
-8
-&
-&
-#
-M
-8
-&
-m
-&
-&
-W
-M
-@
-@
-@
-q
-k
-&
-%
-p
-&
-8
-M
-k
-M
-M
-#
-#
-$
-#
-a
-8
-q
-a
-a
-o
-Y
-0
-j
-i
-!
-1
-[
-(
-C
-&
-&
-@
-U
-&
-J
-Z
-Z
-w
-m
-m
-q
-b
-k
-d
-p
-q
-p
-b
-b
-o
-h
-k
-h
-a
-o
-*
-M
-W
-o
-o
-d
-m
-q
-U
-U
-X
-v
-c
-n
-n
-n
-n
-f
-j
-\
-/
-(
-c
-z
-z
-z
-c
-z
-X
-X
-L
-b
-@
-8
-B
-*
-w
-m
-q
-p
-d
-p
-d
-p
-w
-p
-d
-b
-Z
-%
-O
-Z
-q
-O
-p
-p
-h
-h
-b
-B
-o
-Q
-O
-Q
-n
-X
-c
-c
-v
-c
-Y
-z
-X
-c
-p
-p
-q
-p
-p
-m
-0
-k
-8
-&
-m
-w
-r
-x
-m
-o
-$
-@
-$
-\
-(
-$
-8
-?
-{
-8
-?
-[
-]
-!
-+
-~
-#
-W
-M
-M
-W
-W
-x
-J
-#
-#
-h
-<
-l
->
-<
-+
-+
-)
-t
-t
-\
-\
-j
-/
-Q
-Q
-0
-Z
-m
-m
-q
-p
-d
-b
-d
-b
-b
-Z
-L
-Z
-Z
-L
-0
-c
-v
-c
-X
-f
-r
-f
-f
-J
-U
-U
-Y
-\
-t
-k
-X
-X
-c
-v
-n
-n
-
-.
-
-.
-.
-.
-
-m
-q
-p
-p
-d
-q
-0
-Q
-k
-w
-a
-X
-|
->
-i
-<
-b
-Y
-O
-U
-Z
-b
-k
-o
-o
-a
-&
-&
-W
-m
-&
-&
-W
-B
-B
-B
-m
-&
-&
-w
-8
-8
-8
-&
-&
-M
-M
-#
-M
-&
-w
-W
-&
-8
-&
-@
-@
-@
-B
-@
-*
-%
-%
-8
-8
-&
-M
-M
-M
-M
-#
-o
-a
-p
-a
-*
-&
-b
-W
-0
-0
-Y
-!
->
-\
-(
-/
-\
-8
-q
-$
-J
-M
-k
-Z
-w
-p
-m
-Z
-b
-k
-b
-p
-p
-w
-d
-#
-Z
-Q
-Q
-L
-L
-C
-O
-b
-o
-o
-o
-h
-M
-h
-o
-U
-C
-J
-X
-r
-u
-u
-c
-n
-x
-r
-f
-/
-|
-X
-z
-z
-c
-z
-z
-c
-c
-z
-c
-z
-z
-0
-W
-p
-m
-p
-b
-d
-p
-p
-q
-p
-p
-d
-d
-p
-&
-m
-Z
-C
-C
-m
-k
-k
-h
-#
-M
-k
-&
-Z
-C
-J
-z
-Y
-z
-U
-U
-X
-U
-c
-v
-p
-q
-w
-q
-w
-w
-M
-b
-h
-$
-m
-O
-r
-u
-p
-q
-@
-@
-$
-)
-\
-|
-8
-$
-1
-M
-{
-]
-}
-x
-}
-I
-o
-W
-M
-#
-*
-M
-x
-0
-W
-m
-+
-I
-l
-l
-!
-<
--
-)
-|
-|
-(
-|
-\
-t
-O
-O
-Z
-w
-m
-q
-d
-p
-h
-a
-k
-h
-k
-C
-q
-q
-w
-0
-X
-Y
-Y
-Y
-Y
-x
-v
-t
-j
-U
-U
-U
-L
-|
-j
-w
-X
-z
-c
-c
-x
-d
-^
-.
-.
-
-.
-
-.
-0
-O
-q
-p
-p
-w
-0
-C
-p
-q
-h
-J
-<
-)
-}
-Q
-Y
-z
-%
-J
-C
-0
-O
-p
-d
-O
-&
-&
-&
-w
-&
-&
-M
-B
-B
-B
-m
-&
-&
-m
-&
-&
-W
-&
-&
-8
-8
-&
-#
-&
-Q
-&
-W
-8
-&
-@
-@
-@
-B
-B
-B
-B
-B
-8
-&
-W
-M
-M
-M
-#
-#
-a
-p
-a
-#
-a
-q
-a
-#
-b
-O
-U
-t
-l
-)
-\
-)
-|
-o
-1
-[
-C
-m
-8
-b
-q
-d
-q
-k
-k
-k
-b
-h
-q
-b
-a
-o
-Q
-0
-L
-C
-C
-L
-L
-Q
-Q
-0
-L
-Q
-O
-k
-k
-C
-z
-U
-z
-v
-n
-x
-r
-x
-x
-f
-f
-/
-|
-X
-z
-z
-z
-c
-c
-c
-c
-c
-c
-c
-c
-c
-X
-)
-j
-L
-b
-d
-w
-q
-q
-p
-p
-d
-d
-q
-#
-p
-Z
-m
-h
-d
-p
-#
-h
-#
-W
-d
-8
-L
-J
-U
-Y
-Y
-z
-z
-X
-Y
-z
-X
-v
-q
-q
-w
-w
-q
-Z
-&
-p
-&
-@
-w
-0
-x
-v
-p
-L
-@
-@
-@
-j
-|
-{
-8
-W
-W
-*
-}
-[
-]
-f
-(
-#
-M
-W
-#
-b
-o
-&
-x
-#
-j
-}
-:
-:
-;
-!
->
-_
-?
-)
-\
-)
-\
-/
-f
-v
-Z
-m
-m
-w
-m
-q
-b
-b
-h
-h
-o
-o
-h
-U
-p
-p
-w
-L
-Y
-X
-U
-J
-v
-r
-X
-x
-j
-U
-Y
-U
-|
-\
-n
-Y
-X
-z
-z
-c
-j
-"
-'
-.
-.
-
-
-
-'
-C
-Z
-w
-q
-p
-w
-Q
-L
-m
-b
-d
-U
--
-|
-{
-8
-W
-\
-Z
-f
-X
-Q
-m
-q
-a
-Z
-&
-&
-W
-q
-&
-W
-W
-B
-$
-8
-Z
-&
-&
-d
-&
-&
-&
-W
-&
-8
-8
-8
-8
-M
-C
-&
-W
-8
-W
diff --git a/yosible/__init__.py b/yosible/__init__.py
deleted file mode 100644
index e69de29b..00000000
diff --git a/yosible/module/__init__.py b/yosible/module/__init__.py
deleted file mode 100644
index c4045249..00000000
--- a/yosible/module/__init__.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# -*- coding:utf-8 -*-
-# !/usr/bin/python2.6
-# Author Yo
-# Email YoLoveLife@outlook.com
-import json
-class BaseModule():
- def result2Json(self,value):
- self._result=json.loads(value)
-
- def value2Args(self,*args,**kwargs):
- self._ansible_parsed=self._result['_ansible_parsed']
- self._changed=self._result['changed']
- self.__ansible_no_log=self._result['_ansible_no_log']
-
- def pop_task(self):
- pass
-
-if __name__ == "__main__":
- ddr = {'rr':{'ddr':'zzc'}}
- ba=BaseModule()
- ba.result2Json(ddr)
\ No newline at end of file
diff --git a/yosible/module/copy.py b/yosible/module/copy.py
deleted file mode 100644
index 5e7187d8..00000000
--- a/yosible/module/copy.py
+++ /dev/null
@@ -1,16 +0,0 @@
-from yosible.module import BaseModule
-class CopyModule(BaseModule):
-
-
- def value2Args(self,*args,**kwargs):
- self._size = self._result['size']
- self._own = self._result['own']
- self._group = self._result['group']
- self._md5sum = self._result['md5sum']
- self._dest = self._result['dest']
- self._mode = self._result['mode']
-
- return super(CopyModule,self).value2Args(*args,**kwargs)
-
-
-
diff --git a/yosible/run/__init__.py b/yosible/run/__init__.py
deleted file mode 100644
index e69de29b..00000000
diff --git a/yosible/run/ansiblerun.py b/yosible/run/ansiblerun.py
deleted file mode 100644
index f96cbfb5..00000000
--- a/yosible/run/ansiblerun.py
+++ /dev/null
@@ -1,62 +0,0 @@
-from yosible.tasks.tasks import Tasks,Task
-from ansible.executor.task_queue_manager import TaskQueueManager
-from ansible.inventory import Inventory
-from ansible.parsing.dataloader import DataLoader
-from ansible.playbook.play import Play
-from ansible.vars import VariableManager
-from apps.execute.callback import ResultCallback
-from playbook import Playbook
-from yosible.vars.args import option, HOST_LIST
-
-class Ansible():
- def __init__(self,host_file):
- self.options = option
- self.variable_manager = VariableManager()
- self.loader = DataLoader()
- self.passwords = dict(vault_pass='')
- self.results_callback = ResultCallback()
- self.inventory = Inventory(loader=self.loader, variable_manager=self.variable_manager, host_list=host_file)
- self.variable_manager.set_inventory(self.inventory)
-
- def add_extendvars(self,newext):
- self.variable_manager.extra_vars=newext
-
- def set_playbook(self,pb):
- self.playbook=pb
- self.add_extendvars(self.playbook.ext_vars)
-
- def set_callback(self,callback):
- self.results_callback = callback
-
- def run_playbook(self):
- tqm=pop_TaskqueueManager(self)
- try:
- result =tqm.run(Play().load(self.playbook.pop_playbook()))
- return result
- finally:
- if tqm is not None:
- tqm.cleanup()
-
-def pop_TaskqueueManager(ansible):
- tqm = TaskQueueManager(inventory=ansible.inventory,
- variable_manager=ansible.variable_manager,
- loader=ansible.loader,
- options=ansible.options,
- passwords=ansible.passwords,
- stdout_callback=ansible.results_callback,)
- return tqm
-
-
-if __name__ == "__main__":
- pb=Playbook('ddr','no')
- pb.push_vars({'prefix':'/usr/local','base_dir':'/usr/local/tomcat'})
-
- b=Task(module="script",args="~/ddr.sh")
-
- s=Tasks()
- s.push_task(b)
- A=Ansible()
- pb.push_tasks(s)
- A.set_playbook(pb)
-
- A.run_playbook()
diff --git a/yosible/run/playbook.py b/yosible/run/playbook.py
deleted file mode 100644
index f3820a6d..00000000
--- a/yosible/run/playbook.py
+++ /dev/null
@@ -1,38 +0,0 @@
-from yosible.tasks.tasks import Task,Tasks
-class Playbook():
- def __init__(self,pbname,pbfacts):
- self.name=pbname
- self.hosts='all'
- self.gather_facts=pbfacts
- self.ext_vars={}
- self.tasks=Tasks()
-
- def push_vars(self,new_vars):#Rewrite
- self.ext_vars=new_vars
-
- def push_task(self,task):
- self.tasks.push_task(task=task)
-
- def push_tasks(self,tasks):#Rewrite
- self.tasks=tasks
-
- def pop_tasks(self):
- return self.tasks.pop_tasks()
-
- def pop_playbook(self):
- return dict(name=self.name,hosts=self.hosts,gather_facts=self.gather_facts,tasks=self.tasks.pop_tasks())
-
-if __name__ == "__main__":
- p=Playbook('ddr','no')
-
- a=Task(module="shell",args="ls /etc")
- b=Task(module="shell",args="ls /usr")
- c=Task(module="shell",args="ls /")
-
- s=Tasks()
- s.push_task(a)
- s.push_task(b)
- s.push_task(c)
-
- p.push_tasks(s)
- print(p.pop_playbook())
\ No newline at end of file
diff --git a/yosible/tasks/__init__.py b/yosible/tasks/__init__.py
deleted file mode 100644
index e69de29b..00000000
diff --git a/yosible/tasks/tasks.py b/yosible/tasks/tasks.py
deleted file mode 100644
index 6701ddaf..00000000
--- a/yosible/tasks/tasks.py
+++ /dev/null
@@ -1,39 +0,0 @@
-class Task(object):
- def __init__(self,module="shell",args="",register='shell_out'):
- self.module=module
- self.args=args
- self.register=register
-
- def pop_task(self):
- return dict(action=dict(module=self.module,args=self.args),register=self.register)
-
- def __str__(self):
- return "[module_name:%s][args:%s][register:%s]"%(self.module,self.args,self.register)
-
-class Tasks(object):
- def __init__(self):
- self.task_list=[]
-
- def __str__(self):
- return self.task_list
-
- def push_task(self,task):
- self.task_list.append(task)
-
- def pop_tasks(self):
- list=[]
- for task in self.task_list:
- list.append(task.pop_task())
- return list
-
-if __name__ == '__main__':
- a=Task(module="shell",args="ls /etc")
- b=Task(module="shell",args="ls /usr")
- c=Task(module="shell",args="ls /")
-
- s=Tasks()
- s.push_task(a)
- s.push_task(b)
- s.push_task(c)
- print(s.pop_tasks())
- print(s.__str__())
\ No newline at end of file
diff --git a/yosible/vars/__init__.py b/yosible/vars/__init__.py
deleted file mode 100644
index e69de29b..00000000
diff --git a/yosible/vars/args.py b/yosible/vars/args.py
deleted file mode 100644
index 91968c8e..00000000
--- a/yosible/vars/args.py
+++ /dev/null
@@ -1,30 +0,0 @@
-# -*- coding:utf-8 -*-
-# !/usr/bin/env python
-# Author Yo
-# Email YoLoveLife@outlook.com
-from collections import namedtuple
-#FTP地址
-FTP='192.168.254.134'
-#是否启用Checksum
-CHECKSUM=1
-
-#默认的ansible host路径
-HOST_LIST='/tmp/ansible.host'
-#Ansible执行数值列表
-OPTIONS = namedtuple('Options',
- ['connection', 'module_path', 'forks', 'become', 'become_method', 'become_user', 'check'])
-#Ansible Fork子线程个数
-FORKS=100
-#执行操作的连接
-CONNECTION='smart'
-#提权操作后成为的用户
-BECOME=None
-#提权操作使用的方法
-BECOME_METHOD='sudo'
-#提权操作后成为的用户
-BECOME_USER=None
-
-
-
-option=OPTIONS(connection='smart', module_path='', forks=FORKS, become=BECOME, become_method=BECOME_METHOD,
- become_user=BECOME_USER, check=False)
\ No newline at end of file