From a9a5be083446eb99e7b63f30bfab7f974f887f17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Sun, 28 Apr 2024 13:58:17 +0200 Subject: [PATCH] Add demo script --- .gitlab-ci.yml | 21 +++ demo/__main__.py | 182 +++++++++++++++++++ demo/account.py | 82 +++++++++ demo/account_invoice.py | 61 +++++++ demo/account_payment.py | 46 +++++ demo/account_statement.py | 69 ++++++++ demo/avatar.py | 11 ++ demo/avatars/angela-martin.jpg | Bin 0 -> 24752 bytes demo/avatars/charles-miner.jpg | Bin 0 -> 20193 bytes demo/avatars/dunder-mifflin.jpg | Bin 0 -> 5065 bytes demo/avatars/dwight-schrute.jpg | Bin 0 -> 22870 bytes demo/avatars/jim-halper.jpg | Bin 0 -> 28076 bytes demo/avatars/michael-scott-paper-inc.jpg | Bin 0 -> 40196 bytes demo/avatars/michael-scott.jpg | Bin 0 -> 29799 bytes demo/avatars/pam-beesly.jpg | Bin 0 -> 24787 bytes demo/avatars/ryan-howard.jpg | Bin 0 -> 19022 bytes demo/avatars/saber.jpg | Bin 0 -> 17449 bytes demo/company.py | 134 ++++++++++++++ demo/country.py | 10 ++ demo/currency.py | 14 ++ demo/party.py | 83 +++++++++ demo/product.py | 62 +++++++ demo/production.py | 216 +++++++++++++++++++++++ demo/project.py | 29 +++ demo/purchase.py | 42 +++++ demo/sale.py | 48 +++++ demo/stock.py | 32 ++++ demo/timesheet.py | 39 ++++ demo/tools.py | 16 ++ 29 files changed, 1197 insertions(+) create mode 100755 demo/__main__.py create mode 100644 demo/account.py create mode 100644 demo/account_invoice.py create mode 100644 demo/account_payment.py create mode 100644 demo/account_statement.py create mode 100644 demo/avatar.py create mode 100644 demo/avatars/angela-martin.jpg create mode 100644 demo/avatars/charles-miner.jpg create mode 100644 demo/avatars/dunder-mifflin.jpg create mode 100644 demo/avatars/dwight-schrute.jpg create mode 100644 demo/avatars/jim-halper.jpg create mode 100644 demo/avatars/michael-scott-paper-inc.jpg create mode 100644 demo/avatars/michael-scott.jpg create mode 100644 demo/avatars/pam-beesly.jpg create mode 100644 demo/avatars/ryan-howard.jpg create mode 100644 demo/avatars/saber.jpg create mode 100644 demo/company.py create mode 100644 demo/country.py create mode 100644 demo/currency.py create mode 100644 demo/party.py create mode 100644 demo/product.py create mode 100644 demo/production.py create mode 100644 demo/project.py create mode 100644 demo/purchase.py create mode 100644 demo/sale.py create mode 100644 demo/stock.py create mode 100644 demo/timesheet.py create mode 100644 demo/tools.py diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 8e75023fb5..ff3f3f18ee 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -339,4 +339,25 @@ test-sao: PACKAGE: sao TAG_PATTERN: '/^sao-.*/' +test-demo: + stage: test + image: ${CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX}/python:3.8 + variables: + TRYTOND_DATABASE__PATH: /tmp + PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip" + cache: + paths: + - .cache/pip/http + before_script: + - pip install packages/trytond* packages/proteus* + script: + - touch /tmp/demo.sqlite + - echo "admin" > /tmp/password + - TRYTONPASSFILE=/tmp/password trytond-admin --database demo --all --email admin@example.com + - python -m demo --database demo + rules: + - changes: + - demo/**/* + - modules/{account,account_invoice,account_payment,account_statement,company,country,currency,party,product,production,production_routing,production_work,project,purchase,sale,stock,timesheet}/**/* + include: '.gitlab-ci-modules.yml' diff --git a/demo/__main__.py b/demo/__main__.py new file mode 100755 index 0000000000..7ba25b1abf --- /dev/null +++ b/demo/__main__.py @@ -0,0 +1,182 @@ +#!/usr/bin/env python3 +# This file is part of Tryton. The COPYRIGHT file at the top level of +# this repository contains the full copyright notices and license terms. + +from argparse import ArgumentDefaultsHelpFormatter, ArgumentParser + +from proteus import Model, Wizard +from proteus import config as pconfig + +from . import account, account_invoice, account_payment, account_statement +from . import company as company_ +from . import ( + country, currency, party, product, production, project, purchase, sale, + stock, timesheet) + + +def set_config(database, config_file): + return pconfig.set_trytond(database, config_file=config_file) + + +def activate_modules(config, modules): + Module = Model.get('ir.module') + modules = Module.find([ + ('name', 'in', modules), + ]) + for module in modules: + if module.state == 'activated': + module.click('upgrade') + else: + module.click('activate') + modules = [x.name for x in Module.find([('state', '=', 'to activate')])] + Wizard('ir.module.activate_upgrade').execute('upgrade') + + ConfigWizardItem = Model.get('ir.module.config_wizard.item') + for item in ConfigWizardItem.find([('state', '!=', 'done')]): + item.state = 'done' + item.save() + + activated_modules = [m.name + for m in Module.find([('state', '=', 'activated')])] + return modules, activated_modules + + +def setup_languages(config, demo_password, company=None): + Lang = Model.get('ir.lang') + User = Model.get('res.user') + Group = Model.get('res.group') + Action = Model.get('ir.action') + + langs = Lang.find() + Lang.click(langs, 'load_translations') + + admin = config.user + # Use root to skip password validation + config.user = 0 + + menu, = Action.find([('usage', '=', 'menu')]) + for lang in langs: + if lang.code == 'en': + name = 'Demo' + login = 'demo' + else: + if lang.code[:2] != lang.code[-2:].lower(): + continue + name = 'Demo %s' % lang.name + login = 'demo_%s' % lang.code[:2] + try: + user, = User.find([('login', '=', login)]) + except ValueError: + user = User() + user.name = name + user.login = login + user.password = demo_password + groups = Group.find([ + ('name', 'not ilike', '%Admin%'), + ]) + user.groups.extend(groups) + user.language = lang + user.menu = menu + if company: + Company = Model.get('company.company') + user.companies.append(Company(company.id)) + user.company = company + user.save() + + config.user = admin + + +def main(database, modules, demo_password, config_file=None): + config = set_config(database, config_file) + to_activate, activated = activate_modules(config, modules) + + if 'country' in to_activate: + country.do_import() + + if 'currency' in to_activate: + currency.do_import() + + if ('party' in to_activate + or 'sale' in to_activate + or 'purchase' in to_activate + or 'stock' in activated): + customers, suppliers = party.setup(config, modules) + + if 'company' in to_activate: + company = company_.setup(config, activated) + elif 'company' in activated: + company = company.get() + else: + company = None + + if 'account' in to_activate: + account.setup(config, activated, company) + + if 'company' in to_activate: + company_.setup_post(config, activated, company) + + if 'product' in to_activate: + product.setup(config, activated, company=company) + + if 'account_invoice' in to_activate: + account_invoice.setup(config, activated, company) + + if 'sale' in to_activate: + sale.setup(config, activated, company, customers) + + if 'purchase' in to_activate: + purchase.setup(config, activated, company, suppliers) + + if 'stock' in to_activate: + stock.setup(config, activated, company, suppliers) + + if 'account_invoice' in activated: + account_invoice.setup_post(config, activated, company) + + if 'account_payment' in activated: + account_payment.setup(config, activated, company) + + if 'account_statement' in activated: + account_statement.setup(config, activated, company) + + if 'project' in activated: + project.setup(config, activated, company, customers) + + if 'timesheet' in activated: + timesheet.setup(config, activated, company) + + if 'production' in to_activate: + production.setup(config, activated, company) + + setup_languages(config, demo_password, company=company) + + +if __name__ == '__main__': + parser = ArgumentParser(formatter_class=ArgumentDefaultsHelpFormatter) + parser.add_argument('-c', '--config', dest='config_file') + parser.add_argument('-m', '--module', dest='modules', nargs='+', + help='module to activate', default=[ + 'account', + 'account_invoice', + 'account_payment', + 'account_statement', + 'company', + 'party', + 'party_avatar', + 'product', + 'purchase', + 'sale', + 'stock', + 'project', + 'timesheet', + 'production', + 'production_routing', + 'production_work', + ]) + parser.add_argument('--demo_password', dest='demo_password', + default='demo', help='demo password') + parser.add_argument('-d', '--database', dest='database', + default='demo', help="database name") + options = parser.parse_args() + main(options.database, options.modules, options.demo_password, + config_file=options.config_file) diff --git a/demo/account.py b/demo/account.py new file mode 100644 index 0000000000..0d82ae5a28 --- /dev/null +++ b/demo/account.py @@ -0,0 +1,82 @@ +# This file is part of Tryton. The COPYRIGHT file at the top level of +# this repository contains the full copyright notices and license terms. + +import datetime as dt + +from dateutil.relativedelta import relativedelta + +from proteus import Model, Wizard + + +def setup(config, modules, company): + AccountTemplate = Model.get('account.account.template') + Account = Model.get('account.account') + FiscalYear = Model.get('account.fiscalyear') + Sequence = Model.get('ir.sequence') + SequenceStrict = Model.get('ir.sequence.strict') + SequenceType = Model.get('ir.sequence.type') + Party = Model.get('party.party') + + root_template, = AccountTemplate.find([ + ('parent', '=', None), + ('name', '=', 'Minimal Account Chart'), + ]) + create_chart_account = Wizard('account.create_chart') + create_chart_account.execute('account') + create_chart_account.form.account_template = root_template + create_chart_account.form.company = company + create_chart_account.execute('create_account') + + receivable, = Account.find([ + ('type.receivable', '=', True), + ('company', '=', company.id), + ]) + payable, = Account.find([ + ('type.payable', '=', True), + ('company', '=', company.id), + ]) + + create_chart_account.form.account_receivable = receivable + create_chart_account.form.account_payable = payable + create_chart_account.execute('create_properties') + + # Set account for parties created without company + parties = Party.find([]) + for party in parties: + party.account_receivable = receivable + party.account_payable = payable + Party.save(parties) + + move_sequence_type, = SequenceType.find( + [('name', '=', "Account Move")], limit=1) + invoice_sequence_type, = SequenceType.find([ + ('name', '=', "Invoice"), + ], limit=1) + today = dt.date.today() + for start_date in ( + today + relativedelta(month=1, day=1, years=-1), + today + relativedelta(month=1, day=1), + today + relativedelta(month=1, day=1, years=1)): + fiscalyear = FiscalYear(name='%s' % start_date.year) + fiscalyear.start_date = start_date + fiscalyear.end_date = start_date + relativedelta(month=12, day=31) + fiscalyear.company = company + post_move_sequence = Sequence(name='%s' % start_date.year, + sequence_type=move_sequence_type, + company=company) + post_move_sequence.save() + fiscalyear.post_move_sequence = post_move_sequence + invoice_sequence, = fiscalyear.invoice_sequences + if 'account_invoice' in modules: + for attr, name in (('out_invoice_sequence', 'Invoice'), + ('in_invoice_sequence', 'Supplier Invoice'), + ('out_credit_note_sequence', 'Credit Note'), + ('in_credit_note_sequence', 'Supplier Credit Note')): + sequence = SequenceStrict( + name='%s %s' % (name, start_date.year), + sequence_type=invoice_sequence_type, + company=company) + sequence.save() + setattr(invoice_sequence, attr, sequence) + fiscalyear.save() + fiscalyear.click('create_period') diff --git a/demo/account_invoice.py b/demo/account_invoice.py new file mode 100644 index 0000000000..24dce401fc --- /dev/null +++ b/demo/account_invoice.py @@ -0,0 +1,61 @@ +# This file is part of Tryton. The COPYRIGHT file at the top level of +# this repository contains the full copyright notices and license terms. + +import datetime as dt +import random +from itertools import chain + +from dateutil.relativedelta import relativedelta + +from proteus import Model + +from .tools import skip_warning + + +def setup(config, modules, company): + Party = Model.get('party.party') + PaymentTerm = Model.get('account.invoice.payment_term') + + payment_term = PaymentTerm(name='30 days') + line = payment_term.lines.new() + line.type = 'remainder' + delta = line.relativedeltas.new() + delta.days = 30 + payment_term.save() + + parties = Party.find() + Party.write([p.id for p in parties], { + 'customer_payment_term': payment_term.id, + 'supplier_payment_term': payment_term.id, + }, config.context) + + +def setup_post(config, modules, company): + Invoice = Model.get('account.invoice') + + invoices = Invoice.find([ + ('type', '=', 'out'), + ('state', 'in', ['draft', 'validated']), + ]) + invoices = random.sample(invoices, len(invoices) * 2 // 3) + invoices = list(chain(*list(zip(invoices, + Invoice.find([ + ('type', '=', 'in'), + ('state', 'in', ['draft', 'validated']), + ]))))) + + today = dt.date.today() + invoice_date = today + relativedelta(months=-1) + i = j = 0 + while invoice_date <= today: + j = random.randint(1, 5) + for invoice in invoices[i:i + j]: + invoice.invoice_date = invoice_date + invoice.save() + i += j + invoice_date += relativedelta(days=random.randint(1, 3)) + invoices = [inv for inv in invoices[0:i]] + for invoice in invoices: + skip_warning(config, 'invoice_payment_term', [invoice]) + skip_warning(config, 'invoice_date_future', invoices) + Invoice.click(invoices, 'post') diff --git a/demo/account_payment.py b/demo/account_payment.py new file mode 100644 index 0000000000..61f809b13f --- /dev/null +++ b/demo/account_payment.py @@ -0,0 +1,46 @@ +# This file is part of Tryton. The COPYRIGHT file at the top level of +# this repository contains the full copyright notices and license terms. + +import random + +from proteus import Model, Wizard + + +def setup(config, modules, company): + Currency = Model.get('currency.currency') + Journal = Model.get('account.payment.journal') + Line = Model.get('account.move.line') + Payment = Model.get('account.payment') + + usd, = Currency.find([('code', '=', 'USD')]) + journal = Journal(name='Manual', currency=usd, company=company, + process_method='manual') + journal.save() + + lines = Line.find([ + ('account.type.payable', '=', True), + ('party', '!=', None), + ('reconciliation', '=', None), + ('payment_amount', '!=', 0), + ]) + lines = random.sample(lines, len(lines) * 2 // 3) + if not lines: + return + + pay_line = Wizard('account.move.line.pay', lines) + pay_line.execute('next_') + pay_line.form.journal = journal + pay_line.execute('next_') + + payments = Payment.find([]) + payments = random.sample(payments, len(payments) * 2 // 3) + + for payment in payments: + payment.click('approve') + + payments = random.sample(payments, len(payments) * 2 // 3) + i = j = 0 + while i < len(payments): + j = random.randint(1, 5) + Wizard('account.payment.process', payments[i:i + j]) + i += j diff --git a/demo/account_statement.py b/demo/account_statement.py new file mode 100644 index 0000000000..414d824eed --- /dev/null +++ b/demo/account_statement.py @@ -0,0 +1,69 @@ +# This file is part of Tryton. The COPYRIGHT file at the top level of +# this repository contains the full copyright notices and license terms. + +import random +from decimal import Decimal + +from dateutil.relativedelta import relativedelta + +from proteus import Model + + +def setup(config, modules, company): + Journal = Model.get('account.statement.journal') + Statement = Model.get('account.statement') + AccountJournal = Model.get('account.journal') + Account = Model.get('account.account') + Sequence = Model.get('ir.sequence') + SequenceType = Model.get('ir.sequence.type') + Invoice = Model.get('account.invoice') + + sequence_type, = SequenceType.find([('name', '=', "Account Journal")]) + sequence = Sequence(name='Statement', + sequence_type=sequence_type, + company=company) + sequence.save() + + cash, = Account.find([ + ('name', '=', 'Main Cash'), + ('company', '=', company.id), + ]) + + account_journal = AccountJournal(name='Bank', + type='statement', + sequence=sequence) + account_journal.save() + + journal = Journal(name='Bank', + journal=account_journal, + account=cash, + validation='balance') + journal.save() + + invoices = Invoice.find([ + ('state', '=', 'posted'), + ]) + invoices = random.sample(invoices, len(invoices) * 2 // 3) + + total_amount = Decimal(0) + statement = Statement(name='001', + journal=journal, + start_balance=Decimal(0)) + for i, invoice in enumerate(invoices): + if not invoice.amount_to_pay: + continue + line = statement.lines.new() + line.number = str(i) + line.date = invoice.invoice_date + relativedelta( + days=random.randint(1, 20)) + amount = invoice.amount_to_pay + if invoice.type in ('in_invoice', 'out_credit_note'): + amount = - amount + line.amount = amount + line.party = invoice.party + if random.random() < 2. / 3.: + line.related_to = invoice + total_amount += line.amount + + statement.end_balance = total_amount + statement.click('validate_statement') diff --git a/demo/avatar.py b/demo/avatar.py new file mode 100644 index 0000000000..45dba7b8e2 --- /dev/null +++ b/demo/avatar.py @@ -0,0 +1,11 @@ +# This file is part of Tryton. The COPYRIGHT file at the top level of +# this repository contains the full copyright notices and license terms. + +import os + +_AVATAR_DIR = os.path.join(os.path.dirname(__file__), 'avatars') + + +def get(name): + with open(os.path.join(_AVATAR_DIR, name), 'rb') as fp: + return fp.read() diff --git a/demo/avatars/angela-martin.jpg b/demo/avatars/angela-martin.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b21c8aab23a453c5658d7ba0183d51cc2a031d25 GIT binary patch literal 24752 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 literal 0 HcmV?d00001 diff --git a/demo/avatars/charles-miner.jpg b/demo/avatars/charles-miner.jpg new file mode 100644 index 0000000000000000000000000000000000000000..677a1ee56152fc0362bc1ae0cd564485437ecf40 GIT binary patch literal 20193 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 literal 0 HcmV?d00001 diff --git a/demo/avatars/dunder-mifflin.jpg b/demo/avatars/dunder-mifflin.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e3582e93802231afa52fe55fa788a96fa2577afa GIT binary patch literal 5065 zcmcIocTm&K*8YViy{PmO1Zkm37Z5=dP!OesAP}m6geI>7N>h~Hr59<^LPDg3-XVYx zKwo+ZH58Gebdi#L-uK>jzWdFc@6UU7X6NjlGy6Qd^X%@-Ay1JP0akt8d%6G!1OTAl z4ImSMP=NjdEhjBI$7Oa7ZcZ*PegQB)H#Z;Om5TygS9!o!1o-&*z*lcb3X8~y@(Czj z7nM;^`fUOt>RRdwnlg$?av(-VMiv%UE*3U!Ierd)xqmm!e;@pRKDh&6qXqhaK1z@f zK*0v0WCM}A0lwb^DJVhz;QF`GT%e++r36v@jvBE76d(#pDk@r91{zAb-x(kZfRc@h z`XbGRD{_}^8DlRCDcb+>ETmdqN!i5v`MXYb&Z`RANy!Btsz!uO9p1d{x;;wd5D~p& z1}(x3|6Y;(|3Li(`41YG+5U~dKZ%fM07lB+Mdzdvprr1)ue#28C34xdqSj6m^K zC<$V29iYAI^HTD$L-A+a=}X?5MwJys^6Yg<_(8?oDq`N;4L`3qcV?$BhzF+Y+6IIq zap5QUF~cOn_bW^F=bFvvupA%exZ6x>k;}gP$@|r(0pT;z7~R)MezV4j0@z)_XN>++ z`h-_EVG)O73$9BI6|(3<-yaekxeh<8Lb}vPohr(>Q>HJ+lnD}g_YFz5wJ8dWyvvE2 zcS8E9waOkJn{%FiRodoEbqMl#uv=VPttlpVGhFN!7cYvJ&;fHY9%Z`EvGrQKv9^C4 zfA^>qA-+|sSZ1vX^AOe!S1W(`h(9@XwW`H>a%aLYeX@1>Ja+EQkP}c#k-T&wcN;vqH#*Fgd5GxB z!wqFm5U`udtJXo9yQ`ziAbqzb_;8d@gQxf()|~3;IZH?*mhf0A9%_Oy)n3CAF_Yte zF_?e39h<|#U*(x+2iJ;e1{Uwdwqh+0kP;wN^@p^!M2o3Q_V^1r?rS?c&3YF0>(K>x z?28SG>6g2VF5%Bw1_cakN(7LYkC~vFe91rZchp+;Z&#`}bi03+_GU*IJJD`FmPTz+ zHzHGe_eqL9CvI~^434{ggwDt@tF$$_1{) z)*#J5t;`?G_#INw&$t_Y?5l^tALmw8x7!mWaVN?1io3J0^zoBszm&yWbusv=n@y!J zMrNkL$r*XKFP+7f`Tpk|y-l1j{Ec|C9KbxPg2|$vw!>ZO&AqC2!gQ~bBtnvist$&S zw#(8M&r5kcfFBEUMisbGA(w&}<}^d2j1~Wh7w}D3z3X^@d(-NBl1ITlIq4l%1glwI!l!Sy&mP=N;Ejk zwVLU}3)1~5mNR;v&qqq+2$&~;3+AkeVJR;h_WP`5#lBaT|hRFvq zfX&t<0}aq~dolo_^3x!&4_0rf>$I3)?&s!r)`}m!SwLSQG|X5ANJk^ap_x3{SN;Uq8Awt(=nd7^+0w;y zdZf}L`QYU?=w0R4A}DA-`r-FkLO-D(FuY%Nh4i# zJvmQA{94FBoLq3$Pgk*Kx%8FHn~+ol*H`~&eN^*{qDl$J$6)n3_d0^Z-h66R#;lH| zC>GS2uABe<^`8$#Lcmkt$Y+0DY#nfDTO#RMzOn&zni-Dx$C;?e1_tUJtb#;AjiYk_ zU*G+#qPaASA~0?DPSslb-lCOIP}WlRFu3$In+)_<((K&qzC(3K3#D?nGUa7CH=Po+ zy3}4Fiu0fNK8Tb*lMOZQZig%C9r2(d7E(DLMv#G}KkA9#LNc&|Aej`mWXPyZ^BT8< znfNrjo@|gDo_J3^coWV|23pv8ryx(rfNPlLY5bnMS5fP9N~QeQS+8WrAd&AgrVK(d zu?s6bn%e1sB1*cM<#=>=6~LmZd~tP%bl>zq!mrD;fv1qgm~WSUqjz?T3*5x+v?bHI zycZiR(2C%3EpQn6m|6KJF41jY=+4jhS3hpJl;7MKz&iOwMa)EhWzo+u^N^Z+8sbj7 z<@l*LrDV5Fq1PYxy`0fK;<0ytcKI>Fa@@**|4E&j&AbA0p%hd30OawhW_SVo`ItV= zWR@4cQAuQKWK-g;C*XO-v@vR98;yPw^wdH#+Ph=81Uk9-c|~VcLmoV>Wr9wJCat8Y zGeD?_rH^oYxO%KvZt{a_V;Zl{`?tT&ms#^^ZxB|2o>#2()mvGU9qvA@M$LFh_4uE( zE*roe2S0E)=X=;JUcw&D`_|!lLMh7Xbab%SJJn7y;W)lLNG9qn%LI)XeeuxiMh*BM zhPDbjhIbYk1m28dZI(E7-q)O7=-qw#K1KVk$q?T-^O{->k>BjrldmQAph^tZ_`%5j%AL;W3 zaS#%k?WexVY206OA?VvXeQ8(_?L9G=t102Q1Ltnck4IR`h_JXra5e{9yA zxZPZZ39yfyyD!*psP+H_wbm*wIB*rWB#FB%7;PudZ7jZ`S();uuH`Y*QL>yIiLI}P ziO;Ge5jFhCfaU$|<3Q`Sw!Eet33%Mz8Tj`@`Nrq@N^AsAqo-(?9~DL|az(n9wVaOP zJWzxTR5yPrs5uUaDAh+*nY*>+D06H%5-39dQveW5$$#i18tcS*Q-v1O&2tbU;IPQO zoU<4YjjV`JA$=~C9W9PDJ$j}3quK`k_M}HP=y7S_FRu`1ntTE2=dgW*fN((msXe!P zqKJ3K8`W5acLxViQfEr+J#44~=1=cTUYx6>hA-O|_D+hSnLlkkPiExU+uMR85Gj%o zeo)h5ig0J(lFNQy8I4dzr`)Jfx@n&TxNXn;y_Q%`=qJ@6We+Ei+x*%YDJt{#ugk_p zAzV)o@NLV1I3SCMtK3q@12CAK(1|UMAIyC)|4*!tO+$|1l6m>sAIP(5na|!s=_5+) zlyyZ$#WiKJ#zydR_Zx0|H%fCU zJ#PQrcUVm>*cf!V3}alzjt(~KyCpuyk^Q2>X67Rm{tLFJpXuVpBZR8CT`&cevy4sy zvRZ&OzTLrKYtb%YznVb?SiaqWYw+tm@M}xDzPH&j zgd}EM%?9YihA3n!)vx+$r|Rn>(U`+o(d-um9v*tt0o$L4_|dr7>qv>|@k93UJ{1OQ z-@(DWYv{}{lqFph>-@=i6sb{gDrcr{z(H4#sAC{0lbdjF7t?$4#pQAKs%pd%kAF?7le3<- zCv?1~vSIDIwLs;a_z6Nv@q@zW(j$e}EiJ=llA0yTd1hH%-EvEKUcP%8?HuslJqS_T za!vN`_Y;3ff@xaq;jdr)&c;Rla094gxIZhc%SbR0uGyE5^?Q_|&4n)J0MI&&K(St3T8J1LXD z*!W9T@bkkj`?eipVK#B77wb)C#}m##qI7r2GtV|7A$88?(*e%g3 zNN)|F?jkQ*mN|?Y^}&2VT|D^i`b3v;kPb{`5p$S1{Ky&6m^=;zP*jk`IXIj$oKKx` z*y*5>pm->5zk^E6853kQfa;!WIB&5_%|!64z3LXc|F0?mP4o4R_xN`udbs_38bCJ)RqIiMnY*wXAQ49HK?L@T(>?J#NSq9eCxYPXW zn|N)1Cks&8h~=#qYAH{TSKQO>a|%SNXLQ)1aD?P2);PcC+bE81!O zwx=)H)^gub-b-19%5RIyQLpEZMD{gx&EU()KylGiKG1f{`5Lz=3|aflY#l`{e$QyV z&u|NWm&h9_81Is^Mig|be&6CWc0l9oF!*`f!_YVbD@Xa7_>x&0hqABxB5c3Ff;=YX zPuiDDj>%~4Ta%Vlswi#WJ1r}HII#G}EOi&yX}FOvEdRuQl2P#ks>0zlH7P`cNafjv zANlyjEO}H3iiD7|QY8ztR_#!npXs)hQW1kOK^85SO~%0A-FpP2@)W<1_+RZ;M^hm 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 b0bIRCqX1j$+qPWHP}5W&5qnVf$t literal 0 HcmV?d00001 diff --git a/demo/avatars/michael-scott-paper-inc.jpg b/demo/avatars/michael-scott-paper-inc.jpg new file mode 100644 index 0000000000000000000000000000000000000000..42dff6d1a7acabf529bc8158f47f903da65bc855 GIT binary patch literal 40196 zcmeFY2RNMTx;H*amJ}tT45F?OM2iTcjj~o4l4xPf=qv;=dhcYV5CqW~j6@q|n2BD8 zh!#D{=)H{IJHdafz0Y2!?0v5DU1xva|NmY8^O%dv`_A*e_w#%1`+n|vK6E|>xb;-! zi3;G-rON#mXo=#}#M z2!NWrvdeT==m3gO#zor!XNZ*|(?%UW6xdhpw5@LiK*~>I*tk9TKeZ@oV6; zjT9}P;%0*_UIpo4p06gY~iW@{JM81rvJ(kU>AM*}D%U zvpcX8ZB-UBtivpE!nGN8>`tBoqW5VOE{K*4{O_(LH_&qW zoiqHm8Dm8)iFn5S>IevI#|AwiIeDbnxeD>jfu}TQWx@zHZ2*wt<@YK@4_&sK73S01sbu1{r zC~%u6VerMcf5E1L4R02J}zp)ouN->B&C_)E!YGSvrAkgU! z|AF9{RpOB0X3OT`L0WuK!YNy__RBRo?wuax5==Vv(>`9Xl3=7=?8@?v^Z;TZo7$TB z8t1JVCE+2J9g`5O1nfD`Zcw+arnMz=bbSLn#w)y5U9xSG!>1T(JN6|b@J5fic+k&V z36IBO(&>$WaWP;|)Vw;DSNKe5cgAeFlFpwZo$X5d~@w&+K}FN`~I z7`t~7Jca1^2#qic+jtB9Xk0trCc94>lEsNiL!xBUczKk%s3GTsr^k5DF*gqbVvZxW z5mtqXp5Qx3B4_WM_CyWmp9H|XFDU3^|NFub`=@5O#%a3QlH9a^GWX{~fB$2hF8@H- zbVpyL=Am2thpNpDWs_I#*(Ote)`FsS{mdAQs}|p-YU=URyD`}dhqe_mTgzz6FlBVM zX3!PZ3_byatsIzKNu8OL#&&}D?ycMgPs$5|o@;zd-Bq4|Xo3)KtTL5Ai=mW~=3-V! zu{Fp_v@%ZXPt6NNT`-13Ia$2_TPyfG>LRhJxrXCVk!EUTZ6bxi>~8MIk0^}f(+^m7 zlF9=2{r8YQ-SuP<2P|^<1r@={slO+fQ-!EIIcW;hxWlb#fQ1u+7>F^ zwOqj1j^J^RKF4HSUhkb(Nb9^X%e4Fyu>FSRH+2CHketha1#1HLm?LJ=M5xk>1=~E- zR{D%M|fMA5MNHN zWi8e&&yr0Fo?TmEG-BMY`K~{XJy)7E#Lo~N%kqi>j^Y?{qa&ksg6q} z9rK{_-l;Vr)qgRU(69M>@s8!giQ+9)#d*Wl!d0POnQW?<2+8i}b>?GK-z60F%sU=d z`K2rn9g2JUsyL$aJ1*5P44P91eFxQ=lP0+I%WLKJopxc43Fh|bQHGbtkUB`y&I=Et zl=u$vj@G13+X60W9;$)a&F?38CA(M+1&H|7E*5;+gc49zotHnKPz=j6jmUP(miv?) zKgDEk28vi}p_K1<68zbpL>>j7G1~bmXgs+m^fMU+@z^)P4FfXO=2fLt4{N^<2p*WR z<00n&sv(myUf&@MYUvjTO7}{JNy<3=XxkHW&0&Ag1}Gi=A!OuK2am@3QK6%-x{-lJ zF9Con37w`*hYg>wat)pD1CbG1%Pn40SocCl+V+-N{s0oJ2)+Y zO~9M|o;9oHi9LubPh;PAR1G}5yu~F89V1CSwztM6hA2F z%Lno;>62u1QrNE6+L3+V6%7)kW9^ElE$ewW?3kSyO2>l^jRr9!v%Vt}Y6AV5oNR0% z5y9CyzY73R+jZA=9-afxSpSo*ln~SWcYjhJ?KJ@f zD`upvSm?$41`u1YHSH!(%Rwk0(}b>JM#m{}sv7X!b3lDv!lucV=g-X^EcS2H&T)3`-S>G<8~lNUGzV8RPympdQ6(b**0` z9(3YP5%JdL##-6SwNXFnfC%cy|^d<{mq>>=@Mern!wES(F#qR;gGAkF;V3i_4GY=gVF$8D33X z1^@1QHDq~JCRk6)&HuQd%vaV+sR)$(Qd;hK^-k3B)$$Ix(S{YKgBC2!Sy(}Dhe+Is zg)`UV^2Lf;hnrY8*UIodox#{tk)HtqlQ(QE-}Cl%?c5ixrp?BCjRQ**D7}h1DnIHm zzt(IWy!|#D*EX&bGt~Cnbf#Spd=6-Ym(BYcW<(y5u`Vg=M(+_7`QFAgE|PgmK<`FG z2-ZB6&R6Bc6qgav)pt6}x~nxWU1Be|i>p%5R-BxtE3rM5=>Pb({%U#|<62^a>5jpk z?ezdWQSjKe{BxD}ap~iQm3!oe$=DND&ECth7I(-EwJhaMa^`ylQkJVRP5r0|eCVT@ zF4q?BDiDCBeTPzt>z19{P6u4qa^M^=cG%FJG<*{`9N-#-&nnqIrc9P}hy3<$IiLI= zeOX&tp)_q)%C52M8W|KfJLa5hysDJpFXVVxjJM5Cdm;skpL>f3pfl?k1%0Qf9)|cs zLwCdVmDf^=M<;^2J!BW5{^)dM$SwOL`FSjZ=>aKQ=KwAE(LtINEp~LAGc4^apXX2qXtz3VT6``2C$T-z;G3$oQD{{ z@-z^saG5Y}?VF~=DlPdUD$Z9>%El;OtIN=@u+#`EXh#LCL5lW2zFe+_$(&>#F-F zWqAO9Eglvf^18fBLrWZTqsE~~M|(#0yYA~D&+Wtk&OUoXN?f}%PDwuHAp;^CQE;|X zpiy>`k-$FrNR1{Rss1AzaMHZn1?c?JWYD3t^j$41YT0QdV*^hvHPekMp%?y)8#c*q zzmzb%e$?9kKvTRL8&K*T9M3Vntc|Vv(FArR7PQ@4k1{*fTwOc`JtYC(d?xRNQ1E0K zmx`n(9;31$J8Y(*hj#(C(;xLZSq|2>z1s+lsvG7?(=78?x7rHOW7z+iR&;1LVW&`V zhqm-M+e{0-&#c7-&tpHe0$hTX&2_6=#k9Vz`w3@X?#nY6;8v%>IC_$%>NQ;I-WM>I z)>~gxC_L|cns1kr?(S%{yt?Vl(1oc*<QJ@uv0v<(aQx&!Ja=V>)}%5ogd z3V;J`9Z#s^JU%O+tR=@aiEf-kyI5W8yhdzu2*%Tt7YNbT684|pb`yoMs()fp6ymNaV#M*!bjfUm@1Jw+4P&U>d&vkXf+-^fljr6mipHn`xdP5*By+?DeP^k3*fMury zZ$q90;?mHJe@%2)f2+rngY`Xj4s48GU3)xt4zP8_xNZd*F#HIM99n@^G3d+F5}&`5 zcnP3>*5UX~KQmjfW+gJ)G6U`IE6A)MGtsvedSdXvCLFd`8OGGV5`QXx$FgBj;A|gF zFHmu58XLizogArQNRq*zmbolr%y>f>it{>of?#dwGQ`YeP5TM8eU2}LD@uEw>@7m* z%Gv;UyF3T@(=cnt7k177&s#00SByxU4%2(#ezU~ja{vUsWX;qTaG^7dc8$#>LtvGa z#!X9kcCB4Z9{`LSZ;A_>>6dJL5}8awdIzi5!$!C$z{4ct?;?+eC|eidU1i7dj^QqN z4CcT+NJmTJSy_|6a9-qMR9ow7R)f$D{TaI2OPw>u&k~H)-W0sZjjDlbTn+CUTC$E0 z^pxm^)B=ITaW3y*Sxhg+vTk#Un))SOZ7&noSL5Io_j}_9A~`-u6Dyfcx=vk$ir2FI z&H-D#D_)D-^r*pez?I>1z}~*?rsB4@nP`WdpNYun9oTML@X(6e1@lo0`&|D3xD<9fVwj52JzFo$r9aTPQt5idM!k=#nl+Cco*H#Io)#@UzwHhCka%7;{^g?}}2vuwG?J+o3 zM)1!OGwF#yh;EB8KUp*Ym(w;AJf**y2yZ-`Y5#m|co5KIq%?*0lWRv(d}ezvtaxod z@QZs&HD<*aMv1x|#9F6L8s6L7#%Xo;MI)LcX^@t4aWq%IQFwOy8!Vdk`T!kO7o#vZ z|IqQ}=)3AiV>5R2lT`GlMs*@od$zt~PWmyx+DpqO1zY0<9&rydgkcYAnKO1Wk-4={ zBFGsLmRY!Mso(QXPw=)#A}dBF+DJqW|8}va3xN^+upHM-$!)Hg)a$M}O6l1?jrYkv zE_tIlxEvoKZ&YC-7hss>wigGW&>cbp|p%#KFH(k2g z4AK%=Ov~xaHh1o=G5V#MdJfd{k#>3__6mG4#|zvp{4&Ua@6C0_M&spmJ zOqHAOFVb?CKRJIa%nZ>m!~bDkysJ_U{pB*lsA_2JoW4E!}%s^FQ=X$SJ2G?1MWRLnkJ_8TYFuW z;RhcjBugQ^PumNCY~H(rfu5OlUn9jwGDF0-L(}VT_qYeHnf<=X93 z?Sp3jwrAw`3HEIXGf{g2*sn4=euQ0$rzsp*aOeB%%c8$c_cP!Mqc~d;)4ipqc-h%J z{lz@80rj>!(kmbS)L~ds%PKAXdJc^hv1~4$zQ9q4zAjL&b=5bvq%TO*)Ph;)d9%hc zZgY2V{%myLEg+sw^_mGs3&ut99N@%rcE8RQ;X)m_ka%J}%XQ}8tveHRHlg~%ByjF8 zSEXCd0qIgCO$LKWHe|9Nt6)YB*2}Dt9l}*Pf7T^-4p``X%o~eoJHXi1%$rc@y51R; zi8&2%7X9V>sY!@f+tRvII;^N$Rddl(rTD=gTZ#7PO^bYxs0Qw+C|XrWAWXW$zaI)r zbn9oh_ZCU=;e9i;!Id;M!w=}gQdt^y6X21BN=e1idN1dDUvUTC}k}tsH*lE#ti-1Gxw;v;4Ro{bFgM0 zz)%TlxA&B6ybS$KvH*Zv!6Rw;NrR2q$NhJ4?JIEs0lets@37M~D{8L9sAesJ@91O$ zM~G;t`4+=B*W?9b6m;s+jkU~?_6Wjq%F45t6j7Y^-fjZQ>{lpX*Sq}x!0DIa!_YGR zOS`dw;qOjA5gi>JEOz@#7fCCR0oR?Z!5bL^>`p2;;y{PFXHH*5WSW(hbQUUroi!JA zY`fc&7XdHS^-|AyBvuBv%sO)OU_d`sK%~Gk64%tfp}SrtJqJ4)>(#m$@q(b|@vy&6 z7N+dqC%`iL|1MKk&Wf{;fspj$J-In$`unHj>YL{AePfdfSO-*O+V|B6>)$SL`bS}j z#}9*B51$|_6b1?=984w>`1$wX@D2ZwgnZ;7lO48-zlR1PttSwb@}ldvasZ(1^mCz5 zTB+53VWf#jaZh1b>bT}TVo+1wcS(o3AA**3W>uw$dS}Yro)PM=;N8@&r5<)8k&sP6 z#v2hbOnM&<0ajg;OkBV2hgbGzdKtNq#Y5}n`(?GA#_SWz!LN<)){~>E%F{FxbNnVy zf7;V4e=rk1>Hj0lM2RnKI>1<4`x>Nfv|2n7VwvPLNSY^`7iw4gGSAq6=YSn_h7>)1 z&@~;|58V9#pe!#b*a)(HA6#5I8H0~0SldcxGpw6(QGBg>#t8`$p{oQ2bvwpq{Y?MM zKQm}IIQbjrpjyylSir+iWwK-IZw6?Us5l?p1pq99Ej=GKaR|T`j6H-nfZ)uYXO&xB zyTo|5TNXdYzQAh?90WFn*MEr4{b}rUlWy_{-uRLf zeyc@uqa{f2ur_@F1$bI` z)#Xi#V-13VxI6!*o*yawAyEbP_fZN3Ix@#? z1y}x%r7~u&CJcs@aFlMDt*h4VTzETMhUb zV4=8br0Y(K{wQCnUCDUZUf*1Um!xBlgtHGZ@Gs#=6zaL#|0e%HTO`(rU|yzTJIcOx z+c{w-H*K&*KT>NG+wRztX-oz4vR!=JL_Yjx>&#$lf=@mI7~SMV14Gx&0f})h){Goi zSb$aAGTr{+JM!6h`pBCdmGZ}*@GzW-*m%ZPyz;kyaujm!VCa&zr~AhqkKSn*zFm;b zvY=~GhV8rlPk6H5H?E1q;&;jxOi9aaRB|{~+iwT0Y*3OOy`LjN zYzB3N_)VqU+V4|V6UT3WOTaNnqqdZS01XGz8|7MhP@x>89(K=f41;q$UWdV8cLhdn z>o!7xT^|Ng?Zjm}1z202e`&ChO;!z?J9fjONMI2WB<0sGp+@BMD@G^sYD;ej6dliVnLV+c-vvIj zUkv+lacuva!RrtYCP!bNNG(=GUBtXd1ELygrjd>%F998^sM_O8)zb-`32KV#|4TtqcMJchhXZ&_Wx23vj#ImvF53m5b&P*r(7!T7aRxKWT`l zASvLL5qY((j~t%g(IerQtm`DB8Q;GAr$%aaHof54n!jq%-^XhB+bj4 z#^U`|$Hjk_9XZZFx*SdRm}Mfvl0(AiyyNf3oBFiq6!vJ76IfK~>>IXcP3my__E$YV z!@6}Gx=mCFkG3<^hr;Py#&dul)Q52luq(P}>r`lriFbc2kQJ{thQJ?jE=B^iX+fIN z4;v2d@5K9|VbB!tpT_rtzZlgWE6f+cO2~LsSRM+ zclU>h{t8upd9l^k#U1=;Ge@N?O6OY5`wGprp@j|7pGm+(`+msy)$Q~+{z1(74( z%VgB99Ae&uVZXh6ex^NVL>V#1NZMy!W%j+nOmM`)ug{~KLA10>&XzWfwaa`R_v=2mtW7qu%gvmUF;IJO75x8ihh9f8WoOieC_>*(VewTHv@UvR;mcUluYafeI>`ZB~L`?PUd?f zM}jLiYSHgYgoyetrl~$3X^{}8n^QG_I&^GUd(gj}p;Pdbcpjsv<<=Z^2 z6R0E*uzF^{O{PvZbykPsi~AA@c;6=G-RXTET4;k{-Go_Ppv`#750CimGsRJ(G2tKG ze_oE1Z959$T0Njrlnk=2Wz76ii4Xm}SJ_(|JnWW`a7}a0jTqsZ;Uvh7sPd)?mTx6k zq{O>*{Jh@BXpFQhG7?u?)Av{2W^eNu7>qjvxEVyf6!FP?wXScvTbx}qH6Uq~AkYCVj`Xj)f?U#l1FFgTF^fCNq z4EBOdJU#J{hu6wEcparq>~VI@lRfYPT`kHaEaBk2sAJHB4YSwY*XT{k%YB%D|KIRvGh0yJbKy9D)*mxbomtz zrGtKJr(Vsl`uhA;pI@j$JiWZTy`x*Sh3`p}vW8D|TMn+jCFO9ZegPeycyraLy1i2_ z0(xOyUm3_P>mhbC_Vw0F^xQ9Oz58N8d<>?^(+?ACr9aA28V84=xQH{KgO(pXj_VF6pjP`!rY-@2SJDWsKkx0d*A8yeF zdZOHXn5%bYeD|tmj7kx>?S5jXBw>63L$)x8B7OB40_$&O^9J$~qMdz>Wp`}WGjRl4 z&%AI=QZ6}?HlQQfVH=P4e^mdw?C^2^@K4czGnw3dtT8epC+wxQW@{O!0c@@GLU-Jd zG9~SP`03*urz7TqOtX?N(+5lYdM>t8bDMspwv`b5i{teQXIc2#>y`j1?FGgqX%qOw zBFt45QC@cWuZ0gaI|Ubo59Gb7JO>Py29nd#+^D>TkXDj;Ju&Y4zhnRZB<*X->FN2r z#RP1!FyX#x`syO1fOn5~N=UPR8}Q@j;g+Aea1-tlky&1^^By1ekr0gX*{WCWR~)VU z$k#7*&hJfnH!$+^2rI`RIP;eO}swU+K4Y`h#BNZiYs zb4cz=@Ao6M+90wBnl&%wO$;%li2PII2tD{aH3McG@nut=b{~dcCxL7X`+w;VjywlE zTw#yUZG(=$O)SX)I3LV2bhtlda zRMuBWBl})@Wh%yV#WhNb=Ve5fN|9P(HWDR_us&KI-y#*L0T03a!1dJIRTd^`g z=O%l&jnyiXlr`@vD?i$TFplQj%aC}dhru9FK;sRhpO5|ipB_)cUvhV&|NPwDfTe(a z`fDGfHzI!3xU3SLuXATb%Kc{PI#hf(j^*WzQ`?9xfZ}HTK3Dw&y;_8Im{lY|P{P=L-v$Dy;=uBm<#mLImjgY;1AviS4pQpRW|ZEW#TX<_MM0 zV{Ifrb^GK5eR`d87Nky&EBxQp)_-cMNH3>J_a)58OUcwt5*y|q``4Ie0>?P_{2F~7 z-Gb_{A>YDRZ;CXYR>&_OgaXHLrCy`iR&BLjx`S}_<4}?(vXv*^c;S8;5vKD9X%S|D z^!bDp2Wb|qKd}C85RzDSZ*|CvalmlRh0tv!p${<}Zp~ zH-WV|^*|(-!fYeBS&1-^W^vc9mebE16Q(vOa2uN2{JolyBYF^)sdu+zx#k=Y<}2i} zxs;dZN8haaM6}K+VJPC$jFeA?0dZ? zp=qj0?B-QTzv4w*VlU*fH7I_1T%-9NUlhlaGzud*+SH4P4AN_;ImYUGP?Y9rFvRYe zRIj9>t_jAJNd`(Pib!l9bPH*cG)7Zn<=%aWM!W>Xt+8p73c`r04j-H2cXuV6i%{1M zhlo58xe<0y_(}#hH{G8755r|7CIghv@q8jjA`CV8r-UqA>^>)9`QYzi%+O14_!a3L z)?;K>F)MqFp&T;P(!P?ydN;aK!c9+QB_jjFnfIkRBNv0@(f3JBDOHKpQEV6ro_(|7 z?iCI(j$@XUq1PAutDrg#LZk$cLJ=1F0vKBqP;N=;&)xrDWz6}lbq`Db?u_iLCh0KD zj)od{C$(E99m}2uXfHR_myOBAezv0%<4z2#9=xv---Sbp6o`9XPi7PAtY>LdDV4IA zQ9i53Hx0#}18}!5MF05T^VrFTUXAMCfckPFIj<-1-l)=Ug#AFxC}M4|VxTr7631LG zr)lpi9|^HTR!OA+pY3UOH|1F5W`IIkTM1%W{b8Y3vBh6*w?;fHLlsdAy%V%Agv;R5 zKJWnV!ZR{qUeP`vD12WeH8iwZvr1gsvpVRf#pTn#sVkbm3*}^WfSus^6D}7={i+36RCNPnSrpb=9;U7$&f>HqTbg>15Zh=Au)t>sHCQOh2SWv5F~QHawz#ofK8o|$d`(U7a^i$p{A zFA?h`2S|ZoI_uL~rLl|ILgd*bPxpP;+;kz=HI?UvLq{TsRJ?0>t?VAO!H`4Fey78T zD#-zPGe-3X#NRz-a(J)Jc0{&R+SIH*d5e=A@x+De7J57l+AzQ>xWct%?f z848jteB;t_!U$*e+R7>qd-FDsrO#(+vm~s#)WyNoxpZti^X6Uv(&=fLBlXH|2V&f% zv?_XREi*GFK!I5X^+>j$TG?MhYv&x`kTgv6>|e~BYW*~(nHRMT96Kp1%kb%=f&!Juq?R|K*sF|46efS1K&wY74BVOKY{JHcq-3X zPV&k{9?%&UoCD}eRYnUHf#TF4`;+KSv3pR?)!F3RcI>fc&T0M*|pBi+v)U`rf@SA;j&b7L*ID0417cwxH)xUrxtu?J$*azeUjE`lcM~&e9Iln`z zqM{8WwV0tQ`=0WVPgf#>5;|E99Q`G7#uV$zBkhs~$G3nn{o!rjd<&FD*N+F#jae{1 z*A9Qijw307;RF7eq!1g``e=HP?8*aE+`_VCmh#a&$i}hTioCRTHgGMTKPK}vU$nvD z`!C7(^;QH#3#qH1GL9N019K3bS%l{o@}KH!a_?{*5%b6(K%+~Y+qLkmlalvF6VS66 zmff38@NWDMgfh#d<=Eht!d8$b6LR5k7bv$xzVr#&%cGXSFpi*ymnDd-KgK^f+6LJ* z5>(}at~0No=+dUIT=YV%Q0gJQh7sW)h|5sf0{{bmdu{Q_PeBJT*s+C>#{g-28^6`H1 zsitHO&NCt!=B`Xq8fQ~wn%9Paw!7PcXh9YeIedBO81`EAd5u8#*=1oN$9(ihOkSh` zy>FIlVQ#Zf;!p-&EM15@)d=dDJ8&ngGml_)nMta@x9Rl2K(RVy^+S!1UA@ASo1*xp zYkAq>C+kH)UQ)yC7Z+8T2WMXY`OQeV(y4Tw@RhA!mu)T1PV&>oJNH#N4L7x-oAwSr z?nx8|1q^7dlTLV|M7;UG%^d%D=8M#?t6kwga0`fTNvL6%a|sB%2hSgEHyr!a!G>d~ zfcABHiw-t-H-^Z$)i5pFUbutXi(Ios#)*k;d$U#1S z*5AGNt%g)k(~g-1Ptd5SL>Gy(qU{ol&6-b+^?>5e;g1}b z&C*DY$!V|EG9gE{vIeJ;?@*%`cQl5U^0@6?3gu`J+(5$>Oy#tmY@3BZnC0U?5?lbl zHPYi@3CBp4(pA?Nq)HG(bLJxnSSMG;RiB)q1~m)GoBrw@t!>pc~a;*A)4QL{+G zgJBZ7y7Q3x1Gt{Rca_R3M&Y@aGZ#LXk9_Zb?<<(s1=oqfV#A*ZU?GaH*%r zxrOByH5xX1L}t_Hrn;}XM&f3JTAUK__a4vAXiO6I?n(&V-%hze0(cFwVtkyh}y4y{OS~`)yTaZI`>@i)!Q?2jSV)Q=^ z7(<@EpM(U6JeRGa%-!2p_ljqZkm>tSZE0oHmKow0)O&dinNO_G`xZ7 z8(igThzoGh-JMLZIUdTJ9gKX!(b0cM^o|DV4t)Do9-&%NDLhaB^Tg4J@P0du_^j}( zuWtaZqZ(Ssqs@L2;s1i9vT-POKetmR-oq;-DRX`eJS?82brrREf?g$u(c0yTP(2dd zY~2@~5|?h1NL>|dviGta&U)DHKON_(*3N*ySa*DPwTwfLaYVVR`;rc;2IqiCA8QwLFc%cT`k5 z{E=d%c-yC>({}mW#k|`}WrOwuVh6T?Si0|JdeF?36~QhWExm)nt1+EF|K-Vl{Qk^# zYu-b_%Ep6z@H)MpNf@xQldTUvL%xwSHbHBBEC0pHwhf*GJ3-4(ux7ZDU}NAu$(1P9OkCTMAa@!a(qyMiykBRoYU`5O&4#?YibN zs4X1*rrWV;w6LJc+DnN;?_TCi8W+4ZsLaC1-(x>KLZmlXLpxr=O;Ue+yr&bU#NiHe z^aeG@?2)?-^3^8g{jctG zYUr0|RFKxj2I~-_+7j(th&-!L7$nkroN<$286(9PHpso0TRW4+$HxbH3%Ar%-A17d ztKNMKmQs_zsffMTfOWxo=oqSVlix)=U$9H)yv+uQPIggsT-L5S)gS0LK}3VxNV@yi z>oA>O&}mZ`GnCOW(2e6O~#a5e;5^HN}%5EB6t+gc#P+DwtkvPLRm2B|I|ST=c^GUIXCagIhMo^O8{mwqE= zJ|&^@K2(fALN4K_)6Cqz?gOr%T85aqll7m@hKQDQV#@VY3JHo&!jDA}J2KdejDu&L z)_a~p;c;5Ra(Wm3HG*W>Woxw;2%9~bV5&G?4tHN+eHxmf#(GS8jJgIgth>=$xB-nu zq?GJq5=A;Oq|jB{;D*!u3bkhJaep@RUj*{=UsK`#U4b;VKUIpnFZ0Rq_5I~!NEloo z;YOAlU4aeM! zAGID*GOTcW=SM301i8uL*KS#L^IwsA6=G{jh%F-%W>fVRG407Pi(-vNl@ppSW#Nig zgngeR&+a}q9^&E}fCj&o9Qs#UZBEeEj?W?#o>JaeMiS>>&mCR)JFH5zZq7?+**7$~)#o7A zEz(BT3<9fQV~#+2*dXlb5*nrFB&%BK0fQZAW@?B*#5BZODc^SxW!tqRDGB|ik{+ck z+C14Slx@hz#CA+3-N_m9!pDa?t1=6sUG*D@7X}JrtDWr*X9JCDq=aR^6Y4xc|NHmLenMgJ9=~7l+Wxo(?1-C*E zQ31(a??>?eeltDXQA9uE-Re7C91%2z$=fhorykv1a%o}Gdpw`5pNGB8if1ql+n0fk zLmX=bfos*uwvL3&*kPh(sZK2~M1tHB1aYtozWruDq`6KjaLvz8n3p8aGCqGtFpunhw6@z)G4BapRb% z2^Jw&-ZhwXIg^WIE~!YX7Xp=T|Gugo-y5Tv zcgWN|Lq40RA6!~vQyI3+jP3}Y*MO>tYkQ;mLwmVJ_cIYOex~oR^m*$&d2iu~8Q_tG zXH4XiLmd4k_GZhkNPW*OHoC})k>k{`^sL1!Q_xxaNcv@FlMvG~L}pdMGw`Fd`w)}O zo#!{l;KpffDGK!Y4Zs7+Fp6Y&4rMSXYBGMC?_D0owhsNpr(+m2H-TA&(cz~GlQpm| z$}JC-_S7Ft`goa5WS#?*wBF&orwf}U4$X28)ttv-Ky|-+=}zcsIjEk6bn#TqzJ4#T ziBs0`&`;XcpzDNu&(BW(3;@iz*@y{jr;9qV6k#F_kNxae4*I^%*-a973>vXb$A&+y zcF8AytJcU(16fqNifDtnEk66^usGFJ<2SU=0iWa>_2ir*XIcIEG3LQ1?Nw)cT*o)L zFWzRmNqFM@#Cd0Zm-yuM{QymA-Uujec2G|ir0J-oUnjQmZr#~h+Igp$aRpDYcKolN zxp1+P74id6dBJQO_g7B(gBHo9Op!Om&|eEHIZ}3$r(e!AF~W}uK0MLpm4)`pbI!p9 zxp8?-EqON*Bcu}p;-T2U&LM*8%{xD{+D`!hy7thoydj^<_^XGrzcS0rm%}w4FBw2t zc?P7gKy8UR6Dkfuxa&Nfu^xLN=6?RMEyi|gN5SmRCEdPwKc{zdI#qJV#4V$n;Px7| z5P{A3W~5(ftuLRJh&p0uKt;$ao(^OJ>hHF+)U#fb;;WcTN&qMK4=VRD?qmeKI(eQS zR0KOpqz9W}V7q&WY4`8_MK6mkG|km#Yo(*0_W>hjm_~Pz`2NM?uUW;9 zFTU~DAwm0E!4phj`B*!MrTvYl?xrvzbXOOB5e|w8J>vKDYS1CYlY16vRZeUpPc17( z`AqHEwaa05YcmZ+=3oN#&Byq`MeUj|5DDIP_iP_rid%&JQaZX1?Xm`m+Z6vKBBR{s<+h=TNy^)8CS#m;? zp!9>o+VA^P{^CD4|G_mSBlB5fdDr0<7M-5Sf_RUIEt>CxDZfn|;Efw=G$3SS`iXop zVqV5wy-%KyE`YEaR3FB08z9VxWjU){>L2Wf%{`IAM3Ac}v*_$Z`feNzUUr_iyKCTF z#iIZ4b`9XlVa-d6n>;2iG(CC|zRPAgXju8C%DgN-4Bq|vNzkcE(>POk`%^|47;FJ%1!&A-y+ADTlN%2lmda3u3tZ~oazmOHi&YOmvJ_>jLGZ(7JuZt^_ z*X1*}bVADRuO-z79%=8{J`u_5Upe+A8&T-&{17>VF91Ns7~gIl&a|J~cYbA&7*wH4 z&cY6Vw#kZ^beHTo2i%^>q#$?N&E@Pjn#%f+%e+q5*P1i;vp9MD|0p^nDF6U>9Ez$9 zUCL{e_TGicCl8Q|Tm5+R62I%VzRti*kvXn!opxdnp%8;Pe*A2|#W3xA;nc3s-CxPg z{D7v8@l|{TIcrXCmOC7$V9V^$uI`1^8b=p3UK*TNxZN~V&Hilk0eIP>QKxi;Ixao{ zv0uuH*;`KO?2+;qjEbPK4^JonZgkM?>nrwuR&nh3O^80cZ$szQys zV)A0g^kh~MqLnpp$2GafbEVe&{>r?$jRZxGPQ|#>SDx-A=J(OO)_hGv3E4FPIx9hW zaJvnAH^aOsT^-JK2QQhtoU|UAWpY8OPx5iLeulkRnIzwP#Ea0eN8q%gAN~E32{-tB zGy}QBD+_H#DY(3MX!s^A z73|?UPS8+r?Z=&JZ)!ipRcuI$?p+(+H!#F_YujPvEsuD1J^ z>H*2E)4;KIJTeVb-4>K;u%A_Xl=+HRa z_j(xpP_P0gh~fgH#Km5cH{h>>qIPPs<<{^H+b#3tITc@V<>8O2qD2W5uyHNQ!VR-k zAfX(ADAoA3ny!oM#y=$`uf2#?(;~Zz9M=24{?@TxE=jFsuS#qtI>@&r`=;q~3hmBn zEms2NuC7a3tr`rBZF_k>Fe!vA_U3ALj7*(2SAc8^zPh!9uSF1Bsb56H#pJ{=2+Qd3F*u%8Kwd*z z*G_%q`Y_o&GA&#p*IUrQhnz~&DG&F84B{3>jS2?IV*2^`x|Xt%JK2x-0W?yp9yPe1 zl8foku*|8q|4)1G8P#O=_x&<6ma(8B0!np2K&etfFEdI&NDbj@yLJLT*3B4E3<@}%fzW-;fb6z~pd2zou_kMM)m8_M0?dXbjhSvViHk#IY>HCVUY{MkUDNvv*r23(I9liz|N>@43@J zG1NG|cBJV`<(f2Rk-~gCrZ!aYo982zzy}RwTyfdZxowRORj-26!i$kpzjQfep#$T8 zXZhLEjWnF;zJBA>R?x`Nw=Qh56XgIXfS)Z9J_7%>{PCN8@>qNxp)v86df71EM?($OcH*G*=;<1zLnR?HyjKvK3pUcjT@qd;b&;OHUN2BpZ z8-kZLijjJ(wQ7W}HXMt*w=jv?5(A7o1%-W>0=pWIj7muDVLlUs!(a;*BkJt^e9h&$ z&p~Y@P0CfO$aic!5w61b#=OYTT|}$}(`REPs!w*)wY5eb-aD$k3dtCn#D`zHI_Lzv z(Zwriqr$JZU%qnL1jl99!aUY|iwyBlu4ti9ba18%9jvhCVBMbO4#(%RcFQAU#lv~~ z8m~`4-dL*lpMz;~SXdHM!k1!6QEESDSJ|vBHMFPHBg;J2mm7HRtOIu4C$1x)fo{(f zHL5lt1;w4_vhqAJ8!IY)4`WKS>JSCe+T7B=m$tUHm&UxOBw7ote!W0+Qyl9L4+&~2 z>hfk34+C?t#7O8lQS2|Z|5`yV2%SvVzNAW1poD>qM_Gur2kW*mi!Gy)u`=gBahO7M z^vylpZZzH(P$<#mW^iz03R^K+?go}Mrpve?R~gAQ)gg0&Be{9!(0=_)-TXu$tlact zuJotHOE#euQ*%Kf<^JDT_>0bXG)H-jQ>VAzOu6kJ^5;loePih$YDV<$>D+QS2>H4{ zu70M2?-mW)T#I8A7~^HM-beXl<(G08nPeZ*hM+cx_!Ld=0!t>YGvY@foV)nHtb z(3P&t<}I-Ns?n7DGO5_63Dx(Aprg8*6{p8onwe;00_IV;^rCLqQDcOE&QC^{-H$Y|a>V){J zvoC#h^uF_7ui(l)iBHA=Z5}3%@0dr9-=~I+y)jJk*k6{pMbU^dO*-cu3guQYaCOeJ zp=J~(hkY`f6Ix()#&6_kcBAh1Y=(usEjtx(_nkV8pZoNUrA;H)J^9#s@lZY638UHc z_()@Hwdq)(^DUrtP_ODbt=T@w?w4y5n9BVGedX8i3bSArt^Vk&$i*=FOw9iA8gf() zI1~TAW&TO7?evW8nxo_1(4F7J*>BN_?mJtmek$!x2f7V+nfGF1ElXa(x&GEQYagvq zzva4{6>3o}HE(gSIAB>8CtJU8;a*YG%;iNZk6jEkJAciUpTDU{lO7Xt)HDV_RL$9S0794K2#Wpvgo~AKUk(n^_g)io>__A51^zyP5Ly(LF-D+Tac90NZ=t$J9Gh>H#3Odo3`5Da^e`iE#`VAc*wIq_l_iYp&#S+- zhGi-mjpZMqd@VG7h7u0)xBETs0yX`?F+g4QS<_B>j)Xnu=t`5>ldnEg+8OV_kw5@? zGX3ymrx_`rnfYk8v{q%m<+}3;>;ogZ&hep5BP`UyL?7j=a+X~>)VjRv`b$42FisvA zUBWLc{B%kxS<<%f!PH^_1b4yDV0c7k=H%w~&5?|N5hH zE$&}|T3Yo^b{$Y~-(gHSv0uJhH+UL^E$2IVB!0cw*FCDk>AlEG=&*>h)ME8@Z{{Xo zmV_v#uD$j1uD%PCaG{DVC(c$H@5z_3b~1wmmg^Zl_N`4B_{|6mHsTQGQ@wfrS$Jf- zb}NLfSZhX0OPLCXK#Tgt2H4oRACG(&)BdpS#mQGSGcN3qy$R-M88_!{Q(r0p*4?((;hy7r2$4TtdOQSL;or)=BHWk|pM9Ht*hNp-Ac2MkVN!{?i#_wG&BlUA zM_~^jyfNZ;fE~23TEl5^G=gb<;1ICo>6v*ap7Y8}F{iJg(?^PgzSE-zd|y*{)H|?( zFUyk+vf_jKSI9@Xy>j3Cy!c#l4!#gm{`2B%Q=@bLE9ac>kDBu5J3vrnVzvGY5LNxy z#2_YZIQkh*NZt4~u5o%nV_H`nN>fq5Rp>Cq*$_slpqzf4RWq8{%4ue%p4?yMpC1EatJmj~l-C{UiA^>=n5^m$U5h8ao?F0k6iizD9PmIgHiSE z#RKi0g?*hw*`8B;Rb*#(gJcC~5SM!q;SEX9&gHK(-rjkS+On>w_UKmJY0TBD>5fE; z9_>AHPi6)*-{Y;6_ZyTN?NijtPx2}0$Cmjam*i&iqY>4RIePFw;Bmy2gK}9U)OaYk>DpR)`nF-`rcusxil}0(T1xe$#!ac) zWX&5L5Z2wHfnpyY6!D599kOFvqENepAiYrXUOVG&%~F%P`l4oZv_;`hT<~~McE;*6 z{7UW1YD575a9H*kNk6V!oznR8RsXUbx`^}Kvws`>X6kXW;;f5R5>4Zq;;R{u$B#y5 z^d2OF5E7A-Akz}gKNJAGY!nz|Nl6K|JViE7O5F%> zu%4|Wu)6}v^tg5;>Ow_L(P>ZfHE{;s2IVJq}YT!%CUNZN)JvCE1h!H z;MiO_t9bBujPB8d$9BB^@+e4<=Pwq`=+77K+G_Uk;29>TAeCZ)a}TH?CRLf-p$VJ* zS{42BBt{?Rd!NRA@6%se-e&>ZI(a3qRdkL|WHcc^F^jADpfkF!ZH3bKvTH9)ev=1epftEPuJZLZ$la8exIc-X|Fuf2VA2dG7U=7zxJbJCK=>Gn{cyP0oL6% zZ@`Mj;77eA+_3!e`+vvE+t{Prz^}K!ARQy>tJ2a}#9zyRV6To)bB3WbAtYXdnK|e8 zQnA4-T_`78v8s%8%##4y2DOZ%^XkW!iA!R(McBgF@=wNB5_%Fa>A4BeWR7dTa5;ls zkap4)EdvAB>-JkmeaxGruG^L$X#G!+3IdOhOslZzxJgj z|5RpyzJIed&f(nPJ$Zv5=i=A$bjQLTLR5Vr9i1h5MSxxe^$0xnCsZ?oEt5=?6)nF0 z*C74DOG!Q-ezG`n*cL_k#)my~EA5{JdSMtGlt`5%#rMLvKLBKxa)!n{$I_ z9F@3%cDBrRsJJk z`Karkgk{q-3rVj5OSA=3UEGIC3H}@wfH$ztDca~@)tBX|?*5vPnB&4D$KkUw zl7(|ICy;JPNXC{a2<$vc(gYKF?5*CK)yYEB_xx+maa%U=4u-uy{8Pk7Q{xYLzWB%+3qpoZH@yh$ruV8EBa1EEYbtn}Axf;V8k~TcA*1*UJ zrELf&twU?Fu5KYViDr`T z9s6A?OrKU^_5Mh#eSj1x0o1hRAo&?4_o$`pFudQzs>i7NEUjps=9tYYbFIA^sLzU! zX*256J3Wi7nmdcNn(-C{6jsR2fT3M#iMs4Dc@Km_ICWXESE<{ z9_%i_?bsBPm6OK^H_Z-AWoq0h-IGH#3FviUli1jW?|G>IEEVB$rk-dG&r&`C zn-y8lbWM{^RJ@^zisMwgQfs%7_%~6%*8h`1mskssBq=0_{Saj~etl@#z%IDLRBH+4 z?COXQ=1&(Bw=Vp~vgfM`Z|nA<@s;9f1{4@YJhYkkdX;u#rU-HGdfeEU_PA|wXRbp+ zzw1OSlbOp?5)<=2ixRl>WamhPgiNL3#iF!jUZdhwFna5ya$J;#|6gPBkRHnfzOipCyf{fK zo}q4J+&?Fv-~fn3h4=;^y{yJ%Ky2AYQ1qs9P)2$*6RSC6GFnQAKfFH?J|?r#b#H{b zS$)cx=wR=qykU8N1?BiM69SI4^&rkZ`6Fe7^q}qi`uh{|3zy*?BX489%YZ=Vg71q& z+uN(#`q#{7gOrDlExH9omuk)V+P2K72TyC=ROBn*q1#KZ#yDKjfbCC9BJ!{6!irUb zo0RWlgpoxLkO2AaCeObB#4;N!KU{H79;3uI%m@@|>8|xvdmfKU8UTb)2 zym+}+XS|b)7<}~h`)U#%fANF4AnRS=BPqvqhY%ME8~{riwJ+TV_+PP;iN#xUv49AV zQ}wzVd)mj8X7{?mZaW9bPFGJ^8$h7ee_YYQXL|zB9rkvaT#bgo5B)@Y49LyZY7oD~9$=R$pJIVN-9haz7tGuNBqUnqCDjyPb;li{u!@;2EC1+!!*UaedA$uNXB=v4Is4CT zk_z^eK}O$L`W%##0a;EVwqOt-nHLZQ3l>7zKYd}j2E942ak<@h85!E*=h}c06tx=u z(jkF~`iz-}z|}6hS$=LnDaj*bct!|huy--6we|`Uhw1o@m9;kR^5y$bKQWY92Ctjp zti_PlV^%oaYJ-sFkSO>d_7_IB&95vkYR1!GY5FN#Yx+=eb77EbhF*s>FZmio(AM7< zjcYsyUr^X|GlZ+{BBtwyAA)v-apWb}dx&N?O^C?Eyr< z1p*2aO%UVVb$t0d%TK9o%9d}+8lYlj7dR`e34p({9|`6y7Zg?4PC}|(2oB_O*G^e| zPnYnu#5P)Bh4+evRsDFY!Jg!&P|N$zAwsy^@G|XwuVO7N87dOqf4OkjdIkW9L^Xxu#bp z)vKP=Q)xFDJ>)t*mhxob3(NJ4uup!O2=~z1UAMftr|QN?h~-a?v2bNB-_M1GOw1~f z>=e~KRHGWex#8RmY7c(jm^}a5>;)r&Zij(`6RM6(A5%G$6|0Rw2S)zVR&^>91gGG6 zd8p1OZjH_GHI|Fb9cGgQsY)iZktNBHys9s)4kgC%!1@D*MYn*>|;DG)u^}oCX~4nz}$igN|ZJfNaLq`yHPwpRiSVVE;W%s z?)4s(J62g@L$n4=-0GV9`8a2K^Llz&b?ui@@-?UUL z9-pLkEurka29lrs`w$17+0S};EGNqaVU@JU!s|cliySZc@1&%4cOAe3J|4oOTN}^A zO$1b(j8l)6=ZH;B!NCGzM75-DR<3SdW^-WEuVa}qA^74{{~$fly27DPvs#Tc>O)jj zOupEeHIL)E72HdZI`|=Ma^?xlmurWgwQeg=QN<+=?e z2+vvT9Mu|`8ARVGb)TkmcEh&2emnys7E{yMZbE*&;#t8t0aEsUtQ%hT$*E>~2@o)S zY+GHqKl(Wa9ab5u+@xFBnvRQ1?m127TJRX1Bi5ChydO>SP~uWfUB58fqyFAB!fJy) zlenohXVh-e6=z!F)jN+m;El|G#K=fNeVxGT8X6-Ng)E#9lMfqy2NwT>MIj3k8Y}2U zD0#>+tGYMRdNJ5b@#JRonr)GxqMMocQ*70-@f4Ccr-l;=S_X zRgE8!{DOeK(Eanp=gEO3k>%c;zePTrw|QFVRFrZ_X}U1pT4~Nx6)_8*1%pB5GK{%_ zHRfXwk!(Q>*VmKPbThb~DL=H6%;7a%|71?Panwc-RIYk~v zPwR`q_4wLmCn@@*?%cbL@5y5z!=%_-{MUxI{+CXXU+Q&e$8`f1g>YeFYE3R%C`x)& zRcj+-WW>K5f2K6IzUE4A^5}V4=-3CKG-i0evDC|mLBG_i>h1dS;Y3%4OGIG_VUQ#5 zE#M-JOcc?-xLKu!{BIz#!A}S@kcL8q;X8kRV8oGC zKiD-dnLc>~Xk31XPOBTW;RfKj01|Yw_OhZ5HrF43MAQg5M6z5MbP%;Iy7Q&-<@2}F zpO=XM*3g#(U=0DIH0(i@Lt6?xeKR+^AX?(#-$T~EKAZTX6D?d1J{*t;mf=%X%nOrr z{vWO@*fusDvLxgd<`tx*;DjgbzciTbN&9jreL0lj&`vyNm+8I)Xp{0Y%*2$Y9q(CE z#g!6yS|NpJw#%Xik;FP_&UNXFx`*g6-25H?0tPL}vV0?T=E?1$y06_x*BZJGTv(&& zr-V6Q%gYld96f<&JTL}#Q&*~yQH%Sp3ul@vu(GKQW-K~n^Ox6t9LVohQ_z`h-|!tOhTexm7ip` zh4b*skYc^95=6hr-9#O|eRU?Hp_@?C4M3$~i3_NvS3nB+dj8u@^{Gn}<~H`VrWWGn zYpDBpA0wj+#V{zJ-%<@P_pI4r0~8MHtL%%S{mhupPg z@Mx39kmsyKs;Hi`FIb^`6Ary3Bl!q^L1H=38o{%-HxBDL>P3b=Q}qm*lKU3SNd-}x z_w<5d!_}+RnnqQ%RUd47nZ^GR&r2&?tC(Ju{J__Fk8YCB*yjo?J{WU1E?w*Bfb}P_ zT0WXPk-70k?kDG%ww^uRYj@k=RC&)m*i+@ZcoyU}qli$<&e{D!x2y;Z#ST4GMVzMwG7gH^VwI&{-eQ8uz38d_qKq z2t%tyO=)q9W*!A|hck~&{ci19ZGB^LE334t%27;t$?h6#evtWt$-e)+T2SG(7FK}+ z3B3OJ`uEP%J$azNDg2l>CFYLn2Y)%DSY83;D@xlb_qkWF8~Tf^bjaA83~p(iNsdM6q%*fopMph2L-aL;>x`WuT>{_%%4vzOPEPqGig+LnU+D{`8yANoqu zuZexy2<)HR?>>`$OlinGJqYVAe7WRhD)6Q+OtjHvGe|>3eyl`Z?#k8S>Ek`&)o}<4 zR6)t-Pzzq72_?}KgsxwP+6U)zAG4??4yt(!YOm%K%1IfYcY&mqaY+)fFDNB>#H z+e*ai&5N2TMj=fzJL;;V{ZnsGYEzkSIi4S=Ep7z^Xi%;X%aeUCPc-L;ntcBC<)rU# zfBpN*f6e*ye}AE0EXjj}L!Y9LG`))9VE|(=57U}TU?P-#4DV6lftU1LFb^;;3lW(; zJ*(2NodWc5$&iBJz6ES3qW?JP=fNjSs7o3jia9=8SJ1AiE3Y#Uj zbj&XN8%wt&&&}3eUz=>_xj(dlOq`6zEtZdWfq(q}V;PM}sC+t#j=tFJnfn^UHRj^z z4YWc5HP~9N z`@1w@Xnw^fF6ab8H89SK);tzE49*N5IFtP<&8Zs4PYUH2o`Sm-IhEs!!UvvA`I5At z9_h;@5Y9K^63!({gg=2X_Y<*M**Hc{Pz-SG@|85S=`B?G4}$9xh-4VpdSwaMFcEDk zADyg)>IM^-A#B8%83|>d76gF^UWf>G?@RtXT8O$+yC;SfLuJokPed%laq}`r_9Fc@ zSTB3Nao1r-^`Do1y6$%ReuUJk?^p44wYX&*Mn4dH_SWgq7AO zbpuu>8=_(l(}}fbiz3*{U>pkX(}XE@8dM z9X`MjO25_YcS>YqM;C+av2=fppQ*z~2yeT39vX9@scGhHPWG6*el@y$&rJ~Z@xm^C zZFXui41L|NVfvl*o{D14KYo8PY1s^he_~3C#Y%z8U$KMza)U~}zii~0wZaE5q z5{0a_(w33EaT}gCb?F*F1bO`D$iD03osj4=tpyRzyhOt4YtMH+Ww?^89a#xCL*RZs zV|Kc%acVr;2lp{;avPrUZmU;z8dCL7-}zx`n)mk}H($LjB0p=LsfjwsLGSM}tsN$L zeSo;}0Piiw-?NPLy4eqjCT~&nnG*`Sy~p-fBt~w|?BV&}G2@&LPi4q{)KJXB#!ZLKT+&6vA= zPuk0(-r17^gL6|`lOPALRkKE=TTpP98vVWtDg~j-5Uuaz2~*$`@HYj;tCc@ zRK&P_9qk5S6u1}r)lFN5aS>GNN3)!BKnGD#zD=OXbYjWCnFH%*fEW}$mz$eCi#RVS zAze_I#lYORMb-2Nks^n*fT@D=c&-P^-N{z8d~Ms|GX*yi3yl25<< z-X*ywA-X*dya<+G>FK~0;s`S$cV^nga?NnoLB$!~hH=7)20uh9LQ~P<>o!qru88Egz{L)v2-QM|gt6(mFr0GzoT1#`DwKPF7o_AD;SFv2tLjwcD#9bq! z-v#V0eH~v=smm|9Zb2yF;;_rpLp`Cc(+v^MnVqe+HGa|Z8zjR&_aPhz6)1PZiA#!7 zg;Wq_Bj-A8WUwT-K++9RuKGh5pm|E5hFmXkuVi&?C2C-$&UgG^R_CFUEz6No@U@9e z_l0zd%#8>*MBQNdL-}5)m zq>0MrOXy*s3PY|*T1LRlWFveWmSK+~ICqQO1~wI?fol z{JpEKjReHE!u5^%`jxnLctAC`MPZ@zJHM6MTGWEh$KsUpFIQ*bv)Y{>Ba3NZs?UPB zkJi`4Hlkdo9NWp+O|nZu>?e}4`QJ$D{%(vV>9uA|Aj0)qFR41`(w26h(Jf}ED;`}rKq5Oh$WP{F2;G*KXkH;ifqtJOvzKa z5NELop`Cvb{KdM+x7?ESu4;sS9%kVwV_L>t>-rUL^hX}mBcsm5nFNZ;DSs)JE+a?? z{Khg?IL)Z6c-j0S;=>3@KM#TyFLYg=NmOS4*huEh`4OAKy=N`#h5rfic?`V{RoO_< z@dy!iY`b&k?e=9HjW73B%}~aepaMd{dDrK1P?$FgLA!otl@49+VC9&0U@C$my~^*_pMc2L!W7dvO?;I zymTBPmkUaH)S)XuF{j4Zu>qhzQ%N>9B`Rzr2AL(72iELAw#%q7=I(21sp}NVPv{R? zSMMUhnT4R9FQG-34maP{YUlJ-wgu-BeHx56ADuFGGnDGYXPd>tJ;@62VvD|ytD#fv z9=?2ZU+~-$fL%k?YfQ(1VALHdnG|xAGXDJVObRL^H#!2;E5xG-0F%{(wTG<E4_&QIKQ49S@HPDGUyWQ+;sFf5Z&^{f|u){;i& z`s>AG9pTVgm9CW_A8m34aSp;5nnQq!;mi^N<%%+a;W#eZjyXs#3o z443ocBd$(sn(%NyM#M#VY<^xXF-YJ%)c8y5=cLW#Yp6|SV`F2`934JS(IXA_)Nr(e z3MoyiBkw|aPiR$S=uXKqqB~eYtwC=G=`W5l&5veQLFNu)$2MeK zV?`!{f*xu^RsspB4cV%?Q*v8v5rs168xwiL(Ul2+hh*l06)DVM`I_ie20Z=1Vww-Bp;$ZY zK@e+3r=hSx{v745+s=*bsD=Kv8g2+1Pt9$Y&IW^34k_Ew7khLb&Duj@QZ_x-d0bdk z%+?5b-pXCa!xLR(qyzFtAQkHh3(cpkMwP8teX*gM4^sv+$E_qap^EuY8+r$GsIoOU z;Ee{X(cx2BEGKW<3!bm_I2x@*zb=DS()}S|H*!@#(x`-q%KgdWvvN>Z;q>Din%$%~ zk<8vNTTbyFwWC<#+L38(qEr{u}`ViA;Pk+*%Z` zBAA>RL}=~bQ*g5Ir5x8tq6NqG7(tNO0GSW_|Qx=y@UC4Q`DNlr0V>qY27{ zOy`0^623E%AP*dBrbP{N|L`vGLxf*nxB1q#z`YlCmz}G>5>Y}nvSfL^_rZyx%M}Sw z_#9lDQtrictDD@ko6cb-?HO9s7$W)m7FC+2=@^-|er3W#xX-oRssVx#G*nyc?-e+l z9)fD@>>Dt?(}jsHVTbEt_VUxcPRVN9qub7uw`h+Sq8Sac46dAEwO7q+U24RMykdOp z^OBE$Gm!d(pdB52dDc|k`T#9Dex&{Rb6T4BWO+@UP}8ZxmNdmS$Ij{aYzW?msIi(y zC?nwTd6Tj5uzw3=zCV7Myw=giuVZ&{NXGtEb)c!XsCdTk04j&gVBF%kmm9b-P5spX zylE}+ZeLa!11${ZG@QT}*scKTg(mKja6VPaiI}dT)BrKjQ)ho^Xm6yfoAVn>Q+HCo zd+B;j-P`eSh5{i(_z#O%)c7)A{h>ln)OTvADuocHt?Y=B#Ohcon@Nn7>$2Xv_@+xh~K)WlC!25H1t3!Ff{D&OJ_% z_lv}&t*K9BhLo$?mr_gpuM>6sZZ1Y}@BS-%5#lg?9lnxHlU=TLX&9Q&Gi61HjBY!+ zpV_LxIuWBE1hsXtMuwG6e#TN)$QcRT_auldx8*qOLpvTk>)~-!k5JLIb=$%85g}Ky zicm#5OHHDF<%puXpUqdj!U?XEyqJkL z;$Qe6@)nlrJOtKJOz5KS>3%jQQP9QtFpDfPTH?!SR(1p1RvLH5@vp+!Ev zF2gG$#lt8?@j^)$fyl!PoDQKk8;-nCwSrztQG`|Dw{JYJiN5KU8>2QQAP)h2NM1DD z=c8PhN?HFJY|?Aq#^Z!@zstrc1g@<1Wn4$0w9mn|4%~F3nf3hnVM0nas2W;h$s_D- zkxm35+1O(tF`=o^=w1%05pb=1H%Cw15KV@CY^J2n#c}vvxs@d7AmUPi>+)QFL9FBu z1EKvL6`Tu#7$ag?2@2Md9AFrfD_A+|>%O^d(N8W{|#Rq+3xjt(3)df$> zde&V7ZoGai%i5r%^`rMgblkG{XQBsROF&(rkW+5K2RoaqnRW4|E(EFQ+TBS{E^ahd z_I{1y2{c0vt_t*cGf66>+goXqO=7O6zoq08v1Qh}{zTNARuXi)m2oo3N|&b?S>n>Y zoRLMr(oRNY2f^~cPE2nsj(OL-QM~~SMfqquVz`L?S{Ax_C|LqH%V+g1_akg}P>*tR zgYaG^hSsZyk0uIPa&`*R257^i6N%eNTrvxhi}MlwGggY|7Os_5&`hGE*t2`qRdNI zOd!nxGJKdJLv!D6EQp`7`20b@)LGFwk(pgLH0vV>iLVMT9e=nxF5%6OJJ-VT z<#T1lFk$z;e?m~6l(l0W+#8WLc2@2pR9Q+SeC+Iqr}9k}Tj}q#LWuSK;Z+yHEH?A1 zdVYE}AE$Qdd2B3da1#s{x6JinmPNH@Q4!JtH`A&-_)N)7!L!8fvq{uv5%xdSuo=c=m9DfnWAU8_)bKj~o;!}@iC4XLjv;@#)VY8m_ zpv@*jdoArv!DWJA#`_GF;d>jiDWt>a4avx*uiKBV3tQ+aI;mkZR4ObeZ}+WJhU-Wq z+3M3QIS$2x!{o7C_Lez$IkX*T&je#_aS6GT0_pM15(CD#32U|4WZtra^5PFr8S z>SuqdPpnFkRc5R{TL4YY0}+b3QN0UJq7DCDkrID!IyJWM$-YO*;NRFHA$&( zJ*FYgr`tW7A4ltL$n((gmL_=zXV?Ah)VE(m5Ol4;UnEBhjEoX@CTOr#ryN*tzQ zqBYO$g*LHfz$s~-qqNP(MR|YItg1#3?9Yi456*W@dDOHCf_z<*h+W0Oh%6E+Hz61k zQBTL64PxhcDKg7f%e2PZ0A5$Dd7d@=>vg~Gpps9iLHhY5k_Aury;vXvhOGS_=7>F5 zsC__6!xan*uZXy0J;xt@NI$^5wbQo4=v58cs&q@9>m!7xduaGZl`BUbiRS_SxLW_q z95KP(Icts}oJa`SjEN-3G~{_NUnQqI4e1>^1m`6KM;z+_0Jt7Ss9&*}k)I29KfM0? z_ekTv3TKi-Lt!cD$$X07r_^rW8B*1(xv-Xr<#g00nG~LYRkjg_bD5S1O0)e?sSr9r z9Gbw|J&B_qCz_4Qn`2!FqRFP6JI*XuAW6Z{=MqVu^{aTxEv2u-F(uP=CXnYI7>v?a zg<$^hDY~6J3^L_VB9b2_?nLkEj85)(Aykoy)QlTSE=rdeOLvKy)+<(LCNRCf1EvXt zT0-G7?L7A!IX|n!UU5^AiFDKj@xMy&Z@?i#>oY-uK$;!Tp1@%YLV2YtzaL0;bl=VO)Imqt9g7Y)I{4$R-5_c6mFS|K&oTVD>%NK z_+U<2d7X^ukfe+~Qeo z2(bX$D9HrveURCr*t+NEJ}C|NC+_*--m>Yo6Rj?jQ*BLVif>RpSfT18qAI6NTfu}LNp58!PS?Vg++nB(?@p>py@`zt$H>8hgQ z2!rC*g8Hc#n=_YH`W~LyvHy)_etXO|K=gPQb~vnPB-l!I)0;OX2O5KBBxHKKVuD9d z^Bfs$Vt0QPbvG?J8b|wc>@x^NrKI)>XXXsbcxogQn)M9kT4*nV*~H zO&{d9-bU99!8ZVDU|COJz?`R0dj0YS4ilMIe9XCZKf_lL5zmsdI!F%Kfl+HonMW0j#hsiWBJW*E+=IJlX9hg&o$fB8r9es?pBY85=`#NdJ3IDj|BAT@h83KZ$xIYsTH<%g2>Z8jGWg21F^YU;TeZ45Sy1I)(x-$r_Kc- zdn1)w6rKG;?TkkZK8@h24jq18;HIr;X}F$>o(?gY?KrZ4m}`mk5Q&U6^bWpqK}HGM zk`7=W$tUsdc`kX6cEv*@AE`eOSc3K|K`ZJD}{z=Z?&b3<%1KTA2CFpu^j4@$<3^cqnt@z)4)QzMAN_P5rqIMX&(YO5%e}6%)D!E?&2-q^){9~?vk9$ZTy}5J zJ6a)4D*}RNAl}M>?(MTK)&8vF&6k0cBQDkFWzQ?o%96kVq%K@(th^y$3NPy%JBI{8 zAQO-**P8*x-H5R1*Jp758s!fc6N~R&k&CISsGJE+bKYtcXSL_pFg6}64qmWrC0?0D zlh&pA7yEv*7^PbFWM*@TRCG27S;OFVqb?Igtt(1D4rscrKCW^&i~h!PaTN$HzqJ0f zdREkz-_StXTbKIdA}4Jhpv7?+)hWKX+{H5XoCBV+9NIB5$ zqis1O(!&IG)NatOoj}&)0@(9dPx0j7TD;fK1}9h2$dr5w=%uS}7zwCade2`H#!=#% z5kfUKQc05Fmg%QQX>->8HNHsIs1B^C?9II;9F+~M_GOSzNGc=*+koPIJaj;C5^4nl z-1(En&zUQu&|1FGr`7RBMuVrguvLcAUR2j1r+AYfKTzRZSVDprcTNOXitqV31RQFN z(QWW`^AkxmsgQB2%d^Sw=pSV!=3YLh%xj~}WRS>vl`Yg9$$uZw?f3NV`rDXbt0Ic+Ttw4WSDcB&NqQ zd<}tP|GCNN-3_d~PQYU>nu>Z!G4Pi*Z|y~Iy)%E`*c&@4haaC?!M*oQhlx?(|w zZ+n@BhW!#|IuBR^EvIRNDCQ_o}rrO`~t Id>j40097}&vj6}9 literal 0 HcmV?d00001 diff --git a/demo/avatars/michael-scott.jpg b/demo/avatars/michael-scott.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b7934828dd39ec108d4dde144e1844d26ea12975 GIT binary patch literal 29799 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 aoy=puF)uK;e?Vd!{dt%k%#+Op&;QxuXJCZ@ literal 0 HcmV?d00001 diff --git a/demo/avatars/pam-beesly.jpg b/demo/avatars/pam-beesly.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7c4fc4e82f47f6ef5fe7bd1ede204fe44c459f62 GIT binary patch literal 24787 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ⅈ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 bLXJGW%XWt-AQ?I00$VU~s3bHGqJRI{u_LIZ literal 0 HcmV?d00001 diff --git a/demo/avatars/ryan-howard.jpg b/demo/avatars/ryan-howard.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0b3d3354d0834043e73a3343c7c12cc2cc1444c0 GIT binary patch literal 19022 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 G7XJsWWB@w= literal 0 HcmV?d00001 diff --git a/demo/avatars/saber.jpg b/demo/avatars/saber.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8da84cebfdc02d802c71fe6ea5cd281a061abeda GIT binary patch literal 17449 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 literal 0 HcmV?d00001 diff --git a/demo/company.py b/demo/company.py new file mode 100644 index 0000000000..3f03cf4664 --- /dev/null +++ b/demo/company.py @@ -0,0 +1,134 @@ +# This file is part of Tryton. The COPYRIGHT file at the top level of +# this repository contains the full copyright notices and license terms. + +import datetime as dt +from decimal import Decimal + +from proteus import Model, Wizard + +from . import avatar + + +def setup(config, modules): + Party = Model.get('party.party') + Company = Model.get('company.company') + Currency = Model.get('currency.currency') + + usd, = Currency.find([('code', '=', 'USD')]) + rate = usd.rates.new() + rate.date = dt.date(dt.date.today().year, 1, 1) + rate.rate = Decimal('1') + usd.save() + + company_config = Wizard('company.company.config') + company_config.execute('company') + company = company_config.form + party = Party(name='Michael Scott Paper Company') + if 'party_avatar' in modules: + party.avatar = avatar.get('michael-scott-paper-inc.jpg') + party.save() + company.party = party + company.currency = usd + company_config.execute('add') + + # Reload context + User = Model.get('res.user') + config._context = User.get_preferences(True, {}) + + company, = Company.find() + return company + + +def setup_post(config, modules, company): + Party = Model.get('party.party') + Company = Model.get('company.company') + Currency = Model.get('currency.currency') + Address = Model.get('party.address') + Country = Model.get('country.country') + Subdivision = Model.get('country.subdivision') + Employee = Model.get('company.employee') + + party_avatar = 'party_avatar' in modules + + usd, = Currency.find([('code', '=', 'USD')]) + try: + us, = Country.find([('code', '=', 'US')]) + except ValueError: + us = None + + party_scott = Party(name='Michael Scott') + if party_avatar: + party_scott.avatar = avatar.get('michael-scott.jpg') + party_scott.save() + Employee(party=party_scott, company=company).save() + party_beesly = Party(name='Pam Beesly') + if party_avatar: + party_beesly.avatar = avatar.get('pam-beesly.jpg') + party_beesly.save() + Employee(party=party_beesly, company=company).save() + party_howard = Party(name='Ryan Howard') + if party_avatar: + party_howard.avatar = avatar.get('ryan-howard.jpg') + party_howard.save() + Employee(party=party_howard, company=company).save() + + dmi = Company() + party_dmi = Party(name='Dunder Mifflin inc') + address = Address() + party_dmi.addresses.append(address) + address.city = 'New York' + address.country = us + try: + address.subdivision, = Subdivision.find([('code', '=', 'US-NY')]) + except ValueError: + pass + if party_avatar: + party_dmi.avatar = avatar.get('dunder-mifflin.jpg') + party_dmi.save() + dmi.party = party_dmi + dmi.currency = usd + dmi.save() + + dms = Company() + party_dms = Party(name='Dunder Mifflin Scranton') + address = Address() + party_dms.addresses.append(address) + address.city = 'Scranton' + address.country = us + try: + address.subdivision, = Subdivision.find([('code', '=', 'US-PA')]) + except ValueError: + pass + party_dms.save() + dms.party = party_dms + dms.currency = usd + dms.save() + + party_halper = Party(name='Jim Halper') + if party_avatar: + party_halper.avatar = avatar.get('jim-halper.jpg') + party_halper.save() + Employee(party=party_halper, company=dms).save() + party_schrute = Party(name='Dwight Schrute') + if party_avatar: + party_schrute.avatar = avatar.get('dwight-schrute.jpg') + party_schrute.save() + Employee(party=party_schrute, company=dms).save() + party_martin = Party(name='Angela Martin') + if party_avatar: + party_martin.avatar = avatar.get('angela-martin.jpg') + party_martin.save() + Employee(party=party_martin, company=dms).save() + party_miner = Party(name='Charles Miner') + if party_avatar: + party_miner.avatar = avatar.get('charles-miner.jpg') + party_miner.save() + Employee(party=party_miner, company=dms).save() + + +def get(): + Company = Model.get('company.company') + company, = Company.find([ + ('party.name', '=', 'Michael Scott Paper Company'), + ]) + return company diff --git a/demo/country.py b/demo/country.py new file mode 100644 index 0000000000..035cfad36f --- /dev/null +++ b/demo/country.py @@ -0,0 +1,10 @@ +# This file is part of Tryton. The COPYRIGHT file at the top level of +# this repository contains the full copyright notices and license terms. + +try: + from trytond.modules.country.scripts.import_countries import do_import +except ImportError: + def do_import(*args, **kwargs): + pass + +__all__ = [do_import] diff --git a/demo/currency.py b/demo/currency.py new file mode 100644 index 0000000000..e7045543e1 --- /dev/null +++ b/demo/currency.py @@ -0,0 +1,14 @@ +# This file is part of Tryton. The COPYRIGHT file at the top level of +# this repository contains the full copyright notices and license terms. + +from proteus import Model + +try: + from trytond.modules.currency.scripts.import_currencies import do_import +except ImportError: + def do_import(*args, **kwargs): + Currency = Model.get('currency.currency') + usd = Currency(name="USD", code='USD') + usd.save() + +__all__ = [do_import] diff --git a/demo/party.py b/demo/party.py new file mode 100644 index 0000000000..6e8fe96ece --- /dev/null +++ b/demo/party.py @@ -0,0 +1,83 @@ +# This file is part of Tryton. The COPYRIGHT file at the top level of +# this repository contains the full copyright notices and license terms. + +from proteus import Model + +from . import avatar + + +def setup(config, modules): + Party = Model.get('party.party') + Address = Model.get('party.address') + Country = Model.get('country.country') + Subdivision = Model.get('country.subdivision') + ContactMechanism = Model.get('party.contact_mechanism') + + customers, suppliers = [], [] + + try: + us, = Country.find([('code', '=', 'US')]) + except ValueError: + us = None + try: + pennsylvania, = Subdivision.find([('code', '=', 'US-PA')]) + except ValueError: + pennsylvania = None + + name = 'Electric City Trolley Museum Association' + try: + party, = Party.find([('name', '=', name)]) + except ValueError: + party = Party(name=name) + party.addresses.pop() + party.addresses.append(Address(street='300 Cliff Street', + postal_code='18503', city='Scranton', country=us, + subdivision=pennsylvania)) + party.contact_mechanisms.append(ContactMechanism(type='phone', + value='+1 570-963-6590')) + party.contact_mechanisms.append(ContactMechanism(type='website', + value='http://www.ectma.org/')) + party.save() + customers.append(party) + + name = 'Albright Memorial Library' + try: + party, = Party.find([('name', '=', name)]) + except ValueError: + party = Party(name=name) + party.addresses.pop() + party.addresses.append(Address(street='500 Vine Street', + postal_code='18509', city='Scranton', country=us, + subdivision=pennsylvania)) + party.contact_mechanisms.append(ContactMechanism(type='phone', + value='+1 570-348-3000')) + party.contact_mechanisms.append(ContactMechanism(type='website', + value='http://www.albright.org/')) + party.save() + customers.append(party) + + name = "Cooper's Seafood House" + try: + party, = Party.find([('name', '=', name)]) + except ValueError: + party = Party(name=name) + party.addresses.pop() + party.addresses.append(Address(street='701 North Washington Avenue', + postal_code='18509', city='Scranton', country=us, + subdivision=pennsylvania)) + party.contact_mechanisms.append(ContactMechanism(type='phone', + value='+1 570-346-6883')) + party.save() + customers.append(party) + + name = "Saber" + try: + party, = Party.find([('name', '=', name)]) + except ValueError: + party = Party(name=name) + if 'party_avatar' in modules: + party.avatar = avatar.get('saber.jpg') + party.save() + suppliers.append(party) + + return customers, suppliers diff --git a/demo/product.py b/demo/product.py new file mode 100644 index 0000000000..e841f3ef2c --- /dev/null +++ b/demo/product.py @@ -0,0 +1,62 @@ +# This file is part of Tryton. The COPYRIGHT file at the top level of +# this repository contains the full copyright notices and license terms. + +from decimal import Decimal + +from proteus import Model + + +def setup(config, modules, company=None): + ProductTemplate = Model.get('product.template') + Category = Model.get('product.category') + Uom = Model.get('product.uom') + + if 'account_product' in modules: + Account = Model.get('account.account') + expense, = Account.find([ + ('type.expense', '=', True), + ('company', '=', company.id), + ]) + revenue, = Account.find([ + ('type.revenue', '=', True), + ('company', '=', company.id), + ]) + account_category = Category(name="Papers", accounting=True) + account_category.account_expense = expense + account_category.account_revenue = revenue + account_category.save() + + papers = Category(name='Papers') + papers.save() + + sizes = {} + for format in ['A5', 'A4', 'A3', 'Letter', 'Legal', 'Ledger']: + size = Category(name=format, parent=papers) + if 'account_product' in modules: + size.account_expense = expense + size.account_revenue = revenue + size.save() + sizes[format] = size + + unit, = Uom.find([('name', '=', 'Unit')]) + + margin = Decimal('1.01') + for quantity in [250, 500]: + for format, category in sizes.items(): + paper_template = ProductTemplate(name='%s Paper %s' + % (format, quantity)) + paper_template.categories.append(Category(category.id)) + if 'account_product' in modules: + paper_template.account_category = account_category + paper_template.default_uom = unit + paper_template.type = 'goods' + paper_template.list_price = (Decimal('0.02') * quantity * margin + ).quantize(Decimal('0.0001')) + paper, = paper_template.products + paper.cost_price = Decimal('0.01') * quantity + if 'sale' in modules: + paper_template.salable = True + if 'purchase' in modules: + paper_template.purchasable = True + paper_template.save() + margin *= margin diff --git a/demo/production.py b/demo/production.py new file mode 100644 index 0000000000..14c96eddac --- /dev/null +++ b/demo/production.py @@ -0,0 +1,216 @@ +# This file is part of Tryton. The COPYRIGHT file at the top level of +# this repository contains the full copyright notices and license terms. + +import datetime as dt +import random +from decimal import Decimal + +from dateutil.relativedelta import relativedelta + +from proteus import Model + + +def setup(config, activated, company): + BOM = Model.get('production.bom') + Production = Model.get('production') + ProductTemplate = Model.get('product.template') + Category = Model.get('product.category') + Uom = Model.get('product.uom') + + unit, = Uom.find([('name', '=', 'Unit')]) + + if 'account_product' in activated: + Account = Model.get('account.account') + expense, = Account.find([ + ('type.expense', '=', True), + ('company', '=', company.id), + ]) + revenue, = Account.find([ + ('type.revenue', '=', True), + ('company', '=', company.id), + ]) + account_category = Category(name="Computers", accounting=True) + account_category.account_expense = expense + account_category.account_revenue = revenue + account_category.save() + + def create_product(name, list_price, cost_price): + template = ProductTemplate(name=name) + template.default_uom = unit + template.type = 'goods' + template.list_price = list_price + template.cost_price = cost_price + if 'account_product' in activated: + template.account_category = account_category + template.save() + return template.products[0] + + bom = BOM(name='Computer rev1') + + input_ = bom.inputs.new() + tower = create_product('Tower', Decimal(400), Decimal(250)) + input_.product = tower + input_.quantity = 1 + + input_ = bom.inputs.new() + input_.product = create_product('Keyboard', Decimal(30), Decimal(10)) + input_.quantity = 1 + + input_ = bom.inputs.new() + input_.product = create_product('Mouse', Decimal(10), Decimal(5)) + input_.quantity = 1 + + input_ = bom.inputs.new() + input_.product = create_product('Screen', Decimal(300), Decimal(200)) + input_.quantity = 1 + + output = bom.outputs.new() + computer = create_product('Computer', Decimal(750), Decimal(465)) + computer.template.producible = True + computer.template.save() + output.product = computer + output.quantity = 1 + + bom.save() + computer.boms.new(bom=bom) + computer.save() + + if 'production_routing' in activated: + setup_routing(config, activated, company) + + if 'production_work' in activated: + WorkCenter = Model.get('production.work.center') + WorkCycle = Model.get('production.work.cycle') + setup_production_work(config, activated, company) + work_centers = WorkCenter.find([('parent', '=', None)]) + + today = dt.date.today() + production_date = today + relativedelta(months=-1) + while production_date <= today + relativedelta(days=20): + for _ in range(random.randint(0, 3)): + production = Production() + production.effective_date = production_date + production.product = computer + production.quantity = random.randint(1, 40) + production.bom = computer.boms[0].bom + + if 'production_routing' in activated: + production.routing = computer.boms[0].routing + + if 'production_work' in activated: + production.work_center = random.choice(work_centers) + + production.save() + + if (production_date < today) or (random.random() <= 1. / 3.): + production.click('wait') + if production_date < today: + production.click('assign_force') + production.click('run') + if random.random() <= 2. / 3.: + if 'production_work' in activated: + for work in production.works: + for _ in range(0, random.randint(1, 2)): + cycle = WorkCycle( + work=work, + duration=dt.timedelta( + seconds=random.randint(60, 3600)), + ) + cycle.save() + cycle.click('run') + cycle.click('do') + output, = production.outputs + output.unit_price = (production.cost + / Decimal(production.quantity) + ).quantize(Decimal('0.0001')) + production.click('do') + production_date += relativedelta(days=random.randint(1, 3)) + + +def setup_routing(config, activated, company): + Routing = Model.get('production.routing') + Operation = Model.get('production.routing.operation') + Product = Model.get('product.product') + + routing = Routing(name='Computer routing rev1') + + operation1 = Operation(name='Assemble pieces') + operation1.save() + step1 = routing.steps.new() + step1.operation = operation1 + + operation2 = Operation(name='Install software') + operation2.save() + step2 = routing.steps.new() + step2.operation = operation2 + + operation3 = Operation(name='Test') + operation3.save() + step3 = routing.steps.new() + step3.operation = operation3 + + operation4 = Operation(name='Package') + operation4.save() + step4 = routing.steps.new() + step4.operation = operation4 + + routing.boms.extend(routing.boms.find([('name', '=', 'Computer rev1')])) + + routing.save() + + computer, = Product.find([('name', '=', 'Computer')]) + bom, = computer.boms + bom.routing = routing + bom.save() + + +def setup_production_work(config, activated, company): + WorkCenterCategory = Model.get('production.work.center.category') + WorkCenter = Model.get('production.work.center') + Operation = Model.get('production.routing.operation') + + assembly = WorkCenterCategory(name='Assembly') + assembly.save() + operation, = Operation.find([('name', '=', 'Assemble pieces')]) + operation.work_center_category = assembly + operation.save() + + installation = WorkCenterCategory(name='Installation') + installation.save() + operations = Operation.find([ + ('name', 'in', ['Install software', 'Test']), + ]) + for operation in operations: + operation.work_center_category = installation + Operation.save(operations) + + packaging = WorkCenterCategory(name='Packaging') + packaging.save() + operation, = Operation.find([('name', '=', 'Package')]) + operation.work_center_category = packaging + operation.save() + + lines = [] + for i in range(1, 4): + line = WorkCenter(name='Line %i' % i) + + assembly_line = line.children.new() + assembly_line.name = 'Assembly Line %i' % i + assembly_line.category = assembly + assembly_line.cost_method = 'cycle' + assembly_line.cost_price = Decimal(20) + + installation_line = line.children.new() + installation_line.name = 'Installation Line %i' % i + installation_line.category = installation + installation_line.cost_method = 'hour' + installation_line.cost_price = Decimal(15) + + packaging_line = line.children.new() + packaging_line.name = 'Packaging Line %i' % i + packaging_line.category = packaging + packaging_line.cost_method = 'hour' + packaging_line.cost_price = Decimal(10) + + lines.append(line) + WorkCenter.save(lines) diff --git a/demo/project.py b/demo/project.py new file mode 100644 index 0000000000..3915f46420 --- /dev/null +++ b/demo/project.py @@ -0,0 +1,29 @@ +# This file is part of Tryton. The COPYRIGHT file at the top level of +# this repository contains the full copyright notices and license terms. + +import datetime as dt +import random + +from proteus import Model + + +def setup(config, activated, company, customers): + Work = Model.get('project.work') + + customer_projects = { + 'Website': ['analysis', 'design', 'setup'], + 'Labels': ['design'], + 'Calendar': ['design'], + } + + for name, task_names in customer_projects.items(): + project = Work(name=name, type='project', timesheet_available=False) + project.party = random.choice(customers) + for task_name in task_names: + task = Work(name=task_name, type='task', timesheet_available=True) + task.effort_duration = dt.timedelta( + days=random.randint(10, 30), + hours=random.randint(1, 5)) + task.progress = random.randint(1, 100) // 5 * 5 / 100. + project.children.append(task) + project.save() diff --git a/demo/purchase.py b/demo/purchase.py new file mode 100644 index 0000000000..ae8295a559 --- /dev/null +++ b/demo/purchase.py @@ -0,0 +1,42 @@ +# This file is part of Tryton. The COPYRIGHT file at the top level of +# this repository contains the full copyright notices and license terms. + +import datetime as dt +import random + +from dateutil.relativedelta import relativedelta + +from proteus import Model + + +def setup(config, modules, company, suppliers): + Purchase = Model.get('purchase.purchase') + Product = Model.get('product.product') + + all_products = Product.find([ + ('purchasable', '=', True), + ]) + today = dt.date.today() + purchase_date = today - relativedelta(days=60) + while purchase_date <= today + relativedelta(days=20): + supplier = random.choice(suppliers) + purchase = Purchase() + purchase.party = supplier + purchase.purchase_date = purchase_date + products = random.sample( + all_products, random.randint(1, len(all_products))) + for product in products: + purchase_line = purchase.lines.new() + purchase_line.product = product + purchase_line.quantity = random.randint(20, 100) + purchase_line.unit_price = product.cost_price + purchase.save() + threshold = 2. / 3. + if random.random() <= threshold: + purchase.click('quote') + if random.random() <= threshold: + purchase.click('confirm') + purchase.click('process') + elif random.choice([True, False]): + purchase.click('cancel') + purchase_date += relativedelta(days=random.randint(5, 10)) diff --git a/demo/sale.py b/demo/sale.py new file mode 100644 index 0000000000..df2c1128e8 --- /dev/null +++ b/demo/sale.py @@ -0,0 +1,48 @@ +# This file is part of Tryton. The COPYRIGHT file at the top level of +# this repository contains the full copyright notices and license terms. + +import datetime as dt +import random + +from dateutil.relativedelta import relativedelta + +from proteus import Model + + +def setup(config, modules, company, customers): + Sale = Model.get('sale.sale') + Product = Model.get('product.product') + + all_products = Product.find([ + ('salable', '=', True), + ]) + today = dt.date.today() + sale_date = today + relativedelta(months=-2) + while sale_date <= today + relativedelta(days=10): + for _ in range(random.randint(1, 5)): + customer = random.choice(customers) + sale = Sale() + sale.party = customer + sale.sale_date = sale_date + products = random.sample( + all_products, random.randint(1, len(all_products))) + for product in products: + sale_line = sale.lines.new() + sale_line.product = product + sale_line.quantity = random.randint(1, 50) + sale.save() + if sale_date <= today: + threshold = 2. / 3. + else: + threshold = 1. / 3. + if random.random() <= threshold: + sale.click('quote') + if random.random() <= threshold: + sale.click('confirm') + if random.random() <= threshold: + sale.click('process') + elif random.random() >= threshold: + sale.click('cancel') + elif random.random() >= threshold: + sale.click('cancel') + sale_date += relativedelta(days=random.randint(1, 3)) diff --git a/demo/stock.py b/demo/stock.py new file mode 100644 index 0000000000..f89c5a7c89 --- /dev/null +++ b/demo/stock.py @@ -0,0 +1,32 @@ +# This file is part of Tryton. The COPYRIGHT file at the top level of +# this repository contains the full copyright notices and license terms. + +import random + +from proteus import Model + + +def setup(config, activated, company, suppliers): + ShipmentIn = Model.get('stock.shipment.in') + ShipmentOut = Model.get('stock.shipment.out') + + for supplier in suppliers: + shipment = ShipmentIn() + shipment.supplier = supplier + all_moves = shipment.incoming_moves.find() + moves = random.sample(all_moves, len(all_moves) * 2 // 3) + while moves: + shipment = ShipmentIn() + shipment.supplier = supplier + for _ in range(random.randint(1, len(moves))): + move = moves.pop() + shipment.incoming_moves.append(move) + shipment.click('receive') + shipment.click('do') + + shipments = ShipmentOut.find([('state', '=', 'waiting')]) + for shipment in shipments: + if shipment.click('assign_try'): + shipment.click('pick') + shipment.click('pack') + shipment.click('do') diff --git a/demo/timesheet.py b/demo/timesheet.py new file mode 100644 index 0000000000..0b5b88749c --- /dev/null +++ b/demo/timesheet.py @@ -0,0 +1,39 @@ +# This file is part of Tryton. The COPYRIGHT file at the top level of +# this repository contains the full copyright notices and license terms. + +import datetime as dt +import random + +from dateutil.relativedelta import relativedelta + +from proteus import Model + + +def setup(config, activated, company): + Work = Model.get('timesheet.work') + Employee = Model.get('company.employee') + Line = Model.get('timesheet.line') + + for name in ['Marketing', 'Accounting', 'Secretary']: + work = Work(name=name) + work.save() + + employees = Employee.find([('company', '=', company.id)]) + works = Work.find([]) + + today = dt.date.today() + date = today + relativedelta(months=-1) + day = dt.timedelta(hours=8) + while date <= today: + if date.weekday() < 5: + for employee in employees: + total = dt.timedelta() + while total < day: + if random.random() > 0.8: + break + line = Line(employee=employee, date=date) + line.work = random.choice(works) + duration = dt.timedelta(hours=random.randint(1, 8)) + line.duration = min(duration, day - total) + line.save() + date += dt.timedelta(days=1) diff --git a/demo/tools.py b/demo/tools.py new file mode 100644 index 0000000000..b8105a7326 --- /dev/null +++ b/demo/tools.py @@ -0,0 +1,16 @@ +# This file is part of Tryton. The COPYRIGHT file at the top level of +# this repository contains the full copyright notices and license terms. + +import hashlib + +from proteus import Model + + +def format_warning(name, records): + key = '|'.join(map(str, records)).encode('utf-8') + return '%s.%s' % (hashlib.md5(key).hexdigest(), name) + + +def skip_warning(config, name, records): + Warning_ = Model.get('res.user.warning') + Warning_(user=config.user, name=format_warning(name, records)).save()