From 0fa30fb55f11b8e297a14d427e11d2a97b7729ee Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Mon, 11 May 2015 14:16:36 +0300 Subject: [PATCH 01/42] Bug fixes --- app/Http/Controllers/InvoiceApiController.php | 9 +++++---- app/Http/Middleware/StartupCheck.php | 1 + app/Http/routes.php | 1 - 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/app/Http/Controllers/InvoiceApiController.php b/app/Http/Controllers/InvoiceApiController.php index dec45b8c0ad3..764a59986660 100644 --- a/app/Http/Controllers/InvoiceApiController.php +++ b/app/Http/Controllers/InvoiceApiController.php @@ -60,10 +60,11 @@ class InvoiceApiController extends Controller } if (isset($data['email'])) { - $contact = Contact::scope()->with('client')->whereEmail($data['email'])->first(); - if ($contact) { - $client = $contact->client; - } else { + $client = Client::scope()->whereHas('contacts', function($query) use ($data) { + $query->where('email', '=', $data['email']); + })->first(); + + if (!$client) { $clientData = ['contact' => ['email' => $data['email']]]; foreach (['name', 'private_notes'] as $field) { if (isset($data[$field])) { diff --git a/app/Http/Middleware/StartupCheck.php b/app/Http/Middleware/StartupCheck.php index bcf67ef0cef5..4f9672b9919c 100644 --- a/app/Http/Middleware/StartupCheck.php +++ b/app/Http/Middleware/StartupCheck.php @@ -1,5 +1,6 @@ Date: Tue, 12 May 2015 12:36:32 +0300 Subject: [PATCH 02/42] Fixed problem when adding user --- app/Http/Controllers/UserController.php | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index 19f3708fee64..1a1afd3f1df9 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -12,7 +12,7 @@ use Session; use URL; use Utils; use Validator; - +use Illuminate\Auth\Passwords\TokenRepositoryInterface; use App\Models\User; use App\Http\Requests; use App\Ninja\Repositories\AccountRepository; @@ -263,7 +263,7 @@ class UserController extends BaseController * * @param string $code */ - public function confirm($code) + public function confirm($code, TokenRepositoryInterface $tokenRepo) { $user = User::where('confirmation_code', '=', $code)->get()->first(); @@ -275,9 +275,10 @@ class UserController extends BaseController $user->save(); if ($user->public_id) { - Auth::login($user); + //Auth::login($user); + $token = $tokenRepo->create($user); - return Redirect::to('user/reset'); + return Redirect::to("/password/reset/{$token}"); } else { if (Session::has(REQUESTED_PRO_PLAN)) { Session::forget(REQUESTED_PRO_PLAN); From 19c1a33d52dbc7d5bb10c71d3d4f667a049d703f Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Wed, 13 May 2015 18:32:59 +0300 Subject: [PATCH 03/42] Bug fixes --- app/Http/Middleware/ApiCheck.php | 2 +- app/Ninja/Mailers/UserMailer.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/Http/Middleware/ApiCheck.php b/app/Http/Middleware/ApiCheck.php index 00a90977b464..517dc905eb16 100644 --- a/app/Http/Middleware/ApiCheck.php +++ b/app/Http/Middleware/ApiCheck.php @@ -35,7 +35,7 @@ class ApiCheck { } if (!Utils::isNinja()) { - return null; + return $next($request); } if (!Utils::isPro()) { diff --git a/app/Ninja/Mailers/UserMailer.php b/app/Ninja/Mailers/UserMailer.php index 5831e66b5cdc..6b5c450a7d3d 100644 --- a/app/Ninja/Mailers/UserMailer.php +++ b/app/Ninja/Mailers/UserMailer.php @@ -39,7 +39,7 @@ class UserMailer extends Mailer return; } - $entityType = $invoice->getEntityType(); + $entityType = $notificationType == 'approved' ? ENTITY_QUOTE : ENTITY_INVOICE; $view = "{$entityType}_{$notificationType}"; $data = [ From 935780f7bc46092b0baa0e58fe50bf7aa0ca0c53 Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Fri, 15 May 2015 11:51:22 +0300 Subject: [PATCH 04/42] Bug fixes --- app/Http/Controllers/ClientController.php | 8 ++--- app/Http/Controllers/DashboardController.php | 32 +++++++++++--------- app/Http/routes.php | 11 ------- composer.json | 2 +- composer.lock | 6 ++-- readme.md | 1 - resources/views/auth/login.blade.php | 4 ++- resources/views/clients/show.blade.php | 2 +- resources/views/dashboard.blade.php | 4 --- 9 files changed, 30 insertions(+), 40 deletions(-) diff --git a/app/Http/Controllers/ClientController.php b/app/Http/Controllers/ClientController.php index cb885dbcf3f9..7a58ad08bb8c 100644 --- a/app/Http/Controllers/ClientController.php +++ b/app/Http/Controllers/ClientController.php @@ -112,13 +112,13 @@ class ClientController extends BaseController Utils::trackViewed($client->getDisplayName(), ENTITY_CLIENT); $actionLinks = [ - ['label' => trans('texts.create_invoice'), 'url' => URL::to('invoices/create/'.$client->public_id)], - ['label' => trans('texts.enter_payment'), 'url' => URL::to('payments/create/'.$client->public_id)], - ['label' => trans('texts.enter_credit'), 'url' => URL::to('credits/create/'.$client->public_id)], + ['label' => trans('texts.create_invoice'), 'url' => '/invoices/create/'.$client->public_id], + ['label' => trans('texts.enter_payment'), 'url' => '/payments/create/'.$client->public_id], + ['label' => trans('texts.enter_credit'), 'url' => '/credits/create/'.$client->public_id], ]; if (Utils::isPro()) { - array_unshift($actionLinks, ['label' => trans('texts.create_quote'), 'url' => URL::to('quotes/create/'.$client->public_id)]); + array_unshift($actionLinks, ['label' => trans('texts.create_quote'), 'url' => '/quotes/create/'.$client->public_id]); } $data = array( diff --git a/app/Http/Controllers/DashboardController.php b/app/Http/Controllers/DashboardController.php index 5c31f19e81aa..7e3a5e84196a 100644 --- a/app/Http/Controllers/DashboardController.php +++ b/app/Http/Controllers/DashboardController.php @@ -54,21 +54,25 @@ class DashboardController extends BaseController ->where('activity_type_id', '>', 0) ->orderBy('created_at', 'desc')->take(14)->get(); - $pastDue = Invoice::scope() - ->where('due_date', '<', date('Y-m-d')) - ->where('balance', '>', 0) - ->where('is_recurring', '=', false) - ->where('is_quote', '=', false) - ->where('is_deleted', '=', false) - ->orderBy('due_date', 'asc')->take(6)->get(); + $pastDue = Invoice::scope()->whereHas('client', function($query) { + $query->where('deleted_at', '=', null); + }) + ->where('due_date', '<', date('Y-m-d')) + ->where('balance', '>', 0) + ->where('is_recurring', '=', false) + ->where('is_quote', '=', false) + ->where('is_deleted', '=', false) + ->orderBy('due_date', 'asc')->take(6)->get(); - $upcoming = Invoice::scope() - ->where('due_date', '>=', date('Y-m-d')) - ->where('balance', '>', 0) - ->where('is_recurring', '=', false) - ->where('is_quote', '=', false) - ->where('is_deleted', '=', false) - ->orderBy('due_date', 'asc')->take(6)->get(); + $upcoming = Invoice::scope()->whereHas('client', function($query) { + $query->where('deleted_at', '=', null); + }) + ->where('due_date', '>=', date('Y-m-d')) + ->where('balance', '>', 0) + ->where('is_recurring', '=', false) + ->where('is_quote', '=', false) + ->where('is_deleted', '=', false) + ->orderBy('due_date', 'asc')->take(6)->get(); $data = [ 'paidToDate' => $paidToDate, diff --git a/app/Http/routes.php b/app/Http/routes.php index 11977f237886..28647194460b 100644 --- a/app/Http/routes.php +++ b/app/Http/routes.php @@ -73,16 +73,6 @@ get('/password/reset/{token}', array('as' => 'forgot', 'uses' => 'Auth\PasswordC post('/password/reset', array('as' => 'forgot', 'uses' => 'Auth\PasswordController@postReset')); get('/user/confirm/{code}', 'UserController@confirm'); -/* -// Confide routes -Route::get('login', 'UserController@login'); -Route::post('login', 'UserController@do_login'); -Route::get('forgot_password', 'UserController@forgot_password'); -Route::post('forgot_password', 'UserController@do_forgot_password'); -Route::get('user/reset/{token?}', 'UserController@reset_password'); -Route::post('user/reset', 'UserController@do_reset_password'); -Route::get('logout', 'UserController@logout'); -*/ if (Utils::isNinja()) { Route::post('/signup/register', 'AccountController@doRegister'); @@ -513,7 +503,6 @@ Validator::extend('has_credit', function($attribute, $value, $parameters) { return $credit >= $amount; }); - /* // Log all SQL queries to laravel.log Event::listen('illuminate.query', function($query, $bindings, $time, $name) diff --git a/composer.json b/composer.json index 08c769297bbb..23390e0c1890 100644 --- a/composer.json +++ b/composer.json @@ -18,7 +18,7 @@ "patricktalmadge/bootstrapper": "5.5.x", "anahkiasen/former": "4.0.*@dev", "barryvdh/laravel-debugbar": "~2.0.2", - "chumper/datatable": "dev-develop", + "chumper/datatable": "dev-develop#7fa47cb", "omnipay/omnipay": "2.3.x", "intervention/image": "dev-master", "webpatser/laravel-countries": "dev-master", diff --git a/composer.lock b/composer.lock index e262ed433f96..55b4a6af45b4 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "hash": "4093891914bbd46ffab78737da36898a", + "hash": "456867b27b6caddd5d681f7bad019be4", "packages": [ { "name": "alfaproject/omnipay-neteller", @@ -335,12 +335,12 @@ "source": { "type": "git", "url": "https://github.com/Chumper/Datatable.git", - "reference": "7fa47cb5469f07c620fb69dee94b8e1a96943ee2" + "reference": "7fa47cb" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/Chumper/Datatable/zipball/7fa47cb5469f07c620fb69dee94b8e1a96943ee2", - "reference": "7fa47cb5469f07c620fb69dee94b8e1a96943ee2", + "reference": "7fa47cb", "shasum": "" }, "require": { diff --git a/readme.md b/readme.md index 0602323130b0..ec3f19b5a709 100644 --- a/readme.md +++ b/readme.md @@ -1,6 +1,5 @@ # Invoice Ninja ### [https://www.invoiceninja.com](https://www.invoiceninja.com) -##### Please [click here](https://bitnami.com/stack/invoice-ninja) to vote for us to be added to Bitnami's one-click install library If you'd like to use our code to sell your own invoicing app we have an affiliate program. Get in touch for more details. diff --git a/resources/views/auth/login.blade.php b/resources/views/auth/login.blade.php index c1bb719cba95..1983f0c258c1 100644 --- a/resources/views/auth/login.blade.php +++ b/resources/views/auth/login.blade.php @@ -137,8 +137,10 @@

 

 

+ + diff --git a/resources/views/clients/show.blade.php b/resources/views/clients/show.blade.php index 15392777e379..9cd6e069ac82 100644 --- a/resources/views/clients/show.blade.php +++ b/resources/views/clients/show.blade.php @@ -15,7 +15,7 @@ @endif @if ($client->trashed()) - {!! Button::primary(trans('texts.restore_client'), ['onclick' => 'onRestoreClick()']) !!} + {!! Button::primary(trans('texts.restore_client'))->withAttributes(['onclick' => 'onRestoreClick()']) !!} @else {!! DropdownButton::normal(trans('texts.edit_client')) ->withAttributes(['class'=>'normalDropDown']) diff --git a/resources/views/dashboard.blade.php b/resources/views/dashboard.blade.php index 32755bf0b9ed..14be9e4f1f41 100644 --- a/resources/views/dashboard.blade.php +++ b/resources/views/dashboard.blade.php @@ -94,14 +94,12 @@ @foreach ($pastDue as $invoice) - @if (!$invoice->client->trashed()) {!! $invoice->getLink() !!} {{ $invoice->client->getDisplayName() }} {{ Utils::fromSqlDate($invoice->due_date) }} {{ Utils::formatMoney($invoice->balance, $invoice->client->currency_id) }} - @endif @endforeach @@ -123,14 +121,12 @@ @foreach ($upcoming as $invoice) - @if (!$invoice->client->trashed()) {!! $invoice->getLink() !!} {{ $invoice->client->getDisplayName() }} {{ Utils::fromSqlDate($invoice->due_date) }} {{ Utils::formatMoney($invoice->balance, $invoice->client->currency_id) }} - @endif @endforeach From ba1231357aabd44339c79a7ced78087da305484c Mon Sep 17 00:00:00 2001 From: James Graham Date: Fri, 15 May 2015 21:15:22 +1200 Subject: [PATCH 05/42] Fix RFC Error When using AWS/Mandrill etc, using MAIL_USERNAME as the "From Address" causes errors. Need to create new .env variable. --- .env.example | 1 + config/mail.php | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.env.example b/.env.example index b354269ebf64..dd26b20a093f 100644 --- a/.env.example +++ b/.env.example @@ -15,5 +15,6 @@ MAIL_PORT=587 MAIL_ENCRYPTION=tls MAIL_HOST MAIL_USERNAME +MAIL_FROM_ADDRESS MAIL_FROM_NAME MAIL_PASSWORD \ No newline at end of file diff --git a/config/mail.php b/config/mail.php index 0d5473eb370a..aa36b2a0a67c 100644 --- a/config/mail.php +++ b/config/mail.php @@ -54,7 +54,7 @@ return [ | */ - 'from' => ['address' => env('MAIL_USERNAME'), 'name' => env('MAIL_FROM_NAME')], + 'from' => ['address' => env('MAIL_FROM_ADDRESS'), 'name' => env('MAIL_FROM_NAME')], /* |-------------------------------------------------------------------------- From edec5028c6fbc82a96387531432021f355032593 Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Tue, 19 May 2015 22:14:00 +0300 Subject: [PATCH 06/42] Bug fixes --- app/Http/Controllers/HomeController.php | 7 ++ app/Http/Controllers/PaymentController.php | 2 +- app/Http/Controllers/ReportController.php | 5 +- app/Http/Middleware/StartupCheck.php | 4 - app/Http/routes.php | 1 + app/Models/Invitation.php | 7 +- config/session.php | 2 +- public/js/built.js | 110 ++++++++++-------- public/js/pdf.pdfmake.js | 110 ++++++++++-------- public/js/pdfmake.min.js | 12 ++ public/js/pdfmake.min.js.map | 1 + public/js/templates/clean.js | 11 +- .../views/accounts/account_gateway.blade.php | 2 +- resources/views/accounts/details.blade.php | 2 +- resources/views/accounts/import_map.blade.php | 2 +- .../views/accounts/invoice_design.blade.php | 2 +- resources/views/accounts/payments.blade.php | 2 +- resources/views/accounts/product.blade.php | 2 +- resources/views/accounts/products.blade.php | 2 +- resources/views/accounts/token.blade.php | 2 +- .../views/accounts/token_management.blade.php | 2 +- .../views/accounts/user_management.blade.php | 4 +- resources/views/clients/edit.blade.php | 2 +- resources/views/credits/edit.blade.php | 2 +- resources/views/header.blade.php | 13 ++- resources/views/invoices/edit.blade.php | 2 +- resources/views/invoices/history.blade.php | 4 +- resources/views/invoices/view.blade.php | 6 +- resources/views/list.blade.php | 2 +- resources/views/payments/edit.blade.php | 2 +- .../views/reports/chart_builder.blade.php | 2 +- resources/views/users/edit.blade.php | 2 +- 32 files changed, 189 insertions(+), 142 deletions(-) create mode 100644 public/js/pdfmake.min.js create mode 100644 public/js/pdfmake.min.js.map diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/HomeController.php index 6eacdad00f52..1e851f98dafe 100644 --- a/app/Http/Controllers/HomeController.php +++ b/app/Http/Controllers/HomeController.php @@ -1,5 +1,6 @@ save(); } - return $productId == PRODUCT_INVOICE_DESIGNS ? $_ENV['INVOICE_DESIGNS'] : 'valid'; + return $productId == PRODUCT_INVOICE_DESIGNS ? file_get_contents(storage_path() . '/invoice_designs.txt') : 'valid'; } else { return 'invalid'; } diff --git a/app/Http/Controllers/ReportController.php b/app/Http/Controllers/ReportController.php index 96e82416e897..b1746761b10f 100644 --- a/app/Http/Controllers/ReportController.php +++ b/app/Http/Controllers/ReportController.php @@ -16,13 +16,14 @@ class ReportController extends BaseController public function d3() { $message = ''; + $fileName = storage_path() . '/dataviz_sample.txt'; if (Auth::user()->account->isPro()) { $account = Account::where('id', '=', Auth::user()->account->id)->with(['clients.invoices.invoice_items', 'clients.contacts'])->first(); $account = $account->hideFieldsForViz(); $clients = $account->clients->toJson(); - } elseif (isset($_ENV['DATA_VIZ_SAMPLE'])) { - $clients = $_ENV['DATA_VIZ_SAMPLE']; + } elseif (file_exists($fileName)) { + $clients = file_get_contents($fileName); $message = trans('texts.sample_data'); } else { $clients = '[]'; diff --git a/app/Http/Middleware/StartupCheck.php b/app/Http/Middleware/StartupCheck.php index 4f9672b9919c..6a4a38ce248d 100644 --- a/app/Http/Middleware/StartupCheck.php +++ b/app/Http/Middleware/StartupCheck.php @@ -138,10 +138,6 @@ class StartupCheck $design->save(); } - if (!Utils::isNinjaProd()) { - Cache::forget('invoice_designs_cache_'.Auth::user()->maxInvoiceDesignId()); - } - Session::flash('message', trans('texts.bought_designs')); } } elseif ($productId == PRODUCT_WHITE_LABEL) { diff --git a/app/Http/routes.php b/app/Http/routes.php index 28647194460b..3e1fe71adde7 100644 --- a/app/Http/routes.php +++ b/app/Http/routes.php @@ -85,6 +85,7 @@ Route::group(['middleware' => 'auth'], function() { Route::get('view_archive/{entity_type}/{visible}', 'AccountController@setTrashVisible'); Route::get('hide_message', 'HomeController@hideMessage'); Route::get('force_inline_pdf', 'UserController@forcePDFJS'); + Route::get('keep_alive', 'HomeController@keepAlive'); Route::get('api/users', array('as'=>'api.users', 'uses'=>'UserController@getDatatable')); Route::resource('users', 'UserController'); diff --git a/app/Models/Invitation.php b/app/Models/Invitation.php index a42c82eb53f3..b7895fda96a9 100644 --- a/app/Models/Invitation.php +++ b/app/Models/Invitation.php @@ -31,9 +31,12 @@ class Invitation extends EntityModel { $this->load('account'); $url = SITE_URL; - + if ($this->account->subdomain) { - $url = str_replace('://www.', "://{$this->account->subdomain}.", $url); + $parsedUrl = parse_url($url); + $host = explode('.', $parsedUrl['host']); + $subdomain = $host[0]; + $url = str_replace("://{$subdomain}.", "://{$this->account->subdomain}.", $url); } return "{$url}/view/{$this->invitation_key}"; diff --git a/config/session.php b/config/session.php index 2ffb7d5cc968..a00d15e74be3 100644 --- a/config/session.php +++ b/config/session.php @@ -29,7 +29,7 @@ return [ | */ - 'lifetime' => 360, + 'lifetime' => env('SESSION_LIFETIME', 120), 'expire_on_close' => false, diff --git a/public/js/built.js b/public/js/built.js index 13f3cd92e6e8..e6c51a38f5a4 100644 --- a/public/js/built.js +++ b/public/js/built.js @@ -33070,24 +33070,28 @@ function truncate(str, length) { } function GetPdfMake(invoice, javascript, callback) { var account = invoice.account; + var baseDD = { + pageMargins: [40, 40, 40, 40] + }; eval(javascript); + dd = _.extend(dd, baseDD); + + /* + var fonts = { + Roboto: { + normal: 'Roboto-Regular.ttf', + bold: 'Roboto-Medium.ttf', + italics: 'Roboto-Italic.ttf', + bolditalics: 'Roboto-Italic.ttf' + }, + }; + */ -/* -var fonts = { -Roboto: { -normal: 'Roboto-Regular.ttf', -bold: 'Roboto-Medium.ttf', -italics: 'Roboto-Italic.ttf', -bolditalics: 'Roboto-Italic.ttf' -}, -}; -*/ - -doc = pdfMake.createPdf(dd); -doc.save = function(fileName) { - this.download(fileName); -}; -return doc; + doc = pdfMake.createPdf(dd); + doc.save = function(fileName) { + this.download(fileName); + }; + return doc; } function notesAndTerms(invoice) { @@ -33105,13 +33109,17 @@ function notesAndTerms(invoice) } function invoiceLines(invoice) { - var grid = - [[{text: invoiceLabels.item, style: 'tableHeader'}, - {text: invoiceLabels.description, style: 'tableHeader'}, - {text: invoiceLabels.unit_cost, style: 'tableHeader'}, - {text: invoiceLabels.quantity, style: 'tableHeader'}, - {text: invoice.has_taxes?invoiceLabels.tax:'', style: 'tableHeader'}, - {text: invoiceLabels.line_total, style: 'tableHeader'}]]; + var grid = [ + [ + {text: invoiceLabels.item, style: 'tableHeader'}, + {text: invoiceLabels.description, style: 'tableHeader'}, + {text: invoiceLabels.unit_cost, style: 'tableHeader'}, + {text: invoiceLabels.quantity, style: 'tableHeader'}, + {text: invoice.has_taxes?invoiceLabels.tax:'', style: 'tableHeader'}, + {text: invoiceLabels.line_total, style: 'tableHeader'} + ] + ]; + var total = 0; var shownItem = false; var currencyId = invoice && invoice.client ? invoice.client.currency_id : 1; @@ -33131,37 +33139,37 @@ function invoiceLines(invoice) { tax = parseFloat(item.tax_rate); } -// show at most one blank line -if (shownItem && (!cost || cost == '0.00') && !notes && !productKey) { - continue; -} -shownItem = true; + // show at most one blank line + if (shownItem && (!cost || cost == '0.00') && !notes && !productKey) { + continue; + } + shownItem = true; -// process date variables -if (invoice.is_recurring) { - notes = processVariables(notes); - productKey = processVariables(productKey); -} + // process date variables + if (invoice.is_recurring) { + notes = processVariables(notes); + productKey = processVariables(productKey); + } -var lineTotal = roundToTwo(NINJA.parseFloat(item.cost)) * roundToTwo(NINJA.parseFloat(item.qty)); -if (tax) { - lineTotal += lineTotal * tax / 100; -} -if (lineTotal) { - total += lineTotal; -} -lineTotal = formatMoney(lineTotal, currencyId); + var lineTotal = roundToTwo(NINJA.parseFloat(item.cost)) * roundToTwo(NINJA.parseFloat(item.qty)); + if (tax) { + lineTotal += lineTotal * tax / 100; + } + if (lineTotal) { + total += lineTotal; + } + lineTotal = formatMoney(lineTotal, currencyId); -rowStyle = i%2===0?'odd':'even'; + rowStyle = i%2===0?'odd':'even'; -row[0] = {style:["productKey", rowStyle], text:productKey}; -row[1] = {style:["notes", rowStyle], text:notes}; -row[2] = {style:["cost", rowStyle], text:cost}; -row[3] = {style:["quantity", rowStyle], text:qty}; -row[4] = {style:["tax", rowStyle], text:""+tax}; -row[5] = {style:["lineTotal", rowStyle], text:lineTotal}; + row[0] = {style:["productKey", rowStyle], text:productKey}; + row[1] = {style:["notes", rowStyle], text:notes}; + row[2] = {style:["cost", rowStyle], text:cost}; + row[3] = {style:["quantity", rowStyle], text:qty}; + row[4] = {style:["tax", rowStyle], text:""+tax}; + row[5] = {style:["lineTotal", rowStyle], text:lineTotal}; -grid.push(row); + grid.push(row); } return grid; } @@ -33173,8 +33181,9 @@ function subtotals(invoice) } var data = [ - [invoiceLabels.subtotal, formatMoney(invoice.subtotal_amount, invoice.client.currency_id)], + [invoiceLabels.subtotal, formatMoney(invoice.subtotal_amount, invoice.client.currency_id)], ]; + if(invoice.discount_amount != 0) { data.push([invoiceLabels.discount, formatMoney(invoice.discount_amount, invoice.client.currency_id)]); } @@ -33254,6 +33263,7 @@ function clientDetails(invoice) { if (!client) { return; } + var fields = [ getClientDisplayName(client), client.id_number, diff --git a/public/js/pdf.pdfmake.js b/public/js/pdf.pdfmake.js index e73505b0ab4e..54f7dd91b6f5 100644 --- a/public/js/pdf.pdfmake.js +++ b/public/js/pdf.pdfmake.js @@ -1,23 +1,27 @@ function GetPdfMake(invoice, javascript, callback) { var account = invoice.account; + var baseDD = { + pageMargins: [40, 40, 40, 40] + }; eval(javascript); + dd = _.extend(dd, baseDD); + + /* + var fonts = { + Roboto: { + normal: 'Roboto-Regular.ttf', + bold: 'Roboto-Medium.ttf', + italics: 'Roboto-Italic.ttf', + bolditalics: 'Roboto-Italic.ttf' + }, + }; + */ -/* -var fonts = { -Roboto: { -normal: 'Roboto-Regular.ttf', -bold: 'Roboto-Medium.ttf', -italics: 'Roboto-Italic.ttf', -bolditalics: 'Roboto-Italic.ttf' -}, -}; -*/ - -doc = pdfMake.createPdf(dd); -doc.save = function(fileName) { - this.download(fileName); -}; -return doc; + doc = pdfMake.createPdf(dd); + doc.save = function(fileName) { + this.download(fileName); + }; + return doc; } function notesAndTerms(invoice) { @@ -35,13 +39,17 @@ function notesAndTerms(invoice) } function invoiceLines(invoice) { - var grid = - [[{text: invoiceLabels.item, style: 'tableHeader'}, - {text: invoiceLabels.description, style: 'tableHeader'}, - {text: invoiceLabels.unit_cost, style: 'tableHeader'}, - {text: invoiceLabels.quantity, style: 'tableHeader'}, - {text: invoice.has_taxes?invoiceLabels.tax:'', style: 'tableHeader'}, - {text: invoiceLabels.line_total, style: 'tableHeader'}]]; + var grid = [ + [ + {text: invoiceLabels.item, style: 'tableHeader'}, + {text: invoiceLabels.description, style: 'tableHeader'}, + {text: invoiceLabels.unit_cost, style: 'tableHeader'}, + {text: invoiceLabels.quantity, style: 'tableHeader'}, + {text: invoice.has_taxes?invoiceLabels.tax:'', style: 'tableHeader'}, + {text: invoiceLabels.line_total, style: 'tableHeader'} + ] + ]; + var total = 0; var shownItem = false; var currencyId = invoice && invoice.client ? invoice.client.currency_id : 1; @@ -61,37 +69,37 @@ function invoiceLines(invoice) { tax = parseFloat(item.tax_rate); } -// show at most one blank line -if (shownItem && (!cost || cost == '0.00') && !notes && !productKey) { - continue; -} -shownItem = true; + // show at most one blank line + if (shownItem && (!cost || cost == '0.00') && !notes && !productKey) { + continue; + } + shownItem = true; -// process date variables -if (invoice.is_recurring) { - notes = processVariables(notes); - productKey = processVariables(productKey); -} + // process date variables + if (invoice.is_recurring) { + notes = processVariables(notes); + productKey = processVariables(productKey); + } -var lineTotal = roundToTwo(NINJA.parseFloat(item.cost)) * roundToTwo(NINJA.parseFloat(item.qty)); -if (tax) { - lineTotal += lineTotal * tax / 100; -} -if (lineTotal) { - total += lineTotal; -} -lineTotal = formatMoney(lineTotal, currencyId); + var lineTotal = roundToTwo(NINJA.parseFloat(item.cost)) * roundToTwo(NINJA.parseFloat(item.qty)); + if (tax) { + lineTotal += lineTotal * tax / 100; + } + if (lineTotal) { + total += lineTotal; + } + lineTotal = formatMoney(lineTotal, currencyId); -rowStyle = i%2===0?'odd':'even'; + rowStyle = i%2===0?'odd':'even'; -row[0] = {style:["productKey", rowStyle], text:productKey}; -row[1] = {style:["notes", rowStyle], text:notes}; -row[2] = {style:["cost", rowStyle], text:cost}; -row[3] = {style:["quantity", rowStyle], text:qty}; -row[4] = {style:["tax", rowStyle], text:""+tax}; -row[5] = {style:["lineTotal", rowStyle], text:lineTotal}; + row[0] = {style:["productKey", rowStyle], text:productKey}; + row[1] = {style:["notes", rowStyle], text:notes}; + row[2] = {style:["cost", rowStyle], text:cost}; + row[3] = {style:["quantity", rowStyle], text:qty}; + row[4] = {style:["tax", rowStyle], text:""+tax}; + row[5] = {style:["lineTotal", rowStyle], text:lineTotal}; -grid.push(row); + grid.push(row); } return grid; } @@ -103,8 +111,9 @@ function subtotals(invoice) } var data = [ - [invoiceLabels.subtotal, formatMoney(invoice.subtotal_amount, invoice.client.currency_id)], + [invoiceLabels.subtotal, formatMoney(invoice.subtotal_amount, invoice.client.currency_id)], ]; + if(invoice.discount_amount != 0) { data.push([invoiceLabels.discount, formatMoney(invoice.discount_amount, invoice.client.currency_id)]); } @@ -184,6 +193,7 @@ function clientDetails(invoice) { if (!client) { return; } + var fields = [ getClientDisplayName(client), client.id_number, diff --git a/public/js/pdfmake.min.js b/public/js/pdfmake.min.js new file mode 100644 index 000000000000..281d1768bb3d --- /dev/null +++ b/public/js/pdfmake.min.js @@ -0,0 +1,12 @@ +!function(a){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=a();else if("function"==typeof define&&define.amd)define([],a);else{var b;b="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,b.pdfMake=a()}}(function(){var a;return function b(a,c,d){function e(g,h){if(!c[g]){if(!a[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};a[g][0].call(k.exports,function(b){var c=a[g][1][b];return e(c?c:b)},k,k.exports,b,a,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g=0;f--)if(g[f]!=j[f])return!1;for(f=g.length-1;f>=0;f--)if(e=g[f],!h(a[e],b[e]))return!1;return!0}function k(a,b){return a&&b?"[object RegExp]"==Object.prototype.toString.call(b)?b.test(a):a instanceof b?!0:b.call({},a)===!0?!0:!1:!1}function l(a,b,c,d){var e;m.isString(c)&&(d=c,c=null);try{b()}catch(g){e=g}if(d=(c&&c.name?" ("+c.name+").":".")+(d?" "+d:"."),a&&!e&&f(e,c,"Missing expected exception"+d),!a&&k(e,c)&&f(e,c,"Got unwanted exception"+d),a&&e&&c&&!k(e,c)||!a&&e)throw e}var m=a("util/"),n=Array.prototype.slice,o=Object.prototype.hasOwnProperty,p=b.exports=g;p.AssertionError=function(a){this.name="AssertionError",this.actual=a.actual,this.expected=a.expected,this.operator=a.operator,a.message?(this.message=a.message,this.generatedMessage=!1):(this.message=e(this),this.generatedMessage=!0);var b=a.stackStartFunction||f;if(Error.captureStackTrace)Error.captureStackTrace(this,b);else{var c=new Error;if(c.stack){var d=c.stack,g=b.name,h=d.indexOf("\n"+g);if(h>=0){var i=d.indexOf("\n",h+1);d=d.substring(i+1)}this.stack=d}}},m.inherits(p.AssertionError,Error),p.fail=f,p.ok=g,p.equal=function(a,b,c){a!=b&&f(a,b,c,"==",p.equal)},p.notEqual=function(a,b,c){a==b&&f(a,b,c,"!=",p.notEqual)},p.deepEqual=function(a,b,c){h(a,b)||f(a,b,c,"deepEqual",p.deepEqual)},p.notDeepEqual=function(a,b,c){h(a,b)&&f(a,b,c,"notDeepEqual",p.notDeepEqual)},p.strictEqual=function(a,b,c){a!==b&&f(a,b,c,"===",p.strictEqual)},p.notStrictEqual=function(a,b,c){a===b&&f(a,b,c,"!==",p.notStrictEqual)},p["throws"]=function(){l.apply(this,[!0].concat(n.call(arguments)))},p.doesNotThrow=function(){l.apply(this,[!1].concat(n.call(arguments)))},p.ifError=function(a){if(a)throw a};var q=Object.keys||function(a){var b=[];for(var c in a)o.call(a,c)&&b.push(c);return b}},{"util/":39}],3:[function(){},{}],4:[function(a,b,c){"use strict";var d="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;c.assign=function(a){for(var b=Array.prototype.slice.call(arguments,1);b.length;){var c=b.shift();if(c){if("object"!=typeof c)throw new TypeError(c+"must be non-object");for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d])}}return a},c.shrinkBuf=function(a,b){return a.length===b?a:a.subarray?a.subarray(0,b):(a.length=b,a)};var e={arraySet:function(a,b,c,d,e){if(b.subarray&&a.subarray)return void a.set(b.subarray(c,c+d),e);for(var f=0;d>f;f++)a[e+f]=b[c+f]},flattenChunks:function(a){var b,c,d,e,f,g;for(d=0,b=0,c=a.length;c>b;b++)d+=a[b].length;for(g=new Uint8Array(d),e=0,b=0,c=a.length;c>b;b++)f=a[b],g.set(f,e),e+=f.length;return g}},f={arraySet:function(a,b,c,d,e){for(var f=0;d>f;f++)a[e+f]=b[c+f]},flattenChunks:function(a){return[].concat.apply([],a)}};c.setTyped=function(a){a?(c.Buf8=Uint8Array,c.Buf16=Uint16Array,c.Buf32=Int32Array,c.assign(c,e)):(c.Buf8=Array,c.Buf16=Array,c.Buf32=Array,c.assign(c,f))},c.setTyped(d)},{}],5:[function(a,b){"use strict";function c(a,b,c,d){for(var e=65535&a|0,f=a>>>16&65535|0,g=0;0!==c;){g=c>2e3?2e3:c,c-=g;do e=e+b[d++]|0,f=f+e|0;while(--g);e%=65521,f%=65521}return e|f<<16|0}b.exports=c},{}],6:[function(a,b){b.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],7:[function(a,b){"use strict";function c(){for(var a,b=[],c=0;256>c;c++){a=c;for(var d=0;8>d;d++)a=1&a?3988292384^a>>>1:a>>>1;b[c]=a}return b}function d(a,b,c,d){var f=e,g=d+c;a=-1^a;for(var h=d;g>h;h++)a=a>>>8^f[255&(a^b[h])];return-1^a}var e=c();b.exports=d},{}],8:[function(a,b,c){"use strict";function d(a,b){return a.msg=G[b],b}function e(a){return(a<<1)-(a>4?9:0)}function f(a){for(var b=a.length;--b>=0;)a[b]=0}function g(a){var b=a.state,c=b.pending;c>a.avail_out&&(c=a.avail_out),0!==c&&(C.arraySet(a.output,b.pending_buf,b.pending_out,c,a.next_out),a.next_out+=c,b.pending_out+=c,a.total_out+=c,a.avail_out-=c,b.pending-=c,0===b.pending&&(b.pending_out=0))}function h(a,b){D._tr_flush_block(a,a.block_start>=0?a.block_start:-1,a.strstart-a.block_start,b),a.block_start=a.strstart,g(a.strm)}function i(a,b){a.pending_buf[a.pending++]=b}function j(a,b){a.pending_buf[a.pending++]=b>>>8&255,a.pending_buf[a.pending++]=255&b}function k(a,b,c,d){var e=a.avail_in;return e>d&&(e=d),0===e?0:(a.avail_in-=e,C.arraySet(b,a.input,a.next_in,e,c),1===a.state.wrap?a.adler=E(a.adler,b,e,c):2===a.state.wrap&&(a.adler=F(a.adler,b,e,c)),a.next_in+=e,a.total_in+=e,e)}function l(a,b){var c,d,e=a.max_chain_length,f=a.strstart,g=a.prev_length,h=a.nice_match,i=a.strstart>a.w_size-jb?a.strstart-(a.w_size-jb):0,j=a.window,k=a.w_mask,l=a.prev,m=a.strstart+ib,n=j[f+g-1],o=j[f+g];a.prev_length>=a.good_match&&(e>>=2),h>a.lookahead&&(h=a.lookahead);do if(c=b,j[c+g]===o&&j[c+g-1]===n&&j[c]===j[f]&&j[++c]===j[f+1]){f+=2,c++;do;while(j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&m>f);if(d=ib-(m-f),f=m-ib,d>g){if(a.match_start=b,g=d,d>=h)break;n=j[f+g-1],o=j[f+g]}}while((b=l[b&k])>i&&0!==--e);return g<=a.lookahead?g:a.lookahead}function m(a){var b,c,d,e,f,g=a.w_size;do{if(e=a.window_size-a.lookahead-a.strstart,a.strstart>=g+(g-jb)){C.arraySet(a.window,a.window,g,g,0),a.match_start-=g,a.strstart-=g,a.block_start-=g,c=a.hash_size,b=c;do d=a.head[--b],a.head[b]=d>=g?d-g:0;while(--c);c=g,b=c;do d=a.prev[--b],a.prev[b]=d>=g?d-g:0;while(--c);e+=g}if(0===a.strm.avail_in)break;if(c=k(a.strm,a.window,a.strstart+a.lookahead,e),a.lookahead+=c,a.lookahead+a.insert>=hb)for(f=a.strstart-a.insert,a.ins_h=a.window[f],a.ins_h=(a.ins_h<a.pending_buf_size-5&&(c=a.pending_buf_size-5);;){if(a.lookahead<=1){if(m(a),0===a.lookahead&&b===H)return sb;if(0===a.lookahead)break}a.strstart+=a.lookahead,a.lookahead=0;var d=a.block_start+c;if((0===a.strstart||a.strstart>=d)&&(a.lookahead=a.strstart-d,a.strstart=d,h(a,!1),0===a.strm.avail_out))return sb;if(a.strstart-a.block_start>=a.w_size-jb&&(h(a,!1),0===a.strm.avail_out))return sb}return a.insert=0,b===K?(h(a,!0),0===a.strm.avail_out?ub:vb):a.strstart>a.block_start&&(h(a,!1),0===a.strm.avail_out)?sb:sb}function o(a,b){for(var c,d;;){if(a.lookahead=hb&&(a.ins_h=(a.ins_h<=hb)if(d=D._tr_tally(a,a.strstart-a.match_start,a.match_length-hb),a.lookahead-=a.match_length,a.match_length<=a.max_lazy_match&&a.lookahead>=hb){a.match_length--;do a.strstart++,a.ins_h=(a.ins_h<=hb&&(a.ins_h=(a.ins_h<4096)&&(a.match_length=hb-1)),a.prev_length>=hb&&a.match_length<=a.prev_length){e=a.strstart+a.lookahead-hb,d=D._tr_tally(a,a.strstart-1-a.prev_match,a.prev_length-hb),a.lookahead-=a.prev_length-1,a.prev_length-=2;do++a.strstart<=e&&(a.ins_h=(a.ins_h<=hb&&a.strstart>0&&(e=a.strstart-1,d=g[e],d===g[++e]&&d===g[++e]&&d===g[++e])){f=a.strstart+ib;do;while(d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&f>e);a.match_length=ib-(f-e),a.match_length>a.lookahead&&(a.match_length=a.lookahead)}if(a.match_length>=hb?(c=D._tr_tally(a,1,a.match_length-hb),a.lookahead-=a.match_length,a.strstart+=a.match_length,a.match_length=0):(c=D._tr_tally(a,0,a.window[a.strstart]),a.lookahead--,a.strstart++),c&&(h(a,!1),0===a.strm.avail_out))return sb}return a.insert=0,b===K?(h(a,!0),0===a.strm.avail_out?ub:vb):a.last_lit&&(h(a,!1),0===a.strm.avail_out)?sb:tb}function r(a,b){for(var c;;){if(0===a.lookahead&&(m(a),0===a.lookahead)){if(b===H)return sb;break}if(a.match_length=0,c=D._tr_tally(a,0,a.window[a.strstart]),a.lookahead--,a.strstart++,c&&(h(a,!1),0===a.strm.avail_out))return sb}return a.insert=0,b===K?(h(a,!0),0===a.strm.avail_out?ub:vb):a.last_lit&&(h(a,!1),0===a.strm.avail_out)?sb:tb}function s(a){a.window_size=2*a.w_size,f(a.head),a.max_lazy_match=B[a.level].max_lazy,a.good_match=B[a.level].good_length,a.nice_match=B[a.level].nice_length,a.max_chain_length=B[a.level].max_chain,a.strstart=0,a.block_start=0,a.lookahead=0,a.insert=0,a.match_length=a.prev_length=hb-1,a.match_available=0,a.ins_h=0}function t(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=Y,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new C.Buf16(2*fb),this.dyn_dtree=new C.Buf16(2*(2*db+1)),this.bl_tree=new C.Buf16(2*(2*eb+1)),f(this.dyn_ltree),f(this.dyn_dtree),f(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new C.Buf16(gb+1),this.heap=new C.Buf16(2*cb+1),f(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new C.Buf16(2*cb+1),f(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function u(a){var b;return a&&a.state?(a.total_in=a.total_out=0,a.data_type=X,b=a.state,b.pending=0,b.pending_out=0,b.wrap<0&&(b.wrap=-b.wrap),b.status=b.wrap?lb:qb,a.adler=2===b.wrap?0:1,b.last_flush=H,D._tr_init(b),M):d(a,O)}function v(a){var b=u(a);return b===M&&s(a.state),b}function w(a,b){return a&&a.state?2!==a.state.wrap?O:(a.state.gzhead=b,M):O}function x(a,b,c,e,f,g){if(!a)return O;var h=1;if(b===R&&(b=6),0>e?(h=0,e=-e):e>15&&(h=2,e-=16),1>f||f>Z||c!==Y||8>e||e>15||0>b||b>9||0>g||g>V)return d(a,O);8===e&&(e=9);var i=new t;return a.state=i,i.strm=a,i.wrap=h,i.gzhead=null,i.w_bits=e,i.w_size=1<>1,i.l_buf=3*i.lit_bufsize,i.level=b,i.strategy=g,i.method=c,v(a)}function y(a,b){return x(a,b,Y,$,_,W)}function z(a,b){var c,h,k,l;if(!a||!a.state||b>L||0>b)return a?d(a,O):O;if(h=a.state,!a.output||!a.input&&0!==a.avail_in||h.status===rb&&b!==K)return d(a,0===a.avail_out?Q:O);if(h.strm=a,c=h.last_flush,h.last_flush=b,h.status===lb)if(2===h.wrap)a.adler=0,i(h,31),i(h,139),i(h,8),h.gzhead?(i(h,(h.gzhead.text?1:0)+(h.gzhead.hcrc?2:0)+(h.gzhead.extra?4:0)+(h.gzhead.name?8:0)+(h.gzhead.comment?16:0)),i(h,255&h.gzhead.time),i(h,h.gzhead.time>>8&255),i(h,h.gzhead.time>>16&255),i(h,h.gzhead.time>>24&255),i(h,9===h.level?2:h.strategy>=T||h.level<2?4:0),i(h,255&h.gzhead.os),h.gzhead.extra&&h.gzhead.extra.length&&(i(h,255&h.gzhead.extra.length),i(h,h.gzhead.extra.length>>8&255)),h.gzhead.hcrc&&(a.adler=F(a.adler,h.pending_buf,h.pending,0)),h.gzindex=0,h.status=mb):(i(h,0),i(h,0),i(h,0),i(h,0),i(h,0),i(h,9===h.level?2:h.strategy>=T||h.level<2?4:0),i(h,wb),h.status=qb);else{var m=Y+(h.w_bits-8<<4)<<8,n=-1;n=h.strategy>=T||h.level<2?0:h.level<6?1:6===h.level?2:3,m|=n<<6,0!==h.strstart&&(m|=kb),m+=31-m%31,h.status=qb,j(h,m),0!==h.strstart&&(j(h,a.adler>>>16),j(h,65535&a.adler)),a.adler=1}if(h.status===mb)if(h.gzhead.extra){for(k=h.pending;h.gzindex<(65535&h.gzhead.extra.length)&&(h.pending!==h.pending_buf_size||(h.gzhead.hcrc&&h.pending>k&&(a.adler=F(a.adler,h.pending_buf,h.pending-k,k)),g(a),k=h.pending,h.pending!==h.pending_buf_size));)i(h,255&h.gzhead.extra[h.gzindex]),h.gzindex++;h.gzhead.hcrc&&h.pending>k&&(a.adler=F(a.adler,h.pending_buf,h.pending-k,k)),h.gzindex===h.gzhead.extra.length&&(h.gzindex=0,h.status=nb)}else h.status=nb;if(h.status===nb)if(h.gzhead.name){k=h.pending;do{if(h.pending===h.pending_buf_size&&(h.gzhead.hcrc&&h.pending>k&&(a.adler=F(a.adler,h.pending_buf,h.pending-k,k)),g(a),k=h.pending,h.pending===h.pending_buf_size)){l=1;break}l=h.gzindexk&&(a.adler=F(a.adler,h.pending_buf,h.pending-k,k)),0===l&&(h.gzindex=0,h.status=ob)}else h.status=ob;if(h.status===ob)if(h.gzhead.comment){k=h.pending;do{if(h.pending===h.pending_buf_size&&(h.gzhead.hcrc&&h.pending>k&&(a.adler=F(a.adler,h.pending_buf,h.pending-k,k)),g(a),k=h.pending,h.pending===h.pending_buf_size)){l=1;break}l=h.gzindexk&&(a.adler=F(a.adler,h.pending_buf,h.pending-k,k)),0===l&&(h.status=pb)}else h.status=pb;if(h.status===pb&&(h.gzhead.hcrc?(h.pending+2>h.pending_buf_size&&g(a),h.pending+2<=h.pending_buf_size&&(i(h,255&a.adler),i(h,a.adler>>8&255),a.adler=0,h.status=qb)):h.status=qb),0!==h.pending){if(g(a),0===a.avail_out)return h.last_flush=-1,M}else if(0===a.avail_in&&e(b)<=e(c)&&b!==K)return d(a,Q);if(h.status===rb&&0!==a.avail_in)return d(a,Q);if(0!==a.avail_in||0!==h.lookahead||b!==H&&h.status!==rb){var o=h.strategy===T?r(h,b):h.strategy===U?q(h,b):B[h.level].func(h,b);if((o===ub||o===vb)&&(h.status=rb),o===sb||o===ub)return 0===a.avail_out&&(h.last_flush=-1),M;if(o===tb&&(b===I?D._tr_align(h):b!==L&&(D._tr_stored_block(h,0,0,!1),b===J&&(f(h.head),0===h.lookahead&&(h.strstart=0,h.block_start=0,h.insert=0))),g(a),0===a.avail_out))return h.last_flush=-1,M}return b!==K?M:h.wrap<=0?N:(2===h.wrap?(i(h,255&a.adler),i(h,a.adler>>8&255),i(h,a.adler>>16&255),i(h,a.adler>>24&255),i(h,255&a.total_in),i(h,a.total_in>>8&255),i(h,a.total_in>>16&255),i(h,a.total_in>>24&255)):(j(h,a.adler>>>16),j(h,65535&a.adler)),g(a),h.wrap>0&&(h.wrap=-h.wrap),0!==h.pending?M:N)}function A(a){var b;return a&&a.state?(b=a.state.status,b!==lb&&b!==mb&&b!==nb&&b!==ob&&b!==pb&&b!==qb&&b!==rb?d(a,O):(a.state=null,b===qb?d(a,P):M)):O}var B,C=a("../utils/common"),D=a("./trees"),E=a("./adler32"),F=a("./crc32"),G=a("./messages"),H=0,I=1,J=3,K=4,L=5,M=0,N=1,O=-2,P=-3,Q=-5,R=-1,S=1,T=2,U=3,V=4,W=0,X=2,Y=8,Z=9,$=15,_=8,ab=29,bb=256,cb=bb+1+ab,db=30,eb=19,fb=2*cb+1,gb=15,hb=3,ib=258,jb=ib+hb+1,kb=32,lb=42,mb=69,nb=73,ob=91,pb=103,qb=113,rb=666,sb=1,tb=2,ub=3,vb=4,wb=3,xb=function(a,b,c,d,e){this.good_length=a,this.max_lazy=b,this.nice_length=c,this.max_chain=d,this.func=e};B=[new xb(0,0,0,0,n),new xb(4,4,8,4,o),new xb(4,5,16,8,o),new xb(4,6,32,32,o),new xb(4,4,16,16,p),new xb(8,16,32,32,p),new xb(8,16,128,128,p),new xb(8,32,128,256,p),new xb(32,128,258,1024,p),new xb(32,258,258,4096,p)],c.deflateInit=y,c.deflateInit2=x,c.deflateReset=v,c.deflateResetKeep=u,c.deflateSetHeader=w,c.deflate=z,c.deflateEnd=A,c.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":4,"./adler32":5,"./crc32":7,"./messages":12,"./trees":13}],9:[function(a,b){"use strict";var c=30,d=12;b.exports=function(a,b){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C;e=a.state,f=a.next_in,B=a.input,g=f+(a.avail_in-5),h=a.next_out,C=a.output,i=h-(b-a.avail_out),j=h+(a.avail_out-257),k=e.dmax,l=e.wsize,m=e.whave,n=e.wnext,o=e.window,p=e.hold,q=e.bits,r=e.lencode,s=e.distcode,t=(1<q&&(p+=B[f++]<>>24,p>>>=w,q-=w,w=v>>>16&255,0===w)C[h++]=65535&v;else{if(!(16&w)){if(0===(64&w)){v=r[(65535&v)+(p&(1<q&&(p+=B[f++]<>>=w,q-=w),15>q&&(p+=B[f++]<>>24,p>>>=w,q-=w,w=v>>>16&255,!(16&w)){if(0===(64&w)){v=s[(65535&v)+(p&(1<q&&(p+=B[f++]<q&&(p+=B[f++]<k){a.msg="invalid distance too far back",e.mode=c;break a}if(p>>>=w,q-=w,w=h-i,y>w){if(w=y-w,w>m&&e.sane){a.msg="invalid distance too far back",e.mode=c;break a}if(z=0,A=o,0===n){if(z+=l-w,x>w){x-=w;do C[h++]=o[z++];while(--w);z=h-y,A=C}}else if(w>n){if(z+=l+n-w,w-=n,x>w){x-=w;do C[h++]=o[z++];while(--w);if(z=0,x>n){w=n,x-=w;do C[h++]=o[z++];while(--w);z=h-y,A=C}}}else if(z+=n-w,x>w){x-=w;do C[h++]=o[z++];while(--w);z=h-y,A=C}for(;x>2;)C[h++]=A[z++],C[h++]=A[z++],C[h++]=A[z++],x-=3;x&&(C[h++]=A[z++],x>1&&(C[h++]=A[z++]))}else{z=h-y;do C[h++]=C[z++],C[h++]=C[z++],C[h++]=C[z++],x-=3;while(x>2);x&&(C[h++]=C[z++],x>1&&(C[h++]=C[z++]))}break}}break}}while(g>f&&j>h);x=q>>3,f-=x,q-=x<<3,p&=(1<f?5+(g-f):5-(f-g),a.avail_out=j>h?257+(j-h):257-(h-j),e.hold=p,e.bits=q}},{}],10:[function(a,b,c){"use strict";function d(a){return(a>>>24&255)+(a>>>8&65280)+((65280&a)<<8)+((255&a)<<24)}function e(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new r.Buf16(320),this.work=new r.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function f(a){var b;return a&&a.state?(b=a.state,a.total_in=a.total_out=b.total=0,a.msg="",b.wrap&&(a.adler=1&b.wrap),b.mode=K,b.last=0,b.havedict=0,b.dmax=32768,b.head=null,b.hold=0,b.bits=0,b.lencode=b.lendyn=new r.Buf32(ob),b.distcode=b.distdyn=new r.Buf32(pb),b.sane=1,b.back=-1,C):F}function g(a){var b;return a&&a.state?(b=a.state,b.wsize=0,b.whave=0,b.wnext=0,f(a)):F}function h(a,b){var c,d;return a&&a.state?(d=a.state,0>b?(c=0,b=-b):(c=(b>>4)+1,48>b&&(b&=15)),b&&(8>b||b>15)?F:(null!==d.window&&d.wbits!==b&&(d.window=null),d.wrap=c,d.wbits=b,g(a))):F}function i(a,b){var c,d;return a?(d=new e,a.state=d,d.window=null,c=h(a,b),c!==C&&(a.state=null),c):F}function j(a){return i(a,rb)}function k(a){if(sb){var b;for(p=new r.Buf32(512),q=new r.Buf32(32),b=0;144>b;)a.lens[b++]=8;for(;256>b;)a.lens[b++]=9;for(;280>b;)a.lens[b++]=7;for(;288>b;)a.lens[b++]=8;for(v(x,a.lens,0,288,p,0,a.work,{bits:9}),b=0;32>b;)a.lens[b++]=5;v(y,a.lens,0,32,q,0,a.work,{bits:5}),sb=!1}a.lencode=p,a.lenbits=9,a.distcode=q,a.distbits=5}function l(a,b,c,d){var e,f=a.state;return null===f.window&&(f.wsize=1<=f.wsize?(r.arraySet(f.window,b,c-f.wsize,f.wsize,0),f.wnext=0,f.whave=f.wsize):(e=f.wsize-f.wnext,e>d&&(e=d),r.arraySet(f.window,b,c-d,e,f.wnext),d-=e,d?(r.arraySet(f.window,b,c-d,d,0),f.wnext=d,f.whave=f.wsize):(f.wnext+=e,f.wnext===f.wsize&&(f.wnext=0),f.whaven;){if(0===i)break a;i--,m+=e[g++]<>>8&255,c.check=t(c.check,Bb,2,0),m=0,n=0,c.mode=L;break}if(c.flags=0,c.head&&(c.head.done=!1),!(1&c.wrap)||(((255&m)<<8)+(m>>8))%31){a.msg="incorrect header check",c.mode=lb;break}if((15&m)!==J){a.msg="unknown compression method",c.mode=lb;break}if(m>>>=4,n-=4,wb=(15&m)+8,0===c.wbits)c.wbits=wb;else if(wb>c.wbits){a.msg="invalid window size",c.mode=lb;break}c.dmax=1<n;){if(0===i)break a;i--,m+=e[g++]<>8&1),512&c.flags&&(Bb[0]=255&m,Bb[1]=m>>>8&255,c.check=t(c.check,Bb,2,0)),m=0,n=0,c.mode=M;case M:for(;32>n;){if(0===i)break a;i--,m+=e[g++]<>>8&255,Bb[2]=m>>>16&255,Bb[3]=m>>>24&255,c.check=t(c.check,Bb,4,0)),m=0,n=0,c.mode=N;case N:for(;16>n;){if(0===i)break a;i--,m+=e[g++]<>8),512&c.flags&&(Bb[0]=255&m,Bb[1]=m>>>8&255,c.check=t(c.check,Bb,2,0)),m=0,n=0,c.mode=O;case O:if(1024&c.flags){for(;16>n;){if(0===i)break a;i--,m+=e[g++]<>>8&255,c.check=t(c.check,Bb,2,0)),m=0,n=0}else c.head&&(c.head.extra=null);c.mode=P;case P:if(1024&c.flags&&(q=c.length,q>i&&(q=i),q&&(c.head&&(wb=c.head.extra_len-c.length,c.head.extra||(c.head.extra=new Array(c.head.extra_len)),r.arraySet(c.head.extra,e,g,q,wb)),512&c.flags&&(c.check=t(c.check,e,q,g)),i-=q,g+=q,c.length-=q),c.length))break a;c.length=0,c.mode=Q;case Q:if(2048&c.flags){if(0===i)break a;q=0;do wb=e[g+q++],c.head&&wb&&c.length<65536&&(c.head.name+=String.fromCharCode(wb));while(wb&&i>q);if(512&c.flags&&(c.check=t(c.check,e,q,g)),i-=q,g+=q,wb)break a}else c.head&&(c.head.name=null);c.length=0,c.mode=R;case R:if(4096&c.flags){if(0===i)break a;q=0;do wb=e[g+q++],c.head&&wb&&c.length<65536&&(c.head.comment+=String.fromCharCode(wb));while(wb&&i>q);if(512&c.flags&&(c.check=t(c.check,e,q,g)),i-=q,g+=q,wb)break a}else c.head&&(c.head.comment=null);c.mode=S;case S:if(512&c.flags){for(;16>n;){if(0===i)break a;i--,m+=e[g++]<>9&1,c.head.done=!0),a.adler=c.check=0,c.mode=V;break;case T:for(;32>n;){if(0===i)break a;i--,m+=e[g++]<>>=7&n,n-=7&n,c.mode=ib;break}for(;3>n;){if(0===i)break a;i--,m+=e[g++]<>>=1,n-=1,3&m){case 0:c.mode=X;break;case 1:if(k(c),c.mode=bb,b===B){m>>>=2,n-=2;break a}break;case 2:c.mode=$;break;case 3:a.msg="invalid block type",c.mode=lb}m>>>=2,n-=2;break;case X:for(m>>>=7&n,n-=7&n;32>n;){if(0===i)break a;i--,m+=e[g++]<>>16^65535)){a.msg="invalid stored block lengths",c.mode=lb;break}if(c.length=65535&m,m=0,n=0,c.mode=Y,b===B)break a;case Y:c.mode=Z;case Z:if(q=c.length){if(q>i&&(q=i),q>j&&(q=j),0===q)break a;r.arraySet(f,e,g,q,h),i-=q,g+=q,j-=q,h+=q,c.length-=q;break}c.mode=V;break;case $:for(;14>n;){if(0===i)break a;i--,m+=e[g++]<>>=5,n-=5,c.ndist=(31&m)+1,m>>>=5,n-=5,c.ncode=(15&m)+4,m>>>=4,n-=4,c.nlen>286||c.ndist>30){a.msg="too many length or distance symbols",c.mode=lb;break}c.have=0,c.mode=_;case _:for(;c.haven;){if(0===i)break a;i--,m+=e[g++]<>>=3,n-=3}for(;c.have<19;)c.lens[Cb[c.have++]]=0;if(c.lencode=c.lendyn,c.lenbits=7,yb={bits:c.lenbits},xb=v(w,c.lens,0,19,c.lencode,0,c.work,yb),c.lenbits=yb.bits,xb){a.msg="invalid code lengths set",c.mode=lb;break}c.have=0,c.mode=ab;case ab:for(;c.have>>24,rb=Ab>>>16&255,sb=65535&Ab,!(n>=qb);){if(0===i)break a;i--,m+=e[g++]<sb)m>>>=qb,n-=qb,c.lens[c.have++]=sb;else{if(16===sb){for(zb=qb+2;zb>n;){if(0===i)break a;i--,m+=e[g++]<>>=qb,n-=qb,0===c.have){a.msg="invalid bit length repeat",c.mode=lb;break}wb=c.lens[c.have-1],q=3+(3&m),m>>>=2,n-=2}else if(17===sb){for(zb=qb+3;zb>n;){if(0===i)break a;i--,m+=e[g++]<>>=qb,n-=qb,wb=0,q=3+(7&m),m>>>=3,n-=3}else{for(zb=qb+7;zb>n;){if(0===i)break a;i--,m+=e[g++]<>>=qb,n-=qb,wb=0,q=11+(127&m),m>>>=7,n-=7}if(c.have+q>c.nlen+c.ndist){a.msg="invalid bit length repeat",c.mode=lb;break}for(;q--;)c.lens[c.have++]=wb}}if(c.mode===lb)break;if(0===c.lens[256]){a.msg="invalid code -- missing end-of-block",c.mode=lb;break}if(c.lenbits=9,yb={bits:c.lenbits},xb=v(x,c.lens,0,c.nlen,c.lencode,0,c.work,yb),c.lenbits=yb.bits,xb){a.msg="invalid literal/lengths set",c.mode=lb;break}if(c.distbits=6,c.distcode=c.distdyn,yb={bits:c.distbits},xb=v(y,c.lens,c.nlen,c.ndist,c.distcode,0,c.work,yb),c.distbits=yb.bits,xb){a.msg="invalid distances set",c.mode=lb;break}if(c.mode=bb,b===B)break a;case bb:c.mode=cb;case cb:if(i>=6&&j>=258){a.next_out=h,a.avail_out=j,a.next_in=g,a.avail_in=i,c.hold=m,c.bits=n,u(a,p),h=a.next_out,f=a.output,j=a.avail_out,g=a.next_in,e=a.input,i=a.avail_in,m=c.hold,n=c.bits,c.mode===V&&(c.back=-1);break}for(c.back=0;Ab=c.lencode[m&(1<>>24,rb=Ab>>>16&255,sb=65535&Ab,!(n>=qb);){if(0===i)break a; +i--,m+=e[g++]<>tb)],qb=Ab>>>24,rb=Ab>>>16&255,sb=65535&Ab,!(n>=tb+qb);){if(0===i)break a;i--,m+=e[g++]<>>=tb,n-=tb,c.back+=tb}if(m>>>=qb,n-=qb,c.back+=qb,c.length=sb,0===rb){c.mode=hb;break}if(32&rb){c.back=-1,c.mode=V;break}if(64&rb){a.msg="invalid literal/length code",c.mode=lb;break}c.extra=15&rb,c.mode=db;case db:if(c.extra){for(zb=c.extra;zb>n;){if(0===i)break a;i--,m+=e[g++]<>>=c.extra,n-=c.extra,c.back+=c.extra}c.was=c.length,c.mode=eb;case eb:for(;Ab=c.distcode[m&(1<>>24,rb=Ab>>>16&255,sb=65535&Ab,!(n>=qb);){if(0===i)break a;i--,m+=e[g++]<>tb)],qb=Ab>>>24,rb=Ab>>>16&255,sb=65535&Ab,!(n>=tb+qb);){if(0===i)break a;i--,m+=e[g++]<>>=tb,n-=tb,c.back+=tb}if(m>>>=qb,n-=qb,c.back+=qb,64&rb){a.msg="invalid distance code",c.mode=lb;break}c.offset=sb,c.extra=15&rb,c.mode=fb;case fb:if(c.extra){for(zb=c.extra;zb>n;){if(0===i)break a;i--,m+=e[g++]<>>=c.extra,n-=c.extra,c.back+=c.extra}if(c.offset>c.dmax){a.msg="invalid distance too far back",c.mode=lb;break}c.mode=gb;case gb:if(0===j)break a;if(q=p-j,c.offset>q){if(q=c.offset-q,q>c.whave&&c.sane){a.msg="invalid distance too far back",c.mode=lb;break}q>c.wnext?(q-=c.wnext,ob=c.wsize-q):ob=c.wnext-q,q>c.length&&(q=c.length),pb=c.window}else pb=f,ob=h-c.offset,q=c.length;q>j&&(q=j),j-=q,c.length-=q;do f[h++]=pb[ob++];while(--q);0===c.length&&(c.mode=cb);break;case hb:if(0===j)break a;f[h++]=c.length,j--,c.mode=cb;break;case ib:if(c.wrap){for(;32>n;){if(0===i)break a;i--,m|=e[g++]<n;){if(0===i)break a;i--,m+=e[g++]<=D;D++)P[D]=0;for(E=0;o>E;E++)P[b[n+E]]++;for(H=C,G=d;G>=1&&0===P[G];G--);if(H>G&&(H=G),0===G)return p[q++]=20971520,p[q++]=20971520,s.bits=1,0;for(F=1;G>F&&0===P[F];F++);for(F>H&&(H=F),K=1,D=1;d>=D;D++)if(K<<=1,K-=P[D],0>K)return-1;if(K>0&&(a===g||1!==G))return-1;for(Q[1]=0,D=1;d>D;D++)Q[D+1]=Q[D]+P[D];for(E=0;o>E;E++)0!==b[n+E]&&(r[Q[b[n+E]]++]=E);if(a===g?(N=R=r,y=19):a===h?(N=j,O-=257,R=k,S-=257,y=256):(N=l,R=m,y=-1),M=0,E=0,D=F,x=q,I=H,J=0,v=-1,L=1<e||a===i&&L>f)return 1;for(var T=0;;){T++,z=D-J,r[E]y?(A=R[S+r[E]],B=N[O+r[E]]):(A=96,B=0),t=1<>J)+u]=z<<24|A<<16|B|0;while(0!==u);for(t=1<>=1;if(0!==t?(M&=t-1,M+=t):M=0,E++,0===--P[D]){if(D===G)break;D=b[n+r[E]]}if(D>H&&(M&w)!==v){for(0===J&&(J=H),x+=F,I=D-J,K=1<I+J&&(K-=P[I+J],!(0>=K));)I++,K<<=1;if(L+=1<e||a===i&&L>f)return 1;v=M&w,p[v]=H<<24|I<<16|x-q|0}}return 0!==M&&(p[x+M]=D-J<<24|64<<16|0),s.bits=H,0}},{"../utils/common":4}],12:[function(a,b){"use strict";b.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],13:[function(a,b,c){"use strict";function d(a){for(var b=a.length;--b>=0;)a[b]=0}function e(a){return 256>a?gb[a]:gb[256+(a>>>7)]}function f(a,b){a.pending_buf[a.pending++]=255&b,a.pending_buf[a.pending++]=b>>>8&255}function g(a,b,c){a.bi_valid>V-c?(a.bi_buf|=b<>V-a.bi_valid,a.bi_valid+=c-V):(a.bi_buf|=b<>>=1,c<<=1;while(--b>0);return c>>>1}function j(a){16===a.bi_valid?(f(a,a.bi_buf),a.bi_buf=0,a.bi_valid=0):a.bi_valid>=8&&(a.pending_buf[a.pending++]=255&a.bi_buf,a.bi_buf>>=8,a.bi_valid-=8)}function k(a,b){var c,d,e,f,g,h,i=b.dyn_tree,j=b.max_code,k=b.stat_desc.static_tree,l=b.stat_desc.has_stree,m=b.stat_desc.extra_bits,n=b.stat_desc.extra_base,o=b.stat_desc.max_length,p=0;for(f=0;U>=f;f++)a.bl_count[f]=0;for(i[2*a.heap[a.heap_max]+1]=0,c=a.heap_max+1;T>c;c++)d=a.heap[c],f=i[2*i[2*d+1]+1]+1,f>o&&(f=o,p++),i[2*d+1]=f,d>j||(a.bl_count[f]++,g=0,d>=n&&(g=m[d-n]),h=i[2*d],a.opt_len+=h*(f+g),l&&(a.static_len+=h*(k[2*d+1]+g)));if(0!==p){do{for(f=o-1;0===a.bl_count[f];)f--;a.bl_count[f]--,a.bl_count[f+1]+=2,a.bl_count[o]--,p-=2}while(p>0);for(f=o;0!==f;f--)for(d=a.bl_count[f];0!==d;)e=a.heap[--c],e>j||(i[2*e+1]!==f&&(a.opt_len+=(f-i[2*e+1])*i[2*e],i[2*e+1]=f),d--)}}function l(a,b,c){var d,e,f=new Array(U+1),g=0;for(d=1;U>=d;d++)f[d]=g=g+c[d-1]<<1;for(e=0;b>=e;e++){var h=a[2*e+1];0!==h&&(a[2*e]=i(f[h]++,h))}}function m(){var a,b,c,d,e,f=new Array(U+1);for(c=0,d=0;O-1>d;d++)for(ib[d]=c,a=0;a<1<<_[d];a++)hb[c++]=d;for(hb[c-1]=d,e=0,d=0;16>d;d++)for(jb[d]=e,a=0;a<1<>=7;R>d;d++)for(jb[d]=e<<7,a=0;a<1<=b;b++)f[b]=0;for(a=0;143>=a;)eb[2*a+1]=8,a++,f[8]++;for(;255>=a;)eb[2*a+1]=9,a++,f[9]++;for(;279>=a;)eb[2*a+1]=7,a++,f[7]++;for(;287>=a;)eb[2*a+1]=8,a++,f[8]++;for(l(eb,Q+1,f),a=0;R>a;a++)fb[2*a+1]=5,fb[2*a]=i(a,5);kb=new nb(eb,_,P+1,Q,U),lb=new nb(fb,ab,0,R,U),mb=new nb(new Array(0),bb,0,S,W)}function n(a){var b;for(b=0;Q>b;b++)a.dyn_ltree[2*b]=0;for(b=0;R>b;b++)a.dyn_dtree[2*b]=0;for(b=0;S>b;b++)a.bl_tree[2*b]=0;a.dyn_ltree[2*X]=1,a.opt_len=a.static_len=0,a.last_lit=a.matches=0}function o(a){a.bi_valid>8?f(a,a.bi_buf):a.bi_valid>0&&(a.pending_buf[a.pending++]=a.bi_buf),a.bi_buf=0,a.bi_valid=0}function p(a,b,c,d){o(a),d&&(f(a,c),f(a,~c)),E.arraySet(a.pending_buf,a.window,b,c,a.pending),a.pending+=c}function q(a,b,c,d){var e=2*b,f=2*c;return a[e]c;c++)0!==f[2*c]?(a.heap[++a.heap_len]=j=c,a.depth[c]=0):f[2*c+1]=0;for(;a.heap_len<2;)e=a.heap[++a.heap_len]=2>j?++j:0,f[2*e]=1,a.depth[e]=0,a.opt_len--,h&&(a.static_len-=g[2*e+1]);for(b.max_code=j,c=a.heap_len>>1;c>=1;c--)r(a,f,c);e=i;do c=a.heap[1],a.heap[1]=a.heap[a.heap_len--],r(a,f,1),d=a.heap[1],a.heap[--a.heap_max]=c,a.heap[--a.heap_max]=d,f[2*e]=f[2*c]+f[2*d],a.depth[e]=(a.depth[c]>=a.depth[d]?a.depth[c]:a.depth[d])+1,f[2*c+1]=f[2*d+1]=e,a.heap[1]=e++,r(a,f,1);while(a.heap_len>=2);a.heap[--a.heap_max]=a.heap[1],k(a,b),l(f,j,a.bl_count)}function u(a,b,c){var d,e,f=-1,g=b[1],h=0,i=7,j=4;for(0===g&&(i=138,j=3),b[2*(c+1)+1]=65535,d=0;c>=d;d++)e=g,g=b[2*(d+1)+1],++hh?a.bl_tree[2*e]+=h:0!==e?(e!==f&&a.bl_tree[2*e]++,a.bl_tree[2*Y]++):10>=h?a.bl_tree[2*Z]++:a.bl_tree[2*$]++,h=0,f=e,0===g?(i=138,j=3):e===g?(i=6,j=3):(i=7,j=4))}function v(a,b,c){var d,e,f=-1,i=b[1],j=0,k=7,l=4;for(0===i&&(k=138,l=3),d=0;c>=d;d++)if(e=i,i=b[2*(d+1)+1],!(++jj){do h(a,e,a.bl_tree);while(0!==--j)}else 0!==e?(e!==f&&(h(a,e,a.bl_tree),j--),h(a,Y,a.bl_tree),g(a,j-3,2)):10>=j?(h(a,Z,a.bl_tree),g(a,j-3,3)):(h(a,$,a.bl_tree),g(a,j-11,7));j=0,f=e,0===i?(k=138,l=3):e===i?(k=6,l=3):(k=7,l=4)}}function w(a){var b;for(u(a,a.dyn_ltree,a.l_desc.max_code),u(a,a.dyn_dtree,a.d_desc.max_code),t(a,a.bl_desc),b=S-1;b>=3&&0===a.bl_tree[2*cb[b]+1];b--);return a.opt_len+=3*(b+1)+5+5+4,b}function x(a,b,c,d){var e;for(g(a,b-257,5),g(a,c-1,5),g(a,d-4,4),e=0;d>e;e++)g(a,a.bl_tree[2*cb[e]+1],3);v(a,a.dyn_ltree,b-1),v(a,a.dyn_dtree,c-1)}function y(a){var b,c=4093624447;for(b=0;31>=b;b++,c>>>=1)if(1&c&&0!==a.dyn_ltree[2*b])return G;if(0!==a.dyn_ltree[18]||0!==a.dyn_ltree[20]||0!==a.dyn_ltree[26])return H;for(b=32;P>b;b++)if(0!==a.dyn_ltree[2*b])return H;return G}function z(a){pb||(m(),pb=!0),a.l_desc=new ob(a.dyn_ltree,kb),a.d_desc=new ob(a.dyn_dtree,lb),a.bl_desc=new ob(a.bl_tree,mb),a.bi_buf=0,a.bi_valid=0,n(a)}function A(a,b,c,d){g(a,(J<<1)+(d?1:0),3),p(a,b,c,!0)}function B(a){g(a,K<<1,3),h(a,X,eb),j(a)}function C(a,b,c,d){var e,f,h=0;a.level>0?(a.strm.data_type===I&&(a.strm.data_type=y(a)),t(a,a.l_desc),t(a,a.d_desc),h=w(a),e=a.opt_len+3+7>>>3,f=a.static_len+3+7>>>3,e>=f&&(e=f)):e=f=c+5,e>=c+4&&-1!==b?A(a,b,c,d):a.strategy===F||f===e?(g(a,(K<<1)+(d?1:0),3),s(a,eb,fb)):(g(a,(L<<1)+(d?1:0),3),x(a,a.l_desc.max_code+1,a.d_desc.max_code+1,h+1),s(a,a.dyn_ltree,a.dyn_dtree)),n(a),d&&o(a)}function D(a,b,c){return a.pending_buf[a.d_buf+2*a.last_lit]=b>>>8&255,a.pending_buf[a.d_buf+2*a.last_lit+1]=255&b,a.pending_buf[a.l_buf+a.last_lit]=255&c,a.last_lit++,0===b?a.dyn_ltree[2*c]++:(a.matches++,b--,a.dyn_ltree[2*(hb[c]+P+1)]++,a.dyn_dtree[2*e(b)]++),a.last_lit===a.lit_bufsize-1}var E=a("../utils/common"),F=4,G=0,H=1,I=2,J=0,K=1,L=2,M=3,N=258,O=29,P=256,Q=P+1+O,R=30,S=19,T=2*Q+1,U=15,V=16,W=7,X=256,Y=16,Z=17,$=18,_=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],ab=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],bb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],cb=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],db=512,eb=new Array(2*(Q+2));d(eb);var fb=new Array(2*R);d(fb);var gb=new Array(db);d(gb);var hb=new Array(N-M+1);d(hb);var ib=new Array(O);d(ib);var jb=new Array(R);d(jb);var kb,lb,mb,nb=function(a,b,c,d,e){this.static_tree=a,this.extra_bits=b,this.extra_base=c,this.elems=d,this.max_length=e,this.has_stree=a&&a.length},ob=function(a,b){this.dyn_tree=a,this.max_code=0,this.stat_desc=b},pb=!1;c._tr_init=z,c._tr_stored_block=A,c._tr_flush_block=C,c._tr_tally=D,c._tr_align=B},{"../utils/common":4}],14:[function(a,b){"use strict";function c(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}b.exports=c},{}],15:[function(a,b,c){(function(b,d){function e(a){if(ac.UNZIP)throw new TypeError("Bad argument");this.mode=a,this.init_done=!1,this.write_in_progress=!1,this.pending_close=!1,this.windowBits=0,this.level=0,this.memLevel=0,this.strategy=0,this.dictionary=null}function f(a,b){for(var c=0;cc.Z_MAX_CHUNK))throw new Error("Invalid chunk size: "+a.chunkSize);if(a.windowBits&&(a.windowBitsc.Z_MAX_WINDOWBITS))throw new Error("Invalid windowBits: "+a.windowBits);if(a.level&&(a.levelc.Z_MAX_LEVEL))throw new Error("Invalid compression level: "+a.level);if(a.memLevel&&(a.memLevelc.Z_MAX_MEMLEVEL))throw new Error("Invalid memLevel: "+a.memLevel);if(a.strategy&&a.strategy!=c.Z_FILTERED&&a.strategy!=c.Z_HUFFMAN_ONLY&&a.strategy!=c.Z_RLE&&a.strategy!=c.Z_FIXED&&a.strategy!=c.Z_DEFAULT_STRATEGY)throw new Error("Invalid strategy: "+a.strategy);if(a.dictionary&&!d.isBuffer(a.dictionary))throw new Error("Invalid dictionary: it should be a Buffer instance");this._binding=new p.Zlib(b);var e=this;this._hadError=!1,this._binding.onerror=function(a,b){e._binding=null,e._hadError=!0;var d=new Error(a);d.errno=b,d.code=c.codes[b],e.emit("error",d)};var f=c.Z_DEFAULT_COMPRESSION;"number"==typeof a.level&&(f=a.level);var g=c.Z_DEFAULT_STRATEGY;"number"==typeof a.strategy&&(g=a.strategy),this._binding.init(a.windowBits||c.Z_DEFAULT_WINDOWBITS,f,a.memLevel||c.Z_DEFAULT_MEMLEVEL,g,a.dictionary),this._buffer=new d(this._chunkSize),this._offset=0,this._closed=!1,this._level=f,this._strategy=g,this.once("end",this.close)}var o=a("_stream_transform"),p=a("./binding"),q=a("util"),r=a("assert").ok;p.Z_MIN_WINDOWBITS=8,p.Z_MAX_WINDOWBITS=15,p.Z_DEFAULT_WINDOWBITS=15,p.Z_MIN_CHUNK=64,p.Z_MAX_CHUNK=1/0,p.Z_DEFAULT_CHUNK=16384,p.Z_MIN_MEMLEVEL=1,p.Z_MAX_MEMLEVEL=9,p.Z_DEFAULT_MEMLEVEL=8,p.Z_MIN_LEVEL=-1,p.Z_MAX_LEVEL=9,p.Z_DEFAULT_LEVEL=p.Z_DEFAULT_COMPRESSION,Object.keys(p).forEach(function(a){a.match(/^Z/)&&(c[a]=p[a])}),c.codes={Z_OK:p.Z_OK,Z_STREAM_END:p.Z_STREAM_END,Z_NEED_DICT:p.Z_NEED_DICT,Z_ERRNO:p.Z_ERRNO,Z_STREAM_ERROR:p.Z_STREAM_ERROR,Z_DATA_ERROR:p.Z_DATA_ERROR,Z_MEM_ERROR:p.Z_MEM_ERROR,Z_BUF_ERROR:p.Z_BUF_ERROR,Z_VERSION_ERROR:p.Z_VERSION_ERROR},Object.keys(c.codes).forEach(function(a){c.codes[c.codes[a]]=a}),c.Deflate=g,c.Inflate=h,c.Gzip=i,c.Gunzip=j,c.DeflateRaw=k,c.InflateRaw=l,c.Unzip=m,c.createDeflate=function(a){return new g(a)},c.createInflate=function(a){return new h(a)},c.createDeflateRaw=function(a){return new k(a)},c.createInflateRaw=function(a){return new l(a)},c.createGzip=function(a){return new i(a)},c.createGunzip=function(a){return new j(a)},c.createUnzip=function(a){return new m(a)},c.deflate=function(a,b,c){return"function"==typeof b&&(c=b,b={}),e(new g(b),a,c)},c.deflateSync=function(a,b){return f(new g(b),a)},c.gzip=function(a,b,c){return"function"==typeof b&&(c=b,b={}),e(new i(b),a,c)},c.gzipSync=function(a,b){return f(new i(b),a)},c.deflateRaw=function(a,b,c){return"function"==typeof b&&(c=b,b={}),e(new k(b),a,c)},c.deflateRawSync=function(a,b){return f(new k(b),a)},c.unzip=function(a,b,c){return"function"==typeof b&&(c=b,b={}),e(new m(b),a,c)},c.unzipSync=function(a,b){return f(new m(b),a)},c.inflate=function(a,b,c){return"function"==typeof b&&(c=b,b={}),e(new h(b),a,c)},c.inflateSync=function(a,b){return f(new h(b),a)},c.gunzip=function(a,b,c){return"function"==typeof b&&(c=b,b={}),e(new j(b),a,c)},c.gunzipSync=function(a,b){return f(new j(b),a)},c.inflateRaw=function(a,b,c){return"function"==typeof b&&(c=b,b={}),e(new l(b),a,c)},c.inflateRawSync=function(a,b){return f(new l(b),a)},q.inherits(n,o),n.prototype.params=function(a,d,e){if(ac.Z_MAX_LEVEL)throw new RangeError("Invalid compression level: "+a);if(d!=c.Z_FILTERED&&d!=c.Z_HUFFMAN_ONLY&&d!=c.Z_RLE&&d!=c.Z_FIXED&&d!=c.Z_DEFAULT_STRATEGY)throw new TypeError("Invalid strategy: "+d);if(this._level!==a||this._strategy!==d){var f=this;this.flush(p.Z_SYNC_FLUSH,function(){f._binding.params(a,d),f._hadError||(f._level=a,f._strategy=d,e&&e())})}else b.nextTick(e)},n.prototype.reset=function(){return this._binding.reset()},n.prototype._flush=function(a){this._transform(new d(0),"",a)},n.prototype.flush=function(a,c){var e=this._writableState;if(("function"==typeof a||void 0===a&&!c)&&(c=a,a=p.Z_FULL_FLUSH),e.ended)c&&b.nextTick(c);else if(e.ending)c&&this.once("end",c);else if(e.needDrain){var f=this;this.once("drain",function(){f.flush(c)})}else this._flushFlag=a,this.write(new d(0),"",c)},n.prototype.close=function(a){if(a&&b.nextTick(a),!this._closed){this._closed=!0,this._binding.close();var c=this;b.nextTick(function(){c.emit("close")})}},n.prototype._transform=function(a,b,c){var e,f=this._writableState,g=f.ending||f.ended,h=g&&(!a||f.length===a.length);if(null===!a&&!d.isBuffer(a))return c(new Error("invalid input"));h?e=p.Z_FINISH:(e=this._flushFlag,a.length>=f.length&&(this._flushFlag=this._opts.flush||p.Z_NO_FLUSH));this._processChunk(a,e,c)},n.prototype._processChunk=function(a,b,c){function e(k,n){if(!i._hadError){var o=g-n;if(r(o>=0,"have should not go down"),o>0){var p=i._buffer.slice(i._offset,i._offset+o);i._offset+=o,j?i.push(p):(l.push(p),m+=p.length)}if((0===n||i._offset>=i._chunkSize)&&(g=i._chunkSize,i._offset=0,i._buffer=new d(i._chunkSize)),0===n){if(h+=f-k,f=k,!j)return!0;var q=i._binding.write(b,a,h,f,i._buffer,i._offset,i._chunkSize);return q.callback=e,void(q.buffer=a)}return j?void c():!1}}var f=a&&a.length,g=this._chunkSize-this._offset,h=0,i=this,j="function"==typeof c;if(!j){var k,l=[],m=0;this.on("error",function(a){k=a});do var n=this._binding.writeSync(b,a,h,f,this._buffer,this._offset,g);while(!this._hadError&&e(n[0],n[1]));if(this._hadError)throw k;var o=d.concat(l,m);return this.close(),o}var p=this._binding.write(b,a,h,f,this._buffer,this._offset,g);p.buffer=a,p.callback=e},q.inherits(g,n),q.inherits(h,n),q.inherits(i,n),q.inherits(j,n),q.inherits(k,n),q.inherits(l,n),q.inherits(m,n)}).call(this,a("_process"),a("buffer").Buffer)},{"./binding":15,_process:24,_stream_transform:34,assert:2,buffer:17,util:39}],17:[function(a,b,c){function d(a,b,c){if(!(this instanceof d))return new d(a,b,c);var e,f=typeof a;if("number"===f)e=+a;else if("string"===f)e=d.byteLength(a,b);else{if("object"!==f||null===a)throw new TypeError("must start with number, buffer, array or string");"Buffer"===a.type&&K(a.data)&&(a=a.data),e=+a.length}if(e>L)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+L.toString(16)+" bytes");0>e?e=0:e>>>=0;var g=this;d.TYPED_ARRAY_SUPPORT?g=d._augment(new Uint8Array(e)):(g.length=e,g._isBuffer=!0);var h;if(d.TYPED_ARRAY_SUPPORT&&"number"==typeof a.byteLength)g._set(a);else if(A(a))if(d.isBuffer(a))for(h=0;e>h;h++)g[h]=a.readUInt8(h);else for(h=0;e>h;h++)g[h]=(a[h]%256+256)%256;else if("string"===f)g.write(a,0,b);else if("number"===f&&!d.TYPED_ARRAY_SUPPORT&&!c)for(h=0;e>h;h++)g[h]=0;return e>0&&e<=d.poolSize&&(g.parent=M),g}function e(a,b,c){if(!(this instanceof e))return new e(a,b,c);var f=new d(a,b,c);return delete f.parent,f}function f(a,b,c,d){c=Number(c)||0;var e=a.length-c;d?(d=Number(d),d>e&&(d=e)):d=e;var f=b.length;if(f%2!==0)throw new Error("Invalid hex string");d>f/2&&(d=f/2);for(var g=0;d>g;g++){var h=parseInt(b.substr(2*g,2),16);if(isNaN(h))throw new Error("Invalid hex string");a[c+g]=h}return g}function g(a,b,c,d){var e=G(C(b,a.length-c),a,c,d);return e}function h(a,b,c,d){var e=G(D(b),a,c,d);return e}function i(a,b,c,d){return h(a,b,c,d)}function j(a,b,c,d){var e=G(F(b),a,c,d);return e}function k(a,b,c,d){var e=G(E(b,a.length-c),a,c,d);return e}function l(a,b,c){return I.fromByteArray(0===b&&c===a.length?a:a.slice(b,c))}function m(a,b,c){var d="",e="";c=Math.min(a.length,c);for(var f=b;c>f;f++)a[f]<=127?(d+=H(e)+String.fromCharCode(a[f]),e=""):e+="%"+a[f].toString(16);return d+H(e)}function n(a,b,c){var d="";c=Math.min(a.length,c);for(var e=b;c>e;e++)d+=String.fromCharCode(127&a[e]);return d}function o(a,b,c){var d="";c=Math.min(a.length,c);for(var e=b;c>e;e++)d+=String.fromCharCode(a[e]);return d}function p(a,b,c){var d=a.length;(!b||0>b)&&(b=0),(!c||0>c||c>d)&&(c=d);for(var e="",f=b;c>f;f++)e+=B(a[f]);return e}function q(a,b,c){for(var d=a.slice(b,c),e="",f=0;fa)throw new RangeError("offset is not uint");if(a+b>c)throw new RangeError("Trying to access beyond buffer length")}function s(a,b,c,e,f,g){if(!d.isBuffer(a))throw new TypeError("buffer must be a Buffer instance");if(b>f||g>b)throw new RangeError("value is out of bounds");if(c+e>a.length)throw new RangeError("index out of range")}function t(a,b,c,d){0>b&&(b=65535+b+1);for(var e=0,f=Math.min(a.length-c,2);f>e;e++)a[c+e]=(b&255<<8*(d?e:1-e))>>>8*(d?e:1-e)}function u(a,b,c,d){0>b&&(b=4294967295+b+1);for(var e=0,f=Math.min(a.length-c,4);f>e;e++)a[c+e]=b>>>8*(d?e:3-e)&255}function v(a,b,c,d,e,f){if(b>e||f>b)throw new RangeError("value is out of bounds");if(c+d>a.length)throw new RangeError("index out of range");if(0>c)throw new RangeError("index out of range")}function w(a,b,c,d,e){return e||v(a,b,c,4,3.4028234663852886e38,-3.4028234663852886e38),J.write(a,b,c,d,23,4),c+4}function x(a,b,c,d,e){return e||v(a,b,c,8,1.7976931348623157e308,-1.7976931348623157e308),J.write(a,b,c,d,52,8),c+8}function y(a){if(a=z(a).replace(O,""),a.length<2)return"";for(;a.length%4!==0;)a+="=";return a}function z(a){return a.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}function A(a){return K(a)||d.isBuffer(a)||a&&"object"==typeof a&&"number"==typeof a.length}function B(a){return 16>a?"0"+a.toString(16):a.toString(16)}function C(a,b){b=b||1/0;for(var c,d=a.length,e=null,f=[],g=0;d>g;g++){if(c=a.charCodeAt(g),c>55295&&57344>c){if(!e){if(c>56319){(b-=3)>-1&&f.push(239,191,189);continue}if(g+1===d){(b-=3)>-1&&f.push(239,191,189);continue}e=c;continue}if(56320>c){(b-=3)>-1&&f.push(239,191,189),e=c;continue}c=e-55296<<10|c-56320|65536,e=null}else e&&((b-=3)>-1&&f.push(239,191,189),e=null);if(128>c){if((b-=1)<0)break;f.push(c)}else if(2048>c){if((b-=2)<0)break;f.push(c>>6|192,63&c|128)}else if(65536>c){if((b-=3)<0)break;f.push(c>>12|224,c>>6&63|128,63&c|128)}else{if(!(2097152>c))throw new Error("Invalid code point");if((b-=4)<0)break;f.push(c>>18|240,c>>12&63|128,c>>6&63|128,63&c|128)}}return f}function D(a){for(var b=[],c=0;c>8,e=c%256,f.push(e),f.push(d);return f}function F(a){return I.toByteArray(y(a))}function G(a,b,c,d){for(var e=0;d>e&&!(e+c>=b.length||e>=a.length);e++)b[e+c]=a[e];return e}function H(a){try{return decodeURIComponent(a)}catch(b){return String.fromCharCode(65533)}}var I=a("base64-js"),J=a("ieee754"),K=a("is-array");c.Buffer=d,c.SlowBuffer=e,c.INSPECT_MAX_BYTES=50,d.poolSize=8192;var L=1073741823,M={};d.TYPED_ARRAY_SUPPORT=function(){try{var a=new ArrayBuffer(0),b=new Uint8Array(a);return b.foo=function(){return 42},42===b.foo()&&"function"==typeof b.subarray&&0===new Uint8Array(1).subarray(1,1).byteLength}catch(c){return!1}}(),d.isBuffer=function(a){return!(null==a||!a._isBuffer)},d.compare=function(a,b){if(!d.isBuffer(a)||!d.isBuffer(b))throw new TypeError("Arguments must be Buffers");if(a===b)return 0;for(var c=a.length,e=b.length,f=0,g=Math.min(c,e);g>f&&a[f]===b[f];f++);return f!==g&&(c=a[f],e=b[f]),e>c?-1:c>e?1:0},d.isEncoding=function(a){switch(String(a).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"raw":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},d.concat=function(a,b){if(!K(a))throw new TypeError("Usage: Buffer.concat(list[, length])");if(0===a.length)return new d(0);if(1===a.length)return a[0];var c;if(void 0===b)for(b=0,c=0;c>>1;break;case"utf8":case"utf-8":c=C(a).length;break;case"base64":c=F(a).length;break;default:c=a.length}return c},d.prototype.length=void 0,d.prototype.parent=void 0,d.prototype.toString=function(a,b,c){var d=!1;if(b>>>=0,c=void 0===c||1/0===c?this.length:c>>>0,a||(a="utf8"),0>b&&(b=0),c>this.length&&(c=this.length),b>=c)return"";for(;;)switch(a){case"hex":return p(this,b,c);case"utf8":case"utf-8":return m(this,b,c);case"ascii":return n(this,b,c);case"binary":return o(this,b,c);case"base64":return l(this,b,c);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return q(this,b,c);default:if(d)throw new TypeError("Unknown encoding: "+a);a=(a+"").toLowerCase(),d=!0}},d.prototype.equals=function(a){if(!d.isBuffer(a))throw new TypeError("Argument must be a Buffer");return this===a?!0:0===d.compare(this,a)},d.prototype.inspect=function(){var a="",b=c.INSPECT_MAX_BYTES;return this.length>0&&(a=this.toString("hex",0,b).match(/.{2}/g).join(" "),this.length>b&&(a+=" ... ")),""},d.prototype.compare=function(a){if(!d.isBuffer(a))throw new TypeError("Argument must be a Buffer");return this===a?0:d.compare(this,a)},d.prototype.get=function(a){return this.readUInt8(a)},d.prototype.set=function(a,b){return this.writeUInt8(a,b)},d.prototype.write=function(a,b,c,d){if(isFinite(b))isFinite(c)||(d=c,c=void 0);else{var e=d;d=b,b=c,c=e}if(b=Number(b)||0,0>c||0>b||b>this.length)throw new RangeError("attempt to write outside buffer bounds");var l=this.length-b;c?(c=Number(c),c>l&&(c=l)):c=l,d=String(d||"utf8").toLowerCase();var m;switch(d){case"hex":m=f(this,a,b,c);break;case"utf8":case"utf-8":m=g(this,a,b,c);break;case"ascii":m=h(this,a,b,c);break;case"binary":m=i(this,a,b,c);break;case"base64":m=j(this,a,b,c);break;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":m=k(this,a,b,c);break;default:throw new TypeError("Unknown encoding: "+d)}return m},d.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}},d.prototype.slice=function(a,b){var c=this.length;a=~~a,b=void 0===b?c:~~b,0>a?(a+=c,0>a&&(a=0)):a>c&&(a=c),0>b?(b+=c,0>b&&(b=0)):b>c&&(b=c),a>b&&(b=a);var e;if(d.TYPED_ARRAY_SUPPORT)e=d._augment(this.subarray(a,b));else{var f=b-a;e=new d(f,void 0,!0);for(var g=0;f>g;g++)e[g]=this[g+a]}return e.length&&(e.parent=this.parent||this),e},d.prototype.readUIntLE=function(a,b,c){a>>>=0,b>>>=0,c||r(a,b,this.length);for(var d=this[a],e=1,f=0;++f>>=0,b>>>=0,c||r(a,b,this.length);for(var d=this[a+--b],e=1;b>0&&(e*=256);)d+=this[a+--b]*e;return d},d.prototype.readUInt8=function(a,b){return b||r(a,1,this.length),this[a]},d.prototype.readUInt16LE=function(a,b){return b||r(a,2,this.length),this[a]|this[a+1]<<8},d.prototype.readUInt16BE=function(a,b){return b||r(a,2,this.length),this[a]<<8|this[a+1] +},d.prototype.readUInt32LE=function(a,b){return b||r(a,4,this.length),(this[a]|this[a+1]<<8|this[a+2]<<16)+16777216*this[a+3]},d.prototype.readUInt32BE=function(a,b){return b||r(a,4,this.length),16777216*this[a]+(this[a+1]<<16|this[a+2]<<8|this[a+3])},d.prototype.readIntLE=function(a,b,c){a>>>=0,b>>>=0,c||r(a,b,this.length);for(var d=this[a],e=1,f=0;++f=e&&(d-=Math.pow(2,8*b)),d},d.prototype.readIntBE=function(a,b,c){a>>>=0,b>>>=0,c||r(a,b,this.length);for(var d=b,e=1,f=this[a+--d];d>0&&(e*=256);)f+=this[a+--d]*e;return e*=128,f>=e&&(f-=Math.pow(2,8*b)),f},d.prototype.readInt8=function(a,b){return b||r(a,1,this.length),128&this[a]?-1*(255-this[a]+1):this[a]},d.prototype.readInt16LE=function(a,b){b||r(a,2,this.length);var c=this[a]|this[a+1]<<8;return 32768&c?4294901760|c:c},d.prototype.readInt16BE=function(a,b){b||r(a,2,this.length);var c=this[a+1]|this[a]<<8;return 32768&c?4294901760|c:c},d.prototype.readInt32LE=function(a,b){return b||r(a,4,this.length),this[a]|this[a+1]<<8|this[a+2]<<16|this[a+3]<<24},d.prototype.readInt32BE=function(a,b){return b||r(a,4,this.length),this[a]<<24|this[a+1]<<16|this[a+2]<<8|this[a+3]},d.prototype.readFloatLE=function(a,b){return b||r(a,4,this.length),J.read(this,a,!0,23,4)},d.prototype.readFloatBE=function(a,b){return b||r(a,4,this.length),J.read(this,a,!1,23,4)},d.prototype.readDoubleLE=function(a,b){return b||r(a,8,this.length),J.read(this,a,!0,52,8)},d.prototype.readDoubleBE=function(a,b){return b||r(a,8,this.length),J.read(this,a,!1,52,8)},d.prototype.writeUIntLE=function(a,b,c,d){a=+a,b>>>=0,c>>>=0,d||s(this,a,b,c,Math.pow(2,8*c),0);var e=1,f=0;for(this[b]=255&a;++f>>0&255;return b+c},d.prototype.writeUIntBE=function(a,b,c,d){a=+a,b>>>=0,c>>>=0,d||s(this,a,b,c,Math.pow(2,8*c),0);var e=c-1,f=1;for(this[b+e]=255&a;--e>=0&&(f*=256);)this[b+e]=a/f>>>0&255;return b+c},d.prototype.writeUInt8=function(a,b,c){return a=+a,b>>>=0,c||s(this,a,b,1,255,0),d.TYPED_ARRAY_SUPPORT||(a=Math.floor(a)),this[b]=a,b+1},d.prototype.writeUInt16LE=function(a,b,c){return a=+a,b>>>=0,c||s(this,a,b,2,65535,0),d.TYPED_ARRAY_SUPPORT?(this[b]=a,this[b+1]=a>>>8):t(this,a,b,!0),b+2},d.prototype.writeUInt16BE=function(a,b,c){return a=+a,b>>>=0,c||s(this,a,b,2,65535,0),d.TYPED_ARRAY_SUPPORT?(this[b]=a>>>8,this[b+1]=a):t(this,a,b,!1),b+2},d.prototype.writeUInt32LE=function(a,b,c){return a=+a,b>>>=0,c||s(this,a,b,4,4294967295,0),d.TYPED_ARRAY_SUPPORT?(this[b+3]=a>>>24,this[b+2]=a>>>16,this[b+1]=a>>>8,this[b]=a):u(this,a,b,!0),b+4},d.prototype.writeUInt32BE=function(a,b,c){return a=+a,b>>>=0,c||s(this,a,b,4,4294967295,0),d.TYPED_ARRAY_SUPPORT?(this[b]=a>>>24,this[b+1]=a>>>16,this[b+2]=a>>>8,this[b+3]=a):u(this,a,b,!1),b+4},d.prototype.writeIntLE=function(a,b,c,d){a=+a,b>>>=0,d||s(this,a,b,c,Math.pow(2,8*c-1)-1,-Math.pow(2,8*c-1));var e=0,f=1,g=0>a?1:0;for(this[b]=255&a;++e>0)-g&255;return b+c},d.prototype.writeIntBE=function(a,b,c,d){a=+a,b>>>=0,d||s(this,a,b,c,Math.pow(2,8*c-1)-1,-Math.pow(2,8*c-1));var e=c-1,f=1,g=0>a?1:0;for(this[b+e]=255&a;--e>=0&&(f*=256);)this[b+e]=(a/f>>0)-g&255;return b+c},d.prototype.writeInt8=function(a,b,c){return a=+a,b>>>=0,c||s(this,a,b,1,127,-128),d.TYPED_ARRAY_SUPPORT||(a=Math.floor(a)),0>a&&(a=255+a+1),this[b]=a,b+1},d.prototype.writeInt16LE=function(a,b,c){return a=+a,b>>>=0,c||s(this,a,b,2,32767,-32768),d.TYPED_ARRAY_SUPPORT?(this[b]=a,this[b+1]=a>>>8):t(this,a,b,!0),b+2},d.prototype.writeInt16BE=function(a,b,c){return a=+a,b>>>=0,c||s(this,a,b,2,32767,-32768),d.TYPED_ARRAY_SUPPORT?(this[b]=a>>>8,this[b+1]=a):t(this,a,b,!1),b+2},d.prototype.writeInt32LE=function(a,b,c){return a=+a,b>>>=0,c||s(this,a,b,4,2147483647,-2147483648),d.TYPED_ARRAY_SUPPORT?(this[b]=a,this[b+1]=a>>>8,this[b+2]=a>>>16,this[b+3]=a>>>24):u(this,a,b,!0),b+4},d.prototype.writeInt32BE=function(a,b,c){return a=+a,b>>>=0,c||s(this,a,b,4,2147483647,-2147483648),0>a&&(a=4294967295+a+1),d.TYPED_ARRAY_SUPPORT?(this[b]=a>>>24,this[b+1]=a>>>16,this[b+2]=a>>>8,this[b+3]=a):u(this,a,b,!1),b+4},d.prototype.writeFloatLE=function(a,b,c){return w(this,a,b,!0,c)},d.prototype.writeFloatBE=function(a,b,c){return w(this,a,b,!1,c)},d.prototype.writeDoubleLE=function(a,b,c){return x(this,a,b,!0,c)},d.prototype.writeDoubleBE=function(a,b,c){return x(this,a,b,!1,c)},d.prototype.copy=function(a,b,c,e){var f=this;if(c||(c=0),e||0===e||(e=this.length),b>=a.length&&(b=a.length),b||(b=0),e>0&&c>e&&(e=c),e===c)return 0;if(0===a.length||0===f.length)return 0;if(0>b)throw new RangeError("targetStart out of bounds");if(0>c||c>=f.length)throw new RangeError("sourceStart out of bounds");if(0>e)throw new RangeError("sourceEnd out of bounds");e>this.length&&(e=this.length),a.length-bg||!d.TYPED_ARRAY_SUPPORT)for(var h=0;g>h;h++)a[h+b]=this[h+c];else a._set(this.subarray(c,c+g),b);return g},d.prototype.fill=function(a,b,c){if(a||(a=0),b||(b=0),c||(c=this.length),b>c)throw new RangeError("end < start");if(c!==b&&0!==this.length){if(0>b||b>=this.length)throw new RangeError("start out of bounds");if(0>c||c>this.length)throw new RangeError("end out of bounds");var d;if("number"==typeof a)for(d=b;c>d;d++)this[d]=a;else{var e=C(a.toString()),f=e.length;for(d=b;c>d;d++)this[d]=e[d%f]}return this}},d.prototype.toArrayBuffer=function(){if("undefined"!=typeof Uint8Array){if(d.TYPED_ARRAY_SUPPORT)return new d(this).buffer;for(var a=new Uint8Array(this.length),b=0,c=a.length;c>b;b+=1)a[b]=this[b];return a.buffer}throw new TypeError("Buffer.toArrayBuffer not supported in this browser")};var N=d.prototype;d._augment=function(a){return a.constructor=d,a._isBuffer=!0,a._get=a.get,a._set=a.set,a.get=N.get,a.set=N.set,a.write=N.write,a.toString=N.toString,a.toLocaleString=N.toString,a.toJSON=N.toJSON,a.equals=N.equals,a.compare=N.compare,a.copy=N.copy,a.slice=N.slice,a.readUIntLE=N.readUIntLE,a.readUIntBE=N.readUIntBE,a.readUInt8=N.readUInt8,a.readUInt16LE=N.readUInt16LE,a.readUInt16BE=N.readUInt16BE,a.readUInt32LE=N.readUInt32LE,a.readUInt32BE=N.readUInt32BE,a.readIntLE=N.readIntLE,a.readIntBE=N.readIntBE,a.readInt8=N.readInt8,a.readInt16LE=N.readInt16LE,a.readInt16BE=N.readInt16BE,a.readInt32LE=N.readInt32LE,a.readInt32BE=N.readInt32BE,a.readFloatLE=N.readFloatLE,a.readFloatBE=N.readFloatBE,a.readDoubleLE=N.readDoubleLE,a.readDoubleBE=N.readDoubleBE,a.writeUInt8=N.writeUInt8,a.writeUIntLE=N.writeUIntLE,a.writeUIntBE=N.writeUIntBE,a.writeUInt16LE=N.writeUInt16LE,a.writeUInt16BE=N.writeUInt16BE,a.writeUInt32LE=N.writeUInt32LE,a.writeUInt32BE=N.writeUInt32BE,a.writeIntLE=N.writeIntLE,a.writeIntBE=N.writeIntBE,a.writeInt8=N.writeInt8,a.writeInt16LE=N.writeInt16LE,a.writeInt16BE=N.writeInt16BE,a.writeInt32LE=N.writeInt32LE,a.writeInt32BE=N.writeInt32BE,a.writeFloatLE=N.writeFloatLE,a.writeFloatBE=N.writeFloatBE,a.writeDoubleLE=N.writeDoubleLE,a.writeDoubleBE=N.writeDoubleBE,a.fill=N.fill,a.inspect=N.inspect,a.toArrayBuffer=N.toArrayBuffer,a};var O=/[^+\/0-9A-z\-]/g},{"base64-js":18,ieee754:19,"is-array":20}],18:[function(a,b,c){var d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";!function(a){"use strict";function b(a){var b=a.charCodeAt(0);return b===g||b===l?62:b===h||b===m?63:i>b?-1:i+10>b?b-i+26+26:k+26>b?b-k:j+26>b?b-j+26:void 0}function c(a){function c(a){j[l++]=a}var d,e,g,h,i,j;if(a.length%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var k=a.length;i="="===a.charAt(k-2)?2:"="===a.charAt(k-1)?1:0,j=new f(3*a.length/4-i),g=i>0?a.length-4:a.length;var l=0;for(d=0,e=0;g>d;d+=4,e+=3)h=b(a.charAt(d))<<18|b(a.charAt(d+1))<<12|b(a.charAt(d+2))<<6|b(a.charAt(d+3)),c((16711680&h)>>16),c((65280&h)>>8),c(255&h);return 2===i?(h=b(a.charAt(d))<<2|b(a.charAt(d+1))>>4,c(255&h)):1===i&&(h=b(a.charAt(d))<<10|b(a.charAt(d+1))<<4|b(a.charAt(d+2))>>2,c(h>>8&255),c(255&h)),j}function e(a){function b(a){return d.charAt(a)}function c(a){return b(a>>18&63)+b(a>>12&63)+b(a>>6&63)+b(63&a)}var e,f,g,h=a.length%3,i="";for(e=0,g=a.length-h;g>e;e+=3)f=(a[e]<<16)+(a[e+1]<<8)+a[e+2],i+=c(f);switch(h){case 1:f=a[a.length-1],i+=b(f>>2),i+=b(f<<4&63),i+="==";break;case 2:f=(a[a.length-2]<<8)+a[a.length-1],i+=b(f>>10),i+=b(f>>4&63),i+=b(f<<2&63),i+="="}return i}var f="undefined"!=typeof Uint8Array?Uint8Array:Array,g="+".charCodeAt(0),h="/".charCodeAt(0),i="0".charCodeAt(0),j="a".charCodeAt(0),k="A".charCodeAt(0),l="-".charCodeAt(0),m="_".charCodeAt(0);a.toByteArray=c,a.fromByteArray=e}("undefined"==typeof c?this.base64js={}:c)},{}],19:[function(a,b,c){c.read=function(a,b,c,d,e){var f,g,h=8*e-d-1,i=(1<>1,k=-7,l=c?e-1:0,m=c?-1:1,n=a[b+l];for(l+=m,f=n&(1<<-k)-1,n>>=-k,k+=h;k>0;f=256*f+a[b+l],l+=m,k-=8);for(g=f&(1<<-k)-1,f>>=-k,k+=d;k>0;g=256*g+a[b+l],l+=m,k-=8);if(0===f)f=1-j;else{if(f===i)return g?0/0:1/0*(n?-1:1);g+=Math.pow(2,d),f-=j}return(n?-1:1)*g*Math.pow(2,f-d)},c.write=function(a,b,c,d,e,f){var g,h,i,j=8*f-e-1,k=(1<>1,m=23===e?Math.pow(2,-24)-Math.pow(2,-77):0,n=d?0:f-1,o=d?1:-1,p=0>b||0===b&&0>1/b?1:0;for(b=Math.abs(b),isNaN(b)||1/0===b?(h=isNaN(b)?1:0,g=k):(g=Math.floor(Math.log(b)/Math.LN2),b*(i=Math.pow(2,-g))<1&&(g--,i*=2),b+=g+l>=1?m/i:m*Math.pow(2,1-l),b*i>=2&&(g++,i/=2),g+l>=k?(h=0,g=k):g+l>=1?(h=(b*i-1)*Math.pow(2,e),g+=l):(h=b*Math.pow(2,l-1)*Math.pow(2,e),g=0));e>=8;a[c+n]=255&h,n+=o,h/=256,e-=8);for(g=g<0;a[c+n]=255&g,n+=o,g/=256,j-=8);a[c+n-o]|=128*p}},{}],20:[function(a,b){var c=Array.isArray,d=Object.prototype.toString;b.exports=c||function(a){return!!a&&"[object Array]"==d.call(a)}},{}],21:[function(a,b){function c(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function d(a){return"function"==typeof a}function e(a){return"number"==typeof a}function f(a){return"object"==typeof a&&null!==a}function g(a){return void 0===a}b.exports=c,c.EventEmitter=c,c.prototype._events=void 0,c.prototype._maxListeners=void 0,c.defaultMaxListeners=10,c.prototype.setMaxListeners=function(a){if(!e(a)||0>a||isNaN(a))throw TypeError("n must be a positive number");return this._maxListeners=a,this},c.prototype.emit=function(a){var b,c,e,h,i,j;if(this._events||(this._events={}),"error"===a&&(!this._events.error||f(this._events.error)&&!this._events.error.length)){if(b=arguments[1],b instanceof Error)throw b;throw TypeError('Uncaught, unspecified "error" event.')}if(c=this._events[a],g(c))return!1;if(d(c))switch(arguments.length){case 1:c.call(this);break;case 2:c.call(this,arguments[1]);break;case 3:c.call(this,arguments[1],arguments[2]);break;default:for(e=arguments.length,h=new Array(e-1),i=1;e>i;i++)h[i-1]=arguments[i];c.apply(this,h)}else if(f(c)){for(e=arguments.length,h=new Array(e-1),i=1;e>i;i++)h[i-1]=arguments[i];for(j=c.slice(),e=j.length,i=0;e>i;i++)j[i].apply(this,h)}return!0},c.prototype.addListener=function(a,b){var e;if(!d(b))throw TypeError("listener must be a function");if(this._events||(this._events={}),this._events.newListener&&this.emit("newListener",a,d(b.listener)?b.listener:b),this._events[a]?f(this._events[a])?this._events[a].push(b):this._events[a]=[this._events[a],b]:this._events[a]=b,f(this._events[a])&&!this._events[a].warned){var e;e=g(this._maxListeners)?c.defaultMaxListeners:this._maxListeners,e&&e>0&&this._events[a].length>e&&(this._events[a].warned=!0,"function"==typeof console.trace)}return this},c.prototype.on=c.prototype.addListener,c.prototype.once=function(a,b){function c(){this.removeListener(a,c),e||(e=!0,b.apply(this,arguments))}if(!d(b))throw TypeError("listener must be a function");var e=!1;return c.listener=b,this.on(a,c),this},c.prototype.removeListener=function(a,b){var c,e,g,h;if(!d(b))throw TypeError("listener must be a function");if(!this._events||!this._events[a])return this;if(c=this._events[a],g=c.length,e=-1,c===b||d(c.listener)&&c.listener===b)delete this._events[a],this._events.removeListener&&this.emit("removeListener",a,b);else if(f(c)){for(h=g;h-->0;)if(c[h]===b||c[h].listener&&c[h].listener===b){e=h;break}if(0>e)return this;1===c.length?(c.length=0,delete this._events[a]):c.splice(e,1),this._events.removeListener&&this.emit("removeListener",a,b)}return this},c.prototype.removeAllListeners=function(a){var b,c;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[a]&&delete this._events[a],this;if(0===arguments.length){for(b in this._events)"removeListener"!==b&&this.removeAllListeners(b);return this.removeAllListeners("removeListener"),this._events={},this}if(c=this._events[a],d(c))this.removeListener(a,c);else for(;c.length;)this.removeListener(a,c[c.length-1]);return delete this._events[a],this},c.prototype.listeners=function(a){var b;return b=this._events&&this._events[a]?d(this._events[a])?[this._events[a]]:this._events[a].slice():[]},c.listenerCount=function(a,b){var c;return c=a._events&&a._events[b]?d(a._events[b])?1:a._events[b].length:0}},{}],22:[function(a,b){b.exports="function"==typeof Object.create?function(a,b){a.super_=b,a.prototype=Object.create(b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}})}:function(a,b){a.super_=b;var c=function(){};c.prototype=b.prototype,a.prototype=new c,a.prototype.constructor=a}},{}],23:[function(a,b){b.exports=Array.isArray||function(a){return"[object Array]"==Object.prototype.toString.call(a)}},{}],24:[function(a,b){function c(){if(!g){g=!0;for(var a,b=f.length;b;){a=f,f=[];for(var c=-1;++cc;c++)b(a[c],c)}b.exports=d;var g=Object.keys||function(a){var b=[];for(var c in a)b.push(c);return b},h=a("core-util-is");h.inherits=a("inherits");var i=a("./_stream_readable"),j=a("./_stream_writable");h.inherits(d,i),f(g(j.prototype),function(a){d.prototype[a]||(d.prototype[a]=j.prototype[a])})}).call(this,a("_process"))},{"./_stream_readable":28,"./_stream_writable":30,_process:24,"core-util-is":31,inherits:22}],27:[function(a,b){function c(a){return this instanceof c?void d.call(this,a):new c(a)}b.exports=c;var d=a("./_stream_transform"),e=a("core-util-is");e.inherits=a("inherits"),e.inherits(c,d),c.prototype._transform=function(a,b,c){c(null,a)}},{"./_stream_transform":29,"core-util-is":31,inherits:22}],28:[function(a,b){(function(c){function d(b,c){var d=a("./_stream_duplex");b=b||{};var e=b.highWaterMark,f=b.objectMode?16:16384;this.highWaterMark=e||0===e?e:f,this.highWaterMark=~~this.highWaterMark,this.buffer=[],this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.objectMode=!!b.objectMode,c instanceof d&&(this.objectMode=this.objectMode||!!b.readableObjectMode),this.defaultEncoding=b.defaultEncoding||"utf8",this.ranOut=!1,this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,b.encoding&&(C||(C=a("string_decoder/").StringDecoder),this.decoder=new C(b.encoding),this.encoding=b.encoding)}function e(b){a("./_stream_duplex");return this instanceof e?(this._readableState=new d(b,this),this.readable=!0,void A.call(this)):new e(b)}function f(a,b,c,d,e){var f=j(b,c);if(f)a.emit("error",f);else if(B.isNullOrUndefined(c))b.reading=!1,b.ended||k(a,b);else if(b.objectMode||c&&c.length>0)if(b.ended&&!e){var h=new Error("stream.push() after EOF");a.emit("error",h)}else if(b.endEmitted&&e){var h=new Error("stream.unshift() after end event");a.emit("error",h)}else!b.decoder||e||d||(c=b.decoder.write(c)),e||(b.reading=!1),b.flowing&&0===b.length&&!b.sync?(a.emit("data",c),a.read(0)):(b.length+=b.objectMode?1:c.length,e?b.buffer.unshift(c):b.buffer.push(c),b.needReadable&&l(a)),n(a,b);else e||(b.reading=!1);return g(b)}function g(a){return!a.ended&&(a.needReadable||a.length=E)a=E;else{a--;for(var b=1;32>b;b<<=1)a|=a>>b;a++}return a}function i(a,b){return 0===b.length&&b.ended?0:b.objectMode?0===a?0:1:isNaN(a)||B.isNull(a)?b.flowing&&b.buffer.length?b.buffer[0].length:b.length:0>=a?0:(a>b.highWaterMark&&(b.highWaterMark=h(a)),a>b.length?b.ended?b.length:(b.needReadable=!0,0):a)}function j(a,b){var c=null;return B.isBuffer(b)||B.isString(b)||B.isNullOrUndefined(b)||a.objectMode||(c=new TypeError("Invalid non-string/buffer chunk")),c}function k(a,b){if(b.decoder&&!b.ended){var c=b.decoder.end();c&&c.length&&(b.buffer.push(c),b.length+=b.objectMode?1:c.length)}b.ended=!0,l(a)}function l(a){var b=a._readableState;b.needReadable=!1,b.emittedReadable||(D("emitReadable",b.flowing),b.emittedReadable=!0,b.sync?c.nextTick(function(){m(a)}):m(a))}function m(a){D("emit readable"),a.emit("readable"),s(a)}function n(a,b){b.readingMore||(b.readingMore=!0,c.nextTick(function(){o(a,b)}))}function o(a,b){for(var c=b.length;!b.reading&&!b.flowing&&!b.ended&&b.length=e)c=f?d.join(""):y.concat(d,e),d.length=0;else if(aj&&a>i;j++){var h=d[0],l=Math.min(a-i,h.length);f?c+=h.slice(0,l):h.copy(c,i,0,l),l0)throw new Error("endReadable called on non-empty stream");b.endEmitted||(b.ended=!0,c.nextTick(function(){b.endEmitted||0!==b.length||(b.endEmitted=!0,a.readable=!1,a.emit("end"))}))}function v(a,b){for(var c=0,d=a.length;d>c;c++)b(a[c],c)}function w(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1}b.exports=e;var x=a("isarray"),y=a("buffer").Buffer;e.ReadableState=d;var z=a("events").EventEmitter;z.listenerCount||(z.listenerCount=function(a,b){return a.listeners(b).length});var A=a("stream"),B=a("core-util-is");B.inherits=a("inherits");var C,D=a("util");D=D&&D.debuglog?D.debuglog("stream"):function(){},B.inherits(e,A),e.prototype.push=function(a,b){var c=this._readableState;return B.isString(a)&&!c.objectMode&&(b=b||c.defaultEncoding,b!==c.encoding&&(a=new y(a,b),b="")),f(this,c,a,b,!1)},e.prototype.unshift=function(a){var b=this._readableState;return f(this,b,a,"",!0)},e.prototype.setEncoding=function(b){return C||(C=a("string_decoder/").StringDecoder),this._readableState.decoder=new C(b),this._readableState.encoding=b,this};var E=8388608;e.prototype.read=function(a){D("read",a);var b=this._readableState,c=a;if((!B.isNumber(a)||a>0)&&(b.emittedReadable=!1),0===a&&b.needReadable&&(b.length>=b.highWaterMark||b.ended))return D("read: emitReadable",b.length,b.ended),0===b.length&&b.ended?u(this):l(this),null;if(a=i(a,b),0===a&&b.ended)return 0===b.length&&u(this),null;var d=b.needReadable;D("need readable",d),(0===b.length||b.length-a0?t(a,b):null,B.isNull(e)&&(b.needReadable=!0,a=0),b.length-=a,0!==b.length||b.ended||(b.needReadable=!0),c!==a&&b.ended&&0===b.length&&u(this),B.isNull(e)||this.emit("data",e),e},e.prototype._read=function(){this.emit("error",new Error("not implemented"))},e.prototype.pipe=function(a,b){function d(a){D("onunpipe"),a===l&&f()}function e(){D("onend"),a.end()}function f(){D("cleanup"),a.removeListener("close",i),a.removeListener("finish",j),a.removeListener("drain",q),a.removeListener("error",h),a.removeListener("unpipe",d),l.removeListener("end",e),l.removeListener("end",f),l.removeListener("data",g),!m.awaitDrain||a._writableState&&!a._writableState.needDrain||q()}function g(b){D("ondata");var c=a.write(b);!1===c&&(D("false write response, pause",l._readableState.awaitDrain),l._readableState.awaitDrain++,l.pause())}function h(b){D("onerror",b),k(),a.removeListener("error",h),0===z.listenerCount(a,"error")&&a.emit("error",b)}function i(){a.removeListener("finish",j),k()}function j(){D("onfinish"),a.removeListener("close",i),k()}function k(){D("unpipe"),l.unpipe(a)}var l=this,m=this._readableState;switch(m.pipesCount){case 0:m.pipes=a;break;case 1:m.pipes=[m.pipes,a];break;default:m.pipes.push(a)}m.pipesCount+=1,D("pipe count=%d opts=%j",m.pipesCount,b);var n=(!b||b.end!==!1)&&a!==c.stdout&&a!==c.stderr,o=n?e:f;m.endEmitted?c.nextTick(o):l.once("end",o),a.on("unpipe",d);var q=p(l);return a.on("drain",q),l.on("data",g),a._events&&a._events.error?x(a._events.error)?a._events.error.unshift(h):a._events.error=[h,a._events.error]:a.on("error",h),a.once("close",i),a.once("finish",j),a.emit("pipe",l),m.flowing||(D("pipe resume"),l.resume()),a},e.prototype.unpipe=function(a){var b=this._readableState;if(0===b.pipesCount)return this;if(1===b.pipesCount)return a&&a!==b.pipes?this:(a||(a=b.pipes),b.pipes=null,b.pipesCount=0,b.flowing=!1,a&&a.emit("unpipe",this),this);if(!a){var c=b.pipes,d=b.pipesCount;b.pipes=null,b.pipesCount=0,b.flowing=!1;for(var e=0;d>e;e++)c[e].emit("unpipe",this);return this}var e=w(b.pipes,a);return-1===e?this:(b.pipes.splice(e,1),b.pipesCount-=1,1===b.pipesCount&&(b.pipes=b.pipes[0]),a.emit("unpipe",this),this)},e.prototype.on=function(a,b){var d=A.prototype.on.call(this,a,b);if("data"===a&&!1!==this._readableState.flowing&&this.resume(),"readable"===a&&this.readable){var e=this._readableState;if(!e.readableListening)if(e.readableListening=!0,e.emittedReadable=!1,e.needReadable=!0,e.reading)e.length&&l(this,e);else{var f=this;c.nextTick(function(){D("readable nexttick read 0"),f.read(0)})}}return d},e.prototype.addListener=e.prototype.on,e.prototype.resume=function(){var a=this._readableState;return a.flowing||(D("resume"),a.flowing=!0,a.reading||(D("resume read 0"),this.read(0)),q(this,a)),this},e.prototype.pause=function(){return D("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(D("pause"),this._readableState.flowing=!1,this.emit("pause")),this},e.prototype.wrap=function(a){var b=this._readableState,c=!1,d=this;a.on("end",function(){if(D("wrapped end"),b.decoder&&!b.ended){var a=b.decoder.end();a&&a.length&&d.push(a)}d.push(null)}),a.on("data",function(e){if(D("wrapped data"),b.decoder&&(e=b.decoder.write(e)),e&&(b.objectMode||e.length)){var f=d.push(e);f||(c=!0,a.pause())}});for(var e in a)B.isFunction(a[e])&&B.isUndefined(this[e])&&(this[e]=function(b){return function(){return a[b].apply(a,arguments)}}(e));var f=["error","close","destroy","pause","resume"];return v(f,function(b){a.on(b,d.emit.bind(d,b))}),d._read=function(b){D("wrapped _read",b),c&&(c=!1,a.resume())},d},e._fromList=t}).call(this,a("_process"))},{"./_stream_duplex":26,_process:24,buffer:17,"core-util-is":31,events:21,inherits:22,isarray:23,stream:36,"string_decoder/":37,util:3}],29:[function(a,b){function c(a,b){this.afterTransform=function(a,c){return d(b,a,c)},this.needTransform=!1,this.transforming=!1,this.writecb=null,this.writechunk=null}function d(a,b,c){var d=a._transformState;d.transforming=!1;var e=d.writecb;if(!e)return a.emit("error",new Error("no writecb in Transform class"));d.writechunk=null,d.writecb=null,h.isNullOrUndefined(c)||a.push(c),e&&e(b);var f=a._readableState;f.reading=!1,(f.needReadable||f.length1){for(var c=[],d=0;d=this.charLength-this.charReceived?this.charLength-this.charReceived:a.length;if(a.copy(this.charBuffer,this.charReceived,0,c),this.charReceived+=c,this.charReceived=55296&&56319>=d)){if(this.charReceived=this.charLength=0,0===a.length)return b;break}this.charLength+=this.surrogateSize,b=""}this.detectIncompleteChar(a);var e=a.length;this.charLength&&(a.copy(this.charBuffer,0,a.length-this.charReceived,e),e-=this.charReceived),b+=a.toString(this.encoding,0,e);var e=b.length-1,d=b.charCodeAt(e);if(d>=55296&&56319>=d){var f=this.surrogateSize;return this.charLength+=f,this.charReceived+=f,this.charBuffer.copy(this.charBuffer,f,0,f),a.copy(this.charBuffer,0,0,f),b.substring(0,e)}return b},j.prototype.detectIncompleteChar=function(a){for(var b=a.length>=3?3:a.length;b>0;b--){var c=a[a.length-b];if(1==b&&c>>5==6){this.charLength=2;break}if(2>=b&&c>>4==14){this.charLength=3;break}if(3>=b&&c>>3==30){this.charLength=4;break}}this.charReceived=b},j.prototype.end=function(a){var b="";if(a&&a.length&&(b=this.write(a)),this.charReceived){var c=this.charReceived,d=this.charBuffer,e=this.encoding;b+=d.slice(0,c).toString(e)}return b}},{buffer:17}],38:[function(a,b){b.exports=function(a){return a&&"object"==typeof a&&"function"==typeof a.copy&&"function"==typeof a.fill&&"function"==typeof a.readUInt8}},{}],39:[function(a,b,c){(function(b,d){function e(a,b){var d={seen:[],stylize:g};return arguments.length>=3&&(d.depth=arguments[2]),arguments.length>=4&&(d.colors=arguments[3]),p(b)?d.showHidden=b:b&&c._extend(d,b),v(d.showHidden)&&(d.showHidden=!1),v(d.depth)&&(d.depth=2),v(d.colors)&&(d.colors=!1),v(d.customInspect)&&(d.customInspect=!0),d.colors&&(d.stylize=f),i(d,a,d.depth)}function f(a,b){var c=e.styles[b];return c?"["+e.colors[c][0]+"m"+a+"["+e.colors[c][1]+"m":a}function g(a){return a}function h(a){var b={};return a.forEach(function(a){b[a]=!0}),b}function i(a,b,d){if(a.customInspect&&b&&A(b.inspect)&&b.inspect!==c.inspect&&(!b.constructor||b.constructor.prototype!==b)){var e=b.inspect(d,a);return t(e)||(e=i(a,e,d)),e}var f=j(a,b);if(f)return f;var g=Object.keys(b),p=h(g);if(a.showHidden&&(g=Object.getOwnPropertyNames(b)),z(b)&&(g.indexOf("message")>=0||g.indexOf("description")>=0))return k(b);if(0===g.length){if(A(b)){var q=b.name?": "+b.name:"";return a.stylize("[Function"+q+"]","special")}if(w(b))return a.stylize(RegExp.prototype.toString.call(b),"regexp");if(y(b))return a.stylize(Date.prototype.toString.call(b),"date");if(z(b))return k(b)}var r="",s=!1,u=["{","}"];if(o(b)&&(s=!0,u=["[","]"]),A(b)){var v=b.name?": "+b.name:"";r=" [Function"+v+"]"}if(w(b)&&(r=" "+RegExp.prototype.toString.call(b)),y(b)&&(r=" "+Date.prototype.toUTCString.call(b)),z(b)&&(r=" "+k(b)),0===g.length&&(!s||0==b.length))return u[0]+r+u[1];if(0>d)return w(b)?a.stylize(RegExp.prototype.toString.call(b),"regexp"):a.stylize("[Object]","special");a.seen.push(b);var x;return x=s?l(a,b,d,p,g):g.map(function(c){return m(a,b,d,p,c,s)}),a.seen.pop(),n(x,r,u)}function j(a,b){if(v(b))return a.stylize("undefined","undefined");if(t(b)){var c="'"+JSON.stringify(b).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return a.stylize(c,"string")}return s(b)?a.stylize(""+b,"number"):p(b)?a.stylize(""+b,"boolean"):q(b)?a.stylize("null","null"):void 0}function k(a){return"["+Error.prototype.toString.call(a)+"]"}function l(a,b,c,d,e){for(var f=[],g=0,h=b.length;h>g;++g)f.push(D(b,String(g))?m(a,b,c,d,String(g),!0):"");return e.forEach(function(e){e.match(/^\d+$/)||f.push(m(a,b,c,d,e,!0))}),f}function m(a,b,c,d,e,f){var g,h,j;if(j=Object.getOwnPropertyDescriptor(b,e)||{value:b[e]},j.get?h=j.set?a.stylize("[Getter/Setter]","special"):a.stylize("[Getter]","special"):j.set&&(h=a.stylize("[Setter]","special")),D(d,e)||(g="["+e+"]"),h||(a.seen.indexOf(j.value)<0?(h=q(c)?i(a,j.value,null):i(a,j.value,c-1),h.indexOf("\n")>-1&&(h=f?h.split("\n").map(function(a){return" "+a}).join("\n").substr(2):"\n"+h.split("\n").map(function(a){return" "+a}).join("\n"))):h=a.stylize("[Circular]","special")),v(g)){if(f&&e.match(/^\d+$/))return h;g=JSON.stringify(""+e),g.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(g=g.substr(1,g.length-2),g=a.stylize(g,"name")):(g=g.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),g=a.stylize(g,"string"))}return g+": "+h}function n(a,b,c){var d=0,e=a.reduce(function(a,b){return d++,b.indexOf("\n")>=0&&d++,a+b.replace(/\u001b\[\d\d?m/g,"").length+1},0);return e>60?c[0]+(""===b?"":b+"\n ")+" "+a.join(",\n ")+" "+c[1]:c[0]+b+" "+a.join(", ")+" "+c[1]}function o(a){return Array.isArray(a)}function p(a){return"boolean"==typeof a}function q(a){return null===a}function r(a){return null==a}function s(a){return"number"==typeof a}function t(a){return"string"==typeof a}function u(a){return"symbol"==typeof a}function v(a){return void 0===a}function w(a){return x(a)&&"[object RegExp]"===C(a)}function x(a){return"object"==typeof a&&null!==a}function y(a){return x(a)&&"[object Date]"===C(a)}function z(a){return x(a)&&("[object Error]"===C(a)||a instanceof Error)}function A(a){return"function"==typeof a}function B(a){return null===a||"boolean"==typeof a||"number"==typeof a||"string"==typeof a||"symbol"==typeof a||"undefined"==typeof a}function C(a){return Object.prototype.toString.call(a)}function D(a,b){return Object.prototype.hasOwnProperty.call(a,b)}var E=/%[sdj%]/g;c.format=function(a){if(!t(a)){for(var b=[],c=0;c=f)return a;switch(a){case"%s":return String(d[c++]);case"%d":return Number(d[c++]);case"%j":try{return JSON.stringify(d[c++])}catch(b){return"[Circular]"}default:return a}}),h=d[c];f>c;h=d[++c])g+=q(h)||!x(h)?" "+h:" "+e(h);return g},c.deprecate=function(a,e){function f(){if(!g){if(b.throwDeprecation)throw new Error(e);b.traceDeprecation,g=!0}return a.apply(this,arguments)}if(v(d.process))return function(){return c.deprecate(a,e).apply(this,arguments)};if(b.noDeprecation===!0)return a;var g=!1;return f};var F,G={};c.debuglog=function(a){if(v(F)&&(F=b.env.NODE_DEBUG||""),a=a.toUpperCase(),!G[a])if(new RegExp("\\b"+a+"\\b","i").test(F)){{b.pid}G[a]=function(){c.format.apply(c,arguments)}}else G[a]=function(){};return G[a]},c.inspect=e,e.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},e.styles={special:"cyan",number:"yellow","boolean":"yellow",undefined:"grey","null":"bold",string:"green",date:"magenta",regexp:"red"},c.isArray=o,c.isBoolean=p,c.isNull=q,c.isNullOrUndefined=r,c.isNumber=s,c.isString=t,c.isSymbol=u,c.isUndefined=v,c.isRegExp=w,c.isObject=x,c.isDate=y,c.isError=z,c.isFunction=A,c.isPrimitive=B,c.isBuffer=a("./support/isBuffer");c.log=function(){},c.inherits=a("inherits"),c._extend=function(a,b){if(!b||!x(b))return a;for(var c=Object.keys(b),d=c.length;d--;)a[c[d]]=b[c[d]];return a}}).call(this,a("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./support/isBuffer":38,_process:24,inherits:22}],40:[function(b,c,d){(function(b){(function(){function e(a,b){if(a!==b){var c=a===a,d=b===b;if(a>b||!c||"undefined"==typeof a&&d)return 1;if(b>a||!d||"undefined"==typeof b&&c)return-1}return 0}function f(a,b,c){if(b!==b)return q(a,c);for(var d=(c||0)-1,e=a.length;++d-1;);return c}function k(a,b){for(var c=a.length;c--&&b.indexOf(a.charAt(c))>-1;);return c}function l(a,b){return e(a.criteria,b.criteria)||a.index-b.index}function m(a,b){for(var c=-1,d=a.criteria,f=b.criteria,g=d.length;++c=a&&a>=9&&13>=a||32==a||160==a||5760==a||6158==a||a>=8192&&(8202>=a||8232==a||8233==a||8239==a||8287==a||12288==a||65279==a)}function t(a,b){for(var c=-1,d=a.length,e=-1,f=[];++cb,d=pd(0,a.length,this.views),e=d.start,f=d.end,g=f-e,h=this.dropCount,i=ph(g,this.takeCount-h),j=c?f:e-1,k=this.iteratees,l=k?k.length:0,m=0,n=[];a:for(;g--&&i>m;){j+=b;for(var o=-1,p=a[j];++od&&(d=e)}return d}function ec(a){for(var b=-1,c=a.length,d=vh;++be&&(d=e)}return d}function fc(a,b,c,d){var e=-1,f=a.length;for(d&&f&&(c=a[++e]);++e=200&&Fh(b),j=b.length;i&&(g=Wb,h=!1,b=i);a:for(;++eb&&(b=-b>e?0:e+b),c="undefined"==typeof c||c>e?e:+c||0,0>c&&(c+=e),e=b>c?0:c-b>>>0,b>>>=0;for(var f=Eg(e);++d=200,i=h&&Fh(),j=[];i?(d=Wb,g=!1):(h=!1,i=b?[]:j);a:for(;++c=e){for(;e>d;){var f=d+e>>>1,g=a[f];(c?b>=g:b>g)?d=f+1:e=f}return e}return Wc(a,b,ug,c)}function Wc(a,b,c,d){b=c(b);for(var e=0,f=a?a.length:0,g=b!==b,h="undefined"==typeof b;f>e;){var i=ah((e+f)/2),j=c(a[i]),k=j===j;if(g)var l=k||d;else l=h?k&&(d||"undefined"!=typeof j):d?b>=j:b>j;l?e=i+1:f=i}return ph(f,xh)}function Xc(a,b,c){if("function"!=typeof a)return ug;if("undefined"==typeof b)return a;switch(c){case 1:return function(c){return a.call(b,c)};case 3:return function(c,d,e){return a.call(b,c,d,e)};case 4:return function(c,d,e,f){return a.call(b,c,d,e,f)};case 5:return function(c,d,e,f,g){return a.call(b,c,d,e,f,g)}}return function(){return a.apply(b,arguments)}}function Yc(a){return Zg.call(a,0)}function Zc(a,b,c){for(var d=c.length,e=-1,f=oh(a.length-d,0),g=-1,h=b.length,i=Eg(f+h);++gb||null==c)return c;if(b>3&&vd(arguments[1],arguments[2],arguments[3])&&(b=2),b>3&&"function"==typeof arguments[b-2])var d=Xc(arguments[--b-1],arguments[b--],5);else b>2&&"function"==typeof arguments[b-1]&&(d=arguments[--b]);for(var e=0;++eu){var z=h?Yb(h):null,A=oh(j-u,0),D=o?y:null,E=o?null:y,F=o?w:null,I=o?null:w;b|=o?G:H,b&=~(o?H:G),p||(b&=~(B|C));var J=fd(a,b,c,F,D,I,E,z,i,A);return J.placeholder=x,J}}var K=m?c:this;return n&&(a=K[s]),h&&(w=Bd(w,h)),l&&i=b||!mh(b))return"";var e=b-d;return c=null==c?" ":c+"",ig(c,$g(e/c.length)).slice(0,e)}function hd(a,b,c,d){function e(){for(var b=-1,h=arguments.length,i=-1,j=d.length,k=Eg(h+j);++ii))return!1;for(;k&&++hi:i>e)||i===d&&i===f)&&(e=i,f=a)}),f}function nd(a,c,d){var e=b.callback||sg;return e=e===sg?oc:e,d?e(a,c,d):e}function od(a,c,d){var e=b.indexOf||Sd;return e=e===Sd?f:e,a?e(a,c,d):e}function pd(a,b,c){for(var d=-1,e=c?c.length:0;++d-1&&a%1==0&&b>a}function vd(a,b,c){if(!uf(c))return!1;var d=typeof b;if("number"==d)var e=c.length,f=wd(e)&&ud(b,e);else f="string"==d&&b in c;return f&&c[b]===a}function wd(a){return"number"==typeof a&&a>-1&&a%1==0&&Ah>=a}function xd(a){return a===a&&(0===a?1/a>0:!uf(a))}function yd(a,b){var c=a[1],d=b[1],e=c|d,f=J|I,g=B|C,h=f|g|D|F,i=c&J&&!(d&J),j=c&I&&!(d&I),k=(j?a:b)[7],l=(i?a:b)[8],m=!(c>=I&&d>g||c>g&&d>=I),n=e>=f&&h>=e&&(I>c||(j||i)&&k.length<=l);if(!m&&!n)return a;d&B&&(a[2]=b[2],e|=c&B?0:D);var o=b[3];if(o){var p=a[3];a[3]=p?Zc(p,o,b[4]):Yb(o),a[4]=p?t(a[3],S):Yb(b[4])}return o=b[5],o&&(p=a[5],a[5]=p?$c(p,o,b[6]):Yb(o),a[6]=p?t(a[5],S):Yb(b[6])),o=b[7],o&&(a[7]=Yb(o)),d&J&&(a[8]=null==a[8]?b[8]:ph(a[8],b[8])),null==a[9]&&(a[9]=b[9]),a[0]=b[0],a[1]=e,a}function zd(a,b){a=Fd(a);for(var c=-1,d=b.length,e={};++cd;)g[++f]=Qc(a,d,d+=b);return g}function Hd(a){for(var b=-1,c=a?a.length:0,d=-1,e=[];++bb?0:b)):[]}function Kd(a,b,c){var d=a?a.length:0;return d?((c?vd(a,b,c):null==b)&&(b=1),b=d-(+b||0),Qc(a,0,0>b?0:b)):[]}function Ld(a,b,c){var d=a?a.length:0;if(!d)return[];for(b=nd(b,c,3);d--&&b(a[d],d,a););return Qc(a,0,d+1)}function Md(a,b,c){var d=a?a.length:0;if(!d)return[];var e=-1;for(b=nd(b,c,3);++ec?oh(d+c,0):c||0;else if(c){var e=Vc(a,b),g=a[e];return(b===b?b===g:g!==g)?e:-1}return f(a,b,c)}function Td(a){return Kd(a,1)}function Ud(){for(var a=[],b=-1,c=arguments.length,d=[],e=od(),g=e==f;++b=120&&Fh(b&&h)))}c=a.length;var i=a[0],j=-1,k=i?i.length:0,l=[],m=d[0];a:for(;++jc?oh(d+c,0):ph(c||0,d-1))+1;else if(c){e=Vc(a,b,!0)-1;var f=a[e];return(b===b?b===f:f!==f)?e:-1}if(b!==b)return q(a,e,!0);for(;e--;)if(a[e]===b)return e;return-1}function Xd(){var a=arguments[0];if(!a||!a.length)return a;for(var b=0,c=od(),d=arguments.length;++b-1;)gh.call(a,e,1);return a}function Yd(a){return Nc(a||[],xc(arguments,!1,!1,1))}function Zd(a,b,c){var d=-1,e=a?a.length:0,f=[];for(b=nd(b,c,3);++db?0:b)):[]}function de(a,b,c){var d=a?a.length:0;return d?((c?vd(a,b,c):null==b)&&(b=1),b=d-(+b||0),Qc(a,0>b?0:b)):[]}function ee(a,b,c){var d=a?a.length:0;if(!d)return[];for(b=nd(b,c,3);d--&&b(a[d],d,a););return Qc(a,d+1)}function fe(a,b,c){var d=a?a.length:0;if(!d)return[];var e=-1;for(b=nd(b,c,3);++e>>0,d=Eg(c);++bc?oh(d+c,0):c||0:0,"string"==typeof a||!Ph(a)&&Bf(a)?d>c&&a.indexOf(b,c)>-1:od(a,b,c)>-1):!1}function we(a,b,c){var d=Ph(a)?ac:uc;return("function"!=typeof b||"undefined"!=typeof c)&&(b=nd(b,c,3)),d(a,b)}function xe(a,b,c){var d=Ph(a)?bc:vc;return b=nd(b,c,3),d(a,b)}function ye(a,b,c){if(Ph(a)){var d=Nd(a,b,c);return d>-1?a[d]:z}return b=nd(b,c,3),wc(a,b,sc)}function ze(a,b,c){return b=nd(b,c,3),wc(a,b,tc)}function Ae(a,b){return ye(a,Jc(b))}function Be(a,b,c){return"function"==typeof b&&"undefined"==typeof c&&Ph(a)?Zb(a,b):sc(a,Xc(b,c,3)) +}function Ce(a,b,c){return"function"==typeof b&&"undefined"==typeof c&&Ph(a)?_b(a,b):tc(a,Xc(b,c,3))}function De(a,b){return Ec(a,b,Qc(arguments,2))}function Ee(a,b,c){var d=Ph(a)?cc:Ic;return b=nd(b,c,3),d(a,b)}function Fe(a,b){return Ee(a,Mc(b+""))}function Ge(a,b,c,d){var e=Ph(a)?fc:Pc;return e(a,nd(b,d,4),c,arguments.length<3,sc)}function He(a,b,c,d){var e=Ph(a)?gc:Pc;return e(a,nd(b,d,4),c,arguments.length<3,tc)}function Ie(a,b,c){var d=Ph(a)?bc:vc;return b=nd(b,c,3),d(a,function(a,c,d){return!b(a,c,d)})}function Je(a,b,c){if(c?vd(a,b,c):null==b){a=Ed(a);var d=a.length;return d>0?a[Oc(0,d-1)]:z}var e=Ke(a);return e.length=ph(0>b?0:+b||0,e.length),e}function Ke(a){a=Ed(a);for(var b=-1,c=a.length,d=Eg(c);++b3&&vd(b[1],b[2],b[3])&&(b=[a,b[1]]);var c=-1,d=a?a.length:0,e=xc(b,!1,!1,1),f=wd(d)?Eg(d):[];return sc(a,function(a){for(var b=e.length,d=Eg(b);b--;)d[b]=null==a?z:a[e[b]];f[++c]={criteria:d,index:c,value:a}}),g(f,m)}function Pe(a,b){return xe(a,Jc(b))}function Qe(a,b){if(!tf(b)){if(!tf(a))throw new Ng(R);var c=a;a=b,b=c}return a=mh(a=+a)?a:0,function(){return--a<1?b.apply(this,arguments):void 0}}function Re(a,b,c){return c&&vd(a,b,c)&&(b=null),b=a&&null==b?a.length:oh(+b||0,0),id(a,J,null,null,null,null,b)}function Se(a,b){var c;if(!tf(b)){if(!tf(a))throw new Ng(R);var d=a;a=b,b=d}return function(){return--a>0?c=b.apply(this,arguments):b=null,c}}function Te(a,b){var c=B;if(arguments.length>2){var d=Qc(arguments,2),e=t(d,Te.placeholder);c|=G}return id(a,c,b,d,e)}function Ue(a){return nc(a,arguments.length>1?xc(arguments,!1,!1,1):Of(a))}function Ve(a,b){var c=B|C;if(arguments.length>2){var d=Qc(arguments,2),e=t(d,Ve.placeholder);c|=G}return id(b,c,a,d,e)}function We(a,b,c){c&&vd(a,b,c)&&(b=null);var d=id(a,E,null,null,null,null,null,b);return d.placeholder=We.placeholder,d}function Xe(a,b,c){c&&vd(a,b,c)&&(b=null);var d=id(a,F,null,null,null,null,null,b);return d.placeholder=Xe.placeholder,d}function Ye(a,b,c){function d(){m&&_g(m),i&&_g(i),i=m=n=z}function e(){var c=b-(Oh()-k);if(0>=c||c>b){i&&_g(i);var d=n;i=m=n=z,d&&(o=Oh(),j=a.apply(l,h),m||i||(h=l=null))}else m=fh(e,c)}function f(){m&&_g(m),i=m=n=z,(q||p!==b)&&(o=Oh(),j=a.apply(l,h),m||i||(h=l=null))}function g(){if(h=arguments,k=Oh(),l=this,n=q&&(m||!r),p===!1)var c=r&&!m;else{i||r||(o=k);var d=p-(k-o),g=0>=d||d>p;g?(i&&(i=_g(i)),o=k,j=a.apply(l,h)):i||(i=fh(f,d))}return g&&m?m=_g(m):m||b===p||(m=fh(e,b)),c&&(g=!0,j=a.apply(l,h)),!g||m||i||(h=l=null),j}var h,i,j,k,l,m,n,o=0,p=!1,q=!0;if(!tf(a))throw new Ng(R);if(b=0>b?0:b,c===!0){var r=!0;q=!1}else uf(c)&&(r=c.leading,p="maxWait"in c&&oh(+c.maxWait||0,b),q="trailing"in c?c.trailing:q);return g.cancel=d,g}function Ze(a){return qc(a,1,arguments,1)}function $e(a,b){return qc(a,b,arguments,2)}function _e(){var a=arguments,b=a.length;if(!b)return function(){};if(!ac(a,tf))throw new Ng(R);return function(){for(var c=0,d=a[c].apply(this,arguments);++cb)return function(){};if(!ac(a,tf))throw new Ng(R);return function(){for(var c=b,d=a[c].apply(this,arguments);c--;)d=a[c].call(this,d);return d}}function bf(a,b){if(!tf(a)||b&&!tf(b))throw new Ng(R);var c=function(){var d=c.cache,e=b?b.apply(this,arguments):arguments[0];if(d.has(e))return d.get(e);var f=a.apply(this,arguments);return d.set(e,f),f};return c.cache=new bf.Cache,c}function cf(a){if(!tf(a))throw new Ng(R);return function(){return!a.apply(this,arguments)}}function df(a){return Se(a,2)}function ef(a){var b=Qc(arguments,1),c=t(b,ef.placeholder);return id(a,G,null,b,c)}function ff(a){var b=Qc(arguments,1),c=t(b,ff.placeholder);return id(a,H,null,b,c)}function gf(a){var b=xc(arguments,!1,!1,1);return id(a,I,null,null,null,b)}function hf(a,b,c){var d=!0,e=!0;if(!tf(a))throw new Ng(R);return c===!1?d=!1:uf(c)&&(d="leading"in c?!!c.leading:d,e="trailing"in c?!!c.trailing:e),Pb.leading=d,Pb.maxWait=+b,Pb.trailing=e,Ye(a,b,Pb)}function jf(a,b){return b=null==b?ug:b,id(b,G,null,[a],[])}function kf(a,b,c,d){return"boolean"!=typeof b&&null!=b&&(d=c,c=vd(a,b,d)?null:b,b=!1),c="function"==typeof c&&Xc(c,d,1),pc(a,b,c)}function lf(a,b,c){return b="function"==typeof b&&Xc(b,c,1),pc(a,!0,b)}function mf(a){var b=r(a)?a.length:z;return wd(b)&&Vg.call(a)==T||!1}function nf(a){return a===!0||a===!1||r(a)&&Vg.call(a)==V||!1}function of(a){return r(a)&&Vg.call(a)==W||!1}function pf(a){return a&&1===a.nodeType&&r(a)&&Vg.call(a).indexOf("Element")>-1||!1}function qf(a){if(null==a)return!0;var b=a.length;return wd(b)&&(Ph(a)||Bf(a)||mf(a)||r(a)&&tf(a.splice))?!b:!Th(a).length}function rf(a,b,c,d){if(c="function"==typeof c&&Xc(c,d,3),!c&&xd(a)&&xd(b))return a===b;var e=c?c(a,b):z;return"undefined"==typeof e?Fc(a,b,c):!!e}function sf(a){return r(a)&&"string"==typeof a.message&&Vg.call(a)==X||!1}function tf(a){return"function"==typeof a||!1}function uf(a){var b=typeof a;return"function"==b||a&&"object"==b||!1}function vf(a,b,c,d){var e=Th(b),f=e.length;if(c="function"==typeof c&&Xc(c,d,3),!c&&1==f){var g=e[0],h=b[g];if(xd(h))return null!=a&&h===a[g]&&Tg.call(a,g)}for(var i=Eg(f),j=Eg(f);f--;)h=i[f]=b[e[f]],j[f]=xd(h);return Hc(a,e,i,j,c)}function wf(a){return zf(a)&&a!=+a}function xf(a){return null==a?!1:Vg.call(a)==Y?Xg.test(Rg.call(a)):r(a)&&Cb.test(a)||!1}function yf(a){return null===a}function zf(a){return"number"==typeof a||r(a)&&Vg.call(a)==$||!1}function Af(a){return r(a)&&Vg.call(a)==ab||!1}function Bf(a){return"string"==typeof a||r(a)&&Vg.call(a)==cb||!1}function Cf(a){return r(a)&&wd(a.length)&&Nb[Vg.call(a)]||!1}function Df(a){return"undefined"==typeof a}function Ef(a){var b=a?a.length:0;return wd(b)?b?Yb(a):[]:Yf(a)}function Ff(a){return mc(a,Rf(a))}function Gf(a,b,c){var d=Dh(a);return c&&vd(a,b,c)&&(b=null),b?mc(b,d,Th(b)):d}function Hf(a){if(null==a)return a;var b=Yb(arguments);return b.push(ic),Sh.apply(z,b)}function If(a,b,c){return b=nd(b,c,3),wc(a,b,Bc,!0)}function Jf(a,b,c){return b=nd(b,c,3),wc(a,b,Cc,!0)}function Kf(a,b,c){return("function"!=typeof b||"undefined"!=typeof c)&&(b=Xc(b,c,3)),yc(a,b,Rf)}function Lf(a,b,c){return b=Xc(b,c,3),zc(a,b,Rf)}function Mf(a,b,c){return("function"!=typeof b||"undefined"!=typeof c)&&(b=Xc(b,c,3)),Bc(a,b)}function Nf(a,b,c){return b=Xc(b,c,3),zc(a,b,Th)}function Of(a){return Dc(a,Rf(a))}function Pf(a,b){return a?Tg.call(a,b):!1}function Qf(a,b,c){c&&vd(a,b,c)&&(b=null);for(var d=-1,e=Th(a),f=e.length,g={};++d0;++dc?0:+c||0,d))-b.length,c>=0&&a.indexOf(b,c)==c}function cg(a){return a=h(a),a&&ub.test(a)?a.replace(sb,o):a}function dg(a){return a=h(a),a&&Gb.test(a)?a.replace(Fb,"\\$&"):a}function eg(a,b,c){a=h(a),b=+b;var d=a.length;if(d>=b||!mh(b))return a;var e=(b-d)/2,f=ah(e),g=$g(e);return c=gd("",g,c),c.slice(0,f)+a+c}function fg(a,b,c){return a=h(a),a&&gd(a,b,c)+a}function gg(a,b,c){return a=h(a),a&&a+gd(a,b,c)}function hg(a,b,c){return c&&vd(a,b,c)&&(b=0),sh(a,b)}function ig(a,b){var c="";if(a=h(a),b=+b,1>b||!a||!mh(b))return c;do b%2&&(c+=a),b=ah(b/2),a+=a;while(b);return c}function jg(a,b,c){return a=h(a),c=null==c?0:ph(0>c?0:+c||0,a.length),a.lastIndexOf(b,c)==c}function kg(a,c,d){var e=b.templateSettings;d&&vd(a,c,d)&&(c=d=null),a=h(a),c=kc(kc({},d||c),e,jc);var f,g,i=kc(kc({},c.imports),e.imports,jc),j=Th(i),k=Tc(i,j),l=0,m=c.interpolate||Eb,n="__p += '",o=Lg((c.escape||Eb).source+"|"+m.source+"|"+(m===xb?yb:Eb).source+"|"+(c.evaluate||Eb).source+"|$","g"),q="//# sourceURL="+("sourceURL"in c?c.sourceURL:"lodash.templateSources["+ ++Mb+"]")+"\n";a.replace(o,function(b,c,d,e,h,i){return d||(d=e),n+=a.slice(l,i).replace(Ib,p),c&&(f=!0,n+="' +\n__e("+c+") +\n'"),h&&(g=!0,n+="';\n"+h+";\n__p += '"),d&&(n+="' +\n((__t = ("+d+")) == null ? '' : __t) +\n'"),l=i+b.length,b}),n+="';\n";var r=c.variable;r||(n="with (obj) {\n"+n+"\n}\n"),n=(g?n.replace(ob,""):n).replace(pb,"$1").replace(qb,"$1;"),n="function("+(r||"obj")+") {\n"+(r?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(f?", __e = _.escape":"")+(g?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+n+"return __p\n}";var s=rg(function(){return Hg(j,q+"return "+n).apply(z,k)});if(s.source=n,sf(s))throw s;return s}function lg(a,b,c){var d=a;return(a=h(a))?(c?vd(d,b,c):null==b)?a.slice(v(a),w(a)+1):(b+="",a.slice(j(a,b),k(a,b)+1)):a}function mg(a,b,c){var d=a;return a=h(a),a?a.slice((c?vd(d,b,c):null==b)?v(a):j(a,b+"")):a}function ng(a,b,c){var d=a;return a=h(a),a?(c?vd(d,b,c):null==b)?a.slice(0,w(a)+1):a.slice(0,k(a,b+"")+1):a}function og(a,b,c){c&&vd(a,b,c)&&(b=null);var d=K,e=L;if(null!=b)if(uf(b)){var f="separator"in b?b.separator:f;d="length"in b?+b.length||0:d,e="omission"in b?h(b.omission):e}else d=+b||0;if(a=h(a),d>=a.length)return a;var g=d-e.length;if(1>g)return e;var i=a.slice(0,g);if(null==f)return i+e;if(Af(f)){if(a.slice(g).search(f)){var j,k,l=a.slice(0,g);for(f.global||(f=Lg(f.source,(zb.exec(f)||"")+"g")),f.lastIndex=0;j=f.exec(l);)k=j.index;i=i.slice(0,null==k?g:k)}}else if(a.indexOf(f,g)!=g){var m=i.lastIndexOf(f);m>-1&&(i=i.slice(0,m))}return i+e}function pg(a){return a=h(a),a&&tb.test(a)?a.replace(rb,x):a}function qg(a,b,c){return c&&vd(a,b,c)&&(b=null),a=h(a),a.match(b||Jb)||[]}function rg(a){try{return a()}catch(b){return sf(b)?b:Gg(b)}}function sg(a,b,c){return c&&vd(a,b,c)&&(b=null),r(a)?vg(a):oc(a,b)}function tg(a){return function(){return a}}function ug(a){return a}function vg(a){return Jc(pc(a,!0))}function wg(a,b,c){if(null==c){var d=uf(b),e=d&&Th(b),f=e&&e.length&&Dc(b,e);(f?f.length:d)||(f=!1,c=b,b=a,a=this)}f||(f=Dc(b,Th(b)));var g=!0,h=-1,i=tf(a),j=f.length;c===!1?g=!1:uf(c)&&"chain"in c&&(g=c.chain);for(;++ha||!mh(a))return[];var d=-1,e=Eg(ph(a,wh));for(b=Xc(b,c,1);++dd?e[d]=b(d):b(d);return e}function Dg(a){var b=++Ug;return h(a)+b}a=a?$b.defaults(Vb.Object(),a,$b.pick(Vb,Lb)):Vb;var Eg=a.Array,Fg=a.Date,Gg=a.Error,Hg=a.Function,Ig=a.Math,Jg=a.Number,Kg=a.Object,Lg=a.RegExp,Mg=a.String,Ng=a.TypeError,Og=Eg.prototype,Pg=Kg.prototype,Qg=(Qg=a.window)&&Qg.document,Rg=Hg.prototype.toString,Sg=Mc("length"),Tg=Pg.hasOwnProperty,Ug=0,Vg=Pg.toString,Wg=a._,Xg=Lg("^"+dg(Vg).replace(/toString|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Yg=xf(Yg=a.ArrayBuffer)&&Yg,Zg=xf(Zg=Yg&&new Yg(0).slice)&&Zg,$g=Ig.ceil,_g=a.clearTimeout,ah=Ig.floor,bh=xf(bh=Kg.getPrototypeOf)&&bh,ch=Og.push,dh=Pg.propertyIsEnumerable,eh=xf(eh=a.Set)&&eh,fh=a.setTimeout,gh=Og.splice,hh=xf(hh=a.Uint8Array)&&hh,ih=(Og.unshift,xf(ih=a.WeakMap)&&ih),jh=function(){try{var b=xf(b=a.Float64Array)&&b,c=new b(new Yg(10),0,1)&&b}catch(d){}return c}(),kh=xf(kh=Eg.isArray)&&kh,lh=xf(lh=Kg.create)&&lh,mh=a.isFinite,nh=xf(nh=Kg.keys)&&nh,oh=Ig.max,ph=Ig.min,qh=xf(qh=Fg.now)&&qh,rh=xf(rh=Jg.isFinite)&&rh,sh=a.parseInt,th=Ig.random,uh=Jg.NEGATIVE_INFINITY,vh=Jg.POSITIVE_INFINITY,wh=Ig.pow(2,32)-1,xh=wh-1,yh=wh>>>1,zh=jh?jh.BYTES_PER_ELEMENT:0,Ah=Ig.pow(2,53)-1,Bh=ih&&new ih,Ch=b.support={};!function(){Ch.funcDecomp=!xf(a.WinRTError)&&Hb.test(y),Ch.funcNames="string"==typeof Hg.name;try{Ch.dom=11===Qg.createDocumentFragment().nodeType}catch(b){Ch.dom=!1}try{Ch.nonEnumArgs=!dh.call(arguments,1)}catch(b){Ch.nonEnumArgs=!0}}(0,0),b.templateSettings={escape:vb,evaluate:wb,interpolate:xb,variable:"",imports:{_:b}};var Dh=function(){function b(){}return function(c){if(uf(c)){b.prototype=c;var d=new b;b.prototype=null}return d||a.Object()}}(),Eh=Bh?function(a,b){return Bh.set(a,b),a}:ug;Zg||(Yc=Yg&&hh?function(a){var b=a.byteLength,c=jh?ah(b/zh):0,d=c*zh,e=new Yg(b);if(c){var f=new jh(e,0,c);f.set(new jh(a,0,c))}return b!=d&&(f=new hh(e,d),f.set(new hh(a,d))),e}:tg(null));var Fh=lh&&eh?function(a){return new Ub(a)}:tg(null),Gh=Bh?function(a){return Bh.get(a)}:yg,Hh=function(){var a=0,b=0;return function(c,d){var e=Oh(),f=N-(e-b);if(b=e,f>0){if(++a>=M)return c}else a=0;return Eh(c,d)}}(),Ih=_c(function(a,b,c){Tg.call(a,c)?++a[c]:a[c]=1}),Jh=_c(function(a,b,c){Tg.call(a,c)?a[c].push(b):a[c]=[b]}),Kh=_c(function(a,b,c){a[c]=b}),Lh=ed(dc),Mh=ed(ec,!0),Nh=_c(function(a,b,c){a[c?0:1].push(b)},function(){return[[],[]]}),Oh=qh||function(){return(new Fg).getTime()},Ph=kh||function(a){return r(a)&&wd(a.length)&&Vg.call(a)==U||!1};Ch.dom||(pf=function(a){return a&&1===a.nodeType&&r(a)&&!Rh(a)||!1});var Qh=rh||function(a){return"number"==typeof a&&mh(a)};(tf(/x/)||hh&&!tf(hh))&&(tf=function(a){return Vg.call(a)==Y});var Rh=bh?function(a){if(!a||Vg.call(a)!=_)return!1;var b=a.valueOf,c=xf(b)&&(c=bh(b))&&bh(c);return c?a==c||bh(a)==c:Cd(a)}:Cd,Sh=ad(kc),Th=nh?function(a){if(a)var b=a.constructor,c=a.length;return"function"==typeof b&&b.prototype===a||"function"!=typeof a&&c&&wd(c)?Dd(a):uf(a)?nh(a):[]}:Dd,Uh=ad(Kc),Vh=cd(function(a,b,c){return b=b.toLowerCase(),a+(c?b.charAt(0).toUpperCase()+b.slice(1):b)}),Wh=cd(function(a,b,c){return a+(c?"-":"")+b.toLowerCase()});8!=sh(Kb+"08")&&(hg=function(a,b,c){return(c?vd(a,b,c):null==b)?b=0:b&&(b=+b),a=lg(a),sh(a,b||(Bb.test(a)?16:10))});var Xh=cd(function(a,b,c){return a+(c?"_":"")+b.toLowerCase()}),Yh=cd(function(a,b,c){return a+(c?" ":"")+(b.charAt(0).toUpperCase()+b.slice(1))});return c.prototype=b.prototype,db.prototype["delete"]=Qb,db.prototype.get=Rb,db.prototype.has=Sb,db.prototype.set=Tb,Ub.prototype.push=Xb,bf.Cache=db,b.after=Qe,b.ary=Re,b.assign=Sh,b.at=ue,b.before=Se,b.bind=Te,b.bindAll=Ue,b.bindKey=Ve,b.callback=sg,b.chain=ne,b.chunk=Gd,b.compact=Hd,b.constant=tg,b.countBy=Ih,b.create=Gf,b.curry=We,b.curryRight=Xe,b.debounce=Ye,b.defaults=Hf,b.defer=Ze,b.delay=$e,b.difference=Id,b.drop=Jd,b.dropRight=Kd,b.dropRightWhile=Ld,b.dropWhile=Md,b.filter=xe,b.flatten=Qd,b.flattenDeep=Rd,b.flow=_e,b.flowRight=af,b.forEach=Be,b.forEachRight=Ce,b.forIn=Kf,b.forInRight=Lf,b.forOwn=Mf,b.forOwnRight=Nf,b.functions=Of,b.groupBy=Jh,b.indexBy=Kh,b.initial=Td,b.intersection=Ud,b.invert=Qf,b.invoke=De,b.keys=Th,b.keysIn=Rf,b.map=Ee,b.mapValues=Sf,b.matches=vg,b.memoize=bf,b.merge=Uh,b.mixin=wg,b.negate=cf,b.omit=Tf,b.once=df,b.pairs=Uf,b.partial=ef,b.partialRight=ff,b.partition=Nh,b.pick=Vf,b.pluck=Fe,b.property=zg,b.propertyOf=Ag,b.pull=Xd,b.pullAt=Yd,b.range=Bg,b.rearg=gf,b.reject=Ie,b.remove=Zd,b.rest=$d,b.shuffle=Ke,b.slice=_d,b.sortBy=Ne,b.sortByAll=Oe,b.take=ce,b.takeRight=de,b.takeRightWhile=ee,b.takeWhile=fe,b.tap=oe,b.throttle=hf,b.thru=pe,b.times=Cg,b.toArray=Ef,b.toPlainObject=Ff,b.transform=Xf,b.union=ge,b.uniq=he,b.unzip=ie,b.values=Yf,b.valuesIn=Zf,b.where=Pe,b.without=je,b.wrap=jf,b.xor=ke,b.zip=le,b.zipObject=me,b.backflow=af,b.collect=Ee,b.compose=af,b.each=Be,b.eachRight=Ce,b.extend=Sh,b.iteratee=sg,b.methods=Of,b.object=me,b.select=xe,b.tail=$d,b.unique=he,wg(b,b),b.attempt=rg,b.camelCase=Vh,b.capitalize=_f,b.clone=kf,b.cloneDeep=lf,b.deburr=ag,b.endsWith=bg,b.escape=cg,b.escapeRegExp=dg,b.every=we,b.find=ye,b.findIndex=Nd,b.findKey=If,b.findLast=ze,b.findLastIndex=Od,b.findLastKey=Jf,b.findWhere=Ae,b.first=Pd,b.has=Pf,b.identity=ug,b.includes=ve,b.indexOf=Sd,b.isArguments=mf,b.isArray=Ph,b.isBoolean=nf,b.isDate=of,b.isElement=pf,b.isEmpty=qf,b.isEqual=rf,b.isError=sf,b.isFinite=Qh,b.isFunction=tf,b.isMatch=vf,b.isNaN=wf,b.isNative=xf,b.isNull=yf,b.isNumber=zf,b.isObject=uf,b.isPlainObject=Rh,b.isRegExp=Af,b.isString=Bf,b.isTypedArray=Cf,b.isUndefined=Df,b.kebabCase=Wh,b.last=Vd,b.lastIndexOf=Wd,b.max=Lh,b.min=Mh,b.noConflict=xg,b.noop=yg,b.now=Oh,b.pad=eg,b.padLeft=fg,b.padRight=gg,b.parseInt=hg,b.random=$f,b.reduce=Ge,b.reduceRight=He,b.repeat=ig,b.result=Wf,b.runInContext=y,b.size=Le,b.snakeCase=Xh,b.some=Me,b.sortedIndex=ae,b.sortedLastIndex=be,b.startCase=Yh,b.startsWith=jg,b.template=kg,b.trim=lg,b.trimLeft=mg,b.trimRight=ng,b.trunc=og,b.unescape=pg,b.uniqueId=Dg,b.words=qg,b.all=we,b.any=Me,b.contains=ve,b.detect=ye,b.foldl=Ge,b.foldr=He,b.head=Pd,b.include=ve,b.inject=Ge,wg(b,function(){var a={};return Bc(b,function(c,d){b.prototype[d]||(a[d]=c)}),a}(),!1),b.sample=Je,b.prototype.sample=function(a){return this.__chain__||null!=a?this.thru(function(b){return Je(b,a)}):Je(this.value())},b.VERSION=A,Zb(["bind","bindKey","curry","curryRight","partial","partialRight"],function(a){b[a].placeholder=b}),Zb(["filter","map","takeWhile"],function(a,b){var c=b==O;d.prototype[a]=function(a,d){var e=this.clone(),f=e.filtered,g=e.iteratees||(e.iteratees=[]);return e.filtered=f||c||b==Q&&e.dir<0,g.push({iteratee:nd(a,d,3),type:b}),e}}),Zb(["drop","take"],function(a,b){var c=a+"Count",e=a+"While";d.prototype[a]=function(d){d=null==d?1:oh(+d||0,0);var e=this.clone();if(e.filtered){var f=e[c];e[c]=b?ph(f,d):f+d}else{var g=e.views||(e.views=[]);g.push({size:d,type:a+(e.dir<0?"Right":"")})}return e},d.prototype[a+"Right"]=function(b){return this.reverse()[a](b).reverse()},d.prototype[a+"RightWhile"]=function(a,b){return this.reverse()[e](a,b).reverse()}}),Zb(["first","last"],function(a,b){var c="take"+(b?"Right":"");d.prototype[a]=function(){return this[c](1).value()[0]}}),Zb(["initial","rest"],function(a,b){var c="drop"+(b?"":"Right");d.prototype[a]=function(){return this[c](1)}}),Zb(["pluck","where"],function(a,b){var c=b?"filter":"map",e=b?Jc:Mc;d.prototype[a]=function(a){return this[c](e(b?a:a+""))}}),d.prototype.dropWhile=function(a,b){var c,d,e=this.dir<0;return a=nd(a,b,3),this.filter(function(b,f,g){return c=c&&(e?d>f:f>d),d=f,c||(c=!a(b,f,g))})},d.prototype.reject=function(a,b){return a=nd(a,b,3),this.filter(function(b,c,d){return!a(b,c,d)})},d.prototype.slice=function(a,b){a=null==a?0:+a||0;var c=0>a?this.takeRight(-a):this.drop(a);return"undefined"!=typeof b&&(b=+b||0,c=0>b?c.dropRight(-b):c.take(b-a)),c},Bc(d.prototype,function(a,e){var f=b[e],g=/^(?:first|last)$/.test(e);b.prototype[e]=function(){var e=this.__wrapped__,h=arguments,i=this.__chain__,j=!!this.__actions__.length,k=e instanceof d,l=k&&!j;if(g&&!i)return l?a.call(e):f.call(b,this.value());var m=function(a){var c=[a];return ch.apply(c,h),f.apply(b,c)};if(k||Ph(e)){var n=l?e:new d(this),o=a.apply(n,h);if(!g&&(j||o.actions)){var p=o.actions||(o.actions=[]);p.push({func:pe,args:[m],thisArg:b})}return new c(o,i)}return this.thru(m)}}),Zb(["concat","join","pop","push","shift","sort","splice","unshift"],function(a){var c=Og[a],d=/^(?:push|sort|unshift)$/.test(a)?"tap":"thru",e=/^(?:join|pop|shift)$/.test(a);b.prototype[a]=function(){var a=arguments;return e&&!this.__chain__?c.apply(this.value(),a):this[d](function(b){return c.apply(b,a)})}}),d.prototype.clone=s,d.prototype.reverse=Z,d.prototype.value=bb,b.prototype.chain=qe,b.prototype.reverse=re,b.prototype.toString=se,b.prototype.toJSON=b.prototype.valueOf=b.prototype.value=te,b.prototype.collect=b.prototype.map,b.prototype.head=b.prototype.first,b.prototype.select=b.prototype.filter,b.prototype.tail=b.prototype.rest,b}var z,A="3.1.0",B=1,C=2,D=4,E=8,F=16,G=32,H=64,I=128,J=256,K=30,L="...",M=150,N=16,O=0,P=1,Q=2,R="Expected a function",S="__lodash_placeholder__",T="[object Arguments]",U="[object Array]",V="[object Boolean]",W="[object Date]",X="[object Error]",Y="[object Function]",Z="[object Map]",$="[object Number]",_="[object Object]",ab="[object RegExp]",bb="[object Set]",cb="[object String]",db="[object WeakMap]",eb="[object ArrayBuffer]",fb="[object Float32Array]",gb="[object Float64Array]",hb="[object Int8Array]",ib="[object Int16Array]",jb="[object Int32Array]",kb="[object Uint8Array]",lb="[object Uint8ClampedArray]",mb="[object Uint16Array]",nb="[object Uint32Array]",ob=/\b__p \+= '';/g,pb=/\b(__p \+=) '' \+/g,qb=/(__e\(.*?\)|\b__t\)) \+\n'';/g,rb=/&(?:amp|lt|gt|quot|#39|#96);/g,sb=/[&<>"'`]/g,tb=RegExp(rb.source),ub=RegExp(sb.source),vb=/<%-([\s\S]+?)%>/g,wb=/<%([\s\S]+?)%>/g,xb=/<%=([\s\S]+?)%>/g,yb=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,zb=/\w*$/,Ab=/^\s*function[ \n\r\t]+\w/,Bb=/^0[xX]/,Cb=/^\[object .+?Constructor\]$/,Db=/[\xc0-\xd6\xd8-\xde\xdf-\xf6\xf8-\xff]/g,Eb=/($^)/,Fb=/[.*+?^${}()|[\]\/\\]/g,Gb=RegExp(Fb.source),Hb=/\bthis\b/,Ib=/['\n\r\u2028\u2029\\]/g,Jb=function(){var a="[A-Z\\xc0-\\xd6\\xd8-\\xde]",b="[a-z\\xdf-\\xf6\\xf8-\\xff]+";return RegExp(a+"{2,}(?="+a+b+")|"+a+"?"+b+"|"+a+"+|[0-9]+","g")}(),Kb=" \f \n\r\u2028\u2029 ᠎              ",Lb=["Array","ArrayBuffer","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Math","Number","Object","RegExp","Set","String","_","clearTimeout","document","isFinite","parseInt","setTimeout","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","window","WinRTError"],Mb=-1,Nb={};Nb[fb]=Nb[gb]=Nb[hb]=Nb[ib]=Nb[jb]=Nb[kb]=Nb[lb]=Nb[mb]=Nb[nb]=!0,Nb[T]=Nb[U]=Nb[eb]=Nb[V]=Nb[W]=Nb[X]=Nb[Y]=Nb[Z]=Nb[$]=Nb[_]=Nb[ab]=Nb[bb]=Nb[cb]=Nb[db]=!1;var Ob={};Ob[T]=Ob[U]=Ob[eb]=Ob[V]=Ob[W]=Ob[fb]=Ob[gb]=Ob[hb]=Ob[ib]=Ob[jb]=Ob[$]=Ob[_]=Ob[ab]=Ob[cb]=Ob[kb]=Ob[lb]=Ob[mb]=Ob[nb]=!0,Ob[X]=Ob[Y]=Ob[Z]=Ob[bb]=Ob[db]=!1;var Pb={leading:!1,maxWait:0,trailing:!1},Qb={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss"},Rb={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},Sb={"&":"&","<":"<",">":">",""":'"',"'":"'","`":"`"},Tb={"function":!0,object:!0},Ub={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Vb=Tb[typeof window]&&window!==(this&&this.window)?window:this,Wb=Tb[typeof d]&&d&&!d.nodeType&&d,Xb=Tb[typeof c]&&c&&!c.nodeType&&c,Yb=Wb&&Xb&&"object"==typeof b&&b;!Yb||Yb.global!==Yb&&Yb.window!==Yb&&Yb.self!==Yb||(Vb=Yb);var Zb=Xb&&Xb.exports===Wb&&Wb,$b=y();"function"==typeof a&&"object"==typeof a.amd&&a.amd?(Vb._=$b,a(function(){return $b})):Wb&&Xb?Zb?(Xb.exports=$b)._=$b:Wb._=$b:Vb._=$b}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],41:[function(a,b){(function(){var a;a=function(){function a(a){this.data=null!=a?a:[],this.pos=0,this.length=this.data.length}return a.prototype.readByte=function(){return this.data[this.pos++]},a.prototype.writeByte=function(a){return this.data[this.pos++]=a},a.prototype.byteAt=function(a){return this.data[a]},a.prototype.readBool=function(){return!!this.readByte()},a.prototype.writeBool=function(a){return this.writeByte(a?1:0)},a.prototype.readUInt32=function(){var a,b,c,d;return a=16777216*this.readByte(),b=this.readByte()<<16,c=this.readByte()<<8,d=this.readByte(),a+b+c+d},a.prototype.writeUInt32=function(a){return this.writeByte(a>>>24&255),this.writeByte(a>>16&255),this.writeByte(a>>8&255),this.writeByte(255&a)},a.prototype.readInt32=function(){var a;return a=this.readUInt32(),a>=2147483648?a-4294967296:a},a.prototype.writeInt32=function(a){return 0>a&&(a+=4294967296),this.writeUInt32(a)},a.prototype.readUInt16=function(){var a,b;return a=this.readByte()<<8,b=this.readByte(),a|b},a.prototype.writeUInt16=function(a){return this.writeByte(a>>8&255),this.writeByte(255&a)},a.prototype.readInt16=function(){var a;return a=this.readUInt16(),a>=32768?a-65536:a},a.prototype.writeInt16=function(a){return 0>a&&(a+=65536),this.writeUInt16(a)},a.prototype.readString=function(a){var b,c,d;for(c=[],b=d=0;a>=0?a>d:d>a;b=a>=0?++d:--d)c[b]=String.fromCharCode(this.readByte());return c.join("")},a.prototype.writeString=function(a){var b,c,d,e;for(e=[],b=c=0,d=a.length;d>=0?d>c:c>d;b=d>=0?++c:--c)e.push(this.writeByte(a.charCodeAt(b)));return e},a.prototype.stringAt=function(a,b){return this.pos=a,this.readString(b)},a.prototype.readShort=function(){return this.readInt16()},a.prototype.writeShort=function(a){return this.writeInt16(a)},a.prototype.readLongLong=function(){var a,b,c,d,e,f,g,h;return a=this.readByte(),b=this.readByte(),c=this.readByte(),d=this.readByte(),e=this.readByte(),f=this.readByte(),g=this.readByte(),h=this.readByte(),128&a?-1*(72057594037927940*(255^a)+281474976710656*(255^b)+1099511627776*(255^c)+4294967296*(255^d)+16777216*(255^e)+65536*(255^f)+256*(255^g)+(255^h)+1):72057594037927940*a+281474976710656*b+1099511627776*c+4294967296*d+16777216*e+65536*f+256*g+h},a.prototype.writeLongLong=function(a){var b,c;return b=Math.floor(a/4294967296),c=4294967295&a,this.writeByte(b>>24&255),this.writeByte(b>>16&255),this.writeByte(b>>8&255),this.writeByte(255&b),this.writeByte(c>>24&255),this.writeByte(c>>16&255),this.writeByte(c>>8&255),this.writeByte(255&c)},a.prototype.readInt=function(){return this.readInt32()},a.prototype.writeInt=function(a){return this.writeInt32(a)},a.prototype.slice=function(a,b){return this.data.slice(a,b)},a.prototype.read=function(a){var b,c,d;for(b=[],c=d=0;a>=0?a>d:d>a;c=a>=0?++d:--d)b.push(this.readByte());return b},a.prototype.write=function(a){var b,c,d,e;for(e=[],c=0,d=a.length;d>c;c++)b=a[c],e.push(this.writeByte(b));return e},a}(),b.exports=a}).call(this)},{}],42:[function(a,b){(function(c){(function(){var d,e,f,g,h,i,j={}.hasOwnProperty,k=function(a,b){function c(){this.constructor=a}for(var d in b)j.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a};i=a("stream"),h=a("fs"),e=a("./object"),g=a("./reference"),f=a("./page"),d=function(b){function d(a){var b,c,e,f;if(this.options=null!=a?a:{},d.__super__.constructor.apply(this,arguments),this.version=1.3,this.compress=null!=(e=this.options.compress)?e:!0,this._pageBuffer=[],this._pageBufferStart=0,this._offsets=[],this._waiting=0,this._ended=!1,this._offset=0,this._root=this.ref({Type:"Catalog",Pages:this.ref({Type:"Pages",Count:0,Kids:[]})}),this.page=null,this.initColor(),this.initVector(),this.initFonts(),this.initText(),this.initImages(),this.info={Producer:"PDFKit",Creator:"PDFKit",CreationDate:new Date},this.options.info){f=this.options.info;for(b in f)c=f[b],this.info[b]=c}this._write("%PDF-"+this.version),this._write("%ÿÿÿÿ"),this.addPage()}var i;return k(d,b),i=function(a){var b,c,e;e=[];for(c in a)b=a[c],e.push(d.prototype[c]=b);return e},i(a("./mixins/color")),i(a("./mixins/vector")),i(a("./mixins/fonts")),i(a("./mixins/text")),i(a("./mixins/images")),i(a("./mixins/annotations")),d.prototype.addPage=function(a){var b;return null==a&&(a=this.options),this.options.bufferPages||this.flushPages(),this.page=new f(this,a),this._pageBuffer.push(this.page),b=this._root.data.Pages.data,b.Kids.push(this.page.dictionary),b.Count++,this.x=this.page.margins.left,this.y=this.page.margins.top,this._ctm=[1,0,0,1,0,0],this.transform(1,0,0,-1,0,this.page.height),this},d.prototype.bufferedPageRange=function(){return{start:this._pageBufferStart,count:this._pageBuffer.length}},d.prototype.switchToPage=function(a){var b;if(!(b=this._pageBuffer[a-this._pageBufferStart]))throw new Error("switchToPage("+a+") out of bounds, current buffer covers pages "+this._pageBufferStart+" to "+(this._pageBufferStart+this._pageBuffer.length-1));return this.page=b},d.prototype.flushPages=function(){var a,b,c,d;for(b=this._pageBuffer,this._pageBuffer=[],this._pageBufferStart+=b.length,c=0,d=b.length;d>c;c++)a=b[c],a.end()},d.prototype.ref=function(a){var b;return b=new g(this,this._offsets.length+1,a),this._offsets.push(null),this._waiting++,b},d.prototype._read=function(){},d.prototype._write=function(a){return c.isBuffer(a)||(a=new c(a+"\n","binary")),this.push(a),this._offset+=a.length},d.prototype.addContent=function(a){return this.page.write(a),this},d.prototype._refEnd=function(a){return this._offsets[a.id-1]=a.offset,0===--this._waiting&&this._ended?(this._finalize(),this._ended=!1):void 0},d.prototype.write=function(a,b){var c;return c=new Error("PDFDocument#write is deprecated, and will be removed in a future version of PDFKit. Please pipe the document into a Node stream."),this.pipe(h.createWriteStream(a)),this.end(),this.once("end",b)},d.prototype.output=function(){throw new Error("PDFDocument#output is deprecated, and has been removed from PDFKit. Please pipe the document into a Node stream.")},d.prototype.end=function(){var a,b,c,d,f,g;this.flushPages(),this._info=this.ref(),f=this.info;for(b in f)d=f[b],"string"==typeof d&&(d=e.s(d,!0)),this._info.data[b]=d;this._info.end(),g=this._fontFamilies;for(c in g)a=g[c],a.embed();return this._root.end(),this._root.data.Pages.end(),0===this._waiting?this._finalize():this._ended=!0},d.prototype._finalize=function(){var a,b,c,d,f;for(b=this._offset,this._write("xref"),this._write("0 "+(this._offsets.length+1)),this._write("0000000000 65535 f "),f=this._offsets,c=0,d=f.length;d>c;c++)a=f[c],a=("0000000000"+a).slice(-10),this._write(a+" 00000 n ");return this._write("trailer"),this._write(e.convert({Size:this._offsets.length,Root:this._root,Info:this._info})),this._write("startxref"),this._write(""+b),this._write("%%EOF"),this.push(null)},d.prototype.toString=function(){return"[object PDFDocument]"},d}(i.Readable),b.exports=d}).call(this)}).call(this,a("buffer").Buffer)},{"./mixins/annotations":66,"./mixins/color":67,"./mixins/fonts":68,"./mixins/images":69,"./mixins/text":70,"./mixins/vector":71,"./object":72,"./page":73,"./reference":75,buffer:17,fs:"fs",stream:36}],43:[function(a,b){(function(c,d){(function(){var e,f,g,h,i;h=a("./font/ttf"),e=a("./font/afm"),g=a("./font/subset"),i=a("fs"),f=function(){function a(a,d,f,i){if(this.document=a,this.id=i,"string"==typeof d){if(d in b)return this.isAFM=!0,this.font=new e(b[d]()),void this.registerAFM(d); +if(/\.(ttf|ttc)$/i.test(d))this.font=h.open(d,f);else{if(!/\.dfont$/i.test(d))throw new Error("Not a supported font format or standard PDF font.");this.font=h.fromDFont(d,f)}}else if(c.isBuffer(d))this.font=h.fromBuffer(d,f);else if(d instanceof Uint8Array)this.font=h.fromBuffer(new c(d),f);else{if(!(d instanceof ArrayBuffer))throw new Error("Not a supported font format or standard PDF font.");this.font=h.fromBuffer(new c(new Uint8Array(d)),f)}this.subset=new g(this.font),this.registerTTF()}var b,f;return b={Courier:function(){return i.readFileSync(d+"/font/data/Courier.afm","utf8")},"Courier-Bold":function(){return i.readFileSync(d+"/font/data/Courier-Bold.afm","utf8")},"Courier-Oblique":function(){return i.readFileSync(d+"/font/data/Courier-Oblique.afm","utf8")},"Courier-BoldOblique":function(){return i.readFileSync(d+"/font/data/Courier-BoldOblique.afm","utf8")},Helvetica:function(){return i.readFileSync(d+"/font/data/Helvetica.afm","utf8")},"Helvetica-Bold":function(){return i.readFileSync(d+"/font/data/Helvetica-Bold.afm","utf8")},"Helvetica-Oblique":function(){return i.readFileSync(d+"/font/data/Helvetica-Oblique.afm","utf8")},"Helvetica-BoldOblique":function(){return i.readFileSync(d+"/font/data/Helvetica-BoldOblique.afm","utf8")},"Times-Roman":function(){return i.readFileSync(d+"/font/data/Times-Roman.afm","utf8")},"Times-Bold":function(){return i.readFileSync(d+"/font/data/Times-Bold.afm","utf8")},"Times-Italic":function(){return i.readFileSync(d+"/font/data/Times-Italic.afm","utf8")},"Times-BoldItalic":function(){return i.readFileSync(d+"/font/data/Times-BoldItalic.afm","utf8")},Symbol:function(){return i.readFileSync(d+"/font/data/Symbol.afm","utf8")},ZapfDingbats:function(){return i.readFileSync(d+"/font/data/ZapfDingbats.afm","utf8")}},a.prototype.use=function(a){var b;return null!=(b=this.subset)?b.use(a):void 0},a.prototype.embed=function(){return this.embedded||null==this.dictionary?void 0:(this.isAFM?this.embedAFM():this.embedTTF(),this.embedded=!0)},a.prototype.encode=function(a){var b;return this.isAFM?this.font.encodeText(a):(null!=(b=this.subset)?b.encodeText(a):void 0)||a},a.prototype.ref=function(){return null!=this.dictionary?this.dictionary:this.dictionary=this.document.ref()},a.prototype.registerTTF=function(){var a,b,c,d,e;if(this.name=this.font.name.postscriptName,this.scaleFactor=1e3/this.font.head.unitsPerEm,this.bbox=function(){var b,c,d,e;for(d=this.font.bbox,e=[],b=0,c=d.length;c>b;b++)a=d[b],e.push(Math.round(a*this.scaleFactor));return e}.call(this),this.stemV=0,this.font.post.exists?(d=this.font.post.italic_angle,b=d>>16,c=255&d,b&!0&&(b=-((65535^b)+1)),this.italicAngle=+(""+b+"."+c)):this.italicAngle=0,this.ascender=Math.round(this.font.ascender*this.scaleFactor),this.decender=Math.round(this.font.decender*this.scaleFactor),this.lineGap=Math.round(this.font.lineGap*this.scaleFactor),this.capHeight=this.font.os2.exists&&this.font.os2.capHeight||this.ascender,this.xHeight=this.font.os2.exists&&this.font.os2.xHeight||0,this.familyClass=(this.font.os2.exists&&this.font.os2.familyClass||0)>>8,this.isSerif=1===(e=this.familyClass)||2===e||3===e||4===e||5===e||7===e,this.isScript=10===this.familyClass,this.flags=0,this.font.post.isFixedPitch&&(this.flags|=1),this.isSerif&&(this.flags|=2),this.isScript&&(this.flags|=8),0!==this.italicAngle&&(this.flags|=64),this.flags|=32,!this.font.cmap.unicode)throw new Error("No unicode cmap for font")},a.prototype.embedTTF=function(){var a,b,c,d,e,g,h,i;return d=this.subset.encode(),h=this.document.ref(),h.write(d),h.data.Length1=h.uncompressedLength,h.end(),e=this.document.ref({Type:"FontDescriptor",FontName:this.subset.postscriptName,FontFile2:h,FontBBox:this.bbox,Flags:this.flags,StemV:this.stemV,ItalicAngle:this.italicAngle,Ascent:this.ascender,Descent:this.decender,CapHeight:this.capHeight,XHeight:this.xHeight}),e.end(),g=+Object.keys(this.subset.cmap)[0],a=function(){var a,b;a=this.subset.cmap,b=[];for(c in a)i=a[c],b.push(Math.round(this.font.widthOfGlyph(i)));return b}.call(this),b=this.document.ref(),b.end(f(this.subset.subset)),this.dictionary.data={Type:"Font",BaseFont:this.subset.postscriptName,Subtype:"TrueType",FontDescriptor:e,FirstChar:g,LastChar:g+a.length-1,Widths:a,Encoding:"MacRomanEncoding",ToUnicode:b},this.dictionary.end()},f=function(a){var b,c,d,e,f,g,h;for(f="/CIDInit /ProcSet findresource begin\n12 dict begin\nbegincmap\n/CIDSystemInfo <<\n /Registry (Adobe)\n /Ordering (UCS)\n /Supplement 0\n>> def\n/CMapName /Adobe-Identity-UCS def\n/CMapType 2 def\n1 begincodespacerange\n<00>\nendcodespacerange",c=Object.keys(a).sort(function(a,b){return a-b}),d=[],g=0,h=c.length;h>g;g++)b=c[g],d.length>=100&&(f+="\n"+d.length+" beginbfchar\n"+d.join("\n")+"\nendbfchar",d=[]),e=("0000"+a[b].toString(16)).slice(-4),b=(+b).toString(16),d.push("<"+b+"><"+e+">");return d.length&&(f+="\n"+d.length+" beginbfchar\n"+d.join("\n")+"\nendbfchar\n"),f+="endcmap\nCMapName currentdict /CMap defineresource pop\nend\nend"},a.prototype.registerAFM=function(a){var b;return this.name=a,b=this.font,this.ascender=b.ascender,this.decender=b.decender,this.bbox=b.bbox,this.lineGap=b.lineGap,b},a.prototype.embedAFM=function(){return this.dictionary.data={Type:"Font",BaseFont:this.name,Subtype:"Type1",Encoding:"WinAnsiEncoding"},this.dictionary.end()},a.prototype.widthOfString=function(a,b){var c,d,e,f,g,h;for(a=""+a,f=0,d=g=0,h=a.length;h>=0?h>g:g>h;d=h>=0?++g:--g)c=a.charCodeAt(d),f+=this.font.widthOfGlyph(this.font.characterToGlyph(c))||0;return e=b/1e3,f*e},a.prototype.lineHeight=function(a,b){var c;return null==b&&(b=!1),c=b?this.lineGap:0,(this.ascender+c-this.decender)/1e3*a},a}(),b.exports=f}).call(this)}).call(this,a("buffer").Buffer,"/node_modules/pdfkit/js")},{"./font/afm":44,"./font/subset":47,"./font/ttf":59,buffer:17,fs:"fs"}],44:[function(a,b){(function(){var c,d;d=a("fs"),c=function(){function a(a){var b,d;this.contents=a,this.attributes={},this.glyphWidths={},this.boundingBoxes={},this.parse(),this.charWidths=function(){var a,b;for(b=[],d=a=0;255>=a;d=++a)b.push(this.glyphWidths[c[d]]);return b}.call(this),this.bbox=function(){var a,c,d,e;for(d=this.attributes.FontBBox.split(/\s+/),e=[],a=0,c=d.length;c>a;a++)b=d[a],e.push(+b);return e}.call(this),this.ascender=+(this.attributes.Ascender||0),this.decender=+(this.attributes.Descender||0),this.lineGap=this.bbox[3]-this.bbox[1]-(this.ascender-this.decender)}var b,c;return a.open=function(b){return new a(d.readFileSync(b,"utf8"))},a.prototype.parse=function(){var a,b,c,d,e,f,g,h,i,j;for(f="",j=this.contents.split("\n"),h=0,i=j.length;i>h;h++)if(c=j[h],d=c.match(/^Start(\w+)/))f=d[1];else if(d=c.match(/^End(\w+)/))f="";else switch(f){case"FontMetrics":d=c.match(/(^\w+)\s+(.*)/),b=d[1],g=d[2],(a=this.attributes[b])?(Array.isArray(a)||(a=this.attributes[b]=[a]),a.push(g)):this.attributes[b]=g;break;case"CharMetrics":if(!/^CH?\s/.test(c))continue;e=c.match(/\bN\s+(\.?\w+)\s*;/)[1],this.glyphWidths[e]=+c.match(/\bWX\s+(\d+)\s*;/)[1]}},b={402:131,8211:150,8212:151,8216:145,8217:146,8218:130,8220:147,8221:148,8222:132,8224:134,8225:135,8226:149,8230:133,8364:128,8240:137,8249:139,8250:155,710:136,8482:153,338:140,339:156,732:152,352:138,353:154,376:159,381:142,382:158},a.prototype.encodeText=function(a){var c,d,e,f,g;for(e="",d=f=0,g=a.length;g>=0?g>f:f>g;d=g>=0?++f:--f)c=a.charCodeAt(d),c=b[c]||c,e+=String.fromCharCode(c);return e},a.prototype.characterToGlyph=function(a){return c[b[a]||a]},a.prototype.widthOfGlyph=function(a){return this.glyphWidths[a]},c=".notdef .notdef .notdef .notdef\n.notdef .notdef .notdef .notdef\n.notdef .notdef .notdef .notdef\n.notdef .notdef .notdef .notdef\n.notdef .notdef .notdef .notdef\n.notdef .notdef .notdef .notdef\n.notdef .notdef .notdef .notdef\n.notdef .notdef .notdef .notdef\n\nspace exclam quotedbl numbersign\ndollar percent ampersand quotesingle\nparenleft parenright asterisk plus\ncomma hyphen period slash\nzero one two three\nfour five six seven\neight nine colon semicolon\nless equal greater question\n\nat A B C\nD E F G\nH I J K\nL M N O\nP Q R S\nT U V W\nX Y Z bracketleft\nbackslash bracketright asciicircum underscore\n\ngrave a b c\nd e f g\nh i j k\nl m n o\np q r s\nt u v w\nx y z braceleft\nbar braceright asciitilde .notdef\n\nEuro .notdef quotesinglbase florin\nquotedblbase ellipsis dagger daggerdbl\ncircumflex perthousand Scaron guilsinglleft\nOE .notdef Zcaron .notdef\n.notdef quoteleft quoteright quotedblleft\nquotedblright bullet endash emdash\ntilde trademark scaron guilsinglright\noe .notdef zcaron ydieresis\n\nspace exclamdown cent sterling\ncurrency yen brokenbar section\ndieresis copyright ordfeminine guillemotleft\nlogicalnot hyphen registered macron\ndegree plusminus twosuperior threesuperior\nacute mu paragraph periodcentered\ncedilla onesuperior ordmasculine guillemotright\nonequarter onehalf threequarters questiondown\n\nAgrave Aacute Acircumflex Atilde\nAdieresis Aring AE Ccedilla\nEgrave Eacute Ecircumflex Edieresis\nIgrave Iacute Icircumflex Idieresis\nEth Ntilde Ograve Oacute\nOcircumflex Otilde Odieresis multiply\nOslash Ugrave Uacute Ucircumflex\nUdieresis Yacute Thorn germandbls\n\nagrave aacute acircumflex atilde\nadieresis aring ae ccedilla\negrave eacute ecircumflex edieresis\nigrave iacute icircumflex idieresis\neth ntilde ograve oacute\nocircumflex otilde odieresis divide\noslash ugrave uacute ucircumflex\nudieresis yacute thorn ydieresis".split(/\s+/),a}(),b.exports=c}).call(this)},{fs:"fs"}],45:[function(a,b){(function(){var c,d,e,NameTable,f;f=a("fs"),d=a("../data"),e=a("./directory"),NameTable=a("./tables/name"),c=function(){function a(a){this.contents=new d(a),this.parse(this.contents)}return a.open=function(b){var c;return c=f.readFileSync(b),new a(c)},a.prototype.parse=function(a){var b,c,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F;for(i=a.readInt(),t=a.readInt(),h=a.readInt(),s=a.readInt(),this.map={},a.pos=t+24,D=a.readShort()+t,x=a.readShort()+t,a.pos=D,u=a.readShort(),n=E=0;u>=E;n=E+=1){for(C=a.readString(4),v=a.readShort(),B=a.readShort(),this.map[C]={list:[],named:{}},A=a.pos,a.pos=D+B,p=F=0;v>=F;p=F+=1)o=a.readShort(),y=a.readShort(),b=a.readByte(),c=a.readByte()<<16,f=a.readByte()<<8,g=a.readByte(),j=i+(0|c|f|g),m=a.readUInt32(),k={id:o,attributes:b,offset:j,handle:m},z=a.pos,-1!==y&&t+s>x+y?(a.pos=x+y,q=a.readByte(),k.name=a.readString(q)):"sfnt"===C&&(a.pos=k.offset,r=a.readUInt32(),l={},l.contents=new d(a.slice(a.pos,a.pos+r)),l.directory=new e(l.contents),w=new NameTable(l),k.name=w.fontName[0].raw),a.pos=z,this.map[C].list.push(k),k.name&&(this.map[C].named[k.name]=k);a.pos=A}},a.prototype.getNamedFont=function(a){var b,c,d,e,f,g;if(b=this.contents,e=b.pos,c=null!=(g=this.map.sfnt)?g.named[a]:void 0,!c)throw new Error("Font "+a+" not found in DFont file.");return b.pos=c.offset,d=b.readUInt32(),f=b.slice(b.pos,b.pos+d),b.pos=e,f},a}(),b.exports=c}).call(this)},{"../data":41,"./directory":46,"./tables/name":56,fs:"fs"}],46:[function(a,b){(function(c){(function(){var d,e,f=[].slice;d=a("../data"),e=function(){function a(a){var b,c,d,e;for(this.scalarType=a.readInt(),this.tableCount=a.readShort(),this.searchRange=a.readShort(),this.entrySelector=a.readShort(),this.rangeShift=a.readShort(),this.tables={},c=d=0,e=this.tableCount;e>=0?e>d:d>e;c=e>=0?++d:--d)b={tag:a.readString(4),checksum:a.readInt(),offset:a.readInt(),length:a.readInt()},this.tables[b.tag]=b}var b;return a.prototype.encode=function(a){var e,f,g,h,i,j,k,l,m,n,o,p,q,r;p=Object.keys(a).length,j=Math.log(2),m=16*Math.floor(Math.log(p)/j),h=Math.floor(m/j),l=16*p-m,f=new d,f.writeInt(this.scalarType),f.writeShort(p),f.writeShort(m),f.writeShort(h),f.writeShort(l),g=16*p,k=f.pos+g,i=null,q=[];for(r in a)for(o=a[r],f.writeString(r),f.writeInt(b(o)),f.writeInt(k),f.writeInt(o.length),q=q.concat(o),"head"===r&&(i=k),k+=o.length;k%4;)q.push(0),k++;return f.write(q),n=b(f.data),e=2981146554-n,f.pos=i+8,f.writeUInt32(e),new c(f.data)},b=function(a){var b,c,e,g,h;for(a=f.call(a);a.length%4;)a.push(0);for(e=new d(a),c=0,b=g=0,h=a.length;h>g;b=g+=4)c+=e.readUInt32();return 4294967295&c},a}(),b.exports=e}).call(this)}).call(this,a("buffer").Buffer)},{"../data":41,buffer:17}],47:[function(a,b){(function(){var CmapTable,c,d,e=[].indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(b in this&&this[b]===a)return b;return-1};CmapTable=a("./tables/cmap"),d=a("./utils"),c=function(){function a(a){this.font=a,this.subset={},this.unicodes={},this.next=33}return a.prototype.use=function(a){var b,c,d;{if("string"!=typeof a)return this.unicodes[a]?void 0:(this.subset[this.next]=a,this.unicodes[a]=this.next++);for(b=c=0,d=a.length;d>=0?d>c:c>d;b=d>=0?++c:--c)this.use(a.charCodeAt(b))}},a.prototype.encodeText=function(a){var b,c,d,e,f;for(d="",c=e=0,f=a.length;f>=0?f>e:e>f;c=f>=0?++e:--e)b=this.unicodes[a.charCodeAt(c)],d+=String.fromCharCode(b);return d},a.prototype.generateCmap=function(){var a,b,c,d,e;d=this.font.cmap.tables[0].codeMap,a={},e=this.subset;for(b in e)c=e[b],a[b]=d[c];return a},a.prototype.glyphIDs=function(){var a,b,c,d,f,g;d=this.font.cmap.tables[0].codeMap,a=[0],g=this.subset;for(b in g)c=g[b],f=d[c],null!=f&&e.call(a,f)<0&&a.push(f);return a.sort()},a.prototype.glyphsFor=function(a){var b,c,d,e,f,g,h;for(d={},f=0,g=a.length;g>f;f++)e=a[f],d[e]=this.font.glyf.glyphFor(e);b=[];for(e in d)c=d[e],(null!=c?c.compound:void 0)&&b.push.apply(b,c.glyphIDs);if(b.length>0){h=this.glyphsFor(b);for(e in h)c=h[e],d[e]=c}return d},a.prototype.encode=function(){var a,b,c,e,f,g,h,i,j,k,l,m,n,o,p,q,r;a=CmapTable.encode(this.generateCmap(),"unicode"),e=this.glyphsFor(this.glyphIDs()),m={0:0},q=a.charMap;for(b in q)g=q[b],m[g.old]=g["new"];l=a.maxGlyphID;for(n in e)n in m||(m[n]=l++);j=d.invert(m),k=Object.keys(j).sort(function(a,b){return a-b}),o=function(){var a,b,c;for(c=[],a=0,b=k.length;b>a;a++)f=k[a],c.push(j[f]);return c}(),c=this.font.glyf.encode(e,o,m),h=this.font.loca.encode(c.offsets),i=this.font.name.encode(),this.postscriptName=i.postscriptName,this.cmap={},r=a.charMap;for(b in r)g=r[b],this.cmap[b]=g.old;return p={cmap:a.table,glyf:c.table,loca:h.table,hmtx:this.font.hmtx.encode(o),hhea:this.font.hhea.encode(o),maxp:this.font.maxp.encode(o),post:this.font.post.encode(o),name:i.table,head:this.font.head.encode(h)},this.font.os2.exists&&(p["OS/2"]=this.font.os2.raw()),this.font.directory.encode(p)},a}(),b.exports=c}).call(this)},{"./tables/cmap":49,"./utils":60}],48:[function(a,b){(function(){var a;a=function(){function a(a){var b;this.file=a,b=this.file.directory.tables[this.tag],this.exists=!!b,b&&(this.offset=b.offset,this.length=b.length,this.parse(this.file.contents))}return a.prototype.parse=function(){},a.prototype.encode=function(){},a.prototype.raw=function(){return this.exists?(this.file.contents.pos=this.offset,this.file.contents.read(this.length)):null},a}(),b.exports=a}).call(this)},{}],49:[function(a,b){(function(){var c,CmapTable,d,e,f={}.hasOwnProperty,g=function(a,b){function c(){this.constructor=a}for(var d in b)f.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a};e=a("../table"),d=a("../../data"),CmapTable=function(a){function CmapTable(){return CmapTable.__super__.constructor.apply(this,arguments)}return g(CmapTable,a),CmapTable.prototype.tag="cmap",CmapTable.prototype.parse=function(a){var b,d,e,f;for(a.pos=this.offset,this.version=a.readUInt16(),e=a.readUInt16(),this.tables=[],this.unicode=null,d=f=0;e>=0?e>f:f>e;d=e>=0?++f:--f)b=new c(a,this.offset),this.tables.push(b),b.isUnicode&&null==this.unicode&&(this.unicode=b);return!0},CmapTable.encode=function(a,b){var e,f;return null==b&&(b="macroman"),e=c.encode(a,b),f=new d,f.writeUInt16(0),f.writeUInt16(1),e.table=f.data.concat(e.subtable),e},CmapTable}(e),c=function(){function a(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;switch(this.platformID=a.readUInt16(),this.encodingID=a.readShort(),this.offset=b+a.readInt(),l=a.pos,a.pos=this.offset,this.format=a.readUInt16(),this.length=a.readUInt16(),this.language=a.readUInt16(),this.isUnicode=3===this.platformID&&1===this.encodingID&&4===this.format||0===this.platformID&&4===this.format,this.codeMap={},this.format){case 0:for(h=r=0;256>r;h=++r)this.codeMap[h]=a.readByte();break;case 4:for(n=a.readUInt16(),m=n/2,a.pos+=6,e=function(){var b,c;for(c=[],h=b=0;m>=0?m>b:b>m;h=m>=0?++b:--b)c.push(a.readUInt16());return c}(),a.pos+=2,p=function(){var b,c;for(c=[],h=b=0;m>=0?m>b:b>m;h=m>=0?++b:--b)c.push(a.readUInt16());return c}(),i=function(){var b,c;for(c=[],h=b=0;m>=0?m>b:b>m;h=m>=0?++b:--b)c.push(a.readUInt16());return c}(),j=function(){var b,c;for(c=[],h=b=0;m>=0?m>b:b>m;h=m>=0?++b:--b)c.push(a.readUInt16());return c}(),d=(this.length-a.pos+this.offset)/2,g=function(){var b,c;for(c=[],h=b=0;d>=0?d>b:b>d;h=d>=0?++b:--b)c.push(a.readUInt16());return c}(),h=s=0,u=e.length;u>s;h=++s)for(q=e[h],o=p[h],c=t=o;q>=o?q>=t:t>=q;c=q>=o?++t:--t)0===j[h]?f=c+i[h]:(k=j[h]/2+(c-o)-(m-h),f=g[k]||0,0!==f&&(f+=i[h])),this.codeMap[c]=65535&f}a.pos=l}return a.encode=function(a,b){var c,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X;switch(F=new d,g=Object.keys(a).sort(function(a,b){return a-b}),b){case"macroman":for(p=0,q=function(){var a,b;for(b=[],o=a=0;256>a;o=++a)b.push(0);return b}(),s={0:0},f={},G=0,K=g.length;K>G;G++)e=g[G],null==s[U=a[e]]&&(s[U]=++p),f[e]={old:a[e],"new":s[a[e]]},q[e]=s[a[e]];return F.writeUInt16(1),F.writeUInt16(0),F.writeUInt32(12),F.writeUInt16(0),F.writeUInt16(262),F.writeUInt16(0),F.write(q),y={charMap:f,subtable:F.data,maxGlyphID:p+1};case"unicode":for(D=[],l=[],t=0,s={},c={},r=j=null,H=0,L=g.length;L>H;H++)e=g[H],v=a[e],null==s[v]&&(s[v]=++t),c[e]={old:v,"new":s[v]},h=s[v]-e,(null==r||h!==j)&&(r&&l.push(r),D.push(e),j=h),r=e;for(r&&l.push(r),l.push(65535),D.push(65535),A=D.length,B=2*A,z=2*Math.pow(Math.log(A)/Math.LN2,2),m=Math.log(z/2)/Math.LN2,x=2*A-z,i=[],w=[],n=[],o=I=0,M=D.length;M>I;o=++I){if(C=D[o],k=l[o],65535===C){i.push(0),w.push(0);break}if(E=c[C]["new"],C-E>=32768)for(i.push(0),w.push(2*(n.length+A-o)),e=J=C;k>=C?k>=J:J>=k;e=k>=C?++J:--J)n.push(c[e]["new"]);else i.push(E-C),w.push(0)}for(F.writeUInt16(3),F.writeUInt16(1),F.writeUInt32(12),F.writeUInt16(4),F.writeUInt16(16+8*A+2*n.length),F.writeUInt16(0),F.writeUInt16(B),F.writeUInt16(z),F.writeUInt16(m),F.writeUInt16(x),S=0,N=l.length;N>S;S++)e=l[S],F.writeUInt16(e);for(F.writeUInt16(0),T=0,O=D.length;O>T;T++)e=D[T],F.writeUInt16(e);for(V=0,P=i.length;P>V;V++)h=i[V],F.writeUInt16(h);for(W=0,Q=w.length;Q>W;W++)u=w[W],F.writeUInt16(u);for(X=0,R=n.length;R>X;X++)p=n[X],F.writeUInt16(p);return y={charMap:c,subtable:F.data,maxGlyphID:t+1}}},a}(),b.exports=CmapTable}).call(this)},{"../../data":41,"../table":48}],50:[function(a,b){(function(){var c,d,GlyfTable,e,f,g={}.hasOwnProperty,h=function(a,b){function c(){this.constructor=a}for(var d in b)g.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},i=[].slice;f=a("../table"),d=a("../../data"),GlyfTable=function(a){function GlyfTable(){return GlyfTable.__super__.constructor.apply(this,arguments)}return h(GlyfTable,a),GlyfTable.prototype.tag="glyf",GlyfTable.prototype.parse=function(){return this.cache={}},GlyfTable.prototype.glyphFor=function(a){var b,f,g,h,i,j,k,l,m,n;return a in this.cache?this.cache[a]:(h=this.file.loca,b=this.file.contents,f=h.indexOf(a),g=h.lengthOf(a),0===g?this.cache[a]=null:(b.pos=this.offset+f,j=new d(b.read(g)),i=j.readShort(),l=j.readShort(),n=j.readShort(),k=j.readShort(),m=j.readShort(),this.cache[a]=-1===i?new c(j,l,n,k,m):new e(j,i,l,n,k,m),this.cache[a]))},GlyfTable.prototype.encode=function(a,b,c){var d,e,f,g,h,i;for(g=[],f=[],h=0,i=b.length;i>h;h++)e=b[h],d=a[e],f.push(g.length),d&&(g=g.concat(d.encode(c)));return f.push(g.length),{table:g,offsets:f}},GlyfTable}(f),e=function(){function a(a,b,c,d,e,f){this.raw=a,this.numberOfContours=b,this.xMin=c,this.yMin=d,this.xMax=e,this.yMax=f,this.compound=!1}return a.prototype.encode=function(){return this.raw.data},a}(),c=function(){function a(a,d,h,i,j){var k,l;for(this.raw=a,this.xMin=d,this.yMin=h,this.xMax=i,this.yMax=j,this.compound=!0,this.glyphIDs=[],this.glyphOffsets=[],k=this.raw;;){if(l=k.readShort(),this.glyphOffsets.push(k.pos),this.glyphIDs.push(k.readShort()),!(l&c))break;k.pos+=l&b?4:2,l&g?k.pos+=8:l&e?k.pos+=4:l&f&&(k.pos+=2)}}var b,c,e,f,g,h;return b=1,f=8,c=32,e=64,g=128,h=256,a.prototype.encode=function(a){var b,c,e,f,g,h;for(e=new d(i.call(this.raw.data)),h=this.glyphIDs,b=f=0,g=h.length;g>f;b=++f)c=h[b],e.pos=this.glyphOffsets[b],e.writeShort(a[c]);return e.data},a}(),b.exports=GlyfTable}).call(this)},{"../../data":41,"../table":48}],51:[function(a,b){(function(){var c,HeadTable,d,e={}.hasOwnProperty,f=function(a,b){function c(){this.constructor=a}for(var d in b)e.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a};d=a("../table"),c=a("../../data"),HeadTable=function(a){function HeadTable(){return HeadTable.__super__.constructor.apply(this,arguments)}return f(HeadTable,a),HeadTable.prototype.tag="head",HeadTable.prototype.parse=function(a){return a.pos=this.offset,this.version=a.readInt(),this.revision=a.readInt(),this.checkSumAdjustment=a.readInt(),this.magicNumber=a.readInt(),this.flags=a.readShort(),this.unitsPerEm=a.readShort(),this.created=a.readLongLong(),this.modified=a.readLongLong(),this.xMin=a.readShort(),this.yMin=a.readShort(),this.xMax=a.readShort(),this.yMax=a.readShort(),this.macStyle=a.readShort(),this.lowestRecPPEM=a.readShort(),this.fontDirectionHint=a.readShort(),this.indexToLocFormat=a.readShort(),this.glyphDataFormat=a.readShort()},HeadTable.prototype.encode=function(a){var b;return b=new c,b.writeInt(this.version),b.writeInt(this.revision),b.writeInt(this.checkSumAdjustment),b.writeInt(this.magicNumber),b.writeShort(this.flags),b.writeShort(this.unitsPerEm),b.writeLongLong(this.created),b.writeLongLong(this.modified),b.writeShort(this.xMin),b.writeShort(this.yMin),b.writeShort(this.xMax),b.writeShort(this.yMax),b.writeShort(this.macStyle),b.writeShort(this.lowestRecPPEM),b.writeShort(this.fontDirectionHint),b.writeShort(a.type),b.writeShort(this.glyphDataFormat),b.data},HeadTable}(d),b.exports=HeadTable}).call(this)},{"../../data":41,"../table":48}],52:[function(a,b){(function(){var c,HheaTable,d,e={}.hasOwnProperty,f=function(a,b){function c(){this.constructor=a}for(var d in b)e.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a};d=a("../table"),c=a("../../data"),HheaTable=function(a){function HheaTable(){return HheaTable.__super__.constructor.apply(this,arguments)}return f(HheaTable,a),HheaTable.prototype.tag="hhea",HheaTable.prototype.parse=function(a){return a.pos=this.offset,this.version=a.readInt(),this.ascender=a.readShort(),this.decender=a.readShort(),this.lineGap=a.readShort(),this.advanceWidthMax=a.readShort(),this.minLeftSideBearing=a.readShort(),this.minRightSideBearing=a.readShort(),this.xMaxExtent=a.readShort(),this.caretSlopeRise=a.readShort(),this.caretSlopeRun=a.readShort(),this.caretOffset=a.readShort(),a.pos+=8,this.metricDataFormat=a.readShort(),this.numberOfMetrics=a.readUInt16()},HheaTable.prototype.encode=function(a){var b,d,e,f;for(d=new c,d.writeInt(this.version),d.writeShort(this.ascender),d.writeShort(this.decender),d.writeShort(this.lineGap),d.writeShort(this.advanceWidthMax),d.writeShort(this.minLeftSideBearing),d.writeShort(this.minRightSideBearing),d.writeShort(this.xMaxExtent),d.writeShort(this.caretSlopeRise),d.writeShort(this.caretSlopeRun),d.writeShort(this.caretOffset),b=e=0,f=8;f>=0?f>e:e>f;b=f>=0?++e:--e)d.writeByte(0);return d.writeShort(this.metricDataFormat),d.writeUInt16(a.length),d.data},HheaTable}(d),b.exports=HheaTable}).call(this)},{"../../data":41,"../table":48}],53:[function(a,b){(function(){var c,HmtxTable,d,e={}.hasOwnProperty,f=function(a,b){function c(){this.constructor=a}for(var d in b)e.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a};d=a("../table"),c=a("../../data"),HmtxTable=function(a){function HmtxTable(){return HmtxTable.__super__.constructor.apply(this,arguments)}return f(HmtxTable,a),HmtxTable.prototype.tag="hmtx",HmtxTable.prototype.parse=function(a){var b,c,d,e,f,g,h,i;for(a.pos=this.offset,this.metrics=[],b=f=0,h=this.file.hhea.numberOfMetrics;h>=0?h>f:f>h;b=h>=0?++f:--f)this.metrics.push({advance:a.readUInt16(),lsb:a.readInt16()});for(d=this.file.maxp.numGlyphs-this.file.hhea.numberOfMetrics,this.leftSideBearings=function(){var c,e;for(e=[],b=c=0;d>=0?d>c:c>d;b=d>=0?++c:--c)e.push(a.readInt16());return e}(),this.widths=function(){var a,b,c,d;for(c=this.metrics,d=[],a=0,b=c.length;b>a;a++)e=c[a],d.push(e.advance);return d}.call(this),c=this.widths[this.widths.length-1],i=[],b=g=0;d>=0?d>g:g>d;b=d>=0?++g:--g)i.push(this.widths.push(c));return i},HmtxTable.prototype.forGlyph=function(a){var b;return a in this.metrics?this.metrics[a]:b={advance:this.metrics[this.metrics.length-1].advance,lsb:this.leftSideBearings[a-this.metrics.length]}},HmtxTable.prototype.encode=function(a){var b,d,e,f,g;for(e=new c,f=0,g=a.length;g>f;f++)b=a[f],d=this.forGlyph(b),e.writeUInt16(d.advance),e.writeUInt16(d.lsb);return e.data},HmtxTable}(d),b.exports=HmtxTable}).call(this)},{"../../data":41,"../table":48}],54:[function(a,b){(function(){var c,LocaTable,d,e={}.hasOwnProperty,f=function(a,b){function c(){this.constructor=a}for(var d in b)e.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a};d=a("../table"),c=a("../../data"),LocaTable=function(a){function LocaTable(){return LocaTable.__super__.constructor.apply(this,arguments)}return f(LocaTable,a),LocaTable.prototype.tag="loca",LocaTable.prototype.parse=function(a){var b,c;return a.pos=this.offset,b=this.file.head.indexToLocFormat,this.offsets=0===b?function(){var b,d,e;for(e=[],c=b=0,d=this.length;d>b;c=b+=2)e.push(2*a.readUInt16());return e}.call(this):function(){var b,d,e;for(e=[],c=b=0,d=this.length;d>b;c=b+=4)e.push(a.readUInt32());return e}.call(this)},LocaTable.prototype.indexOf=function(a){return this.offsets[a]},LocaTable.prototype.lengthOf=function(a){return this.offsets[a+1]-this.offsets[a]},LocaTable.prototype.encode=function(a){var b,d,e,f,g,h,i,j,k,l,m;for(f=new c,g=0,j=a.length;j>g;g++)if(d=a[g],d>65535){for(m=this.offsets,h=0,k=m.length;k>h;h++)b=m[h],f.writeUInt32(b);return e={format:1,table:f.data}}for(i=0,l=a.length;l>i;i++)b=a[i],f.writeUInt16(b/2);return e={format:0,table:f.data}},LocaTable}(d),b.exports=LocaTable}).call(this)},{"../../data":41,"../table":48}],55:[function(a,b){(function(){var c,MaxpTable,d,e={}.hasOwnProperty,f=function(a,b){function c(){this.constructor=a}for(var d in b)e.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a};d=a("../table"),c=a("../../data"),MaxpTable=function(a){function MaxpTable(){return MaxpTable.__super__.constructor.apply(this,arguments)}return f(MaxpTable,a),MaxpTable.prototype.tag="maxp",MaxpTable.prototype.parse=function(a){return a.pos=this.offset,this.version=a.readInt(),this.numGlyphs=a.readUInt16(),this.maxPoints=a.readUInt16(),this.maxContours=a.readUInt16(),this.maxCompositePoints=a.readUInt16(),this.maxComponentContours=a.readUInt16(),this.maxZones=a.readUInt16(),this.maxTwilightPoints=a.readUInt16(),this.maxStorage=a.readUInt16(),this.maxFunctionDefs=a.readUInt16(),this.maxInstructionDefs=a.readUInt16(),this.maxStackElements=a.readUInt16(),this.maxSizeOfInstructions=a.readUInt16(),this.maxComponentElements=a.readUInt16(),this.maxComponentDepth=a.readUInt16()},MaxpTable.prototype.encode=function(a){var b;return b=new c,b.writeInt(this.version),b.writeUInt16(a.length),b.writeUInt16(this.maxPoints),b.writeUInt16(this.maxContours),b.writeUInt16(this.maxCompositePoints),b.writeUInt16(this.maxComponentContours),b.writeUInt16(this.maxZones),b.writeUInt16(this.maxTwilightPoints),b.writeUInt16(this.maxStorage),b.writeUInt16(this.maxFunctionDefs),b.writeUInt16(this.maxInstructionDefs),b.writeUInt16(this.maxStackElements),b.writeUInt16(this.maxSizeOfInstructions),b.writeUInt16(this.maxComponentElements),b.writeUInt16(this.maxComponentDepth),b.data},MaxpTable}(d),b.exports=MaxpTable}).call(this)},{"../../data":41,"../table":48}],56:[function(a,b){(function(){var c,d,NameTable,e,f,g={}.hasOwnProperty,h=function(a,b){function c(){this.constructor=a}for(var d in b)g.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a};e=a("../table"),c=a("../../data"),f=a("../utils"),NameTable=function(a){function NameTable(){return NameTable.__super__.constructor.apply(this,arguments)}var b;return h(NameTable,a),NameTable.prototype.tag="name",NameTable.prototype.parse=function(a){var b,c,e,f,g,h,i,j,k,l,m,n,o;for(a.pos=this.offset,f=a.readShort(),b=a.readShort(),i=a.readShort(),c=[],g=l=0;b>=0?b>l:l>b;g=b>=0?++l:--l)c.push({platformID:a.readShort(),encodingID:a.readShort(),languageID:a.readShort(),nameID:a.readShort(),length:a.readShort(),offset:this.offset+i+a.readShort()});for(j={},g=m=0,n=c.length;n>m;g=++m)e=c[g],a.pos=e.offset,k=a.readString(e.length),h=new d(k,e),null==j[o=e.nameID]&&(j[o]=[]),j[e.nameID].push(h);return this.strings=j,this.copyright=j[0],this.fontFamily=j[1],this.fontSubfamily=j[2],this.uniqueSubfamily=j[3],this.fontName=j[4],this.version=j[5],this.postscriptName=j[6][0].raw.replace(/[\x00-\x19\x80-\xff]/g,""),this.trademark=j[7],this.manufacturer=j[8],this.designer=j[9],this.description=j[10],this.vendorUrl=j[11],this.designerUrl=j[12],this.license=j[13],this.licenseUrl=j[14],this.preferredFamily=j[15],this.preferredSubfamily=j[17],this.compatibleFull=j[18],this.sampleText=j[19]},b="AAAAAA",NameTable.prototype.encode=function(){var a,e,g,h,i,j,k,l,m,n,o,p,q,r;m={},r=this.strings;for(a in r)o=r[a],m[a]=o;i=new d(""+b+"+"+this.postscriptName,{platformID:1,encodingID:0,languageID:0}),m[6]=[i],b=f.successorOf(b),j=0;for(a in m)e=m[a],null!=e&&(j+=e.length);n=new c,k=new c,n.writeShort(0),n.writeShort(j),n.writeShort(6+12*j);for(g in m)if(e=m[g],null!=e)for(p=0,q=e.length;q>p;p++)l=e[p],n.writeShort(l.platformID),n.writeShort(l.encodingID),n.writeShort(l.languageID),n.writeShort(g),n.writeShort(l.length),n.writeShort(k.pos),k.writeString(l.raw);return h={postscriptName:i.raw,table:n.data.concat(k.data)}},NameTable}(e),b.exports=NameTable,d=function(){function a(a,b){this.raw=a,this.length=a.length,this.platformID=b.platformID,this.encodingID=b.encodingID,this.languageID=b.languageID +}return a}()}).call(this)},{"../../data":41,"../table":48,"../utils":60}],57:[function(a,b){(function(){var OS2Table,c,d={}.hasOwnProperty,e=function(a,b){function c(){this.constructor=a}for(var e in b)d.call(b,e)&&(a[e]=b[e]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a};c=a("../table"),OS2Table=function(a){function OS2Table(){return OS2Table.__super__.constructor.apply(this,arguments)}return e(OS2Table,a),OS2Table.prototype.tag="OS/2",OS2Table.prototype.parse=function(a){var b;return a.pos=this.offset,this.version=a.readUInt16(),this.averageCharWidth=a.readShort(),this.weightClass=a.readUInt16(),this.widthClass=a.readUInt16(),this.type=a.readShort(),this.ySubscriptXSize=a.readShort(),this.ySubscriptYSize=a.readShort(),this.ySubscriptXOffset=a.readShort(),this.ySubscriptYOffset=a.readShort(),this.ySuperscriptXSize=a.readShort(),this.ySuperscriptYSize=a.readShort(),this.ySuperscriptXOffset=a.readShort(),this.ySuperscriptYOffset=a.readShort(),this.yStrikeoutSize=a.readShort(),this.yStrikeoutPosition=a.readShort(),this.familyClass=a.readShort(),this.panose=function(){var c,d;for(d=[],b=c=0;10>c;b=++c)d.push(a.readByte());return d}(),this.charRange=function(){var c,d;for(d=[],b=c=0;4>c;b=++c)d.push(a.readInt());return d}(),this.vendorID=a.readString(4),this.selection=a.readShort(),this.firstCharIndex=a.readShort(),this.lastCharIndex=a.readShort(),this.version>0&&(this.ascent=a.readShort(),this.descent=a.readShort(),this.lineGap=a.readShort(),this.winAscent=a.readShort(),this.winDescent=a.readShort(),this.codePageRange=function(){var c,d;for(d=[],b=c=0;2>c;b=++c)d.push(a.readInt());return d}(),this.version>1)?(this.xHeight=a.readShort(),this.capHeight=a.readShort(),this.defaultChar=a.readShort(),this.breakChar=a.readShort(),this.maxContext=a.readShort()):void 0},OS2Table.prototype.encode=function(){return this.raw()},OS2Table}(c),b.exports=OS2Table}).call(this)},{"../table":48}],58:[function(a,b){(function(){var c,PostTable,d,e={}.hasOwnProperty,f=function(a,b){function c(){this.constructor=a}for(var d in b)e.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a};d=a("../table"),c=a("../../data"),PostTable=function(a){function PostTable(){return PostTable.__super__.constructor.apply(this,arguments)}var b;return f(PostTable,a),PostTable.prototype.tag="post",PostTable.prototype.parse=function(a){var b,c,d,e,f;switch(a.pos=this.offset,this.format=a.readInt(),this.italicAngle=a.readInt(),this.underlinePosition=a.readShort(),this.underlineThickness=a.readShort(),this.isFixedPitch=a.readInt(),this.minMemType42=a.readInt(),this.maxMemType42=a.readInt(),this.minMemType1=a.readInt(),this.maxMemType1=a.readInt(),this.format){case 65536:break;case 131072:for(d=a.readUInt16(),this.glyphNameIndex=[],b=e=0;d>=0?d>e:e>d;b=d>=0?++e:--e)this.glyphNameIndex.push(a.readUInt16());for(this.names=[],f=[];a.pos=0?d>c:c>d;b=d>=0?++c:--c)e.push(a.readUInt32());return e}.call(this)}},PostTable.prototype.glyphFor=function(a){var c;switch(this.format){case 65536:return b[a]||".notdef";case 131072:return c=this.glyphNameIndex[a],257>=c?b[c]:this.names[c-258]||".notdef";case 151552:return b[a+this.offsets[a]]||".notdef";case 196608:return".notdef";case 262144:return this.map[a]||65535}},PostTable.prototype.encode=function(a){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;if(!this.exists)return null;if(i=this.raw(),196608===this.format)return i;for(l=new c(i.slice(0,32)),l.writeUInt32(131072),l.pos=32,f=[],k=[],m=0,p=a.length;p>m;m++)d=a[m],h=this.glyphFor(d),g=b.indexOf(h),-1!==g?f.push(g):(f.push(257+k.length),k.push(h));for(l.writeUInt16(Object.keys(a).length),n=0,q=f.length;q>n;n++)e=f[n],l.writeUInt16(e);for(o=0,r=k.length;r>o;o++)j=k[o],l.writeByte(j.length),l.writeString(j);return l.data},b=".notdef .null nonmarkingreturn space exclam quotedbl numbersign dollar percent\nampersand quotesingle parenleft parenright asterisk plus comma hyphen period slash\nzero one two three four five six seven eight nine colon semicolon less equal greater\nquestion at A B C D E F G H I J K L M N O P Q R S T U V W X Y Z\nbracketleft backslash bracketright asciicircum underscore grave\na b c d e f g h i j k l m n o p q r s t u v w x y z\nbraceleft bar braceright asciitilde Adieresis Aring Ccedilla Eacute Ntilde Odieresis\nUdieresis aacute agrave acircumflex adieresis atilde aring ccedilla eacute egrave\necircumflex edieresis iacute igrave icircumflex idieresis ntilde oacute ograve\nocircumflex odieresis otilde uacute ugrave ucircumflex udieresis dagger degree cent\nsterling section bullet paragraph germandbls registered copyright trademark acute\ndieresis notequal AE Oslash infinity plusminus lessequal greaterequal yen mu\npartialdiff summation product pi integral ordfeminine ordmasculine Omega ae oslash\nquestiondown exclamdown logicalnot radical florin approxequal Delta guillemotleft\nguillemotright ellipsis nonbreakingspace Agrave Atilde Otilde OE oe endash emdash\nquotedblleft quotedblright quoteleft quoteright divide lozenge ydieresis Ydieresis\nfraction currency guilsinglleft guilsinglright fi fl daggerdbl periodcentered\nquotesinglbase quotedblbase perthousand Acircumflex Ecircumflex Aacute Edieresis\nEgrave Iacute Icircumflex Idieresis Igrave Oacute Ocircumflex apple Ograve Uacute\nUcircumflex Ugrave dotlessi circumflex tilde macron breve dotaccent ring cedilla\nhungarumlaut ogonek caron Lslash lslash Scaron scaron Zcaron zcaron brokenbar Eth\neth Yacute yacute Thorn thorn minus multiply onesuperior twosuperior threesuperior\nonehalf onequarter threequarters franc Gbreve gbreve Idotaccent Scedilla scedilla\nCacute cacute Ccaron ccaron dcroat".split(/\s+/g),PostTable}(d),b.exports=PostTable}).call(this)},{"../../data":41,"../table":48}],59:[function(a,b){(function(){var CmapTable,c,d,e,GlyfTable,HeadTable,HheaTable,HmtxTable,LocaTable,MaxpTable,NameTable,OS2Table,PostTable,f,g;g=a("fs"),d=a("../data"),c=a("./dfont"),e=a("./directory"),NameTable=a("./tables/name"),HeadTable=a("./tables/head"),CmapTable=a("./tables/cmap"),HmtxTable=a("./tables/hmtx"),HheaTable=a("./tables/hhea"),MaxpTable=a("./tables/maxp"),PostTable=a("./tables/post"),OS2Table=a("./tables/os2"),LocaTable=a("./tables/loca"),GlyfTable=a("./tables/glyf"),f=function(){function a(a,b){var c,e,f,g,h,i,j,k,l;if(this.rawData=a,c=this.contents=new d(a),"ttcf"===c.readString(4)){if(!b)throw new Error("Must specify a font name for TTC files.");for(i=c.readInt(),f=c.readInt(),h=[],e=j=0;f>=0?f>j:j>f;e=f>=0?++j:--j)h[e]=c.readInt();for(e=k=0,l=h.length;l>k;e=++k)if(g=h[e],c.pos=g,this.parse(),this.name.postscriptName===b)return;throw new Error("Font "+b+" not found in TTC file.")}c.pos=0,this.parse()}return a.open=function(b,c){var d;return d=g.readFileSync(b),new a(d,c)},a.fromDFont=function(b,d){var e;return e=c.open(b),new a(e.getNamedFont(d))},a.fromBuffer=function(b,d){var e,f,g;try{if(g=new a(b,d),!(g.head.exists&&g.name.exists&&g.cmap.exists||(e=new c(b),g=new a(e.getNamedFont(d)),g.head.exists&&g.name.exists&&g.cmap.exists)))throw new Error("Invalid TTF file in DFont");return g}catch(h){throw f=h,new Error("Unknown font format in buffer: "+f.message)}},a.prototype.parse=function(){return this.directory=new e(this.contents),this.head=new HeadTable(this),this.name=new NameTable(this),this.cmap=new CmapTable(this),this.hhea=new HheaTable(this),this.maxp=new MaxpTable(this),this.hmtx=new HmtxTable(this),this.post=new PostTable(this),this.os2=new OS2Table(this),this.loca=new LocaTable(this),this.glyf=new GlyfTable(this),this.ascender=this.os2.exists&&this.os2.ascender||this.hhea.ascender,this.decender=this.os2.exists&&this.os2.decender||this.hhea.decender,this.lineGap=this.os2.exists&&this.os2.lineGap||this.hhea.lineGap,this.bbox=[this.head.xMin,this.head.yMin,this.head.xMax,this.head.yMax]},a.prototype.characterToGlyph=function(a){var b;return(null!=(b=this.cmap.unicode)?b.codeMap[a]:void 0)||0},a.prototype.widthOfGlyph=function(a){var b;return b=1e3/this.head.unitsPerEm,this.hmtx.forGlyph(a).advance*b},a}(),b.exports=f}).call(this)},{"../data":41,"./dfont":45,"./directory":46,"./tables/cmap":49,"./tables/glyf":50,"./tables/head":51,"./tables/hhea":52,"./tables/hmtx":53,"./tables/loca":54,"./tables/maxp":55,"./tables/name":56,"./tables/os2":57,"./tables/post":58,fs:"fs"}],60:[function(a,b,c){(function(){c.successorOf=function(a){var b,c,d,e,f,g,h,i,j,k;for(c="abcdefghijklmnopqrstuvwxyz",i=c.length,k=a,e=a.length;e>=0;){if(h=a.charAt(--e),isNaN(h)){if(f=c.indexOf(h.toLowerCase()),-1===f)j=h,d=!0;else if(j=c.charAt((f+1)%i),g=h===h.toUpperCase(),g&&(j=j.toUpperCase()),d=f+1>=i,d&&0===e){b=g?"A":"a",k=b+j+k.slice(1);break}}else if(j=+h+1,d=j>9,d&&(j=0),d&&0===e){k="1"+j+k.slice(1);break}if(k=k.slice(0,e)+j+k.slice(e+1),!d)break}return k},c.invert=function(a){var b,c,d;c={};for(b in a)d=a[b],c[d]=b;return c}}).call(this)},{}],61:[function(a,b){(function(){var a,c,d,e={}.hasOwnProperty,f=function(a,b){function c(){this.constructor=a}for(var d in b)e.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a};a=function(){function a(a){this.doc=a,this.stops=[],this.embedded=!1,this.transform=[1,0,0,1,0,0],this._colorSpace="DeviceRGB"}return a.prototype.stop=function(a,b,c){return null==c&&(c=1),c=Math.max(0,Math.min(1,c)),this.stops.push([a,this.doc._normalizeColor(b),c]),this},a.prototype.embed=function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J;if(!this.embedded&&0!==this.stops.length){for(this.embedded=!0,k=this.stops[this.stops.length-1],k[0]<1&&this.stops.push([1,k[1],k[2]]),a=[],d=[],C=[],j=E=0,H=this.stops.length-1;H>=0?H>E:E>H;j=H>=0?++E:--E)d.push(0,1),j+2!==this.stops.length&&a.push(this.stops[j+1][0]),e=this.doc.ref({FunctionType:2,Domain:[0,1],C0:this.stops[j+0][1],C1:this.stops[j+1][1],N:1}),C.push(e),e.end();if(1===C.length?e=C[0]:(e=this.doc.ref({FunctionType:3,Domain:[0,1],Functions:C,Bounds:a,Encode:d}),e.end()),this.id="Sh"+ ++this.doc._gradCount,l=this.doc._ctm.slice(),m=l[0],n=l[1],q=l[2],t=l[3],u=l[4],v=l[5],I=this.transform,o=I[0],p=I[1],r=I[2],s=I[3],b=I[4],c=I[5],l[0]=m*o+q*p,l[1]=n*o+t*p,l[2]=m*r+q*s,l[3]=n*r+t*s,l[4]=m*b+q*c+u,l[5]=n*b+t*c+v,A=this.shader(e),A.end(),x=this.doc.ref({Type:"Pattern",PatternType:2,Shading:A,Matrix:function(){var a,b,c;for(c=[],a=0,b=l.length;b>a;a++)D=l[a],c.push(+D.toFixed(5));return c}()}),this.doc.page.patterns[this.id]=x,x.end(),this.stops.some(function(a){return a[2]<1})){for(g=this.opacityGradient(),g._colorSpace="DeviceGray",J=this.stops,F=0,G=J.length;G>F;F++)B=J[F],g.stop(B[0],[B[2]]);g=g.embed(),h=this.doc.ref({Type:"Group",S:"Transparency",CS:"DeviceGray"}),h.end(),y=this.doc.ref({ProcSet:["PDF","Text","ImageB","ImageC","ImageI"],Shading:{Sh1:g.data.Shading}}),y.end(),f=this.doc.ref({Type:"XObject",Subtype:"Form",FormType:1,BBox:[0,0,this.doc.page.width,this.doc.page.height],Group:h,Resources:y}),f.end("/Sh1 sh"),z=this.doc.ref({Type:"Mask",S:"Luminosity",G:f}),z.end(),i=this.doc.ref({Type:"ExtGState",SMask:z}),this.opacity_id=++this.doc._opacityCount,w="Gs"+this.opacity_id,this.doc.page.ext_gstates[w]=i,i.end()}return x}},a.prototype.apply=function(a){return this.embedded||this.embed(),this.doc.addContent("/"+this.id+" "+a),this.opacity_id?(this.doc.addContent("/Gs"+this.opacity_id+" gs"),this.doc._sMasked=!0):void 0},a}(),c=function(a){function b(a,c,d,e,f){this.doc=a,this.x1=c,this.y1=d,this.x2=e,this.y2=f,b.__super__.constructor.apply(this,arguments)}return f(b,a),b.prototype.shader=function(a){return this.doc.ref({ShadingType:2,ColorSpace:this._colorSpace,Coords:[this.x1,this.y1,this.x2,this.y2],Function:a,Extend:[!0,!0]})},b.prototype.opacityGradient=function(){return new b(this.doc,this.x1,this.y1,this.x2,this.y2)},b}(a),d=function(a){function b(a,c,d,e,f,g,h){this.doc=a,this.x1=c,this.y1=d,this.r1=e,this.x2=f,this.y2=g,this.r2=h,b.__super__.constructor.apply(this,arguments)}return f(b,a),b.prototype.shader=function(a){return this.doc.ref({ShadingType:3,ColorSpace:this._colorSpace,Coords:[this.x1,this.y1,this.r1,this.x2,this.y2,this.r2],Function:a,Extend:[!0,!0]})},b.prototype.opacityGradient=function(){return new b(this.doc,this.x1,this.y1,this.r1,this.x2,this.y2,this.r2)},b}(a),b.exports={PDFGradient:a,PDFLinearGradient:c,PDFRadialGradient:d}}).call(this)},{}],62:[function(a,b){(function(c){(function(){var d,e,f,g,h;h=a("fs"),d=a("./data"),e=a("./image/jpeg"),g=a("./image/png"),f=function(){function a(){}return a.open=function(a,b){var d,f;if(c.isBuffer(a))d=a;else if(f=/^data:.+;base64,(.*)$/.exec(a))d=new c(f[1],"base64");else if(d=h.readFileSync(a),!d)return;if(255===d[0]&&216===d[1])return new e(d,b);if(137===d[0]&&"PNG"===d.toString("ascii",1,4))return new g(d,b);throw new Error("Unknown image format.")},a}(),b.exports=f}).call(this)}).call(this,a("buffer").Buffer)},{"./data":41,"./image/jpeg":63,"./image/png":64,buffer:17,fs:"fs"}],63:[function(a,b){(function(){var c,d,e=[].indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(b in this&&this[b]===a)return b;return-1};d=a("fs"),c=function(){function a(a,c){var d,f,g;if(this.data=a,this.label=c,65496!==a.readUInt16BE(0))throw"SOI not found in JPEG";for(g=2;g=0));)g+=a.readUInt16BE(g);if(e.call(b,f)<0)throw"Invalid JPEG.";g+=2,this.bits=a[g++],this.height=a.readUInt16BE(g),g+=2,this.width=a.readUInt16BE(g),g+=2,d=a[g++],this.colorSpace=function(){switch(d){case 1:return"DeviceGray";case 3:return"DeviceRGB";case 4:return"DeviceCMYK"}}(),this.obj=null}var b;return b=[65472,65473,65474,65475,65477,65478,65479,65480,65481,65482,65483,65484,65485,65486,65487],a.prototype.embed=function(a){return this.obj?void 0:(this.obj=a.ref({Type:"XObject",Subtype:"Image",BitsPerComponent:this.bits,Width:this.width,Height:this.height,ColorSpace:this.colorSpace,Filter:"DCTDecode"}),"DeviceCMYK"===this.colorSpace&&(this.obj.data.Decode=[1,0,1,0,1,0,1,0]),this.obj.end(this.data),this.data=null)},a}(),b.exports=c}).call(this)},{fs:"fs"}],64:[function(a,b){(function(c){(function(){var d,e,f;f=a("zlib"),d=a("png-js"),e=function(){function a(a,b){this.label=b,this.image=new d(a),this.width=this.image.width,this.height=this.image.height,this.imgData=this.image.imgData,this.obj=null}return a.prototype.embed=function(a){var b,d,e,f,g,h,i,j;if(this.document=a,!this.obj){if(this.obj=a.ref({Type:"XObject",Subtype:"Image",BitsPerComponent:this.image.bits,Width:this.width,Height:this.height,Filter:"FlateDecode"}),this.image.hasAlphaChannel||(e=a.ref({Predictor:15,Colors:this.image.colors,BitsPerComponent:this.image.bits,Columns:this.width}),this.obj.data.DecodeParms=e,e.end()),0===this.image.palette.length?this.obj.data.ColorSpace=this.image.colorSpace:(d=a.ref(),d.end(new c(this.image.palette)),this.obj.data.ColorSpace=["Indexed","DeviceRGB",this.image.palette.length/3-1,d]),this.image.transparency.grayscale)return g=this.image.transparency.greyscale,this.obj.data.Mask=[g,g];if(this.image.transparency.rgb){for(f=this.image.transparency.rgb,b=[],i=0,j=f.length;j>i;i++)h=f[i],b.push(h,h);return this.obj.data.Mask=b}return this.image.transparency.indexed?this.loadIndexedAlphaChannel():this.image.hasAlphaChannel?this.splitAlphaChannel():this.finalize()}},a.prototype.finalize=function(){var a;return this.alphaChannel&&(a=this.document.ref({Type:"XObject",Subtype:"Image",Height:this.height,Width:this.width,BitsPerComponent:8,Filter:"FlateDecode",ColorSpace:"DeviceGray",Decode:[0,1]}),a.end(this.alphaChannel),this.obj.data.SMask=a),this.obj.end(this.imgData),this.image=null,this.imgData=null},a.prototype.splitAlphaChannel=function(){return this.image.decodePixels(function(a){return function(b){var d,e,g,h,i,j,k,l,m;for(g=a.image.colors*a.image.bits/8,m=a.width*a.height,j=new c(m*g),e=new c(m),i=l=d=0,k=b.length;k>i;)j[l++]=b[i++],j[l++]=b[i++],j[l++]=b[i++],e[d++]=b[i++];return h=0,f.deflate(j,function(b,c){if(a.imgData=c,b)throw b;return 2===++h?a.finalize():void 0}),f.deflate(e,function(b,c){if(a.alphaChannel=c,b)throw b;return 2===++h?a.finalize():void 0})}}(this))},a.prototype.loadIndexedAlphaChannel=function(){var a;return a=this.image.transparency.indexed,this.image.decodePixels(function(b){return function(d){var e,g,h,i,j;for(e=new c(b.width*b.height),g=0,h=i=0,j=d.length;j>i;h=i+=1)e[g++]=a[d[h]];return f.deflate(e,function(a,c){if(b.alphaChannel=c,a)throw a;return b.finalize()})}}(this))},a}(),b.exports=e}).call(this)}).call(this,a("buffer").Buffer)},{buffer:17,"png-js":81,zlib:16}],65:[function(a,b){(function(){var c,d,e,f={}.hasOwnProperty,g=function(a,b){function c(){this.constructor=a}for(var d in b)f.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a};c=a("events").EventEmitter,d=a("linebreak"),e=function(a){function b(a,b){var c;this.document=a,this.indent=b.indent||0,this.characterSpacing=b.characterSpacing||0,this.wordSpacing=0===b.wordSpacing,this.columns=b.columns||1,this.columnGap=null!=(c=b.columnGap)?c:18,this.lineWidth=(b.width-this.columnGap*(this.columns-1))/this.columns,this.spaceLeft=this.lineWidth,this.startX=this.document.x,this.startY=this.document.y,this.column=1,this.ellipsis=b.ellipsis,this.continuedX=0,null!=b.height?(this.height=b.height,this.maxY=this.startY+b.height):this.maxY=this.document.page.maxY(),this.on("firstLine",function(a){return function(b){var c;return c=a.continuedX||a.indent,a.document.x+=c,a.lineWidth-=c,a.once("line",function(){return a.document.x-=c,a.lineWidth+=c,b.continued&&!a.continuedX&&(a.continuedX=a.indent),b.continued?void 0:a.continuedX=0})}}(this)),this.on("lastLine",function(a){return function(b){var c;return c=b.align,"justify"===c&&(b.align="left"),a.lastLine=!0,a.once("line",function(){return a.document.y+=b.paragraphGap||0,b.align=c,a.lastLine=!1})}}(this))}return g(b,a),b.prototype.wordWidth=function(a){return this.document.widthOfString(a,this)+this.characterSpacing+this.wordSpacing},b.prototype.eachWord=function(a,b){var c,e,f,g,h,i,j,k,l,m;for(e=new d(a),h=null,m={};c=e.nextBreak();){if(l=a.slice((null!=h?h.position:void 0)||0,c.position),k=null!=m[l]?m[l]:m[l]=this.wordWidth(l),k>this.lineWidth+this.continuedX)for(i=h,f={};l.length;){for(g=l.length;k>this.spaceLeft;)k=this.wordWidth(l.slice(0,--g));if(f.required=gthis.maxY||f>this.maxY)&&this.nextSection(),c="",g=0,h=0,e=0,i=this.document.y,d=function(a){return function(){return b.textWidth=g+a.wordSpacing*(h-1),b.wordCount=h,b.lineWidth=a.lineWidth,i=a.document.y,a.emit("line",c,b,a),e++}}(this),this.emit("sectionStart",b,this),this.eachWord(a,function(a){return function(e,f,i,j){var k,l;if((null==j||j.required)&&(a.emit("firstLine",b,a),a.spaceLeft=a.lineWidth),f<=a.spaceLeft&&(c+=e,g+=f,h++),i.required||f>a.spaceLeft){if(i.required&&a.emit("lastLine",b,a),k=a.document.currentLineHeight(!0),null!=a.height&&a.ellipsis&&a.document.y+2*k>a.maxY&&a.column>=a.columns){for(a.ellipsis===!0&&(a.ellipsis="…"),c=c.replace(/\s+$/,""),g=a.wordWidth(c+a.ellipsis);g>a.lineWidth;)c=c.slice(0,-1).replace(/\s+$/,""),g=a.wordWidth(c+a.ellipsis);c+=a.ellipsis}return d(),a.document.y+k>a.maxY&&(l=a.nextSection(),!l)?(h=0,c="",!1):i.required?(f>a.spaceLeft&&(c=e,g=f,h=1,d()),a.spaceLeft=a.lineWidth,c="",g=0,h=0):(a.spaceLeft=a.lineWidth-f,c=e,g=f,h=1)}return a.spaceLeft-=f}}(this)),h>0&&(this.emit("lastLine",b,this),d()),this.emit("sectionEnd",b,this),b.continued===!0?(e>1&&(this.continuedX=0),this.continuedX+=b.textWidth,this.document.y=i):this.document.x=this.startX},b.prototype.nextSection=function(a){var b;if(this.emit("sectionEnd",a,this),++this.column>this.columns){if(null!=this.height)return!1;this.document.addPage(),this.column=1,this.startY=this.document.page.margins.top,this.maxY=this.document.page.maxY(),this.document.x=this.startX,this.document._fillColor&&(b=this.document).fillColor.apply(b,this.document._fillColor),this.emit("pageBreak",a,this)}else this.document.x+=this.lineWidth+this.columnGap,this.document.y=this.startY,this.emit("columnBreak",a,this);return this.emit("sectionStart",a,this),!0},b}(c),b.exports=e}).call(this)},{events:21,linebreak:79}],66:[function(a,b){(function(){var c;c=a("../object"),b.exports={annotate:function(a,b,d,e,f){var g,h,i;f.Type="Annot",f.Rect=this._convertRect(a,b,d,e),f.Border=[0,0,0],"Link"!==f.Subtype&&null==f.C&&(f.C=this._normalizeColor(f.color||[0,0,0])),delete f.color,"string"==typeof f.Dest&&(f.Dest=c.s(f.Dest));for(g in f)i=f[g],f[g[0].toUpperCase()+g.slice(1)]=i;return h=this.ref(f),this.page.annotations.push(h),h.end(),this},note:function(a,b,d,e,f,g){return null==g&&(g={}),g.Subtype="Text",g.Contents=c.s(f,!0),g.Name="Comment",null==g.color&&(g.color=[243,223,92]),this.annotate(a,b,d,e,g)},link:function(a,b,d,e,f,g){return null==g&&(g={}),g.Subtype="Link",g.A=this.ref({S:"URI",URI:c.s(f)}),g.A.end(),this.annotate(a,b,d,e,g)},_markup:function(a,b,d,e,f){var g,h,i,j,k;return null==f&&(f={}),k=this._convertRect(a,b,d,e),g=k[0],i=k[1],h=k[2],j=k[3],f.QuadPoints=[g,j,h,j,g,i,h,i],f.Contents=c.s(""),this.annotate(a,b,d,e,f)},highlight:function(a,b,c,d,e){return null==e&&(e={}),e.Subtype="Highlight",null==e.color&&(e.color=[241,238,148]),this._markup(a,b,c,d,e)},underline:function(a,b,c,d,e){return null==e&&(e={}),e.Subtype="Underline",this._markup(a,b,c,d,e)},strike:function(a,b,c,d,e){return null==e&&(e={}),e.Subtype="StrikeOut",this._markup(a,b,c,d,e)},lineAnnotation:function(a,b,d,e,f){return null==f&&(f={}),f.Subtype="Line",f.Contents=c.s(""),f.L=[a,this.page.height-b,d,this.page.height-e],this.annotate(a,b,d,e,f)},rectAnnotation:function(a,b,d,e,f){return null==f&&(f={}),f.Subtype="Square",f.Contents=c.s(""),this.annotate(a,b,d,e,f)},ellipseAnnotation:function(a,b,d,e,f){return null==f&&(f={}),f.Subtype="Circle",f.Contents=c.s(""),this.annotate(a,b,d,e,f)},textAnnotation:function(a,b,d,e,f,g){return null==g&&(g={}),g.Subtype="FreeText",g.Contents=c.s(f,!0),g.DA=c.s(""),this.annotate(a,b,d,e,g)},_convertRect:function(a,b,c,d){var e,f,g,h,i,j,k,l,m;return l=b,b+=d,k=a+c,m=this._ctm,e=m[0],f=m[1],g=m[2],h=m[3],i=m[4],j=m[5],a=e*a+g*b+i,b=f*a+h*b+j,k=e*k+g*l+i,l=f*k+h*l+j,[a,b,k,l]}}}).call(this)},{"../object":72}],67:[function(a,b){(function(){var c,d,e,f,g;g=a("../gradient"),c=g.PDFGradient,d=g.PDFLinearGradient,e=g.PDFRadialGradient,b.exports={initColor:function(){return this._opacityRegistry={},this._opacityCount=0,this._gradCount=0},_normalizeColor:function(a){var b,d;return a instanceof c?a:("string"==typeof a&&("#"===a.charAt(0)?(4===a.length&&(a=a.replace(/#([0-9A-F])([0-9A-F])([0-9A-F])/i,"#$1$1$2$2$3$3")),b=parseInt(a.slice(1),16),a=[b>>16,b>>8&255,255&b]):f[a]&&(a=f[a])),Array.isArray(a)?(3===a.length?a=function(){var b,c,e;for(e=[],b=0,c=a.length;c>b;b++)d=a[b],e.push(d/255);return e}():4===a.length&&(a=function(){var b,c,e;for(e=[],b=0,c=a.length;c>b;b++)d=a[b],e.push(d/100);return e}()),a):null)},_setColor:function(a,b){var d,e,f,g;return(a=this._normalizeColor(a))?(this._sMasked&&(d=this.ref({Type:"ExtGState",SMask:"None"}),d.end(),e="Gs"+ ++this._opacityCount,this.page.ext_gstates[e]=d,this.addContent("/"+e+" gs"),this._sMasked=!1),f=b?"SCN":"scn",a instanceof c?(this._setColorSpace("Pattern",b),a.apply(f)):(g=4===a.length?"DeviceCMYK":"DeviceRGB",this._setColorSpace(g,b),a=a.join(" "),this.addContent(""+a+" "+f)),!0):!1},_setColorSpace:function(a,b){var c;return c=b?"CS":"cs",this.addContent("/"+a+" "+c)},fillColor:function(a,b){var c;return null==b&&(b=1),c=this._setColor(a,!1),c&&this.fillOpacity(b),this._fillColor=[a,b],this},strokeColor:function(a,b){var c;return null==b&&(b=1),c=this._setColor(a,!0),c&&this.strokeOpacity(b),this},opacity:function(a){return this._doOpacity(a,a),this},fillOpacity:function(a){return this._doOpacity(a,null),this},strokeOpacity:function(a){return this._doOpacity(null,a),this},_doOpacity:function(a,b){var c,d,e,f,g;if(null!=a||null!=b)return null!=a&&(a=Math.max(0,Math.min(1,a))),null!=b&&(b=Math.max(0,Math.min(1,b))),e=""+a+"_"+b,this._opacityRegistry[e]?(g=this._opacityRegistry[e],c=g[0],f=g[1]):(c={Type:"ExtGState"},null!=a&&(c.ca=a),null!=b&&(c.CA=b),c=this.ref(c),c.end(),d=++this._opacityCount,f="Gs"+d,this._opacityRegistry[e]=[c,f]),this.page.ext_gstates[f]=c,this.addContent("/"+f+" gs")},linearGradient:function(a,b,c,e){return new d(this,a,b,c,e)},radialGradient:function(a,b,c,d,f,g){return new e(this,a,b,c,d,f,g)}},f={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}}).call(this)},{"../gradient":61}],68:[function(a,b){(function(){var c;c=a("../font"),b.exports={initFonts:function(){this._fontFamilies={},this._fontCount=0,this._fontSize=12,this._font=null,this._registeredFonts={}},font:function(a,b,d){var e,f,g,h;return"number"==typeof b&&(d=b,b=null),"string"==typeof a&&this._registeredFonts[a]?(e=a,h=this._registeredFonts[a],a=h.src,b=h.family):(e=b||a,"string"!=typeof e&&(e=null)),null!=d&&this.fontSize(d),(f=this._fontFamilies[e])?(this._font=f,this):(g="F"+ ++this._fontCount,this._font=new c(this,a,b,g),(f=this._fontFamilies[this._font.name])?(this._font=f,this):(e&&(this._fontFamilies[e]=this._font),this._fontFamilies[this._font.name]=this._font,this))},fontSize:function(a){return this._fontSize=a,this},currentLineHeight:function(a){return null==a&&(a=!1),this._font.lineHeight(this._fontSize,a)},registerFont:function(a,b,c){return this._registeredFonts[a]={src:b,family:c},this}}}).call(this)},{"../font":43}],69:[function(a,b){(function(c){(function(){var d;d=a("../image"),b.exports={initImages:function(){return this._imageRegistry={},this._imageCount=0},image:function(a,b,e,f){var g,h,i,j,k,l,m,n,o,p,q,r,s,t;return null==f&&(f={}),"object"==typeof b&&(f=b,b=null),b=null!=(r=null!=b?b:f.x)?r:this.x,e=null!=(s=null!=e?e:f.y)?s:this.y,c.isBuffer(a)||(l=this._imageRegistry[a]),l||(l=d.open(a,"I"+ ++this._imageCount),l.embed(this),c.isBuffer(a)||(this._imageRegistry[a]=l)),null==(p=this.page.xobjects)[q=l.label]&&(p[q]=l.obj),n=f.width||l.width,j=f.height||l.height,f.width&&!f.height?(o=n/l.width,n=l.width*o,j=l.height*o):f.height&&!f.width?(k=j/l.height,n=l.width*k,j=l.height*k):f.scale?(n=l.width*f.scale,j=l.height*f.scale):f.fit&&(t=f.fit,i=t[0],g=t[1],h=i/g,m=l.width/l.height,m>h?(n=i,j=i/m):(j=g,n=g*m),"center"===f.align?b=b+i/2-n/2:"right"===f.align&&(b=b+i-n),"center"===f.valign?e=e+g/2-j/2:"bottom"===f.valign&&(e=e+g-j)),this.y===e&&(this.y+=j),this.save(),this.transform(n,0,0,-j,b,e+j),this.addContent("/"+l.label+" Do"),this.restore(),this}}}).call(this)}).call(this,a("buffer").Buffer)},{"../image":62,buffer:17}],70:[function(a,b){(function(){var c;c=a("../line_wrapper"),b.exports={initText:function(){return this.x=0,this.y=0,this._lineGap=0},lineGap:function(a){return this._lineGap=a,this},moveDown:function(a){return null==a&&(a=1),this.y+=this.currentLineHeight(!0)*a+this._lineGap,this},moveUp:function(a){return null==a&&(a=1),this.y-=this.currentLineHeight(!0)*a+this._lineGap,this},_text:function(a,b,d,e,f){var g,h,i,j,k;if(e=this._initOptions(b,d,e),a=""+a,e.wordSpacing&&(a=a.replace(/\s{2,}/g," ")),e.width)h=this._wrapper,h||(h=new c(this,e),h.on("line",f)),this._wrapper=e.continued?h:null,this._textOptions=e.continued?e:null,h.wrap(a,e);else for(k=a.split("\n"),i=0,j=k.length;j>i;i++)g=k[i],f(g,e);return this},text:function(a,b,c,d){return this._text(a,b,c,d,this._line.bind(this))},widthOfString:function(a,b){return null==b&&(b={}),this._font.widthOfString(a,this._fontSize)+(b.characterSpacing||0)*(a.length-1)},heightOfString:function(a,b){var c,d,e,f;return null==b&&(b={}),e=this.x,f=this.y,b=this._initOptions(b),b.height=1/0,d=b.lineGap||this._lineGap||0,this._text(a,this.x,this.y,b,function(a){return function(){return a.y+=a.currentLineHeight(!0)+d}}(this)),c=this.y-f,this.x=e,this.y=f,c},list:function(a,b,d,e,f){var g,h,i,j,k,l,m,n;return e=this._initOptions(b,d,e),n=Math.round(this._font.ascender/1e3*this._fontSize/3),i=e.textIndent||5*n,j=e.bulletIndent||8*n,l=1,k=[],m=[],g=function(a){var b,c,d,e,f;for(f=[],b=d=0,e=a.length;e>d;b=++d)c=a[b],Array.isArray(c)?(l++,g(c),f.push(l--)):(k.push(c),f.push(m.push(l))); +return f},g(a),f=new c(this,e),f.on("line",this._line.bind(this)),l=1,h=0,f.on("firstLine",function(a){return function(){var b,c;return(c=m[h++])!==l&&(b=j*(c-l),a.x+=b,f.lineWidth-=b,l=c),a.circle(a.x-i+n,a.y+n+n/2,n),a.fill()}}(this)),f.on("sectionStart",function(a){return function(){var b;return b=i+j*(l-1),a.x+=b,f.lineWidth-=b}}(this)),f.on("sectionEnd",function(a){return function(){var b;return b=i+j*(l-1),a.x-=b,f.lineWidth+=b}}(this)),f.wrap(k.join("\n"),e),this.x-=i,this},_initOptions:function(a,b,c){var d,e,f,g;if(null==a&&(a={}),null==c&&(c={}),"object"==typeof a&&(c=a,a=null),c=function(){var a,b,d;b={};for(a in c)d=c[a],b[a]=d;return b}(),this._textOptions){g=this._textOptions;for(d in g)f=g[d],"continued"!==d&&null==c[d]&&(c[d]=f)}return null!=a&&(this.x=a),null!=b&&(this.y=b),c.lineBreak!==!1&&(e=this.page.margins,null==c.width&&(c.width=this.page.width-this.x-e.right)),c.columns||(c.columns=0),null==c.columnGap&&(c.columnGap=18),c},_line:function(a,b,c){var d;return null==b&&(b={}),this._fragment(a,this.x,this.y,b),d=b.lineGap||this._lineGap||0,c?this.y+=this.currentLineHeight(!0)+d:this.x+=this.widthOfString(a)},_fragment:function(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w;if(a=""+a,0!==a.length){if(e=d.align||"left",r=d.wordSpacing||0,f=d.characterSpacing||0,d.width)switch(e){case"right":p=this.widthOfString(a.replace(/\s+$/,""),d),b+=d.lineWidth-p;break;case"center":b+=d.lineWidth/2-d.textWidth/2;break;case"justify":s=a.trim().split(/\s+/),p=this.widthOfString(a.replace(/\s+/g,""),d),o=this.widthOfString(" ")+f,r=Math.max(0,(d.lineWidth-p)/Math.max(1,s.length-1)-o)}if(n=d.textWidth+r*(d.wordCount-1)+f*(a.length-1),d.link&&this.link(b,c,n,this.currentLineHeight(),d.link),(d.underline||d.strike)&&(this.save(),d.stroke||this.strokeColor.apply(this,this._fillColor),k=this._fontSize<10?.5:Math.floor(this._fontSize/10),this.lineWidth(k),h=d.underline?1:2,l=c+this.currentLineHeight()/h,d.underline&&(l-=k),this.moveTo(b,l),this.lineTo(b+n,l),this.stroke(),this.restore()),this.save(),this.transform(1,0,0,-1,0,this.page.height),c=this.page.height-c-this._font.ascender/1e3*this._fontSize,null==(t=this.page.fonts)[w=this._font.id]&&(t[w]=this._font.ref()),this._font.use(a),this.addContent("BT"),this.addContent(""+b+" "+c+" Td"),this.addContent("/"+this._font.id+" "+this._fontSize+" Tf"),m=d.fill&&d.stroke?2:d.stroke?1:0,m&&this.addContent(""+m+" Tr"),f&&this.addContent(""+f+" Tc"),r){for(s=a.trim().split(/\s+/),r+=this.widthOfString(" ")+f,r*=1e3/this._fontSize,g=[],u=0,v=s.length;v>u;u++)q=s[u],i=this._font.encode(q),i=function(){var a,b,c;for(c=[],j=a=0,b=i.length;b>a;j=a+=1)c.push(i.charCodeAt(j).toString(16));return c}().join(""),g.push("<"+i+"> "+-r);this.addContent("["+g.join(" ")+"] TJ")}else i=this._font.encode(a),i=function(){var a,b,c;for(c=[],j=a=0,b=i.length;b>a;j=a+=1)c.push(i.charCodeAt(j).toString(16));return c}().join(""),this.addContent("<"+i+"> Tj");return this.addContent("ET"),this.restore()}}}}).call(this)},{"../line_wrapper":65}],71:[function(a,b){(function(){var c,d,e=[].slice;d=a("../path"),c=4*((Math.sqrt(2)-1)/3),b.exports={initVector:function(){return this._ctm=[1,0,0,1,0,0],this._ctmStack=[]},save:function(){return this._ctmStack.push(this._ctm.slice()),this.addContent("q")},restore:function(){return this._ctm=this._ctmStack.pop()||[1,0,0,1,0,0],this.addContent("Q")},closePath:function(){return this.addContent("h")},lineWidth:function(a){return this.addContent(""+a+" w")},_CAP_STYLES:{BUTT:0,ROUND:1,SQUARE:2},lineCap:function(a){return"string"==typeof a&&(a=this._CAP_STYLES[a.toUpperCase()]),this.addContent(""+a+" J")},_JOIN_STYLES:{MITER:0,ROUND:1,BEVEL:2},lineJoin:function(a){return"string"==typeof a&&(a=this._JOIN_STYLES[a.toUpperCase()]),this.addContent(""+a+" j")},miterLimit:function(a){return this.addContent(""+a+" M")},dash:function(a,b){var c,d,e;return null==b&&(b={}),null==a?this:(d=null!=(e=b.space)?e:a,c=b.phase||0,this.addContent("["+a+" "+d+"] "+c+" d"))},undash:function(){return this.addContent("[] 0 d")},moveTo:function(a,b){return this.addContent(""+a+" "+b+" m")},lineTo:function(a,b){return this.addContent(""+a+" "+b+" l")},bezierCurveTo:function(a,b,c,d,e,f){return this.addContent(""+a+" "+b+" "+c+" "+d+" "+e+" "+f+" c")},quadraticCurveTo:function(a,b,c,d){return this.addContent(""+a+" "+b+" "+c+" "+d+" v")},rect:function(a,b,c,d){return this.addContent(""+a+" "+b+" "+c+" "+d+" re")},roundedRect:function(a,b,c,d,e){return null==e&&(e=0),this.moveTo(a+e,b),this.lineTo(a+c-e,b),this.quadraticCurveTo(a+c,b,a+c,b+e),this.lineTo(a+c,b+d-e),this.quadraticCurveTo(a+c,b+d,a+c-e,b+d),this.lineTo(a+e,b+d),this.quadraticCurveTo(a,b+d,a,b+d-e),this.lineTo(a,b+e),this.quadraticCurveTo(a,b,a+e,b)},ellipse:function(a,b,d,e){var f,g,h,i,j,k;return null==e&&(e=d),a-=d,b-=e,f=d*c,g=e*c,h=a+2*d,j=b+2*e,i=a+d,k=b+e,this.moveTo(a,k),this.bezierCurveTo(a,k-g,i-f,b,i,b),this.bezierCurveTo(i+f,b,h,k-g,h,k),this.bezierCurveTo(h,k+g,i+f,j,i,j),this.bezierCurveTo(i-f,j,a,k+g,a,k),this.closePath()},circle:function(a,b,c){return this.ellipse(a,b,c)},polygon:function(){var a,b,c,d;for(b=1<=arguments.length?e.call(arguments,0):[],this.moveTo.apply(this,b.shift()),c=0,d=b.length;d>c;c++)a=b[c],this.lineTo.apply(this,a);return this.closePath()},path:function(a){return d.apply(this,a),this},_windingRule:function(a){return/even-?odd/.test(a)?"*":""},fill:function(a,b){return/(even-?odd)|(non-?zero)/.test(a)&&(b=a,a=null),a&&this.fillColor(a),this.addContent("f"+this._windingRule(b))},stroke:function(a){return a&&this.strokeColor(a),this.addContent("S")},fillAndStroke:function(a,b,c){var d;return null==b&&(b=a),d=/(even-?odd)|(non-?zero)/,d.test(a)&&(c=a,a=null),d.test(b)&&(c=b,b=a),a&&(this.fillColor(a),this.strokeColor(b)),this.addContent("B"+this._windingRule(c))},clip:function(a){return this.addContent("W"+this._windingRule(a)+" n")},transform:function(a,b,c,d,e,f){var g,h,i,j,k,l,m,n,o;return g=this._ctm,h=g[0],i=g[1],j=g[2],k=g[3],l=g[4],m=g[5],g[0]=h*a+j*b,g[1]=i*a+k*b,g[2]=h*c+j*d,g[3]=i*c+k*d,g[4]=h*e+j*f+l,g[5]=i*e+k*f+m,o=function(){var g,h,i,j;for(i=[a,b,c,d,e,f],j=[],g=0,h=i.length;h>g;g++)n=i[g],j.push(+n.toFixed(5));return j}().join(" "),this.addContent(""+o+" cm")},translate:function(a,b){return this.transform(1,0,0,1,a,b)},rotate:function(a,b){var c,d,e,f,g,h,i,j;return null==b&&(b={}),d=a*Math.PI/180,c=Math.cos(d),e=Math.sin(d),f=h=0,null!=b.origin&&(j=b.origin,f=j[0],h=j[1],g=f*c-h*e,i=f*e+h*c,f-=g,h-=i),this.transform(c,e,-e,c,f,h)},scale:function(a,b,c){var d,e,f;return null==b&&(b=a),null==c&&(c={}),2===arguments.length&&(b=a,c=b),d=e=0,null!=c.origin&&(f=c.origin,d=f[0],e=f[1],d-=a*d,e-=b*e),this.transform(a,0,0,b,d,e)}}}).call(this)},{"../path":74}],72:[function(a,b){(function(c){(function(){var d,e;d=function(){function a(){}var b,d;return b=function(a,b){return(Array(b+1).join("0")+a).slice(-b)},a.convert=function(c){var d,f,g,h,i;if(Array.isArray(c))return f=function(){var b,e,f;for(f=[],b=0,e=c.length;e>b;b++)d=c[b],f.push(a.convert(d));return f}().join(" "),"["+f+"]";if("string"==typeof c)return"/"+c;if(null!=c?c.isString:void 0)return"("+c+")";if(c instanceof e)return c.toString();if(c instanceof Date)return"(D:"+b(c.getUTCFullYear(),4)+b(c.getUTCMonth(),2)+b(c.getUTCDate(),2)+b(c.getUTCHours(),2)+b(c.getUTCMinutes(),2)+b(c.getUTCSeconds(),2)+"Z)";if("[object Object]"==={}.toString.call(c)){h=["<<"];for(g in c)i=c[g],h.push("/"+g+" "+a.convert(i));return h.push(">>"),h.join("\n")}return""+c},d=function(a){var b,c,d,e,f;if(d=a.length,1&d)throw new Error("Buffer length must be even");for(c=e=0,f=d-1;f>e;c=e+=2)b=a[c],a[c]=a[c+1],a[c+1]=b;return a},a.s=function(a,b){return null==b&&(b=!1),a=a.replace(/\\/g,"\\\\\\\\").replace(/\(/g,"\\(").replace(/\)/g,"\\)").replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&"),b&&(a=d(new c(""+a,"ucs-2")).toString("binary")),{isString:!0,toString:function(){return a}}},a}(),b.exports=d,e=a("./reference")}).call(this)}).call(this,a("buffer").Buffer)},{"./reference":75,buffer:17}],73:[function(a,b){(function(){var a;a=function(){function a(a,d){var e;this.document=a,null==d&&(d={}),this.size=d.size||"letter",this.layout=d.layout||"portrait",this.margins="number"==typeof d.margin?{top:d.margin,left:d.margin,bottom:d.margin,right:d.margin}:d.margins||b,e=Array.isArray(this.size)?this.size:c[this.size.toUpperCase()],this.width=e["portrait"===this.layout?0:1],this.height=e["portrait"===this.layout?1:0],this.content=this.document.ref(),this.resources=this.document.ref({ProcSet:["PDF","Text","ImageB","ImageC","ImageI"]}),Object.defineProperties(this,{fonts:{get:function(a){return function(){var b;return null!=(b=a.resources.data).Font?b.Font:b.Font={}}}(this)},xobjects:{get:function(a){return function(){var b;return null!=(b=a.resources.data).XObject?b.XObject:b.XObject={}}}(this)},ext_gstates:{get:function(a){return function(){var b;return null!=(b=a.resources.data).ExtGState?b.ExtGState:b.ExtGState={}}}(this)},patterns:{get:function(a){return function(){var b;return null!=(b=a.resources.data).Pattern?b.Pattern:b.Pattern={}}}(this)},annotations:{get:function(a){return function(){var b;return null!=(b=a.dictionary.data).Annots?b.Annots:b.Annots=[]}}(this)}}),this.dictionary=this.document.ref({Type:"Page",Parent:this.document._root.data.Pages,MediaBox:[0,0,this.width,this.height],Contents:this.content,Resources:this.resources})}var b,c;return a.prototype.maxY=function(){return this.height-this.margins.bottom},a.prototype.write=function(a){return this.content.write(a)},a.prototype.end=function(){return this.dictionary.end(),this.resources.end(),this.content.end()},b={top:72,left:72,bottom:72,right:72},c={"4A0":[4767.87,6740.79],"2A0":[3370.39,4767.87],A0:[2383.94,3370.39],A1:[1683.78,2383.94],A2:[1190.55,1683.78],A3:[841.89,1190.55],A4:[595.28,841.89],A5:[419.53,595.28],A6:[297.64,419.53],A7:[209.76,297.64],A8:[147.4,209.76],A9:[104.88,147.4],A10:[73.7,104.88],B0:[2834.65,4008.19],B1:[2004.09,2834.65],B2:[1417.32,2004.09],B3:[1000.63,1417.32],B4:[708.66,1000.63],B5:[498.9,708.66],B6:[354.33,498.9],B7:[249.45,354.33],B8:[175.75,249.45],B9:[124.72,175.75],B10:[87.87,124.72],C0:[2599.37,3676.54],C1:[1836.85,2599.37],C2:[1298.27,1836.85],C3:[918.43,1298.27],C4:[649.13,918.43],C5:[459.21,649.13],C6:[323.15,459.21],C7:[229.61,323.15],C8:[161.57,229.61],C9:[113.39,161.57],C10:[79.37,113.39],RA0:[2437.8,3458.27],RA1:[1729.13,2437.8],RA2:[1218.9,1729.13],RA3:[864.57,1218.9],RA4:[609.45,864.57],SRA0:[2551.18,3628.35],SRA1:[1814.17,2551.18],SRA2:[1275.59,1814.17],SRA3:[907.09,1275.59],SRA4:[637.8,907.09],EXECUTIVE:[521.86,756],FOLIO:[612,936],LEGAL:[612,1008],LETTER:[612,792],TABLOID:[792,1224]},a}(),b.exports=a}).call(this)},{}],74:[function(a,b){(function(){var a;a=function(){function a(){}var b,c,d,e,f,g,h,i,j,k,l,m,n;return a.apply=function(a,c){var d;return d=g(c),b(d,a)},f={A:7,a:7,C:6,c:6,H:1,h:1,L:2,l:2,M:2,m:2,Q:4,q:4,S:4,s:4,T:2,t:2,V:1,v:1,Z:0,z:0},g=function(a){var b,c,d,e,g,h,i,j,k;for(i=[],b=[],e="",g=!1,h=0,j=0,k=a.length;k>j;j++)if(c=a[j],null!=f[c])h=f[c],d&&(e.length>0&&(b[b.length]=+e),i[i.length]={cmd:d,args:b},b=[],e="",g=!1),d=c;else if(" "===c||","===c||"-"===c&&e.length>0&&"e"!==e[e.length-1]||"."===c&&g){if(0===e.length)continue;b.length===h?(i[i.length]={cmd:d,args:b},b=[+e],"M"===d&&(d="L"),"m"===d&&(d="l")):b[b.length]=+e,g="."===c,e="-"===c||"."===c?c:""}else e+=c,"."===c&&(g=!0);return e.length>0&&(b.length===h?(i[i.length]={cmd:d,args:b},b=[+e],"M"===d&&(d="L"),"m"===d&&(d="l")):b[b.length]=+e),i[i.length]={cmd:d,args:b},i},d=e=h=i=m=n=0,b=function(a,b){var c,f,g,k,l;for(d=e=h=i=m=n=0,f=g=0,k=a.length;k>g;f=++g)c=a[f],"function"==typeof j[l=c.cmd]&&j[l](b,c.args);return d=e=h=i=0},j={M:function(a,b){return d=b[0],e=b[1],h=i=null,m=d,n=e,a.moveTo(d,e)},m:function(a,b){return d+=b[0],e+=b[1],h=i=null,m=d,n=e,a.moveTo(d,e)},C:function(a,b){return d=b[4],e=b[5],h=b[2],i=b[3],a.bezierCurveTo.apply(a,b)},c:function(a,b){return a.bezierCurveTo(b[0]+d,b[1]+e,b[2]+d,b[3]+e,b[4]+d,b[5]+e),h=d+b[2],i=e+b[3],d+=b[4],e+=b[5]},S:function(a,b){return null===h&&(h=d,i=e),a.bezierCurveTo(d-(h-d),e-(i-e),b[0],b[1],b[2],b[3]),h=b[0],i=b[1],d=b[2],e=b[3]},s:function(a,b){return null===h&&(h=d,i=e),a.bezierCurveTo(d-(h-d),e-(i-e),d+b[0],e+b[1],d+b[2],e+b[3]),h=d+b[0],i=e+b[1],d+=b[2],e+=b[3]},Q:function(a,b){return h=b[0],i=b[1],d=b[2],e=b[3],a.quadraticCurveTo(b[0],b[1],d,e)},q:function(a,b){return a.quadraticCurveTo(b[0]+d,b[1]+e,b[2]+d,b[3]+e),h=d+b[0],i=e+b[1],d+=b[2],e+=b[3]},T:function(a,b){return null===h?(h=d,i=e):(h=d-(h-d),i=e-(i-e)),a.quadraticCurveTo(h,i,b[0],b[1]),h=d-(h-d),i=e-(i-e),d=b[0],e=b[1]},t:function(a,b){return null===h?(h=d,i=e):(h=d-(h-d),i=e-(i-e)),a.quadraticCurveTo(h,i,d+b[0],e+b[1]),d+=b[0],e+=b[1]},A:function(a,b){return l(a,d,e,b),d=b[5],e=b[6]},a:function(a,b){return b[5]+=d,b[6]+=e,l(a,d,e,b),d=b[5],e=b[6]},L:function(a,b){return d=b[0],e=b[1],h=i=null,a.lineTo(d,e)},l:function(a,b){return d+=b[0],e+=b[1],h=i=null,a.lineTo(d,e)},H:function(a,b){return d=b[0],h=i=null,a.lineTo(d,e)},h:function(a,b){return d+=b[0],h=i=null,a.lineTo(d,e)},V:function(a,b){return e=b[0],h=i=null,a.lineTo(d,e)},v:function(a,b){return e+=b[0],h=i=null,a.lineTo(d,e)},Z:function(a){return a.closePath(),d=m,e=n},z:function(a){return a.closePath(),d=m,e=n}},l=function(a,b,d,e){var f,g,h,i,j,l,m,n,o,p,q,r,s;for(l=e[0],m=e[1],j=e[2],i=e[3],p=e[4],g=e[5],h=e[6],o=c(g,h,l,m,i,p,j,b,d),s=[],q=0,r=o.length;r>q;q++)n=o[q],f=k.apply(null,n),s.push(a.bezierCurveTo.apply(a,f));return s},c=function(a,b,c,d,e,f,g,j,k){var l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K;for(y=g*(Math.PI/180),x=Math.sin(y),p=Math.cos(y),c=Math.abs(c),d=Math.abs(d),h=p*(j-a)*.5+x*(k-b)*.5,i=p*(k-b)*.5-x*(j-a)*.5,s=h*h/(c*c)+i*i/(d*d),s>1&&(s=Math.sqrt(s),c*=s,d*=s),l=p/c,m=x/c,n=-x/d,o=p/d,E=l*j+m*k,H=n*j+o*k,F=l*a+m*b,I=n*a+o*b,q=(F-E)*(F-E)+(I-H)*(I-H),w=1/q-.25,0>w&&(w=0),v=Math.sqrt(w),f===e&&(v=-v),G=.5*(E+F)-v*(I-H),J=.5*(H+I)+v*(F-E),z=Math.atan2(H-J,E-G),A=Math.atan2(I-J,F-G),D=A-z,0>D&&1===f?D+=2*Math.PI:D>0&&0===f&&(D-=2*Math.PI),u=Math.ceil(Math.abs(D/(.5*Math.PI+.001))),t=[],r=K=0;u>=0?u>K:K>u;r=u>=0?++K:--K)B=z+r*D/u,C=z+(r+1)*D/u,t[r]=[G,J,B,C,c,d,x,p];return t},k=function(a,b,c,d,e,f,g,h){var i,j,k,l,m,n,o,p,q,r,s,t;return i=h*e,j=-g*f,k=g*e,l=h*f,n=.5*(d-c),m=8/3*Math.sin(.5*n)*Math.sin(.5*n)/Math.sin(n),o=a+Math.cos(c)-m*Math.sin(c),r=b+Math.sin(c)+m*Math.cos(c),q=a+Math.cos(d),t=b+Math.sin(d),p=q+m*Math.sin(d),s=t-m*Math.cos(d),[i*o+j*r,k*o+l*r,i*p+j*s,k*p+l*s,i*q+j*t,k*q+l*t]},a}(),b.exports=a}).call(this)},{}],75:[function(a,b){(function(c){(function(){var d,e,f,g=function(a,b){return function(){return a.apply(b,arguments)}};f=a("zlib"),e=function(){function a(a,b,c){this.document=a,this.id=b,this.data=null!=c?c:{},this.finalize=g(this.finalize,this),this.gen=0,this.deflate=null,this.compress=this.document.compress&&!this.data.Filter,this.uncompressedLength=0,this.chunks=[]}return a.prototype.initDeflate=function(){return this.data.Filter="FlateDecode",this.deflate=f.createDeflate(),this.deflate.on("data",function(a){return function(b){return a.chunks.push(b),a.data.Length+=b.length}}(this)),this.deflate.on("end",this.finalize)},a.prototype.write=function(a){var b;return c.isBuffer(a)||(a=new c(a+"\n","binary")),this.uncompressedLength+=a.length,null==(b=this.data).Length&&(b.Length=0),this.compress?(this.deflate||this.initDeflate(),this.deflate.write(a)):(this.chunks.push(a),this.data.Length+=a.length)},a.prototype.end=function(a){return("string"==typeof a||c.isBuffer(a))&&this.write(a),this.deflate?this.deflate.end():this.finalize()},a.prototype.finalize=function(){var a,b,c,e;if(this.offset=this.document._offset,this.document._write(""+this.id+" "+this.gen+" obj"),this.document._write(d.convert(this.data)),this.chunks.length){for(this.document._write("stream"),e=this.chunks,b=0,c=e.length;c>b;b++)a=e[b],this.document._write(a);this.chunks.length=0,this.document._write("\nendstream")}return this.document._write("endobj"),this.document._refEnd(this)},a.prototype.toString=function(){return""+this.id+" "+this.gen+" R"},a}(),b.exports=e,d=a("./object")}).call(this)}).call(this,a("buffer").Buffer)},{"./object":72,buffer:17,zlib:16}],76:[function(a,b){var c,d=[].slice;c=function(){function a(a){var b,c;null==a&&(a={}),this.data=a.data||[],this.highStart=null!=(b=a.highStart)?b:0,this.errorValue=null!=(c=a.errorValue)?c:-1}var b,c,e,f,g,h,i,j,k,l,m,n,o,p,q,r;return n=11,p=5,o=n-p,m=65536>>n,g=1<>p,k=1024>>p,h=l+k,r=h,q=32,f=r+q,c=1<a||a>1114111?this.errorValue:55296>a||a>56319&&65535>=a?(b=(this.data[a>>p]<=a?(b=(this.data[l+(a-55296>>p)]<>n)],b=this.data[b+(a>>p&i)],b=(b<=55296&&56319>=a&&b>=56320&&57343>=b?(this.pos++,1024*(a-55296)+(b-56320)+65536):a},m=function(a){switch(a){case c:return d;case t:case u:case y:return d;case i:return r;default:return a}},p=function(a){switch(a){case o:case q:return f;case g:return e;case v:return x;default:return a}},a.prototype.nextCharClass=function(a){return null==a&&(a=!1),m(A.get(this.nextCodePoint()))},b=function(){function a(a,b){this.position=a,this.required=null!=b?b:!1}return a}(),a.prototype.nextBreak=function(){var a,c,d;for(null==this.curClass&&(this.curClass=p(this.nextCharClass()));this.pos=this.string.length?this.lastPosa;e=++a)b.push(String.fromCharCode(this.data[this.pos++]));return b}.call(this).join("")){case"IHDR":this.width=this.readUInt32(),this.height=this.readUInt32(),this.bits=this.data[this.pos++],this.colorType=this.data[this.pos++],this.compressionMethod=this.data[this.pos++],this.filterMethod=this.data[this.pos++],this.interlaceMethod=this.data[this.pos++];break;case"PLTE":this.palette=this.read(b);break;case"IDAT":for(e=k=0;b>k;e=k+=1)this.imgData.push(this.data[this.pos++]);break;case"tRNS":switch(this.transparency={},this.colorType){case 3:if(this.transparency.indexed=this.read(b),i=255-this.transparency.indexed.length,i>0)for(e=l=0;i>=0?i>l:l>i;e=i>=0?++l:--l)this.transparency.indexed.push(255);break;case 0:this.transparency.grayscale=this.read(b)[0];break;case 2:this.transparency.rgb=this.read(b)}break;case"tEXt":j=this.read(b),f=j.indexOf(0),g=String.fromCharCode.apply(String,j.slice(0,f)),this.text[g]=String.fromCharCode.apply(String,j.slice(f+1));break;case"IEND":return this.colors=function(){switch(this.colorType){case 0:case 3:case 4:return 1;case 2:case 6:return 3}}.call(this),this.hasAlphaChannel=4===(m=this.colorType)||6===m,d=this.colors+(this.hasAlphaChannel?1:0),this.pixelBitlength=this.bits*d,this.colorSpace=function(){switch(this.colors){case 1:return"DeviceGray";case 3:return"DeviceRGB"}}.call(this),void(this.imgData=new c(this.imgData));default:this.pos+=b}if(this.pos+=4,this.pos>this.data.length)throw new Error("Incomplete or corrupt PNG file")}}return a.decode=function(b,c){return e.readFile(b,function(b,d){var e;return e=new a(d),e.decode(function(a){return c(a)})})},a.load=function(b){var c;return c=e.readFileSync(b),new a(c)},a.prototype.read=function(a){var b,c,d;for(d=[],b=c=0;a>=0?a>c:c>a;b=a>=0?++c:--c)d.push(this.data[this.pos++]);return d},a.prototype.readUInt32=function(){var a,b,c,d;return a=this.data[this.pos++]<<24,b=this.data[this.pos++]<<16,c=this.data[this.pos++]<<8,d=this.data[this.pos++],a|b|c|d},a.prototype.readUInt16=function(){var a,b;return a=this.data[this.pos++]<<8,b=this.data[this.pos++],a|b},a.prototype.decodePixels=function(a){var b=this;return f.inflate(this.imgData,function(d,e){var f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B;if(d)throw d;for(q=b.pixelBitlength/8,u=q*b.width,r=new c(u*b.height),k=e.length,t=0,s=0,g=0;k>s;){switch(e[s++]){case 0:for(i=x=0;u>x;i=x+=1)r[g++]=e[s++];break;case 1:for(i=y=0;u>y;i=y+=1)f=e[s++],j=q>i?0:r[g-q],r[g++]=(f+j)%256;break;case 2:for(i=z=0;u>z;i=z+=1)f=e[s++],h=(i-i%q)/q,v=t&&r[(t-1)*u+h*q+i%q],r[g++]=(v+f)%256;break;case 3:for(i=A=0;u>A;i=A+=1)f=e[s++],h=(i-i%q)/q,j=q>i?0:r[g-q],v=t&&r[(t-1)*u+h*q+i%q],r[g++]=(f+Math.floor((j+v)/2))%256;break;case 4:for(i=B=0;u>B;i=B+=1)f=e[s++],h=(i-i%q)/q,j=q>i?0:r[g-q],0===t?v=w=0:(v=r[(t-1)*u+h*q+i%q],w=h&&r[(t-1)*u+(h-1)*q+i%q]),l=j+v-w,m=Math.abs(l-j),o=Math.abs(l-v),p=Math.abs(l-w),n=o>=m&&p>=m?j:p>=o?v:w,r[g++]=(f+n)%256;break;default:throw new Error("Invalid filter algorithm: "+e[s-1])}t++}return a(r)})},a.prototype.decodePalette=function(){var a,b,d,e,f,g,h,i,j,k;for(e=this.palette,h=this.transparency.indexed||[],g=new c(h.length+e.length),f=0,d=e.length,a=0,b=i=0,j=e.length;j>i;b=i+=3)g[f++]=e[b],g[f++]=e[b+1],g[f++]=e[b+2],g[f++]=null!=(k=h[a++])?k:255;return g},a.prototype.copyToImageData=function(a,b){var c,d,e,f,g,h,i,j,k,l,m;if(d=this.colors,k=null,c=this.hasAlphaChannel,this.palette.length&&(k=null!=(m=this._decodedPalette)?m:this._decodedPalette=this.decodePalette(),d=4,c=!0),e=(null!=a?a.data:void 0)||a,j=e.length,g=k||b,f=h=0,1===d)for(;j>f;)i=k?4*b[f/4]:h,l=g[i++],e[f++]=l,e[f++]=l,e[f++]=l,e[f++]=c?g[i++]:255,h=i;else for(;j>f;)i=k?4*b[f/4]:h,e[f++]=g[i++],e[f++]=g[i++],e[f++]=g[i++],e[f++]=c?g[i++]:255,h=i},a.prototype.decode=function(a){var b,d=this;return b=new c(this.width*this.height*4),this.decodePixels(function(c){return d.copyToImageData(b,c),a(b)})},a}()}).call(this)}).call(this,a("buffer").Buffer)},{buffer:17,fs:"fs",zlib:16}],82:[function(a,b){(function(c){"use strict";function d(a,b,c){this.docDefinition=a,this.fonts=b||g,this.vfs=c}var e=a("../printer"),f=a("../../libs/fileSaver"),g={Roboto:{normal:"Roboto-Regular.ttf",bold:"Roboto-Medium.ttf",italics:"Roboto-Italic.ttf",bolditalics:"Roboto-Italic.ttf"}};d.prototype._createDoc=function(a,b){var d=new e(this.fonts);d.fs.bindFS(this.vfs);var f,g=d.createPdfKitDocument(this.docDefinition,a),h=[];g.on("data",function(a){h.push(a)}),g.on("end",function(){f=c.concat(h),b(f,g._pdfMakePages)}),g.end()},d.prototype._getPages=function(a,b){if(!b)throw"getBuffer is an async method and needs a callback argument";this._createDoc(a,function(a,c){b(c)})},d.prototype.open=function(){var a=window.open("","_blank");try{this.getDataUrl(function(b){a.location.href=b})}catch(b){throw a.close(),b}},d.prototype.print=function(){this.getDataUrl(function(a){var b=document.createElement("iframe");b.style.position="absolute",b.style.left="-99999px",b.src=a,b.onload=function(){function a(){document.body.removeChild(b),document.removeEventListener("click",a)}document.addEventListener("click",a,!1)},document.body.appendChild(b)},{autoPrint:!0})},d.prototype.download=function(a,b){"function"==typeof a&&(b=a,a=null),a=a||"file.pdf",this.getBuffer(function(c){f(new Blob([c],{type:"application/pdf"}),a),"function"==typeof b&&b()})},d.prototype.getBase64=function(a,b){if(!a)throw"getBase64 is an async method and needs a callback argument";this._createDoc(b,function(b){a(b.toString("base64"))})},d.prototype.getDataUrl=function(a,b){if(!a)throw"getDataUrl is an async method and needs a callback argument";this._createDoc(b,function(b){a("data:application/pdf;base64,"+b.toString("base64"))})},d.prototype.getBuffer=function(a,b){if(!a)throw"getBuffer is an async method and needs a callback argument";this._createDoc(b,function(b){a(b)})},b.exports={createPdf:function(a){return new d(a,window.pdfMake.fonts,window.pdfMake.vfs)}}}).call(this,a("buffer").Buffer)},{"../../libs/fileSaver":1,"../printer":92,buffer:17}],83:[function(a,b){"use strict";function c(a,b){var c=[],f=0,g=0,h=[],i=0,j=0,k=[],l=b;a.forEach(function(a){d(a)?(c.push(a),f+=a._minWidth,g+=a._maxWidth):e(a)?(h.push(a),i=Math.max(i,a._minWidth),j=Math.max(j,a._maxWidth)):k.push(a)}),k.forEach(function(a){"string"==typeof a.width&&/\d+%/.test(a.width)&&(a.width=parseFloat(a.width)*l/100),a._calcWidth=a.width=b)c.forEach(function(a){a._calcWidth=a._minWidth}),h.forEach(function(a){a._calcWidth=i});else{if(b>n)c.forEach(function(a){a._calcWidth=a._maxWidth,b-=a._calcWidth});else{var o=b-m,p=n-m;c.forEach(function(a){var c=a._maxWidth-a._minWidth;a._calcWidth=a._minWidth+c*o/p,b-=a._calcWidth})}if(h.length>0){var q=b/h.length;h.forEach(function(a){a._calcWidth=q})}}}function d(a){return"auto"===a.width}function e(a){return null===a.width||void 0===a.width||"*"===a.width||"star"===a.width}function f(a){for(var b={min:0,max:0},c={min:0,max:0},f=0,g=0,h=a.length;h>g;g++){var i=a[g];e(i)?(c.min=Math.max(c.min,i._minWidth),c.max=Math.max(c.max,i._maxWidth),f++):d(i)?(b.min+=i._minWidth,b.max+=i._maxWidth):(b.min+=void 0!==i.width&&i.width||i._minWidth,b.max+=void 0!==i.width&&i.width||i._maxWidth)}return f&&(b.min+=f*c.min,b.max+=f*c.max),b}b.exports={buildColumnWidths:c,measureMinMax:f,isAutoColumn:d,isStarColumn:e}},{}],84:[function(a,b){"use strict";function c(a,b,c,f,g,h){this.textTools=new d(a),this.styleStack=new e(b,c),this.imageMeasure=f,this.tableLayouts=g,this.images=h,this.autoImageIndex=1}var d=a("./textTools"),e=a("./styleContextStack"),f=a("./columnCalculator"),g=a("./helpers").fontStringify,h=a("./helpers").pack,i=a("./qrEnc.js");c.prototype.measureDocument=function(a){return this.measureNode(a)},c.prototype.measureNode=function(a){function b(a){var b=a._margin;return b&&(a._minWidth+=b[0]+b[2],a._maxWidth+=b[0]+b[2]),a}function c(){function b(a,b){return a.marginLeft||a.marginTop||a.marginRight||a.marginBottom?[a.marginLeft||b[0]||0,a.marginTop||b[1]||0,a.marginRight||b[2]||0,a.marginBottom||b[3]||0]:b}function c(a){for(var b={},c=a.length-1;c>=0;c--){var e=a[c],f=d.styleStack.styleDictionary[e];for(var g in f)f.hasOwnProperty(g)&&(b[g]=f[g])}return b}function e(a){return"number"==typeof a||a instanceof Number?a=[a,a,a,a]:a instanceof Array&&2===a.length&&(a=[a[0],a[1],a[0],a[1]]),a}var f=[void 0,void 0,void 0,void 0];if(a.style){var g=a.style instanceof Array?a.style:[a.style],h=c(g);h&&(f=b(h,f)),h.margin&&(f=e(h.margin))}return f=b(a,f),a.margin&&(f=e(a.margin)),void 0===f[0]&&void 0===f[1]&&void 0===f[2]&&void 0===f[3]?null:f}a instanceof Array?a={stack:a}:("string"==typeof a||a instanceof String)&&(a={text:a});var d=this;return this.styleStack.auto(a,function(){if(a._margin=c(a),a.columns)return b(d.measureColumns(a));if(a.stack)return b(d.measureVerticalContainer(a));if(a.ul)return b(d.measureList(!1,a));if(a.ol)return b(d.measureList(!0,a));if(a.table)return b(d.measureTable(a));if(void 0!==a.text)return b(d.measureLeaf(a));if(a.image)return b(d.measureImage(a));if(a.canvas)return b(d.measureCanvas(a));if(a.qr)return b(d.measureQr(a));throw"Unrecognized document structure: "+JSON.stringify(a,g)})},c.prototype.convertIfBase64Image=function(a){if(/^data:image\/(jpeg|jpg|png);base64,/.test(a.image)){var b="$$pdfmake$$"+this.autoImageIndex++;this.images[b]=a.image,a.image=b}},c.prototype.measureImage=function(a){this.images&&this.convertIfBase64Image(a);var b=this.imageMeasure.measureImage(a.image);if(a.fit){var c=b.width/b.height>a.fit[0]/a.fit[1]?a.fit[0]/b.width:a.fit[1]/b.height;a._width=a._minWidth=a._maxWidth=b.width*c,a._height=b.height*c}else a._width=a._minWidth=a._maxWidth=a.width||b.width,a._height=a.height||b.height*a._width/b.width;return a._alignment=this.styleStack.getProperty("alignment"),a},c.prototype.measureLeaf=function(a){var b=this.textTools.buildInlines(a.text,this.styleStack);return a._inlines=b.items,a._minWidth=b.minWidth,a._maxWidth=b.maxWidth,a},c.prototype.measureVerticalContainer=function(a){var b=a.stack;a._minWidth=0,a._maxWidth=0;for(var c=0,d=b.length;d>c;c++)b[c]=this.measureNode(b[c]),a._minWidth=Math.max(a._minWidth,b[c]._minWidth),a._maxWidth=Math.max(a._maxWidth,b[c]._maxWidth);return a},c.prototype.gapSizeForList=function(a,b){if(a){var c=b.length.toString().replace(/./g,"9");return this.textTools.sizeOfString(c+". ",this.styleStack)}return this.textTools.sizeOfString("9. ",this.styleStack)},c.prototype.buildMarker=function(a,b,c,d){var e;if(a)e={_inlines:this.textTools.buildInlines(b,c).items};else{var f=d.fontSize/6;e={canvas:[{x:f,y:d.height/d.lineHeight+d.decender-d.fontSize/3,r1:f,r2:f,type:"ellipse",color:"black"}]}}return e._minWidth=e._maxWidth=d.width,e._minHeight=e._maxHeight=d.height,e},c.prototype.measureList=function(a,b){var c=this.styleStack.clone(),d=a?b.ol:b.ul;b._gapSize=this.gapSizeForList(a,d),b._minWidth=0,b._maxWidth=0;for(var e=1,f=0,g=d.length;g>f;f++){var h=d[f]=this.measureNode(d[f]),i=e++ +". ";h.ol||h.ul||(h.listMarker=this.buildMarker(a,h.counter||i,c,b._gapSize)),b._minWidth=Math.max(b._minWidth,d[f]._minWidth+b._gapSize.width),b._maxWidth=Math.max(b._maxWidth,d[f]._maxWidth+b._gapSize.width)}return b},c.prototype.measureColumns=function(a){var b=a.columns;a._gap=this.styleStack.getProperty("columnGap")||0;for(var c=0,d=b.length;d>c;c++)b[c]=this.measureNode(b[c]);var e=f.measureMinMax(b);return a._minWidth=e.min+a._gap*(b.length-1),a._maxWidth=e.max+a._gap*(b.length-1),a},c.prototype.measureTable=function(a){function b(a,b){return function(){return null!==b&&"object"==typeof b&&(b.fillColor=a.styleStack.getProperty("fillColor")),a.measureNode(b)}}function c(b){var c=a.layout;("string"==typeof a.layout||a instanceof String)&&(c=b[c]);var d={hLineWidth:function(){return 1},vLineWidth:function(){return 1},hLineColor:function(){return"black"},vLineColor:function(){return"black"},paddingLeft:function(){return 4},paddingRight:function(){return 4},paddingTop:function(){return 2},paddingBottom:function(){return 2}};return h(d,c)}function d(b){for(var c=[],d=0,e=0,f=0,g=a.table.widths.length;g>f;f++){var h=e+b.vLineWidth(f,a)+b.paddingLeft(f,a);c.push(h),d+=h,e=b.paddingRight(f,a)}return d+=e+b.vLineWidth(a.table.widths.length,a),{total:d,offsets:c}}function e(){for(var b,c,d=0,e=p.length;e>d;d++){var f=p[d],h=g(f.col,f.span,a._offsets),i=f.minWidth-h.minWidth,j=f.maxWidth-h.maxWidth;if(i>0)for(b=i/f.span,c=0;c0)for(b=j/f.span,c=0;cf;f++)e.minWidth+=a.table.widths[b+f]._minWidth+(f?d.offsets[b+f]:0),e.maxWidth+=a.table.widths[b+f]._maxWidth+(f?d.offsets[b+f]:0);return e}function i(a,b,c){for(var d=1;c>d;d++)a[b+d]={_span:!0,_minWidth:0,_maxWidth:0,rowSpan:a[b].rowSpan}}function j(a,b,c,d){for(var e=1;d>e;e++)a.body[b+e][c]={_span:!0,_minWidth:0,_maxWidth:0,fillColor:a.body[b][c].fillColor}}function k(a){if(a.table.widths||(a.table.widths="auto"),"string"==typeof a.table.widths||a.table.widths instanceof String)for(a.table.widths=[a.table.widths];a.table.widths.lengthb;b++){var d=a.table.widths[b];("number"==typeof d||d instanceof Number||"string"==typeof d||d instanceof String)&&(a.table.widths[b]={width:d})}}k(a),a._layout=c(this.tableLayouts),a._offsets=d(a._layout);var l,m,n,o,p=[];for(l=0,n=a.table.body[0].length;n>l;l++){var q=a.table.widths[l];for(q._minWidth=0,q._maxWidth=0,m=0,o=a.table.body.length;o>m;m++){var r=a.table.body[m],s=r[l];if(!s._span){s=r[l]=this.styleStack.auto(s,b(this,s)),s.colSpan&&s.colSpan>1?(i(r,l,s.colSpan),p.push({col:l,span:s.colSpan,minWidth:s._minWidth,maxWidth:s._maxWidth})):(q._minWidth=Math.max(q._minWidth,s._minWidth),q._maxWidth=Math.max(q._maxWidth,s._maxWidth))}s.rowSpan&&s.rowSpan>1&&j(a.table,m,l,s.rowSpan)}}e();var t=f.measureMinMax(a.table.widths);return a._minWidth=t.min+a._offsets.total,a._maxWidth=t.max+a._offsets.total,a},c.prototype.measureCanvas=function(a){for(var b=0,c=0,d=0,e=a.canvas.length;e>d;d++){var f=a.canvas[d];switch(f.type){case"ellipse":b=Math.max(b,f.x+f.r1),c=Math.max(c,f.y+f.r2);break;case"rect":b=Math.max(b,f.x+f.w),c=Math.max(c,f.y+f.h);break;case"line":b=Math.max(b,f.x1,f.x2),c=Math.max(c,f.y1,f.y2);break;case"polyline":for(var g=0,h=f.points.length;h>g;g++)b=Math.max(b,f.points[g].x),c=Math.max(c,f.points[g].y)}}return a._minWidth=a._maxWidth=b,a._minHeight=a._maxHeight=c,a},c.prototype.measureQr=function(a){return a=i.measure(a),a._alignment=this.styleStack.getProperty("alignment"),a},b.exports=c},{"./columnCalculator":83,"./helpers":87,"./qrEnc.js":93,"./styleContextStack":95,"./textTools":98}],85:[function(a,b){"use strict";function c(a,b){this.pages=[],this.pageMargins=b,this.x=b.left,this.availableWidth=a.width-b.left-b.right,this.availableHeight=0,this.page=-1,this.snapshots=[],this.endingCell=null,this.tracker=new f,this.addPage(a)}function d(a,b){return void 0===a?b:"landscape"===a?"landscape":"portrait"}function e(a,b){var c;return c=a.page>b.page?a:b.page>a.page?b:a.y>b.y?a:b,{page:c.page,x:c.x,y:c.y,availableHeight:c.availableHeight,availableWidth:c.availableWidth}}var f=a("./traversalTracker");c.prototype.beginColumnGroup=function(){this.snapshots.push({x:this.x,y:this.y,availableHeight:this.availableHeight,availableWidth:this.availableWidth,page:this.page,bottomMost:{y:this.y,page:this.page},endingCell:this.endingCell,lastColumnWidth:this.lastColumnWidth}),this.lastColumnWidth=0},c.prototype.beginColumn=function(a,b,c){var d=this.snapshots[this.snapshots.length-1];this.calculateBottomMost(d),this.endingCell=c,this.page=d.page,this.x=this.x+this.lastColumnWidth+(b||0),this.y=d.y,this.availableWidth=a,this.availableHeight=d.availableHeight,this.lastColumnWidth=a},c.prototype.calculateBottomMost=function(a){this.endingCell?(this.saveContextInEndingCell(this.endingCell),this.endingCell=null):a.bottomMost=e(this,a.bottomMost)},c.prototype.markEnding=function(a){this.page=a._columnEndingContext.page,this.x=a._columnEndingContext.x,this.y=a._columnEndingContext.y,this.availableWidth=a._columnEndingContext.availableWidth,this.availableHeight=a._columnEndingContext.availableHeight,this.lastColumnWidth=a._columnEndingContext.lastColumnWidth},c.prototype.saveContextInEndingCell=function(a){a._columnEndingContext={page:this.page,x:this.x,y:this.y,availableHeight:this.availableHeight,availableWidth:this.availableWidth,lastColumnWidth:this.lastColumnWidth}},c.prototype.completeColumnGroup=function(){var a=this.snapshots.pop();this.calculateBottomMost(a),this.endingCell=null,this.x=a.x,this.y=a.bottomMost.y,this.page=a.bottomMost.page,this.availableWidth=a.availableWidth,this.availableHeight=a.bottomMost.availableHeight,this.lastColumnWidth=a.lastColumnWidth},c.prototype.addMargin=function(a,b){this.x+=a,this.availableWidth-=a+(b||0)},c.prototype.moveDown=function(a){return this.y+=a,this.availableHeight-=a,this.availableHeight>0},c.prototype.initializePage=function(){this.y=this.pageMargins.top,this.availableHeight=this.getCurrentPage().pageSize.height-this.pageMargins.top-this.pageMargins.bottom,this.pageSnapshot().availableWidth=this.getCurrentPage().pageSize.width-this.pageMargins.left-this.pageMargins.right},c.prototype.pageSnapshot=function(){return this.snapshots[0]?this.snapshots[0]:this};var g=function(a,b){return b=d(b,a.pageSize.orientation),b!==a.pageSize.orientation?{orientation:b,width:a.pageSize.height,height:a.pageSize.width}:{orientation:a.pageSize.orientation,width:a.pageSize.width,height:a.pageSize.height}};c.prototype.moveToNextPage=function(a){var b=this.page+1,c=this.page,d=this.y,e=b>=this.pages.length;return e?this.addPage(g(this.getCurrentPage(),a)):(this.page=b,this.initializePage()),{newPageCreated:e,prevPage:c,prevY:d,y:this.y}},c.prototype.addPage=function(a){var b={items:[],pageSize:a};return this.pages.push(b),this.page=this.pages.length-1,this.initializePage(),this.tracker.emit("pageAdded"),b},c.prototype.getCurrentPage=function(){return this.page<0||this.page>=this.pages.length?null:this.pages[this.page]},c.prototype.getCurrentPosition=function(){var a=this.getCurrentPage().pageSize,b=a.height-this.pageMargins.top-this.pageMargins.bottom,c=a.width-this.pageMargins.left-this.pageMargins.right;return{pageNumber:this.page+1,pageOrientation:a.orientation,left:this.x,top:this.y,verticalRatio:(this.y-this.pageMargins.top)/b,horizontalRatio:(this.x-this.pageMargins.left)/c}},b.exports=c},{"./traversalTracker":99}],86:[function(a,b){"use strict";function c(a,b){this.context=a,this.contextStack=[],this.tracker=b}function d(a,b,c){null===c||void 0===c||0>c||c>a.items.length?a.items.push(b):a.items.splice(c,0,b)}function e(a){var b=new f(a.maxWidth);for(var c in a)a.hasOwnProperty(c)&&(b[c]=a[c]);return b}var f=a("./line"),g=a("./helpers").pack,h=a("./helpers").offsetVector,i=a("./documentContext");c.prototype.addLine=function(a,b,c){var e=a.getHeight(),f=this.context,g=f.getCurrentPage(),h=this.getCurrentPositionOnPage();return f.availableHeight0&&a.inlines[0].alignment,e=0;switch(d){case"right":e=b-c;break;case"center":e=(b-c)/2}if(e&&(a.x=(a.x||0)+e),"justify"===d&&!a.newLineForced&&!a.lastLineInParagraph&&a.inlines.length>1)for(var f=(b-c)/(a.inlines.length-1),g=1,h=a.inlines.length;h>g;g++)e=g*f,a.inlines[g].x+=e},c.prototype.addImage=function(a,b){var c=this.context,e=c.getCurrentPage(),f=this.getCurrentPositionOnPage();return c.availableHeightf;f++){var h=a._canvas[f];h.x+=a.x,h.y+=a.y,this.addVector(h,!0,!0,b)}return c.moveDown(a._height),e},c.prototype.alignImage=function(a){var b=this.context.availableWidth,c=a._minWidth,d=0;switch(a._alignment){case"right":d=b-c;break;case"center":d=(b-c)/2}d&&(a.x=(a.x||0)+d)},c.prototype.addVector=function(a,b,c,e){var f=this.context,g=f.getCurrentPage(),i=this.getCurrentPositionOnPage();return g?(h(a,b?0:f.x,c?0:f.y),d(g,{type:"vector",item:a},e),i):void 0},c.prototype.addFragment=function(a,b,c,d){var f=this.context,i=f.getCurrentPage();return!b&&a.height>f.availableHeight?!1:(a.items.forEach(function(d){switch(d.type){case"line":var j=e(d.item);j.x=(j.x||0)+(b?a.xOffset||0:f.x),j.y=(j.y||0)+(c?a.yOffset||0:f.y),i.items.push({type:"line",item:j});break;case"vector":var k=g(d.item);h(k,b?a.xOffset||0:f.x,c?a.yOffset||0:f.y),i.items.push({type:"vector",item:k});break;case"image":var l=g(d.item);l.x=(l.x||0)+(b?a.xOffset||0:f.x),l.y=(l.y||0)+(c?a.yOffset||0:f.y),i.items.push({type:"image",item:l})}}),d||f.moveDown(a.height),!0)},c.prototype.pushContext=function(a,b){void 0===a&&(b=this.context.getCurrentPage().height-this.context.pageMargins.top-this.context.pageMargins.bottom,a=this.context.availableWidth),("number"==typeof a||a instanceof Number)&&(a=new i({width:a,height:b},{left:0,right:0,top:0,bottom:0})),this.contextStack.push(this.context),this.context=a},c.prototype.popContext=function(){this.context=this.contextStack.pop()},c.prototype.getCurrentPositionOnPage=function(){return(this.contextStack[0]||this.context).getCurrentPosition()},b.exports=c},{"./documentContext":85,"./helpers":87,"./line":90}],87:[function(a,b){"use strict";function c(){for(var a={},b=0,c=arguments.length;c>b;b++){var d=arguments[b];if(d)for(var e in d)d.hasOwnProperty(e)&&(a[e]=d[e])}return a}function d(a,b,c){switch(a.type){case"ellipse":case"rect":a.x+=b,a.y+=c;break;case"line":a.x1+=b,a.x2+=b,a.y1+=c,a.y2+=c;break;case"polyline":for(var d=0,e=a.points.length;e>d;d++)a.points[d].x+=b,a.points[d].y+=c}}function e(a,b){return"font"===a?"font":b}function f(a){var b={};return a&&"[object Function]"===b.toString.call(a)}b.exports={pack:c,fontStringify:e,offsetVector:d,isFunction:f}},{}],88:[function(a,b){(function(c){function d(a,b){this.pdfDoc=a,this.imageDictionary=b||{}}var e=(a("pdfkit"),a("pdfkit/js/image"));d.prototype.measureImage=function(a){function b(a){var b=g.imageDictionary[a];if(!b)return a;var d=b.indexOf("base64,");if(0>d)throw"invalid image format, images dictionary should contain dataURL entries";return new c(b.substring(d+7),"base64")}var d,f,g=this;return this.pdfDoc._imageRegistry[a]?d=this.pdfDoc._imageRegistry[a]:(f="I"+ ++this.pdfDoc._imageCount,d=e.open(b(a),f),d.embed(this.pdfDoc),this.pdfDoc._imageRegistry[a]=d),{width:d.width,height:d.height}},b.exports=d}).call(this,a("buffer").Buffer)},{buffer:17,pdfkit:42,"pdfkit/js/image":62}],89:[function(a,b){"use strict";function c(a,b){f.each(b,function(b){a.push(b)})}function d(a,b,c){this.pageSize=a,this.pageMargins=b,this.tracker=new g,this.imageMeasure=c,this.tableLayouts={}}function e(a){var b=a.x,c=a.y;a.positions=[],a.resetXY=function(){a.x=b,a.y=c}}var f=a("lodash"),g=a("./traversalTracker"),h=a("./docMeasure"),i=a("./documentContext"),j=a("./pageElementWriter"),k=a("./columnCalculator"),l=a("./tableProcessor"),m=a("./line"),n=a("./helpers").pack,o=a("./helpers").offsetVector,p=a("./helpers").fontStringify,q=a("./helpers").isFunction,r=a("./textTools"),s=a("./styleContextStack");d.prototype.registerTableLayouts=function(a){this.tableLayouts=n(this.tableLayouts,a)},d.prototype.layoutDocument=function(a,b,c,d,e,g,i,j,k,l){function m(a,b){return a=f.reject(a,function(a){return f.isEmpty(a.positions)}),f.each(a,function(a){var c=f.pick(a,["id","headlineLevel","text","ul","ol","table","image","qr","canvas","columns","style","pageOrientation"]);c.startPosition=f.first(a.positions),c.pageNumbers=f.chain(a.positions).map("pageNumber").uniq().value(),c.pages=b.length,c.stack=f.isArray(a.stack),a.nodeInfo=c}),f.any(a,function(a,b,c){if("before"!==a.pageBreak){var d=f.first(a.nodeInfo.pageNumbers),e=f.chain(c).drop(b+1).filter(function(a){return f.contains(a.nodeInfo.pageNumbers,d)}).value(),g=f.chain(c).drop(b+1).filter(function(a){return f.contains(a.nodeInfo.pageNumbers,d+1)}).value(),h=f.chain(c).take(b).filter(function(a){return f.contains(a.nodeInfo.pageNumbers,d)}).value();if(l(a.nodeInfo,f.map(e,"nodeInfo"),f.map(g,"nodeInfo"),f.map(h,"nodeInfo")))return a.pageBreak="before",!0}})}function n(a){f.each(a.linearNodeList,function(a){a.resetXY()})}q(l)||(l=function(){return!1}),this.docMeasure=new h(b,c,d,this.imageMeasure,this.tableLayouts,j);for(var o=this.tryLayoutDocument(a,b,c,d,e,g,i,j,k);m(o.linearNodeList,o.pages);)n(o),o=this.tryLayoutDocument(a,b,c,d,e,g,i,j,k);return o.pages},d.prototype.tryLayoutDocument=function(a,b,c,d,e,f,g,h,k){this.linearNodeList=[],a=this.docMeasure.measureDocument(a),this.writer=new j(new i(this.pageSize,this.pageMargins),this.tracker);var l=this;return this.writer.context().tracker.startTracking("pageAdded",function(){l.addBackground(e)}),this.addBackground(e),this.processNode(a),this.addHeadersAndFooters(f,g),null!=k&&this.addWatermark(k,b),{pages:this.writer.context().pages,linearNodeList:this.linearNodeList}},d.prototype.addBackground=function(a){var b=q(a)?a:function(){return a},c=b(this.writer.context().page+1);if(c){var d=this.writer.context().getCurrentPage().pageSize;this.writer.beginUnbreakableBlock(d.width,d.height),this.processNode(this.docMeasure.measureDocument(c)),this.writer.commitUnbreakableBlock(0,0)}},d.prototype.addStaticRepeatable=function(a,b,c,d,e){var f=this.writer.context().pages;this.writer.context().page=0,this.writer.beginUnbreakableBlock(d,e),this.processNode(this.docMeasure.measureDocument(a));var g=this.writer.currentBlockToRepeatable();g.xOffset=b,g.yOffset=c,this.writer.commitUnbreakableBlock(b,c);for(var h=1,i=f.length;i>h;h++)this.writer.context().page=h,this.writer.addFragment(g,!0,!0,!0)},d.prototype.addDynamicRepeatable=function(a,b){for(var c=this.writer.context().pages,d=0,e=c.length;e>d;d++){this.writer.context().page=d;var f=a(d+1,e);if(f){var g=b(this.writer.context().getCurrentPage().pageSize,this.pageMargins);this.writer.beginUnbreakableBlock(g.width,g.height),this.processNode(this.docMeasure.measureDocument(f)),this.writer.commitUnbreakableBlock(g.x,g.y)}}},d.prototype.addHeadersAndFooters=function(a,b){var c=function(a,b){return{x:0,y:0,width:a.width,height:b.top}},d=function(a,b){return{x:0,y:a.height-b.bottom,width:a.width,height:b.bottom}};q(a)?this.addDynamicRepeatable(a,c):a&&this.addStaticRepeatable(a,c),q(b)?this.addDynamicRepeatable(b,d):b&&this.addStaticRepeatable(b,c)},d.prototype.addWatermark=function(a,b){function c(a,b,c){for(var d,e=a.width,f=a.height,g=.8*Math.sqrt(e*e+f*f),h=new r(c),i=new s,j=0,k=1e3,l=(j+k)/2;Math.abs(j-k)>1;)i.push({fontSize:l}),d=h.sizeOfString(b,i),d.width>g?(k=l,l=(j+k)/2):d.widthg;g++)f[g].watermark=e},d.prototype.processNode=function(a){function b(b){var d=a._margin;"before"===a.pageBreak&&c.writer.moveToNextPage(a.pageOrientation),d&&(c.writer.context().moveDown(d[1]),c.writer.context().addMargin(d[0],d[2])),b(),d&&(c.writer.context().addMargin(-d[0],-d[2]),c.writer.context().moveDown(d[3])),"after"===a.pageBreak&&c.writer.moveToNextPage(a.pageOrientation)}var c=this;this.linearNodeList.push(a),e(a),b(function(){if(a.stack)c.processVerticalContainer(a);else if(a.columns)c.processColumns(a);else if(a.ul)c.processList(!1,a);else if(a.ol)c.processList(!0,a);else if(a.table)c.processTable(a);else if(void 0!==a.text)c.processLeaf(a);else if(a.image)c.processImage(a);else if(a.canvas)c.processCanvas(a);else if(a.qr)c.processQr(a);else if(!a._span)throw"Unrecognized document structure: "+JSON.stringify(a,p)})},d.prototype.processVerticalContainer=function(a){var b=this;a.stack.forEach(function(d){b.processNode(d),c(a.positions,d.positions)})},d.prototype.processColumns=function(a){function b(a){if(!a)return null;var b=[];b.push(0);for(var c=d.length-1;c>0;c--)b.push(a);return b}var d=a.columns,e=this.writer.context().availableWidth,f=b(a._gap);f&&(e-=(f.length-1)*a._gap),k.buildColumnWidths(d,e);var g=this.processRow(d,d,f);c(a.positions,g.positions)},d.prototype.processRow=function(a,b,d,e,f){function g(a){for(var b,c=0,d=k.length;d>c;c++){var e=k[c];if(e.prevPage===a.prevPage){b=e;break}}b||(b=a,k.push(b)),b.prevY=Math.max(b.prevY,a.prevY),b.y=Math.min(b.y,a.y)}function h(a){return d&&d.length>a?d[a]:0}function i(a,b){if(a.rowSpan&&a.rowSpan>1){var c=f+a.rowSpan-1;if(c>=e.length)throw"Row span for column "+b+" (with indexes starting from 0) exceeded row count";return e[c][b]}return null}var j=this,k=[],l=[];return this.tracker.auto("pageChanged",g,function(){b=b||a,j.writer.context().beginColumnGroup();for(var e=0,f=a.length;f>e;e++){var g=a[e],k=b[e]._calcWidth,m=h(e);if(g.colSpan&&g.colSpan>1)for(var n=1;nd;d++){b.beginRow(d,this.writer);var f=this.processRow(a.table.body[d],a.table.widths,a._offsets.offsets,a.table.body,d);c(a.positions,f.positions),b.endRow(d,this.writer,f.pageBreaks)}b.endTable(this.writer)},d.prototype.processLeaf=function(a){for(var b=this.buildNextLine(a);b;){var c=this.writer.addLine(b);a.positions.push(c),b=this.buildNextLine(a)}},d.prototype.buildNextLine=function(a){if(!a._inlines||0===a._inlines.length)return null;for(var b=new m(this.writer.context().availableWidth);a._inlines&&a._inlines.length>0&&b.hasEnoughSpaceForInline(a._inlines[0]);)b.addInline(a._inlines.shift());return b.lastLineInParagraph=0===a._inlines.length,b},d.prototype.processImage=function(a){var b=this.writer.addImage(a);a.positions.push(b)},d.prototype.processCanvas=function(a){var b=a._minHeight;this.writer.context().availableHeight0){var e=c.pages[0];if(e.xOffset=a,e.yOffset=b,d>1)if(void 0!==a||void 0!==b)e.height=c.getCurrentPage().pageSize.height-c.pageMargins.top-c.pageMargins.bottom;else{e.height=this.writer.context.getCurrentPage().pageSize.height-this.writer.context.pageMargins.top-this.writer.context.pageMargins.bottom;for(var f=0,g=this.repeatables.length;g>f;f++)e.height-=this.repeatables[f].height}else e.height=c.y;void 0!==a||void 0!==b?this.writer.addFragment(e,!0,!0,!0):this.addFragment(e)}}},c.prototype.currentBlockToRepeatable=function(){var a=this.writer.context,b={items:[]};return a.pages[0].items.forEach(function(a){b.items.push(a)}),b.xOffset=this.originalX,b.height=a.y,b},c.prototype.pushToRepeatables=function(a){this.repeatables.push(a)},c.prototype.popFromRepeatables=function(){this.repeatables.pop()},c.prototype.context=function(){return this.writer.context},b.exports=c},{"./elementWriter":86}],92:[function(a,b){"use strict";function c(a){this.fontDescriptors=a}function d(a){if(!a)return null;if("number"==typeof a||a instanceof Number)a={left:a,right:a,top:a,bottom:a};else if(a instanceof Array)if(2===a.length)a={left:a[0],top:a[1],right:a[0],bottom:a[1]};else{if(4!==a.length)throw"Invalid pageMargins definition";a={left:a[0],top:a[1],right:a[2],bottom:a[3]}}return a}function e(a){a.registerTableLayouts({noBorders:{hLineWidth:function(){return 0},vLineWidth:function(){return 0},paddingLeft:function(a){return a&&4||0},paddingRight:function(a,b){return ab.options.size[1]?"landscape":"portrait";if(a.pageSize.orientation!==c){var d=b.options.size[0],e=b.options.size[1];b.options.size=[e,d]}}function i(a,b,c){c._pdfMakePages=a;for(var d=0;d0&&(h(a[d],c),c.addPage(c.options)),j(b,c);for(var e=a[d],f=0,g=e.items.length;g>f;f++){var i=e.items[f];switch(i.type){case"vector":n(i.item,c);break;case"line":k(i.item,i.item.x,i.item.y,c);break;case"image":o(i.item,i.item.x,i.item.y,c)}}e.watermark&&l(e,c,b)}}function j(a,b){for(var c in a.cache){var d=a.cache[c];for(var e in d){var f,g,h,i=d[e];(f=(g=b.page.fonts)[h=i.id])||(g[h]=i.ref())}}}function k(a,b,c,d){b=b||0,c=c||0;{var e=a.getAscenderHeight();a.getHeight()}v.drawBackground(a,b,c,d);for(var f=0,g=a.inlines.length;g>f;f++){var h=a.inlines[f];d.fill(h.color||"black"),d.save(),d.transform(1,0,0,-1,0,d.page.height),d.addContent("BT");{h.font.ascender/1e3*h.fontSize}d.addContent(""+(b+h.x)+" "+(d.page.height-c-e)+" Td"),d.addContent("/"+h.font.id+" "+h.fontSize+" Tf"),d.addContent("<"+m(h.font,h.text)+"> Tj"),d.addContent("ET"),d.restore()}v.drawDecorations(a,b,c,d)}function l(a,b){var c=a.watermark;b.fill("black"),b.opacity(.6),b.save(),b.transform(1,0,0,-1,0,b.page.height);var d=180*Math.atan2(b.page.height,b.page.width)/Math.PI;b.rotate(d,{origin:[b.page.width/2,b.page.height/2]}),b.addContent("BT"),b.addContent(""+(b.page.width/2-c.size.size.width/2)+" "+(b.page.height/2-c.size.size.height/4)+" Td"),b.addContent("/"+c.font.id+" "+c.size.fontSize+" Tf"),b.addContent("<"+m(c.font,c.text)+"> Tj"),b.addContent("ET"),b.restore()}function m(a,b){return a.use(b),b=a.encode(b),b=function(){for(var a=[],c=0,d=b.length;d>=0?d>c:c>d;d>=0?c++:c--)a.push(b.charCodeAt(c).toString(16));return a}().join("")}function n(a,b){switch(b.lineWidth(a.lineWidth||1),a.dash?b.dash(a.dash.length,{space:a.dash.space||a.dash.length}):b.undash(),b.fillOpacity(a.fillOpacity||1),b.strokeOpacity(a.strokeOpacity||1),b.lineJoin(a.lineJoin||"miter"),a.type){case"ellipse":b.ellipse(a.x,a.y,a.r1,a.r2);break;case"rect":a.r?b.roundedRect(a.x,a.y,a.w,a.h,a.r):b.rect(a.x,a.y,a.w,a.h);break;case"line":b.moveTo(a.x1,a.y1),b.lineTo(a.x2,a.y2);break;case"polyline":if(0===a.points.length)break;b.moveTo(a.points[0].x,a.points[0].y);for(var c=1,d=a.points.length;d>c;c++)b.lineTo(a.points[c].x,a.points[c].y);if(a.points.length>1){var e=a.points[0],f=a.points[a.points.length-1];(a.closePath||e.x===f.x&&e.y===f.y)&&b.closePath()}}a.color&&a.lineColor?b.fillAndStroke(a.color,a.lineColor):a.color?b.fill(a.color):b.stroke(a.lineColor||"black")}function o(a,b,c,d){d.image(a.image,a.x,a.y,{width:a._width,height:a._height})}function p(a,b){this.fonts={},this.pdfDoc=b,this.cache={};for(var c in a)if(a.hasOwnProperty(c)){var d=a[c];this.fonts[c]={normal:d.normal,bold:d.bold,italics:d.italics,bolditalics:d.bolditalics}}}var q=a("./layoutBuilder"),r=a("pdfkit"),s=a("pdfkit/js/reference"),t=a("./standardPageSizes"),u=a("./imageMeasure"),v=a("./textDecorator");c.prototype.createPdfKitDocument=function(a,b){b=b||{};var c=f(a.pageSize||"a4");"landscape"===a.pageOrientation&&(c={width:c.height,height:c.width}),c.orientation="landscape"===a.pageOrientation?a.pageOrientation:"portrait",this.pdfKitDoc=new r({size:[c.width,c.height],compress:!1}),this.pdfKitDoc.info.Producer="pdfmake",this.pdfKitDoc.info.Creator="pdfmake",this.fontProvider=new p(this.fontDescriptors,this.pdfKitDoc),a.images=a.images||{};var h=new q(c,d(a.pageMargins||40),new u(this.pdfKitDoc,a.images));e(h),b.tableLayouts&&h.registerTableLayouts(b.tableLayouts);var j=h.layoutDocument(a.content,this.fontProvider,a.styles||{},a.defaultStyle||{fontSize:12,font:"Roboto"},a.background,a.header,a.footer,a.images,a.watermark,a.pageBreakBefore);if(i(j,this.fontProvider,this.pdfKitDoc),b.autoPrint){var k=this.pdfKitDoc.ref({S:"JavaScript",JS:new g("this.print\\(true\\);")}),l=this.pdfKitDoc.ref({Names:[new g("EmbeddedJS"),new s(this.pdfKitDoc,k.id)]});k.end(),l.end(),this.pdfKitDoc._root.data.Names={JavaScript:new s(this.pdfKitDoc,l.id)}}return this.pdfKitDoc};p.prototype.provideFont=function(a,b,c){if(!this.fonts[a])return this.pdfDoc._font;var d="normal";b&&c?d="bolditalics":b?d="bold":c&&(d="italics"),this.cache[a]||(this.cache[a]={});var e=this.cache[a]&&this.cache[a][d];if(e)return e;var f=this.cache[a]=this.cache[a]||{};return f[d]=this.pdfDoc.font(this.fonts[a][d],a+" ("+d+")")._font,f[d]},b.exports=c,c.prototype.fs=a("fs")},{"./imageMeasure":88,"./layoutBuilder":89,"./standardPageSizes":94,"./textDecorator":97,fs:"fs",pdfkit:42,"pdfkit/js/reference":75}],93:[function(a,b){"use strict";function c(a,b){var c={numeric:h,alphanumeric:i,octet:j},d={L:o,M:p,Q:q,H:r};b=b||{};var e=b.version||-1,f=d[(b.eccLevel||"L").toUpperCase()],g=b.mode?c[b.mode.toLowerCase()]:-1,k="mask"in b?b.mask:-1;if(0>g)g="string"==typeof a?a.match(l)?h:a.match(n)?i:j:j;else if(g!=h&&g!=i&&g!=j)throw"invalid or unsupported mode";if(a=K(g,a),null===a)throw"invalid data format";if(0>f||f>3)throw"invalid ECC level";if(0>e){for(e=1;40>=e&&!(a.length<=J(e,g,f));++e);if(e>40)throw"too large data for the Qr format"}else if(1>e||e>40)throw"invalid Qr version! should be between 1 and 40";if(-1!=k&&(0>k||k>8))throw"invalid mask";return U(a,e,g,f,k)}function d(a,b){var d=[],e=a.background||"#fff",f=a.foreground||"#000",g=c(a,b),h=g.length,i=Math.floor(b.fit?b.fit/h:5),j=h*i;d.push({type:"rect",x:0,y:0,w:j,h:j,lineWidth:0,color:e});for(var k=0;h>k;++k)for(var l=0;h>l;++l)g[k][l]&&d.push({type:"rect",x:i*k,y:i*l,w:i,h:i,lineWidth:0,color:f});return{canvas:d,size:j}}function e(a){var b=d(a.qr,a);return a._canvas=b.canvas,a._width=a._height=a._minWidth=a._maxWidth=a._minHeight=a._maxHeight=b.size,a}for(var f=[null,[[10,7,17,13],[1,1,1,1],[]],[[16,10,28,22],[1,1,1,1],[4,16]],[[26,15,22,18],[1,1,2,2],[4,20]],[[18,20,16,26],[2,1,4,2],[4,24]],[[24,26,22,18],[2,1,4,4],[4,28]],[[16,18,28,24],[4,2,4,4],[4,32]],[[18,20,26,18],[4,2,5,6],[4,20,36]],[[22,24,26,22],[4,2,6,6],[4,22,40]],[[22,30,24,20],[5,2,8,8],[4,24,44]],[[26,18,28,24],[5,4,8,8],[4,26,48]],[[30,20,24,28],[5,4,11,8],[4,28,52]],[[22,24,28,26],[8,4,11,10],[4,30,56]],[[22,26,22,24],[9,4,16,12],[4,32,60]],[[24,30,24,20],[9,4,16,16],[4,24,44,64]],[[24,22,24,30],[10,6,18,12],[4,24,46,68]],[[28,24,30,24],[10,6,16,17],[4,24,48,72]],[[28,28,28,28],[11,6,19,16],[4,28,52,76]],[[26,30,28,28],[13,6,21,18],[4,28,54,80]],[[26,28,26,26],[14,7,25,21],[4,28,56,84]],[[26,28,28,30],[16,8,25,20],[4,32,60,88]],[[26,28,30,28],[17,8,25,23],[4,26,48,70,92]],[[28,28,24,30],[17,9,34,23],[4,24,48,72,96]],[[28,30,30,30],[18,9,30,25],[4,28,52,76,100]],[[28,30,30,30],[20,10,32,27],[4,26,52,78,104]],[[28,26,30,30],[21,12,35,29],[4,30,56,82,108]],[[28,28,30,28],[23,12,37,34],[4,28,56,84,112]],[[28,30,30,30],[25,12,40,34],[4,32,60,88,116]],[[28,30,30,30],[26,13,42,35],[4,24,48,72,96,120]],[[28,30,30,30],[28,14,45,38],[4,28,52,76,100,124]],[[28,30,30,30],[29,15,48,40],[4,24,50,76,102,128]],[[28,30,30,30],[31,16,51,43],[4,28,54,80,106,132]],[[28,30,30,30],[33,17,54,45],[4,32,58,84,110,136]],[[28,30,30,30],[35,18,57,48],[4,28,56,84,112,140]],[[28,30,30,30],[37,19,60,51],[4,32,60,88,116,144]],[[28,30,30,30],[38,19,63,53],[4,28,52,76,100,124,148]],[[28,30,30,30],[40,20,66,56],[4,22,48,74,100,126,152]],[[28,30,30,30],[43,21,70,59],[4,26,52,78,104,130,156]],[[28,30,30,30],[45,22,74,62],[4,30,56,82,108,134,160]],[[28,30,30,30],[47,24,77,65],[4,24,52,80,108,136,164]],[[28,30,30,30],[49,25,81,68],[4,28,56,84,112,140,168]]],g=0,h=1,i=2,j=4,k=8,l=/^\d*$/,m=/^[A-Za-z0-9 $%*+\-./:]*$/,n=/^[A-Z0-9 $%*+\-./:]*$/,o=1,p=0,q=3,r=2,s=[],t=[-1],u=0,v=1;255>u;++u)s.push(v),t[v]=u,v=2*v^(v>=128?285:0);for(var w=[[]],u=0;30>u;++u){for(var x=w[u],y=[],z=0;u>=z;++z){var A=u>z?s[x[z]]:0,B=s[(u+(x[z-1]||0))%255];y.push(t[A^B])}w.push(y)}for(var C={},u=0;45>u;++u)C["0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:".charAt(u)]=u;var D=[function(a,b){return(a+b)%2===0},function(a){return a%2===0},function(a,b){return b%3===0},function(a,b){return(a+b)%3===0},function(a,b){return((a/2|0)+(b/3|0))%2===0},function(a,b){return a*b%2+a*b%3===0},function(a,b){return(a*b%2+a*b%3)%2===0},function(a,b){return((a+b)%2+a*b%3)%2===0}],E=function(a){return a>6},F=function(a){return 4*a+17},G=function(a){var b=f[a],c=16*a*a+128*a+64;return E(a)&&(c-=36),b[2].length&&(c-=25*b[2].length*b[2].length-10*b[2].length-55),c},H=function(a,b){var c=-8&G(a),d=f[a];return c-=8*d[0][b]*d[1][b]},I=function(a,b){switch(b){case h:return 10>a?10:27>a?12:14;case i:return 10>a?9:27>a?11:13;case j:return 10>a?8:16;case k:return 10>a?8:27>a?10:12}},J=function(a,b,c){var d=H(a,c)-4-I(a,b);switch(b){case h:return 3*(d/10|0)+(4>d%10?0:7>d%10?1:2);case i:return 2*(d/11|0)+(6>d%11?0:1);case j:return d/8|0;case k:return d/13|0}},K=function(a,b){switch(a){case h:return b.match(l)?b:null;case i:return b.match(m)?b.toUpperCase():null;case j:if("string"==typeof b){for(var c=[],d=0;de?c.push(e):2048>e?c.push(192|e>>6,128|63&e):65536>e?c.push(224|e>>12,128|e>>6&63,128|63&e):c.push(240|e>>18,128|e>>12&63,128|e>>6&63,128|63&e)}return c}return b}},L=function(a,b,c,d){var e=[],f=0,k=8,l=c.length,m=function(a,b){if(b>=k){for(e.push(f|a>>(b-=k));b>=8;)e.push(a>>(b-=8)&255);f=0,k=8}b>0&&(f|=(a&(1<o;o+=3)m(parseInt(c.substring(o-2,o+1),10),10);m(parseInt(c.substring(o-2),10),[0,4,7][l%3]);break;case i:for(var o=1;l>o;o+=2)m(45*C[c.charAt(o-1)]+C[c.charAt(o)],11);l%2==1&&m(C[c.charAt(o-1)],6);break;case j:for(var o=0;l>o;++o)m(c[o],8)}for(m(g,4),8>k&&e.push(f);e.length+1f;++f)c.push(0);for(var f=0;d>f;){var g=t[c[f++]];if(g>=0)for(var h=0;e>h;++h)c[f+h]^=s[(g+b[h])%255]}return c.slice(d)},N=function(a,b,c){for(var d=[],e=a.length/b|0,f=0,g=b-a.length%b,h=0;g>h;++h)d.push(f),f+=e;for(var h=g;b>h;++h)d.push(f),f+=e+1;d.push(f);for(var i=[],h=0;b>h;++h)i.push(M(a.slice(d[h],d[h+1]),c));for(var j=[],k=a.length/b|0,h=0;k>h;++h)for(var l=0;b>l;++l)j.push(a[d[l]+h]);for(var l=g;b>l;++l)j.push(a[d[l+1]-1]);for(var h=0;hl;++l)j.push(i[l][h]);return j},O=function(a,b,c,d){for(var e=a<=0;--f)e>>d+f&1&&(e^=c<g;++g)d.push([]),e.push([]);var h=function(a,b,c,f,g){for(var h=0;c>h;++h)for(var i=0;f>i;++i)d[a+h][b+i]=g[h]>>i&1,e[a+h][b+i]=1};h(0,0,9,9,[127,65,93,93,93,65,383,0,64]),h(c-8,0,8,9,[256,127,65,93,93,93,65,127]),h(0,c-8,9,8,[254,130,186,186,186,130,254,0,0]);for(var g=9;c-8>g;++g)d[6][g]=d[g][6]=1&~g,e[6][g]=e[g][6]=1;for(var i=b[2],j=i.length,g=0;j>g;++g)for(var k=0===g||g===j-1?1:0,l=0===g?j-1:j,m=k;l>m;++m)h(i[g],i[m],5,5,[31,17,21,17,31]);if(E(a))for(var n=O(a,6,7973,12),o=0,g=0;6>g;++g)for(var m=0;3>m;++m)d[g][c-11+m]=d[c-11+m][g]=n>>o++&1,e[g][c-11+m]=e[c-11+m][g]=1;return{matrix:d,reserved:e}},Q=function(a,b,c){for(var d=a.length,e=0,f=-1,g=d-1;g>=0;g-=2){6==g&&--g;for(var h=0>f?d-1:0,i=0;d>i;++i){for(var j=g;j>g-2;--j)b[h][j]||(a[h][j]=c[e>>3]>>(7&~e)&1,++e);h+=f}f=-f}return a},R=function(a,b,c){for(var d=D[c],e=a.length,f=0;e>f;++f)for(var g=0;e>g;++g)b[f][g]||(a[f][g]^=d(f,g));return a},S=function(a,b,c,d){for(var e=a.length,f=21522^O(c<<3|d,5,1335,10),g=0;15>g;++g){var h=[0,1,2,3,4,5,7,8,e-7,e-6,e-5,e-4,e-3,e-2,e-1][g],i=[e-1,e-2,e-3,e-4,e-5,e-6,e-7,e-8,7,5,4,3,2,1,0][g];a[h][8]=a[8][i]=f>>g&1}return a},T=function(a){for(var b=3,c=3,d=40,e=10,f=function(a){for(var c=0,e=0;e=5&&(c+=b+(a[e]-5));for(var e=5;e=4*f||a[e+1]>=4*f)&&(c+=d)}return c},g=a.length,h=0,i=0,j=0;g>j;++j){var k,l=a[j];k=[0];for(var m=0;g>m;){var n;for(n=0;g>m&&l[m];++n)++m;for(k.push(n),n=0;g>m&&!l[m];++n)++m;k.push(n)}h+=f(k),k=[0];for(var m=0;g>m;){var n;for(n=0;g>m&&a[m][j];++n)++m;for(k.push(n),n=0;g>m&&!a[m][j];++n)++m;k.push(n)}h+=f(k);var o=a[j+1]||[];i+=l[0];for(var m=1;g>m;++m){var p=l[m];i+=p,l[m-1]==p&&o[m]===p&&o[m-1]===p&&(h+=c)}}return h+=e*(Math.abs(i/g/g-.5)/.05|0)},U=function(a,b,c,d,e){var g=f[b],h=L(b,c,a,H(b,d)>>3);h=N(h,g[1][d],w[g[0][d]]);var i=P(b),j=i.matrix,k=i.reserved;if(Q(j,k,h),0>e){R(j,k,0),S(j,k,d,0);var l=0,m=T(j);for(R(j,k,0),e=1;8>e;++e){R(j,k,e),S(j,k,d,e);var n=T(j);m>n&&(m=n,l=e),R(j,k,e)}e=l}return R(j,k,e),S(j,k,d,e),j};b.exports={measure:e}},{}],94:[function(a,b){b.exports={"4A0":[4767.87,6740.79],"2A0":[3370.39,4767.87],A0:[2383.94,3370.39],A1:[1683.78,2383.94],A2:[1190.55,1683.78],A3:[841.89,1190.55],A4:[595.28,841.89],A5:[419.53,595.28],A6:[297.64,419.53],A7:[209.76,297.64],A8:[147.4,209.76],A9:[104.88,147.4],A10:[73.7,104.88],B0:[2834.65,4008.19],B1:[2004.09,2834.65],B2:[1417.32,2004.09],B3:[1000.63,1417.32],B4:[708.66,1000.63],B5:[498.9,708.66],B6:[354.33,498.9],B7:[249.45,354.33],B8:[175.75,249.45],B9:[124.72,175.75],B10:[87.87,124.72],C0:[2599.37,3676.54],C1:[1836.85,2599.37],C2:[1298.27,1836.85],C3:[918.43,1298.27],C4:[649.13,918.43],C5:[459.21,649.13],C6:[323.15,459.21],C7:[229.61,323.15],C8:[161.57,229.61],C9:[113.39,161.57],C10:[79.37,113.39],RA0:[2437.8,3458.27],RA1:[1729.13,2437.8],RA2:[1218.9,1729.13],RA3:[864.57,1218.9],RA4:[609.45,864.57],SRA0:[2551.18,3628.35],SRA1:[1814.17,2551.18],SRA2:[1275.59,1814.17],SRA3:[907.09,1275.59],SRA4:[637.8,907.09],EXECUTIVE:[521.86,756],FOLIO:[612,936],LEGAL:[612,1008],LETTER:[612,792],TABLOID:[792,1224]}},{}],95:[function(a,b){"use strict";function c(a,b){this.defaultStyle=b||{},this.styleDictionary=a,this.styleOverrides=[]}c.prototype.clone=function(){var a=new c(this.styleDictionary,this.defaultStyle);return this.styleOverrides.forEach(function(b){a.styleOverrides.push(b)}),a},c.prototype.push=function(a){this.styleOverrides.push(a)},c.prototype.pop=function(a){for(a=a||1;a-->0;)this.styleOverrides.pop()},c.prototype.autopush=function(a){if("string"==typeof a||a instanceof String)return 0;var b=[];a.style&&(b=a.style instanceof Array?a.style:[a.style]);for(var c=0,d=b.length;d>c;c++)this.push(b[c]);var e={},f=!1;return["font","fontSize","bold","italics","alignment","color","columnGap","fillColor","decoration","decorationStyle","decorationColor","background","lineHeight"].forEach(function(b){void 0!==a[b]&&null!==a[b]&&(e[b]=a[b],f=!0)}),f&&this.push(e),b.length+(f?1:0)},c.prototype.auto=function(a,b){var c=this.autopush(a),d=b();return c>0&&this.pop(c),d},c.prototype.getProperty=function(a){if(this.styleOverrides)for(var b=this.styleOverrides.length-1;b>=0;b--){var c=this.styleOverrides[b];if("string"==typeof c||c instanceof String){var d=this.styleDictionary[c];if(d&&null!==d[a]&&void 0!==d[a])return d[a]}else if(void 0!==c[a]&&null!==c[a])return c[a]}return this.defaultStyle&&this.defaultStyle[a]},b.exports=c},{}],96:[function(a,b){function c(a){this.tableNode=a}var d=a("./columnCalculator");c.prototype.beginTable=function(a){function b(){var a=0;return e.table.widths.forEach(function(b){a+=b._calcWidth}),a}function c(){var a=[],b=0,c=0;a.push({left:0,rowSpan:0});for(var d=0,e=g.tableNode.table.body[0].length;e>d;d++){var f=g.layout.paddingLeft(d,g.tableNode)+g.layout.paddingRight(d,g.tableNode),h=g.layout.vLineWidth(d,g.tableNode);c=f+h+g.tableNode.table.widths[d]._calcWidth,a[a.length-1].width=c,b+=c,a.push({left:b,rowSpan:0,width:0})}return a}var e,f,g=this;e=this.tableNode,this.offsets=e._offsets,this.layout=e._layout,f=a.context().availableWidth-this.offsets.total,d.buildColumnWidths(e.table.widths,f),this.tableWidth=e._offsets.total+b(),this.rowSpanData=c(),this.cleanUpRepeatables=!1,this.headerRows=e.table.headerRows||0,this.rowsWithoutPageBreak=this.headerRows+(e.table.keepWithHeaderRows||0),this.dontBreakRows=e.table.dontBreakRows||!1,this.rowsWithoutPageBreak&&a.beginUnbreakableBlock(),this.drawHorizontalLine(0,a)},c.prototype.onRowBreak=function(a,b){var c=this;return function(){var a=c.rowPaddingTop+(c.headerRows?0:c.topLineWidth);b.context().moveDown(a)}},c.prototype.beginRow=function(a,b){this.topLineWidth=this.layout.hLineWidth(a,this.tableNode),this.rowPaddingTop=this.layout.paddingTop(a,this.tableNode),this.bottomLineWidth=this.layout.hLineWidth(a+1,this.tableNode),this.rowPaddingBottom=this.layout.paddingBottom(a,this.tableNode),this.rowCallback=this.onRowBreak(a,b),b.tracker.startTracking("pageChanged",this.rowCallback),this.dontBreakRows&&b.beginUnbreakableBlock(),this.rowTopY=b.context().y,this.reservedAtBottom=this.bottomLineWidth+this.rowPaddingBottom,b.context().availableHeight-=this.reservedAtBottom,b.context().moveDown(this.rowPaddingTop)},c.prototype.drawHorizontalLine=function(a,b,c){var d=this.layout.hLineWidth(a,this.tableNode);if(d){for(var e=d/2,f=null,g=0,h=this.rowSpanData.length;h>g;g++){var i=this.rowSpanData[g],j=!i.rowSpan;!f&&j&&(f={left:i.left,width:0}),j&&(f.width+=i.width||0);var k=(c||0)+e;j&&g!==h-1||f&&(b.addVector({type:"line",x1:f.left,x2:f.left+f.width,y1:k,y2:k,lineWidth:d,lineColor:"function"==typeof this.layout.hLineColor?this.layout.hLineColor(a,this.tableNode):this.layout.hLineColor},!1,c),f=null)}b.context().moveDown(d)}},c.prototype.drawVerticalLine=function(a,b,c,d,e){var f=this.layout.vLineWidth(d,this.tableNode);0!==f&&e.addVector({type:"line",x1:a+f/2,x2:a+f/2,y1:b,y2:c,lineWidth:f,lineColor:"function"==typeof this.layout.vLineColor?this.layout.vLineColor(d,this.tableNode):this.layout.vLineColor},!1,!0)},c.prototype.endTable=function(a){this.cleanUpRepeatables&&a.popFromRepeatables()},c.prototype.endRow=function(a,b,c){function d(){for(var b=[],c=0,d=0,e=g.tableNode.table.body[a].length;e>d;d++){if(!c){b.push({x:g.rowSpanData[d].left,index:d});var f=g.tableNode.table.body[a][d];c=f._colSpan||f.colSpan||0}c>0&&c--}return b.push({x:g.rowSpanData[g.rowSpanData.length-1].left,index:g.rowSpanData.length-1}),b}var e,f,g=this;b.tracker.stopTracking("pageChanged",this.rowCallback),b.context().moveDown(this.layout.paddingBottom(a,this.tableNode)),b.context().availableHeight+=this.reservedAtBottom;var h=b.context().page,i=b.context().y,j=d(),k=[],l=c&&c.length>0;if(k.push({y0:this.rowTopY,page:l?c[0].prevPage:h}),l)for(f=0,e=c.length;e>f;f++){var m=c[f];k[k.length-1].y1=m.prevY,k.push({y0:m.y,page:m.prevPage+1})}k[k.length-1].y1=i;for(var n=k[0].y1-k[0].y0===this.rowPaddingTop,o=n?1:0,p=k.length;p>o;o++){var q=o0&&!this.headerRows,s=r?0:this.topLineWidth,t=k[o].y0,u=k[o].y1;for(b.context().page!=k[o].page&&(b.context().page=k[o].page,this.reservedAtBottom=0),f=0,e=j.length;e>f;f++)if(this.drawVerticalLine(j[f].x,t-s,u+this.bottomLineWidth,j[f].index,b),e-1>f){var v=j[f].index,w=this.tableNode.table.body[a][v].fillColor;if(w){var x=this.layout.vLineWidth(v,this.tableNode),y=j[f].x+x,z=t-s;b.addVector({type:"rect",x:y,y:z,w:j[f+1].x-y,h:u+this.bottomLineWidth-z,lineWidth:0,color:w},!1,!0,0)}}q&&this.drawHorizontalLine(a+1,b,u),r&&this.drawHorizontalLine(a,b,t)}b.context().page=h,b.context().y=i;var A=this.tableNode.table.body[a];for(f=0,e=A.length;e>f;f++){if(A[f].rowSpan&&(this.rowSpanData[f].rowSpan=A[f].rowSpan,A[f].colSpan&&A[f].colSpan>1))for(var B=1;B0&&this.rowSpanData[f].rowSpan--}this.drawHorizontalLine(a+1,b),this.headerRows&&a===this.headerRows-1&&(this.headerRepeatable=b.currentBlockToRepeatable()),this.dontBreakRows&&b.tracker.auto("pageChanged",function(){g.drawHorizontalLine(a,b)},function(){b.commitUnbreakableBlock()}),!this.headerRepeatable||a!==this.rowsWithoutPageBreak-1&&a!==this.tableNode.table.body.length-1||(b.commitUnbreakableBlock(),b.pushToRepeatables(this.headerRepeatable),this.cleanUpRepeatables=!0,this.headerRepeatable=null)},b.exports=c},{"./columnCalculator":83}],97:[function(a,b){"use strict";function c(a){for(var b=[],c=null,d=0,e=a.inlines.length;e>d;d++){var f=a.inlines[d],g=f.decoration;if(g){var h=f.decorationColor||f.color||"black",i=f.decorationStyle||"solid";g=Array.isArray(g)?g:[g];for(var j=0,k=g.length;k>j;j++){var l=g[j];c&&l===c.decoration&&i===c.decorationStyle&&h===c.decorationColor&&"lineThrough"!==l?c.inlines.push(f):(c={line:a,decoration:l,decorationColor:h,decorationStyle:i,inlines:[f]},b.push(c))}}else c=null}return b}function d(a,b,c,d){function e(){for(var b=0,c=0,d=a.inlines.length;d>c;c++){var e=a.inlines[c];b=e.fontSize>b?c:b}return a.inlines[b]}function f(){for(var b=0,c=0,d=a.inlines.length;d>c;c++)b+=a.inlines[c].width;return b}var g=a.inlines[0],h=e(),i=f(),j=a.line.getAscenderHeight(),k=h.font.ascender/1e3*h.fontSize,l=h.height,m=l-k,n=.5+.12*Math.floor(Math.max(h.fontSize-8,0)/2);switch(a.decoration){case"underline":c+=j+.45*m;break;case"overline":c+=j-.85*k;break;case"lineThrough":c+=j-.25*k;break;default:throw"Unkown decoration : "+a.decoration}if(d.save(),"double"===a.decorationStyle){var o=Math.max(.5,2*n);d.fillColor(a.decorationColor).rect(b+g.x,c-n/2,i,n/2).fill().rect(b+g.x,c+o-n/2,i,n/2).fill()}else if("dashed"===a.decorationStyle){var p=Math.ceil(i/6.8),q=b+g.x;d.rect(q,c,i,n).clip(),d.fillColor(a.decorationColor);for(var r=0;p>r;r++)d.rect(q,c-n/2,3.96,n).fill(),q+=6.8}else if("dotted"===a.decorationStyle){var s=Math.ceil(i/(3*n)),t=b+g.x;d.rect(t,c,i,n).clip(),d.fillColor(a.decorationColor);for(var u=0;s>u;u++)d.rect(t,c-n/2,n,n).fill(),t+=3*n}else if("wavy"===a.decorationStyle){var v=.7,w=1,x=Math.ceil(i/(2*v))+1,y=b+g.x-1;d.rect(b+g.x,c-w,i,c+w).clip(),d.lineWidth(.24),d.moveTo(y,c);for(var z=0;x>z;z++)d.bezierCurveTo(y+v,c-w,y+2*v,c-w,y+3*v,c).bezierCurveTo(y+4*v,c+w,y+5*v,c+w,y+6*v,c),y+=6*v;d.stroke(a.decorationColor)}else d.fillColor(a.decorationColor).rect(b+g.x,c-n/2,i,n).fill();d.restore()}function e(a,b,e,f){for(var g=c(a),h=0,i=g.length;i>h;h++)d(g[h],b,e,f)}function f(a,b,c,d){for(var e=a.getHeight(),f=0,g=a.inlines.length;g>f;f++){var h=a.inlines[f];h.background&&d.fillColor(h.background).rect(b+h.x,c,h.width,e).fill()}}b.exports={drawBackground:f,drawDecorations:e}},{}],98:[function(a,b){"use strict";function c(a){this.fontProvider=a}function d(a){var b=[];a=a.replace(" "," ");for(var c=a.match(j),d=0,e=c.length;e-1>d;d++){var f=c[d],g=0===f.length;if(g){var h=0===b.length||b[b.length-1].lineEnd;h?b.push({text:"",lineEnd:!0}):b[b.length-1].lineEnd=!0}else b.push({text:f})}return b}function e(a,b){b=b||{},a=a||{};for(var c in a)"text"!=c&&a.hasOwnProperty(c)&&(b[c]=a[c]);return b}function f(a){var b=[];("string"==typeof a||a instanceof String)&&(a=[a]);for(var c=0,f=a.length;f>c;c++){var g,h=a[c],i=null;"string"==typeof h||h instanceof String?g=d(h):(g=d(h.text),i=e(h));for(var j=0,k=g.length;k>j;j++){var l={text:g[j].text};g[j].lineEnd&&(l.lineEnd=!0),e(i,l),b.push(l)}}return b}function g(a){return a.replace(/[^A-Za-z0-9\[\] ]/g,function(a){return m[a]||a})}function h(a,b,c,d){var e;return void 0!==a[c]&&null!==a[c]?a[c]:b?(b.auto(a,function(){e=b.getProperty(c)}),null!==e&&void 0!==e?e:d):d}function i(a,b,c){var d=f(b);return d.forEach(function(b){var d=h(b,c,"font","Roboto"),e=h(b,c,"fontSize",12),f=h(b,c,"bold",!1),i=h(b,c,"italics",!1),j=h(b,c,"color","black"),m=h(b,c,"decoration",null),n=h(b,c,"decorationColor",null),o=h(b,c,"decorationStyle",null),p=h(b,c,"background",null),q=h(b,c,"lineHeight",1),r=a.provideFont(d,f,i); +b.width=r.widthOfString(g(b.text),e),b.height=r.lineHeight(e)*q;var s=b.text.match(k),t=b.text.match(l);b.leadingCut=s?r.widthOfString(s[0],e):0,b.trailingCut=t?r.widthOfString(t[0],e):0,b.alignment=h(b,c,"alignment","left"),b.font=r,b.fontSize=e,b.color=j,b.decoration=m,b.decorationColor=n,b.decorationStyle=o,b.background=p}),d}var j=/([^ ,\/!.?:;\-\n]*[ ,\/!.?:;\-]*)|\n/g,k=/^(\s)+/g,l=/(\s)+$/g;c.prototype.buildInlines=function(a,b){function c(a){return Math.max(0,a.width-a.leadingCut-a.trailingCut)}var d,e=i(this.fontProvider,a,b),f=0,g=0;return e.forEach(function(a){f=Math.max(f,a.width-a.leadingCut-a.trailingCut),d||(d={width:0,leadingCut:a.leadingCut,trailingCut:0}),d.width+=a.width,d.trailingCut=a.trailingCut,g=Math.max(g,c(d)),a.lineEnd&&(d=null)}),{items:e,minWidth:f,maxWidth:g}},c.prototype.sizeOfString=function(a,b){a=a.replace(" "," ");var c=h({},b,"font","Roboto"),d=h({},b,"fontSize",12),e=h({},b,"bold",!1),f=h({},b,"italics",!1),i=h({},b,"lineHeight",1),j=this.fontProvider.provideFont(c,e,f);return{width:j.widthOfString(g(a),d),height:j.lineHeight(d)*i,fontSize:d,lineHeight:i,ascender:j.ascender/1e3*d,decender:j.decender/1e3*d}};var m={"Ą":"A","Ć":"C","Ę":"E","Ł":"L","Ń":"N","Ó":"O","Ś":"S","Ź":"Z","Ż":"Z","ą":"a","ć":"c","ę":"e","ł":"l","ń":"n","ó":"o","ś":"s","ź":"z","ż":"z"};b.exports=c},{}],99:[function(a,b){"use strict";function c(){this.events={}}c.prototype.startTracking=function(a,b){var c=this.events[a]||(this.events[a]=[]);c.indexOf(b)<0&&c.push(b)},c.prototype.stopTracking=function(a,b){var c=this.events[a];if(c){var d=c.indexOf(b);d>=0&&c.splice(d,1)}},c.prototype.emit=function(a){var b=Array.prototype.slice.call(arguments,1),c=this.events[a];c&&c.forEach(function(a){a.apply(this,b)})},c.prototype.auto=function(a,b,c){this.startTracking(a,b),c(),this.stopTracking(a,b)},b.exports=c},{}],fs:[function(a,b){(function(a,c){"use strict";function d(){this.fileSystem={},this.baseSystem={}}function e(a){return 0===a.indexOf(c)&&(a=a.substring(c.length)),0===a.indexOf("/")&&(a=a.substring(1)),a}d.prototype.readFileSync=function(b){b=e(b);var c=this.baseSystem[b];return c?new a(c,"base64"):this.fileSystem[b]},d.prototype.writeFileSync=function(a,b){this.fileSystem[e(a)]=b},d.prototype.bindFS=function(a){this.baseSystem=a},b.exports=new d}).call(this,a("buffer").Buffer,"/src/browser-extensions")},{buffer:17}],pdfMake:[function(a,b,c){arguments[4][82][0].apply(c,arguments)},{"../../libs/fileSaver":1,"../printer":92,buffer:17,dup:82}]},{},[82])("pdfMake")}); +//# sourceMappingURL=pdfmake.min.js.map \ No newline at end of file diff --git a/public/js/pdfmake.min.js.map b/public/js/pdfmake.min.js.map new file mode 100644 index 000000000000..389457c213ee --- /dev/null +++ b/public/js/pdfmake.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"pdfmake.min.js","sources":["pdfmake.js"],"names":["f","exports","module","define","amd","g","window","global","self","this","pdfMake","e","t","n","r","s","o","u","a","require","i","Error","code","l","call","length",1,"saveAs","navigator","msSaveOrOpenBlob","bind","view","test","userAgent","doc","document","get_URL","URL","webkitURL","save_link","createElementNS","can_use_save_link","click","node","event","createEvent","initMouseEvent","dispatchEvent","webkit_req_fs","webkitRequestFileSystem","req_fs","requestFileSystem","mozRequestFileSystem","throw_outside","ex","setImmediate","setTimeout","force_saveable_type","fs_min_size","arbitrary_revoke_timeout","revoke","file","revoker","revokeObjectURL","remove","chrome","dispatch","filesaver","event_types","concat","listener","FileSaver","blob","name","object_url","target_view","slice","type","blob_changed","dispatch_all","split","fs_error","createObjectURL","location","href","new_tab","open","undefined","safari","readyState","DONE","abortable","func","apply","arguments","create_if_not_found","create","exclusive","INIT","download","webkitSlice","size","TEMPORARY","fs","root","getDirectory","dir","save","getFile","createWriter","writer","onwriteend","toURL","onerror","error","ABORT_ERR","forEach","write","abort","WRITING","NOT_FOUND_ERR","FS_proto","prototype","onwritestart","onprogress","onwrite","onabort","content",2,"replacer","key","value","util","isUndefined","isNumber","isFinite","toString","isFunction","isRegExp","truncate","isString","getMessage","JSON","stringify","actual","operator","expected","fail","message","stackStartFunction","assert","AssertionError","ok","_deepEqual","isBuffer","isDate","getTime","source","multiline","lastIndex","ignoreCase","isObject","objEquiv","isArguments","object","Object","b","isNullOrUndefined","isPrimitive","aIsArgs","bIsArgs","pSlice","ka","objectKeys","kb","sort","expectedException","_throws","shouldThrow","block","Array","hasOwn","hasOwnProperty","options","generatedMessage","captureStackTrace","err","stack","out","fn_name","idx","indexOf","next_line","substring","inherits","equal","notEqual","deepEqual","notDeepEqual","strictEqual","notStrictEqual","doesNotThrow","ifError","keys","obj","push","util/",3,4,"TYPED_OK","Uint8Array","Uint16Array","Int32Array","assign","sources","shift","TypeError","p","shrinkBuf","buf","subarray","fnTyped","arraySet","dest","src","src_offs","len","dest_offs","set","flattenChunks","chunks","pos","chunk","result","fnUntyped","setTyped","on","Buf8","Buf16","Buf32",5,"adler32","adler","s1","s2",6,"Z_NO_FLUSH","Z_PARTIAL_FLUSH","Z_SYNC_FLUSH","Z_FULL_FLUSH","Z_FINISH","Z_BLOCK","Z_TREES","Z_OK","Z_STREAM_END","Z_NEED_DICT","Z_ERRNO","Z_STREAM_ERROR","Z_DATA_ERROR","Z_BUF_ERROR","Z_NO_COMPRESSION","Z_BEST_SPEED","Z_BEST_COMPRESSION","Z_DEFAULT_COMPRESSION","Z_FILTERED","Z_HUFFMAN_ONLY","Z_RLE","Z_FIXED","Z_DEFAULT_STRATEGY","Z_BINARY","Z_TEXT","Z_UNKNOWN","Z_DEFLATED",7,"makeTable","c","table","k","crc32","crc","crcTable","end",8,"strm","errorCode","msg","rank","zero","flush_pending","state","pending","avail_out","utils","output","pending_buf","pending_out","next_out","total_out","flush_block_only","last","trees","_tr_flush_block","block_start","strstart","put_byte","putShortMSB","read_buf","start","avail_in","input","next_in","wrap","total_in","longest_match","cur_match","match","chain_length","max_chain_length","scan","best_len","prev_length","nice_match","limit","w_size","MIN_LOOKAHEAD","_win","wmask","w_mask","prev","strend","MAX_MATCH","scan_end1","scan_end","good_match","lookahead","match_start","fill_window","m","more","str","_w_size","window_size","hash_size","head","insert","MIN_MATCH","ins_h","hash_shift","hash_mask","deflate_stored","flush","max_block_size","pending_buf_size","BS_NEED_MORE","max_start","BS_FINISH_STARTED","BS_FINISH_DONE","deflate_fast","hash_head","bflush","match_length","_tr_tally","max_lazy_match","last_lit","BS_BLOCK_DONE","deflate_slow","max_insert","prev_match","strategy","match_available","deflate_rle","deflate_huff","lm_init","configuration_table","level","max_lazy","good_length","nice_length","max_chain","DeflateState","status","gzhead","gzindex","method","last_flush","w_bits","hash_bits","dyn_ltree","HEAP_SIZE","dyn_dtree","D_CODES","bl_tree","BL_CODES","l_desc","d_desc","bl_desc","bl_count","MAX_BITS","heap","L_CODES","heap_len","heap_max","depth","l_buf","lit_bufsize","d_buf","opt_len","static_len","matches","bi_buf","bi_valid","deflateResetKeep","data_type","INIT_STATE","BUSY_STATE","_tr_init","deflateReset","ret","deflateSetHeader","deflateInit2","windowBits","memLevel","MAX_MEM_LEVEL","deflateInit","MAX_WBITS","DEF_MEM_LEVEL","deflate","old_flush","beg","val","FINISH_STATE","text","hcrc","extra","comment","time","os","EXTRA_STATE","OS_CODE","header","level_flags","PRESET_DICT","NAME_STATE","charCodeAt","COMMENT_STATE","HCRC_STATE","bstate","_tr_align","_tr_stored_block","deflateEnd","LENGTH_CODES","LITERALS","Config","deflateInfo","../utils/common","./adler32","./crc32","./messages","./trees",9,"BAD","TYPE","_in","_out","dmax","wsize","whave","wnext","hold","bits","lcode","dcode","lmask","dmask","here","op","dist","from","from_source","lencode","distcode","lenbits","distbits","top","dolen","mode","dodist","sane",10,"ZSWAP32","q","InflateState","havedict","flags","check","total","wbits","offset","ncode","nlen","ndist","have","next","lens","work","lendyn","distdyn","back","was","inflateResetKeep","HEAD","ENOUGH_LENS","ENOUGH_DISTS","inflateReset","inflateReset2","inflateInit2","inflateInit","DEF_WBITS","fixedtables","virgin","sym","lenfix","distfix","inflate_table","LENS","DISTS","updatewindow","copy","inflate","put","left","here_bits","here_op","here_val","last_bits","last_op","last_val","opts","hbuf","order","TYPEDO","inf_leave","FLAGS","done","DICTID","TIME","OS","xflags","EXLEN","extra_len","EXTRA","NAME","String","fromCharCode","COMMENT","HCRC","DICT","CHECK","STORED","LEN_","TABLE","COPY_","COPY","LENLENS","CODES","CODELENS","LEN","inflate_fast","LIT","LENEXT","DIST","DISTEXT","MATCH","LENGTH","MEM","Z_MEM_ERROR","SYNC","inflateEnd","inflateGetHeader","inflateInfo","./inffast","./inftrees",11,"MAXBITS","lbase","lext","dbase","dext","lens_index","codes","table_index","incr","fill","low","mask","min","max","curr","drop","used","huff","base","base_index","count","offs","extra_index",12,"0","-1","-2","-3","-4","-5","-6",13,"d_code","_dist_code","put_short","w","send_bits","Buf_size","send_code","tree","bi_reverse","res","bi_flush","gen_bitlen","desc","h","xbits","dyn_tree","max_code","stree","stat_desc","static_tree","has_stree","extra_bits","extra_base","max_length","overflow","gen_codes","next_code","tr_static_init","base_length","extra_lbits","_length_code","base_dist","extra_dbits","static_ltree","static_dtree","static_l_desc","StaticTreeDesc","static_d_desc","static_bl_desc","extra_blbits","MAX_BL_BITS","init_block","END_BLOCK","bi_windup","copy_block","smaller","_n2","_m2","pqdownheap","v","j","compress_block","ltree","dtree","lc","lx","build_tree","elems","scan_tree","curlen","prevlen","nextlen","max_count","min_count","REP_3_6","REPZ_3_10","REPZ_11_138","send_tree","build_bl_tree","max_blindex","bl_order","send_all_trees","lcodes","dcodes","blcodes","detect_data_type","black_mask","static_init_done","TreeDesc","stored_len","STORED_BLOCK","STATIC_TREES","opt_lenb","static_lenb","DYN_TREES","DIST_CODE_LEN",14,"ZStream",15,"process","Buffer","Zlib","DEFLATE","UNZIP","init_done","write_in_progress","pending_close","dictionary","bufferSet","data","zstream","zlib_deflate","zlib_inflate","constants","NONE","INFLATE","GZIP","GUNZIP","DEFLATERAW","INFLATERAW","init","_error","params","_writeCheck","in_off","in_len","out_off","out_len","nextTick","_write","callback","close","writeSync","_set","reset","_process","buffer","pako/lib/zlib/constants","pako/lib/zlib/deflate.js","pako/lib/zlib/inflate.js","pako/lib/zlib/messages","pako/lib/zlib/zstream",16,"zlibBuffer","engine","flow","read","buffers","nread","once","onError","removeListener","onEnd","zlibBufferSync","flushFlag","binding","_processChunk","Deflate","Inflate","Gzip","Gunzip","DeflateRaw","InflateRaw","Unzip","_opts","_chunkSize","chunkSize","Z_DEFAULT_CHUNK","Transform","_flushFlag","Z_MIN_CHUNK","Z_MAX_CHUNK","Z_MIN_WINDOWBITS","Z_MAX_WINDOWBITS","Z_MIN_LEVEL","Z_MAX_LEVEL","Z_MIN_MEMLEVEL","Z_MAX_MEMLEVEL","_binding","_hadError","errno","emit","Z_DEFAULT_WINDOWBITS","Z_DEFAULT_MEMLEVEL","_buffer","_offset","_closed","_level","_strategy","Infinity","Z_DEFAULT_LEVEL","Z_VERSION_ERROR","createDeflate","createInflate","createDeflateRaw","createInflateRaw","createGzip","createGunzip","createUnzip","deflateSync","gzip","gzipSync","deflateRaw","deflateRawSync","unzip","unzipSync","inflateSync","gunzip","gunzipSync","inflateRaw","inflateRawSync","RangeError","_flush","_transform","kind","ws","_writableState","ended","ending","needDrain","encoding","cb","availInAfter","availOutAfter","availOutBefore","async","inOff","availInBefore","newReq","er","req","./binding","_stream_transform",17,"subject","noZero","byteLength","isArray","kMaxLength","TYPED_ARRAY_SUPPORT","_augment","_isBuffer","isArrayish","readUInt8","poolSize","parent","rootParent","SlowBuffer","hexWrite","string","Number","remaining","strLen","byte","parseInt","substr","isNaN","utf8Write","charsWritten","blitBuffer","utf8ToBytes","asciiWrite","asciiToBytes","binaryWrite","base64Write","base64ToBytes","utf16leWrite","utf16leToBytes","base64Slice","base64","fromByteArray","utf8Slice","tmp","Math","decodeUtf8Char","asciiSlice","binarySlice","hexSlice","toHex","utf16leSlice","bytes","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","ieee754","writeDouble","base64clean","stringtrim","replace","INVALID_BASE64_RE","trim","units","codePoint","leadSurrogate","byteArray","hi","lo","toByteArray","dst","decodeURIComponent","INSPECT_MAX_BYTES","ArrayBuffer","arr","foo","compare","x","y","isEncoding","toLowerCase","list","totalLength","item","loweredCase","equals","inspect","join","get","writeUInt8","swap","toJSON","_arr","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt16LE","readUInt16BE","readUInt32LE","readUInt32BE","readIntLE","pow","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUIntBE","floor","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","target","target_start","toArrayBuffer","BP","constructor","_get","toLocaleString","base64-js","is-array",18,"lookup","decode","elt","PLUS","PLUS_URL_SAFE","SLASH","SLASH_URL_SAFE","NUMBER","UPPER","LOWER","b64ToByteArray","b64","L","placeHolders","charAt","Arr","uint8ToBase64","uint8","encode","num","tripletToBase64","temp","extraBytes","base64js",19,"isLE","mLen","nBytes","eLen","eMax","eBias","nBits","d","NaN","rt","abs","log","LN2",20,21,"EventEmitter","_events","_maxListeners","arg","defaultMaxListeners","setMaxListeners","handler","args","listeners","addListener","newListener","warned","console","trace","fired","position","splice","removeAllListeners","listenerCount","emitter",22,"ctor","superCtor","super_","enumerable","writable","configurable","TempCtor",23,24,"drainQueue","draining","currentQueue","queue","noop","fun","title","browser","env","argv","version","off","cwd","chdir","umask",25,"./lib/_stream_duplex.js",26,"Duplex","Readable","Writable","readable","allowHalfOpen","onend","xs","./_stream_readable","./_stream_writable","core-util-is",27,"PassThrough","./_stream_transform",28,"ReadableState","stream","hwm","highWaterMark","defaultHwm","objectMode","pipes","pipesCount","flowing","endEmitted","reading","sync","needReadable","emittedReadable","readableListening","readableObjectMode","defaultEncoding","ranOut","awaitDrain","readingMore","decoder","StringDecoder","_readableState","Stream","readableAddChunk","addToFront","chunkInvalid","onEofChunk","unshift","emitReadable","maybeReadMore","needMoreData","roundUpToNextPowerOf2","MAX_HWM","howMuchToRead","isNull","debug","emitReadable_","maybeReadMore_","pipeOnDrain","EE","resume","resumeScheduled","resume_","fromList","stringMode","cpy","endReadable","debuglog","setEncoding","enc","nOrig","doRead","_read","pipe","pipeOpts","onunpipe","cleanup","onclose","onfinish","ondrain","ondata","pause","unpipe","doEnd","stdout","stderr","endFn","dests","ev","fn","paused","events","_fromList","./_stream_duplex","isarray","string_decoder/",29,"TransformState","afterTransform","needTransform","transforming","writecb","writechunk","ts","_transformState","rs","writeencoding",30,"WriteReq","WritableState","writableObjectMode","finished","noDecode","decodeStrings","writing","corked","bufferProcessing","writelen","pendingcb","prefinished","errorEmitted","writeAfterEnd","validChunk","valid","decodeChunk","writeOrBuffer","doWrite","writev","_writev","onwriteError","onwriteStateUpdate","needFinish","clearBuffer","afterWrite","onwriteDrain","finishMaybe","cbs","entry","prefinish","need","endWritable","cork","uncork",31,"ar","isBoolean","isSymbol","re","objectToString","isError",32,"./lib/_stream_passthrough.js",33,"./lib/_stream_readable.js","./lib/_stream_transform.js","./lib/_stream_writable.js",34,35,36,"didOnEnd","destroy","_isStdio","readable-stream/duplex.js","readable-stream/passthrough.js","readable-stream/readable.js","readable-stream/transform.js","readable-stream/writable.js",37,"assertEncoding","isBufferEncoding","passThroughWrite","utf16DetectIncompleteChar","charReceived","charLength","base64DetectIncompleteChar","surrogateSize","detectIncompleteChar","charBuffer","charStr","available","charCode","cr",38,39,"ctx","seen","stylize","stylizeNoColor","colors","showHidden","_extend","customInspect","stylizeWithColor","formatValue","styleType","style","styles","arrayToHash","array","hash","recurseTimes","primitive","formatPrimitive","visibleKeys","getOwnPropertyNames","formatError","RegExp","Date","braces","toUTCString","formatArray","map","formatProperty","pop","reduceToSingleString","simple","getOwnPropertyDescriptor","line","numLinesEst","reduce","cur","prop","formatRegExp","format","objects","_","deprecate","deprecated","throwDeprecation","traceDeprecation","noDeprecation","debugEnviron","debugs","NODE_DEBUG","toUpperCase","pid","bold","italic","underline","inverse","white","grey","black","blue","cyan","green","magenta","red","yellow","special","number","boolean","null","date","regexp","origin","add","./support/isBuffer",40,"baseCompareAscending","other","valIsReflexive","othIsReflexive","baseIndexOf","fromIndex","indexOfNaN","index","baseSortBy","comparer","baseToString","charAtCallback","charsLeftIndex","chars","charsRightIndex","compareAscending","criteria","compareMultipleAscending","objCriteria","othCriteria","deburrLetter","letter","deburredLetters","escapeHtmlChar","chr","htmlEscapes","escapeStringChar","stringEscapes","fromRight","isObjectLike","isSpace","replaceHolders","placeholder","resIndex","PLACEHOLDER","sortedUniq","iteratee","computed","trimmedLeftIndex","trimmedRightIndex","unescapeHtmlChar","htmlUnescapes","runInContext","context","lodash","LodashWrapper","__wrapped__","__chain__","arrayCopy","__actions__","chainAll","actions","LazyWrapper","dropCount","filtered","iteratees","takeCount","POSITIVE_INFINITY","views","wrapped","lazyClone","lazyReverse","clone","lazyValue","baseWrapperValue","isRight","getView","nativeMin","iterLength","outer","iterIndex","LAZY_MAP_FLAG","LAZY_FILTER_FLAG","MapCache","__data__","mapDelete","has","mapGet","mapHas","mapSet","SetCache","values","nativeCreate","Set","cacheIndexOf","cache","cachePush","arrayEach","arrayEachRight","arrayEvery","predicate","arrayFilter","arrayMap","arrayMax","NEGATIVE_INFINITY","arrayMin","arrayReduce","accumulator","initFromArray","arrayReduceRight","arraySome","assignDefaults","objectValue","sourceValue","assignOwnDefaults","baseAssign","customizer","props","baseCopy","baseAt","collection","isArr","isLength","propsLength","parseFloat","isIndex","baseBindAll","methodNames","createWrapper","BIND_FLAG","baseCallback","thisArg","argCount","isBindable","bindCallback","identity","baseMatches","baseProperty","baseClone","isDeep","stackA","stackB","initCloneArray","tag","objToString","isFunc","funcTag","objectTag","argsTag","cloneableTags","initCloneByTag","initCloneObject","baseForOwn","subValue","baseDelay","wait","FUNC_ERROR_TEXT","baseSlice","baseDifference","getIndexOf","isCommon","createCache","valuesLength","valuesIndex","baseEach","iterable","toObject","baseEachRight","baseForOwnRight","baseEvery","baseFilter","baseFind","eachFunc","retKey","baseFlatten","isStrict","valIndex","valLength","baseFor","keysFunc","baseForRight","baseForIn","keysIn","baseFunctions","baseInvoke","methodName","baseIsEqual","isWhere","valType","othType","baseIsEqualDeep","equalFunc","objIsArr","othIsArr","objTag","arrayTag","othTag","isTypedArray","objIsObj","othIsObj","isSameTag","equalByTag","valWrapped","othWrapped","equalArrays","equalObjects","baseIsMatch","strictCompareFlags","noCustomizer","objValue","srcValue","baseMap","isStrictComparable","baseMerge","isSrcArr","baseMergeDeep","mergeFunc","isPlainObject","toPlainObject","basePullAt","indexes","previous","baseRandom","nativeRandom","baseReduce","initFromCollection","baseSome","baseUniq","isLarge","seenIndex","baseValues","action","binaryIndex","retHighest","high","HALF_MAX_ARRAY_LENGTH","mid","binaryIndexBy","valIsNaN","valIsUndef","isReflexive","setLow","MAX_ARRAY_INDEX","bufferClone","bufferSlice","composeArgs","partials","holders","holdersLength","argsIndex","argsLength","nativeMax","leftIndex","leftLength","composeArgsRight","holdersIndex","rightIndex","rightLength","pad","createAggregator","setter","initializer","getCallback","createAssigner","assigner","isIterateeCall","createBindWrapper","wrapper","Ctor","createCtorWrapper","createCompounder","words","deburr","thisBinding","baseCreate","createExtremum","arrayFunc","isMin","noIteratee","toIterable","extremumBy","createHybridWrapper","bitmask","partialsRight","holdersRight","argPos","ary","arity","isCurry","isCurryRight","argsHolders","newArgPos","newArity","newsHolders","newHoldersRight","newPartials","newPartialsRight","PARTIAL_FLAG","PARTIAL_RIGHT_FLAG","isCurryBound","BIND_KEY_FLAG","isBind","isBindKey","reorder","isAry","ARY_FLAG","CURRY_FLAG","CURRY_BOUND_FLAG","CURRY_RIGHT_FLAG","createPad","strLength","nativeIsFinite","padLength","repeat","ceil","createPartialWrapper","getData","newData","mergeData","baseSetData","setData","arrLength","othLength","arrValue","othValue","othIndex","boolTag","dateTag","errorTag","numberTag","regexpTag","stringTag","objProps","objLength","othProps","hasCtor","objCtor","othCtor","exValue","current","transforms","arrayBufferTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","byteOffset","reFlags","exec","support","funcNames","funcDecomp","fnToString","reFuncName","reThis","isNative","MAX_SAFE_INTEGER","prereq","srcBitmask","newBitmask","arityFlags","REARG_FLAG","bindFlags","comboFlags","isRearg","isCombo","pickByArray","pickByCallback","oldArray","shimIsPlainObject","shimKeys","allowIndexes","nonEnumArgs","guard","compact","difference","dropRight","dropRightWhile","dropWhile","findIndex","findLastIndex","first","flatten","flattenDeep","initial","intersection","caches","lastIndexOf","pull","pullAt","rest","sortedIndex","sortedLastIndex","take","takeRight","takeRightWhile","takeWhile","union","uniq","isSorted","getLength","without","xor","zip","zipObject","chain","tap","interceptor","thru","wrapperChain","wrapperReverse","reverse","wrapperToString","wrapperValue","at","includes","every","filter","find","findLast","findWhere","forEachRight","invoke","pluck","reduceRight","reject","sample","shuffle","rand","some","sortBy","sortByAll","where","after","before","bindAll","functions","bindKey","curry","curryRight","debounce","cancel","timeoutId","clearTimeout","maxTimeoutId","trailingCall","delayed","now","stamp","isCalled","lastCalled","maxDelayed","trailing","maxWait","debounced","leading","leadingCall","defer","delay","funcs","flowRight","memoize","resolver","memoized","Cache","negate","partial","partialRight","rearg","throttle","debounceOptions","cloneDeep","isElement","nodeType","isEmpty","isEqual","isMatch","reNative","reHostCtor","typedArrayTags","toArray","properties","defaults","findKey","findLastKey","forIn","forInRight","forOwn","forOwnRight","invert","multiValue","isProto","skipIndexes","mapValues","omit","pairs","pick","defaultValue","transform","valuesIn","random","floating","noMin","noMax","capitalize","reLatin1","endsWith","escape","reHasUnescapedHtml","reUnescapedHtml","escapeRegExp","reHasRegExpChars","reRegExpChars","padLeft","padRight","radix","nativeParseInt","startsWith","template","otherOptions","settings","templateSettings","isEscaping","isEvaluating","imports","importsKeys","importsValues","interpolate","reNoMatch","reDelimiters","reInterpolate","reEsTemplate","evaluate","sourceURL","templateCounter","escapeValue","interpolateValue","esTemplateValue","evaluateValue","reUnescapedString","variable","reEmptyStringLeading","reEmptyStringMiddle","reEmptyStringTrailing","attempt","Function","trimLeft","trimRight","trunc","DEFAULT_TRUNC_LENGTH","omission","DEFAULT_TRUNC_OMISSION","separator","search","newEnd","unescape","reHasEscapedHtml","reEscapedHtml","pattern","reWords","constant","mixin","isObj","noConflict","oldDash","property","propertyOf","range","step","times","MAX_ARRAY_LENGTH","uniqueId","prefix","id","idCounter","contextProps","arrayProto","objectProto","getPrototypeOf","propertyIsEnumerable","WeakMap","Float64Array","nativeIsArray","nativeKeys","nativeNow","nativeNumIsFinite","FLOAT64_BYTES_PER_ELEMENT","BYTES_PER_ELEMENT","metaMap","WinRTError","dom","createDocumentFragment","reEscape","reEvaluate","floatLength","HOT_SPAN","HOT_COUNT","countBy","groupBy","indexBy","partition","valueOf","objProto","merge","camelCase","word","kebabCase","whitespace","reHexPrefix","snakeCase","startCase","backflow","collect","compose","each","eachRight","extend","methods","select","tail","unique","all","any","contains","detect","foldl","foldr","include","inject","VERSION","isFilter","LAZY_WHILE_FLAG","countName","whileName","takeName","dropName","operationName","createCallback","lodashFunc","retUnwrapped","isHybrid","isLazy","onlyLazy","otherArgs","chainName","mapTag","setTag","weakMapTag","upper","lower","À","Á","Â","Ã","Ä","Å","à","á","â","ã","ä","å","Ç","ç","Ð","ð","È","É","Ê","Ë","è","é","ê","ë","Ì","Í","Î","Ï","ì","í","î","ï","Ñ","ñ","Ò","Ó","Ô","Õ","Ö","Ø","ò","ó","ô","õ","ö","ø","Ù","Ú","Û","Ü","ù","ú","û","ü","Ý","ý","ÿ","Æ","æ","Þ","þ","ß","&","<",">","\"","'","`","&","<",">",""","'","`","objectTypes","function","\\","\n","\r","
","
","freeExports","freeModule","freeGlobal","moduleExports",41,"Data","readByte","writeByte","byteAt","readBool","writeBool","readUInt32","b1","b2","b3","b4","writeUInt32","readInt32","int","writeInt32","readUInt16","writeUInt16","readInt16","writeInt16","readString","_i","writeString","_ref","_results","stringAt","readShort","writeShort","readLongLong","b5","b6","b7","b8","writeLongLong","readInt","writeInt","_len",42,"PDFDocument","PDFObject","PDFPage","PDFReference","__hasProp","__extends","child","__super__","_super","_ref1","compress","_pageBuffer","_pageBufferStart","_offsets","_waiting","_ended","_root","ref","Type","Pages","Count","Kids","page","initColor","initVector","initFonts","initText","initImages","info","Producer","Creator","CreationDate","addPage","pages","bufferPages","flushPages","margins","_ctm","height","bufferedPageRange","switchToPage","addContent","_refEnd","_finalize","filename","createWriteStream","font","_info","_fontFamilies","embed","xRefOffset","convert","Size","Root","Info","./mixins/annotations","./mixins/color","./mixins/fonts","./mixins/images","./mixins/text","./mixins/vector","./object","./page","./reference",43,"__dirname","AFMFont","PDFFont","Subset","TTFFont","family","STANDARD_FONTS","isAFM","registerAFM","fromDFont","fromBuffer","subset","registerTTF","toUnicodeCmap","Courier","readFileSync","Courier-Bold","Courier-Oblique","Courier-BoldOblique","Helvetica","Helvetica-Bold","Helvetica-Oblique","Helvetica-BoldOblique","Times-Roman","Times-Bold","Times-Italic","Times-BoldItalic","Symbol","ZapfDingbats","use","characters","embedded","embedAFM","embedTTF","encodeText","raw","postscriptName","scaleFactor","unitsPerEm","bbox","round","stemV","post","exists","italic_angle","italicAngle","ascender","decender","lineGap","capHeight","os2","xHeight","familyClass","isSerif","isScript","isFixedPitch","cmap","unicode","charWidths","descriptor","firstChar","fontfile","glyph","Length1","uncompressedLength","FontName","FontFile2","FontBBox","Flags","StemV","ItalicAngle","Ascent","Descent","CapHeight","XHeight","widthOfGlyph","BaseFont","Subtype","FontDescriptor","FirstChar","LastChar","Widths","Encoding","ToUnicode","unicodeMap","widthOfString","scale","width","characterToGlyph","lineHeight","includeGap","gap","./font/afm","./font/subset","./font/ttf",44,"contents","attributes","glyphWidths","boundingBoxes","parse","WIN_ANSI_MAP","section",402,8211,8212,8216,8217,8218,8220,8221,8222,8224,8225,8226,8230,8364,8240,8249,8250,710,8482,338,339,732,352,353,376,381,382,"char","character",45,"DFont","Directory","NameTable","attr","dataLength","dataOffset","dataOfs","handle","mapLength","mapOffset","maxIndex","maxTypeIndex","nameListOffset","nameOfs","refListOffset","typeListOffset","_j","named","directory","fontName","getNamedFont","sfnt","../data","./directory","./tables/name",46,"__slice","scalarType","tableCount","searchRange","entrySelector","rangeShift","tables","checksum","adjustment","directoryLength","headOffset","log2","sum","tableData",47,"CmapTable","__indexOf","unicodes","generateCmap","mapping","roman","unicodeCmap","codeMap","glyphIDs","glyphsFor","additionalIDs","glyphs","glyf","glyphFor","compound","ids","loca","new2old","newIDs","nextGlyphID","old2new","oldID","oldIDs","charMap","old","maxGlyphID","offsets","hmtx","hhea","maxp","./tables/cmap","./utils",48,"Table",49,"CmapEntry","isUnicode","charmap","subtable","endCode","glyphId","glyphIds","idDelta","idRangeOffset","saveOffset","segCount","segCountX2","startCode","_k","platformID","encodingID","language","delta","deltas","diff","endCodes","nextID","rangeOffsets","startCodes","startGlyph","_l","_len1","_len2","_len3","_len4","_len5","_len6","_len7","_m","_n","_name","_o","_p","_q","new","../../data","../table",50,"CompoundGlyph","GlyfTable","SimpleGlyph","numberOfContours","xMax","xMin","yMax","yMin","lengthOf","glyphOffsets","MORE_COMPONENTS","ARG_1_AND_2_ARE_WORDS","WE_HAVE_A_TWO_BY_TWO","WE_HAVE_AN_X_AND_Y_SCALE","WE_HAVE_A_SCALE","WE_HAVE_INSTRUCTIONS",51,"HeadTable","revision","checkSumAdjustment","magicNumber","created","modified","macStyle","lowestRecPPEM","fontDirectionHint","indexToLocFormat","glyphDataFormat",52,"HheaTable","advanceWidthMax","minLeftSideBearing","minRightSideBearing","xMaxExtent","caretSlopeRise","caretSlopeRun","caretOffset","metricDataFormat","numberOfMetrics",53,"HmtxTable","lsbCount","metrics","advance","lsb","numGlyphs","leftSideBearings","widths","forGlyph","metric",54,"LocaTable",55,"MaxpTable","maxPoints","maxContours","maxCompositePoints","maxComponentContours","maxZones","maxTwilightPoints","maxStorage","maxFunctionDefs","maxInstructionDefs","maxStackElements","maxSizeOfInstructions","maxComponentElements","maxComponentDepth",56,"NameEntry","subsetTag","entries","stringOffset","strings","languageID","nameID","copyright","fontFamily","fontSubfamily","uniqueSubfamily","trademark","manufacturer","designer","description","vendorUrl","designerUrl","license","licenseUrl","preferredFamily","preferredSubfamily","compatibleFull","sampleText","nameTable","strCount","strTable","successorOf","../utils",57,"OS2Table","averageCharWidth","weightClass","widthClass","ySubscriptXSize","ySubscriptYSize","ySubscriptXOffset","ySubscriptYOffset","ySuperscriptXSize","ySuperscriptYSize","ySuperscriptXOffset","ySuperscriptYOffset","yStrikeoutSize","yStrikeoutPosition","panose","charRange","vendorID","selection","firstCharIndex","lastCharIndex","ascent","descent","winAscent","winDescent","codePageRange","defaultChar","breakChar","maxContext",58,"PostTable","POSTSCRIPT_GLYPHS","numberOfGlyphs","underlinePosition","underlineThickness","minMemType42","maxMemType42","minMemType1","maxMemType1","glyphNameIndex","names","_results1",59,"rawData","numFonts","dfont","ttf","./dfont","./tables/glyf","./tables/head","./tables/hhea","./tables/hmtx","./tables/loca","./tables/maxp","./tables/os2","./tables/post",60,"added","alphabet","carry","isUpperCase",61,"PDFGradient","PDFLinearGradient","PDFRadialGradient","stops","_colorSpace","stop","color","opacity","_normalizeColor","bounds","dx","dy","form","grad","group","gstate","m0","m1","m11","m12","m2","m21","m22","m3","m4","m5","resources","sMask","shader","_ref2","FunctionType","Domain","C0","C1","N","Functions","Bounds","Encode","_gradCount","PatternType","Shading","Matrix","toFixed","patterns","opacityGradient","S","CS","ProcSet","Sh1","FormType","BBox","Group","Resources","G","SMask","opacity_id","_opacityCount","ext_gstates","_sMasked","x1","y1","x2","y2","ShadingType","ColorSpace","Coords","Extend","r1","r2",62,"JPEG","PDFImage","PNG","label","./data","./image/jpeg","./image/png",63,"channels","marker","MARKERS","colorSpace","BitsPerComponent","Width","Height","Filter",64,"PNGImage","zlib","image","imgData","palette","rgb","hasAlphaChannel","Predictor","Colors","Columns","transparency","grayscale","greyscale","indexed","loadIndexedAlphaChannel","splitAlphaChannel","finalize","alphaChannel","Decode","decodePixels","_this","pixels","colorByteSize","pixelCount","png-js",65,"LineBreaker","LineWrapper","indent","characterSpacing","wordSpacing","columns","columnGap","lineWidth","spaceLeft","startX","startY","column","ellipsis","continuedX","maxY","continued","align","lastLine","paragraphGap","wordWidth","eachWord","bk","breaker","fbk","lbk","shouldContinue","wordWidths","nextBreak","required","emitLine","nextY","textWidth","wc","currentLineHeight","nextSection","wordCount","lh","_fillColor","fillColor","linebreak",66,"annotate","Rect","_convertRect","Border","C","Dest","annotations","note","Contents","Name","link","url","A","URI","_markup","QuadPoints","highlight","strike","lineAnnotation","rectAnnotation","ellipseAnnotation","textAnnotation","DA","../object",67,"namedColors","_opacityRegistry","hex","part","_setColor","stroke","space","_setColorSpace","fillOpacity","strokeColor","strokeOpacity","_doOpacity","ca","CA","linearGradient","radialGradient","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","blanchedalmond","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","whitesmoke","yellowgreen","../gradient",68,"_fontCount","_fontSize","_font","_registeredFonts","cacheKey","fontSize","registerFont","../font",69,"_imageRegistry","_imageCount","bh","bp","bw","hp","ip","wp","_base","xobjects","fit","valign","restore","../image",70,"_lineGap","moveDown","lines","moveUp","_text","lineCallback","_initOptions","_wrapper","_textOptions","_line","heightOfString","itemIndent","items","levels","textIndent","bulletIndent","circle","lineBreak","right","_fragment","commands","encoded","lineY","renderedWidth","spaceWidth","moveTo","lineTo","fonts","../line_wrapper",71,"KAPPA","SVGPath","sqrt","_ctmStack","closePath","_CAP_STYLES","BUTT","ROUND","SQUARE","lineCap","_JOIN_STYLES","MITER","BEVEL","lineJoin","miterLimit","dash","phase","undash","bezierCurveTo","cp1x","cp1y","cp2x","cp2y","quadraticCurveTo","cpx","rect","roundedRect","ellipse","ox","oy","xe","xm","ye","ym","radius","polygon","point","points","path","_windingRule","rule","fillAndStroke","isFillRule","clip","translate","rotate","angle","cos","rad","sin","PI","xFactor","yFactor","../path",72,"swapBytes","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","buff",73,"dimensions","layout","margin","bottom","DEFAULT_MARGINS","SIZES","defineProperties","Font","XObject","ExtGState","Pattern","Annots","Parent","MediaBox","4A0","2A0","A0","A1","A2","A3","A4","A5","A6","A7","A8","A9","A10","B0","B1","B2","B3","B4","B5","B6","B7","B8","B9","B10","C2","C3","C4","C5","C6","C7","C8","C9","C10","RA0","RA1","RA2","RA3","RA4","SRA0","SRA1","SRA2","SRA3","SRA4","EXECUTIVE","FOLIO","LEGAL","LETTER","TABLOID",74,"arcToSegments","cx","cy","parameters","px","py","runners","segmentToBezier","solveArc","sx","sy","H","M","Q","T","V","Z","z","cmd","curArg","foundDecimal","coords","bez","ey","large","rot","rx","ry","seg","segs","sweep","rotateX","a00","a01","a10","a11","cos_th","pl","segments","sfactor","sfactor_sq","sin_th","th","th0","th1","th2","th3","th_arc","x0","xc","y0","yc","atan2","th_half","x3","y3",75,"__bind","me","gen","initDeflate","Length",76,"UnicodeTrie","json","highStart","errorValue","DATA_BLOCK_LENGTH","DATA_GRANULARITY","DATA_MASK","INDEX_1_OFFSET","INDEX_2_BLOCK_LENGTH","INDEX_2_BMP_LENGTH","INDEX_2_MASK","INDEX_SHIFT","LSCP_INDEX_2_LENGTH","LSCP_INDEX_2_OFFSET","OMITTED_BMP_INDEX_1_LENGTH","SHIFT_1","SHIFT_1_2","SHIFT_2","UTF8_2B_INDEX_2_LENGTH","UTF8_2B_INDEX_2_OFFSET",77,78,"AI","AL","BA","BB","BK","CB","CJ","CL","CM","CP","CR","EX","GL","H2","H3","HL","HY","ID","IN","IS","JL","JT","JV","LF","NL","NS","NU","OP","PO","PR","QU","RI","SA","SG","SP","SY","WJ","XX","ZW",79,"CI_BRK","CP_BRK","DI_BRK","IN_BRK","PR_BRK","characterClasses","classTrie","pairTable","lastPos","curClass","nextClass","Break","mapClass","mapFirst","nextCodePoint","nextCharClass","lastClass","shouldBreak","./class_trie.json","./classes","./pairs","unicode-trie",80,81,"short","colorType","compressionMethod","filterMethod","interlaceMethod","pixelBitlength","readFile","png","load","col","pa","paeth","pb","pc","pixelBytes","row","scanlineLength","upperLeft","decodePalette","copyToImageData","imageData","alpha","_decodedPalette",82,"Document","docDefinition","vfs","defaultClientFonts","PdfPrinter","Roboto","normal","italics","bolditalics","_createDoc","printer","bindFS","createPdfKitDocument","_pdfMakePages","_getPages","ignoreBuffer","win","getDataUrl","print","dataUrl","iFrame","createElement","onload","removeIFrame","body","removeChild","removeEventListener","addEventListener","appendChild","autoPrint","defaultFileName","getBuffer","Blob","getBase64","createPdf","../../libs/fileSaver","../printer",83,"buildColumnWidths","availableWidth","autoColumns","autoMin","autoMax","starColumns","starMaxMin","starMaxMax","fixedColumns","initial_availableWidth","isAutoColumn","_minWidth","_maxWidth","isStarColumn","_calcWidth","elasticWidth","minW","maxW","W","D","starSize","measureMinMax","maxStar","starCount",84,"DocMeasure","fontProvider","styleDictionary","defaultStyle","imageMeasure","tableLayouts","images","textTools","TextTools","styleStack","StyleContextStack","autoImageIndex","ColumnCalculator","fontStringify","pack","qrEncoder","measureDocument","docStructure","measureNode","extendMargins","_margin","getNodeMargin","processSingleMargins","currentMargin","marginLeft","marginTop","marginRight","marginBottom","flattenStyleArray","styleArray","flattenedStyles","styleName","convertMargin","flattenedStyleArray","auto","measureColumns","measureVerticalContainer","ul","measureList","ol","measureTable","measureLeaf","measureImage","canvas","measureCanvas","qr","measureQr","convertIfBase64Image","imageSize","factor","_width","_height","_alignment","getProperty","buildInlines","_inlines","minWidth","maxWidth","gapSizeForList","isOrderedList","listItems","longestNo","sizeOfString","buildMarker","counter","gapSize","_minHeight","_maxHeight","isOrdered","_gapSize","nextItem","listMarker","_gap","measures","measureCb","getLayout","defaultLayout","hLineWidth","vLineWidth","hLineColor","vLineColor","paddingLeft","paddingRight","paddingTop","paddingBottom","getOffsets","totalOffset","prevRightPadding","lOffset","extendWidthsForColSpans","colSpans","span","currentMinMax","getMinMax","minDifference","maxDifference","markSpans","rowData","_span","rowSpan","markVSpans","extendTableWidths","_layout","cols","rows","colSpan","vector","i2","l2","measure","./columnCalculator","./helpers","./qrEnc.js","./styleContextStack","./textTools",85,"DocumentContext","pageSize","pageMargins","availableHeight","snapshots","endingCell","tracker","TraversalTracker","pageOrientation","pageOrientationString","currentPageOrientation","bottomMostContext","c1","c2","beginColumnGroup","bottomMost","lastColumnWidth","beginColumn","saved","calculateBottomMost","destContext","saveContextInEndingCell","markEnding","_columnEndingContext","completeColumnGroup","addMargin","initializePage","getCurrentPage","pageSnapshot","getPageSize","currentPage","newPageOrientation","orientation","moveToNextPage","nextPageIndex","prevPage","prevY","createNewPage","newPageCreated","getCurrentPosition","innerHeight","innerWidth","pageNumber","verticalRatio","horizontalRatio","./traversalTracker",86,"ElementWriter","contextStack","addPageItem","cloneLine","Line","offsetVector","addLine","dontUpdateContextPosition","getHeight","getCurrentPositionOnPage","alignLine","getWidth","alignment","inlines","newLineForced","lastLineInParagraph","additionalSpacing","addImage","alignImage","addQr","_canvas","addVector","imageWidth","ignoreContextX","ignoreContextY","addFragment","useBlockXOffset","useBlockYOffset","xOffset","yOffset","img","pushContext","contextOrWidth","popContext","./documentContext","./line",87,"functionToCheck","getType",88,"ImageMeasure","pdfDoc","imageDictionary","realImageSrc","that","pdfkit","pdfkit/js/image",89,"addAll","otherArray","LayoutBuilder","decorateNode","positions","resetXY","PageElementWriter","TableProcessor","registerTableLayouts","layoutDocument","background","footer","watermark","pageBreakBeforeFct","addPageBreaksIfNecessary","linearNodeList","nodeInfo","startPosition","pageNumbers","followingNodeList","pageBreak","followingNodesOnPage","node0","nodesOnNextPage","previousNodesOnPage","resetXYs","docMeasure","tryLayoutDocument","startTracking","addBackground","processNode","addHeadersAndFooters","addWatermark","backgroundGetter","pageBackground","beginUnbreakableBlock","commitUnbreakableBlock","addStaticRepeatable","repeatable","currentBlockToRepeatable","addDynamicRepeatable","nodeGetter","sizeFunction","pageIndex","sizes","headerSizeFct","footerSizeFct","getSize","targetWidth","styleContextStack","defaultFont","watermarkObject","provideFont","applyMargins","processVerticalContainer","processColumns","processList","processTable","processLeaf","processImage","processCanvas","processQr","columnNode","gapArray","gaps","processRow","tableBody","tableRow","storePageBreakData","pageDesc","pageBreaks","colLeftOffset","getEndingCell","columnIndex","endingRow","leftOffset","orderedList","addMarkerToFirstLeaf","nextMarker","markerLine","addInline","getAscenderHeight","tableNode","processor","beginTable","beginRow","endRow","endTable","buildNextLine","textNode","hasEnoughSpaceForInline","./docMeasure","./pageElementWriter","./tableProcessor",90,"leadingCut","trailingCut","inlineWidths","inline","lineEnd",91,"transactionLevel","repeatables","fitOnPage","addFct","fragment","nextPage","rep","originalX","forcedX","forcedY","unbreakableContext","nbPages","pushToRepeatables","popFromRepeatables","./elementWriter",92,"fontDescriptors","fixPageMargins","registerDefaultTableLayouts","layoutBuilder","noBorders","headerLineOnly","headerRows","lightHorizontalLines","pageSize2widthAndHeight","StringObject","updatePageOrientationInOptions","pdfKitDoc","previousPageOrientation","renderPages","setFontRefs","ii","il","renderVector","renderLine","renderImage","renderWatermark","fontType","ascenderHeight","textDecorator","drawBackground","drawDecorations","p1","pn","lineColor","FontProvider","fontDef","PdfKit","builder","pageBreakBefore","jsRef","JS","namesRef","Names","JavaScript","familyName","cached","fontCache","./imageMeasure","./layoutBuilder","./standardPageSizes","./textDecorator","pdfkit/js/reference",93,"generateFrame","MODES","numeric","MODE_NUMERIC","alphanumeric","MODE_ALPHANUMERIC","octet","MODE_OCTET","ECCLEVELS","ECCLEVEL_L","ECCLEVEL_M","ECCLEVEL_Q","ECCLEVEL_H","ver","ecclevel","eccLevel","NUMERIC_REGEXP","ALPHANUMERIC_OUT_REGEXP","validatedata","getmaxdatalen","generate","buildCanvas","foreground","matrix","modSize","cd","VERSIONS","MODE_TERMINATOR","MODE_KANJI","ALPHANUMERIC_REGEXP","GF256_MAP","GF256_INVMAP","GF256_GENPOLY","prevpoly","poly","ALPHANUMERIC_MAP","MASKFUNCS","needsverinfo","getsizebyver","nfullbits","nbits","ndatabits","ndatalenbits","newdata","ch","maxbuflen","datalen","nlenbits","calculateecc","genpoly","modulus","polylen","genpolylen","quotient","augumenteccs","nblocks","subsizes","subsize","subsize0","pivot","eccs","nitemsperblock","augumentbch","makebasematrix","reserved","blit","aligns","minj","maxj","putdata","jj","maskdata","maskf","putformatinfo","evaluatematrix","PENALTY_CONSECUTIVE","PENALTY_TWOBYTWO","PENALTY_FINDERLIKE","PENALTY_DENSITY","evaluategroup","groups","score","nblacks","nextrow","bestmask","bestscore",94,95,"styleOverrides","styleNameOrOverride","howMany","autopush","styleNames","styleOverrideObject","pushSOO","pushedItems",96,"getTableInnerContentWidth","prepareRowSpanData","rsd","lastWidth","paddings","lBorder","tableWidth","rowSpanData","cleanUpRepeatables","rowsWithoutPageBreak","keepWithHeaderRows","dontBreakRows","drawHorizontalLine","onRowBreak","rowIndex","rowPaddingTop","topLineWidth","bottomLineWidth","rowPaddingBottom","rowCallback","rowTopY","reservedAtBottom","lineIndex","overrideY","currentLine","shouldDrawLine","drawVerticalLine","vLineIndex","getLineXs","_colSpan","stopTracking","endingPage","endingY","ys","hasBreaks","skipOrphanePadding","yi","yl","willBreak","rowBreakWithoutHeader","hzLineOffset","colIndex","wBorder","xf","yf","headerRepeatable",97,"groupDecorations","curGroup","decoration","decorationColor","decorationStyle","ll","deco","drawDecoration","maxInline","inl","firstInline","biggerInline","totalWidth","lineAscent","lw","nbDashes","rdx","nbDots","sh","sv","nbWaves","rwx","iii",98,"splitWords","results","WORD_RE","isNewLine","shouldAddLine","copyStyle","destination","normalizeTextArray","removeDiacritics","diacriticsMap","getStyleProperty","textArray","normalized","leadingSpaces","LEADING","trailingSpaces","TRAILING","getTrimmedWidth","currentLineWidth","measured","Ą","Ć","Ę","Ł","Ń","Ś","Ź","Ż","ą","ć","ę","ł","ń","ś","ź","ż",99,"callbacks","innerBlock","VirtualFileSystem","fileSystem","baseSystem","fixFilename","base64content","writeFileSync","dup"],"mappings":"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AK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GA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"} \ No newline at end of file diff --git a/public/js/templates/clean.js b/public/js/templates/clean.js index 213defffa8f0..dd0ffd830792 100644 --- a/public/js/templates/clean.js +++ b/public/js/templates/clean.js @@ -25,7 +25,6 @@ var dd = { fontSize: 11 }, { - style: 'tableExample', table: { headerRows: 1, widths: ['auto', 'auto', '*'], @@ -45,14 +44,11 @@ var dd = { return (i === 0 || i === node.table.body.length) ? .5 : 0; }, vLineWidth: function (i, node) { - return 0;//(i === 0 || i === node.table.widths.length) ? 2 : 1; + return 0; }, hLineColor: function (i, node) { - return '#D8D8D8';//(i === 0 || i === node.table.body.length) ? 'black' : 'gray'; + return '#D8D8D8'; }, - /*vLineColor: function (i, node) { - return (i === 0 || i === node.table.widths.length) ? 'black' : 'gray'; - },*/ paddingLeft: function(i, node) { return 8; }, paddingRight: function(i, node) { return 8; }, paddingTop: function(i, node) { return 4; }, @@ -187,6 +183,5 @@ var dd = { fontSize: 10, margin: [0, 10, 0, 4] } - }, - pageMargins: [40, 40, 40, 40] + } }; \ No newline at end of file diff --git a/resources/views/accounts/account_gateway.blade.php b/resources/views/accounts/account_gateway.blade.php index ab1825e128c8..01c123d1224c 100644 --- a/resources/views/accounts/account_gateway.blade.php +++ b/resources/views/accounts/account_gateway.blade.php @@ -88,7 +88,7 @@ {!! Former::actions( Button::success(trans('texts.save'))->submit()->large()->appendIcon(Icon::create('floppy-disk')), - $countGateways > 0 ? Button::normal(trans('texts.cancel'))->large()->asLinkTo('/company/payments')->appendIcon(Icon::create('remove-circle')) : false) !!} + $countGateways > 0 ? Button::normal(trans('texts.cancel'))->large()->asLinkTo(URL::to('/company/payments'))->appendIcon(Icon::create('remove-circle')) : false) !!} {!! Former::close() !!} diff --git a/resources/views/accounts/details.blade.php b/resources/views/accounts/details.blade.php index 8338b58f355b..fe29160a45dc 100644 --- a/resources/views/accounts/details.blade.php +++ b/resources/views/accounts/details.blade.php @@ -91,7 +91,7 @@ @if (Auth::user()->confirmed) {!! Former::actions( Button::primary(trans('texts.change_password'))->small()->withAttributes(['onclick'=>'showChangePassword()'])) !!} @elseif (Auth::user()->registered) - {!! Former::actions( Button::primary(trans('texts.resend_confirmation'))->asLinkTo('/resend_confirmation')->small() ) !!} + {!! Former::actions( Button::primary(trans('texts.resend_confirmation'))->asLinkTo(URL::to('/resend_confirmation'))->small() ) !!} @endif diff --git a/resources/views/accounts/import_map.blade.php b/resources/views/accounts/import_map.blade.php index 8cc2c8cf369a..5a1a1df2e4d2 100644 --- a/resources/views/accounts/import_map.blade.php +++ b/resources/views/accounts/import_map.blade.php @@ -47,7 +47,7 @@ {!! Former::actions( Button::success(trans('texts.import'))->submit()->large()->appendIcon(Icon::create('floppy-disk')), - Button::normal(trans('texts.cancel'))->large()->asLinkTo('/company/import_export')->appendIcon(Icon::create('remove-circle'))) !!} + Button::normal(trans('texts.cancel'))->large()->asLinkTo(URL::to('/company/import_export'))->appendIcon(Icon::create('remove-circle'))) !!} {!! Former::close() !!} @if (Auth::user()->account->utf8_invoices) - + @endif diff --git a/resources/views/accounts/payments.blade.php b/resources/views/accounts/payments.blade.php index fc8df7cd9646..0aa5ab117c3b 100644 --- a/resources/views/accounts/payments.blade.php +++ b/resources/views/accounts/payments.blade.php @@ -13,7 +13,7 @@ @if ($showAdd) {!! Button::primary(trans('texts.add_gateway')) - ->asLinkTo('/gateways/create') + ->asLinkTo(URL::to('/gateways/create')) ->withAttributes(['class' => 'pull-right']) ->appendIcon(Icon::create('plus-sign')) !!} @endif diff --git a/resources/views/accounts/product.blade.php b/resources/views/accounts/product.blade.php index 571beda764ab..5a2bf5836393 100644 --- a/resources/views/accounts/product.blade.php +++ b/resources/views/accounts/product.blade.php @@ -28,7 +28,7 @@ {!! Former::actions( Button::success(trans('texts.save'))->submit()->large()->appendIcon(Icon::create('floppy-disk')), - Button::normal(trans('texts.cancel'))->large()->asLinkTo('/company/products')->appendIcon(Icon::create('remove-circle')) + Button::normal(trans('texts.cancel'))->large()->asLinkTo(URL::to('/company/products'))->appendIcon(Icon::create('remove-circle')) ) !!} {!! Former::close() !!} diff --git a/resources/views/accounts/products.blade.php b/resources/views/accounts/products.blade.php index cfb4e99dba0f..3047008dc3c0 100644 --- a/resources/views/accounts/products.blade.php +++ b/resources/views/accounts/products.blade.php @@ -23,7 +23,7 @@ {!! Button::primary(trans('texts.create_product')) - ->asLinkTo('/products/create') + ->asLinkTo(URL::to('/products/create')) ->withAttributes(['class' => 'pull-right']) ->appendIcon(Icon::create('plus-sign')) !!} diff --git a/resources/views/accounts/token.blade.php b/resources/views/accounts/token.blade.php index 50c17f635f05..8e8a8e3a0ac6 100644 --- a/resources/views/accounts/token.blade.php +++ b/resources/views/accounts/token.blade.php @@ -25,7 +25,7 @@ {!! Former::actions( Button::success(trans('texts.save'))->submit()->large()->appendIcon(Icon::create('floppy-disk')), - Button::normal(trans('texts.cancel'))->asLinkTo('/company/advanced_settings/token_management')->appendIcon(Icon::create('remove-circle'))->large() + Button::normal(trans('texts.cancel'))->asLinkTo(URL::to('/company/advanced_settings/token_management'))->appendIcon(Icon::create('remove-circle'))->large() ) !!} {!! Former::close() !!} diff --git a/resources/views/accounts/token_management.blade.php b/resources/views/accounts/token_management.blade.php index 8bd620e163ed..8c476ed1b677 100644 --- a/resources/views/accounts/token_management.blade.php +++ b/resources/views/accounts/token_management.blade.php @@ -18,7 +18,7 @@ {!! Button::normal(trans('texts.zapier'))->asLinkTo(ZAPIER_URL)->withAttributes(['target' => '_blank']) !!} @endif @if (Utils::isPro()) - {!! Button::primary(trans('texts.add_token'))->asLinkTo('/tokens/create')->appendIcon(Icon::create('plus-sign')) !!} + {!! Button::primary(trans('texts.add_token'))->asLinkTo(URL::to('/tokens/create'))->appendIcon(Icon::create('plus-sign')) !!} @endif diff --git a/resources/views/accounts/user_management.blade.php b/resources/views/accounts/user_management.blade.php index cfb167f3a403..6adb9980add5 100644 --- a/resources/views/accounts/user_management.blade.php +++ b/resources/views/accounts/user_management.blade.php @@ -13,9 +13,9 @@
- {!! Button::normal(trans('texts.api_tokens'))->asLinkTo('/company/advanced_settings/token_management')->appendIcon(Icon::create('cloud')) !!} + {!! Button::normal(trans('texts.api_tokens'))->asLinkTo(URL::to('/company/advanced_settings/token_management'))->appendIcon(Icon::create('cloud')) !!} @if (Utils::isPro()) - {!! Button::primary(trans('texts.add_user'))->asLinkTo('/users/create')->appendIcon(Icon::create('plus-sign')) !!} + {!! Button::primary(trans('texts.add_user'))->asLinkTo(URL::to('/users/create'))->appendIcon(Icon::create('plus-sign')) !!} @endif
diff --git a/resources/views/clients/edit.blade.php b/resources/views/clients/edit.blade.php index 2a715e9a5ea9..28d1b6bdf45d 100644 --- a/resources/views/clients/edit.blade.php +++ b/resources/views/clients/edit.blade.php @@ -185,7 +185,7 @@
{!! Button::success(trans('texts.save'))->submit()->large()->appendIcon(Icon::create('floppy-disk')) !!} - {!! Button::normal(trans('texts.cancel'))->large()->asLinkTo('/clients/' . ($client ? $client->public_id : ''))->appendIcon(Icon::create('remove-circle')) !!} + {!! Button::normal(trans('texts.cancel'))->large()->asLinkTo(URL::to('/clients/' . ($client ? $client->public_id : '')))->appendIcon(Icon::create('remove-circle')) !!}
{!! Former::close() !!} diff --git a/resources/views/credits/edit.blade.php b/resources/views/credits/edit.blade.php index 04aecfe2a911..d1784d33f191 100644 --- a/resources/views/credits/edit.blade.php +++ b/resources/views/credits/edit.blade.php @@ -28,7 +28,7 @@
{!! Button::success(trans('texts.save'))->submit()->large()->appendIcon(Icon::create('floppy-disk')) !!} - {!! Button::normal(trans('texts.cancel'))->large()->asLinkTo('/credits')->appendIcon(Icon::create('remove-circle')) !!} + {!! Button::normal(trans('texts.cancel'))->large()->asLinkTo(URL::to('/credits'))->appendIcon(Icon::create('remove-circle')) !!}
{!! Former::close() !!} diff --git a/resources/views/header.blade.php b/resources/views/header.blade.php index 104704e7fdc5..e1a25ea0b163 100644 --- a/resources/views/header.blade.php +++ b/resources/views/header.blade.php @@ -211,7 +211,18 @@ } - $(function() { + // keep the token cookie valid to prevent token mismatch errors + function keepAlive() { + window.setTimeout(function() { + $.get('{{ URL::to('/keep_alive') }}', function(data) { + keepAlive(); + }) + }, 1000 * 60 * 60); + } + + $(function() { + keepAlive(); + window.setTimeout(function() { $(".alert-hide").fadeOut(500); }, 2000); diff --git a/resources/views/invoices/edit.blade.php b/resources/views/invoices/edit.blade.php index 687d39a1e618..8939b9604a8a 100644 --- a/resources/views/invoices/edit.blade.php +++ b/resources/views/invoices/edit.blade.php @@ -7,7 +7,7 @@ @if (Auth::user()->account->utf8_invoices) - + @endif diff --git a/resources/views/invoices/history.blade.php b/resources/views/invoices/history.blade.php index fc5c2ead5230..3130e90b359d 100644 --- a/resources/views/invoices/history.blade.php +++ b/resources/views/invoices/history.blade.php @@ -7,7 +7,7 @@ @if (Auth::user()->account->utf8_invoices) - + @endif @@ -53,7 +53,7 @@ {!! Former::open()->addClass('form-inline')->onchange('refreshPDF()') !!} {!! Former::select('version')->options($versionsSelect)->label(trans('select_version'))->style('background-color: white !important') !!} - {!! Button::primary(trans('texts.edit_' . $invoice->getEntityType()))->asLinkTo('/' . $invoice->getEntityType() . 's/' . $invoice->public_id . '/edit')->withAttributes(array('class' => 'pull-right')) !!} + {!! Button::primary(trans('texts.edit_' . $invoice->getEntityType()))->asLinkTo(URL::to('/' . $invoice->getEntityType() . 's/' . $invoice->public_id . '/edit'))->withAttributes(array('class' => 'pull-right')) !!} {!! Former::close() !!}
 
diff --git a/resources/views/invoices/view.blade.php b/resources/views/invoices/view.blade.php index 54e9a0c2ca1f..0bdb791af172 100644 --- a/resources/views/invoices/view.blade.php +++ b/resources/views/invoices/view.blade.php @@ -9,7 +9,7 @@ @if ($invoice->client->account->utf8_invoices) - + @endif @@ -29,14 +29,14 @@ @if ($invoice->is_quote) {!! Button::normal(trans('texts.download_pdf'))->withAttributes(['onclick' => 'onDownloadClick()'])->large() !!}   @if (!$isConverted) - {!! Button::success(trans('texts.approve'))->asLinkTo('/approve/' . $invitation->invitation_key)->large() !!} + {!! Button::success(trans('texts.approve'))->asLinkTo(URL::to('/approve/' . $invitation->invitation_key))->large() !!} @endif @elseif ($invoice->client->account->isGatewayConfigured() && !$invoice->isPaid() && !$invoice->is_recurring) {!! Button::normal(trans('texts.download_pdf'))->withAttributes(['onclick' => 'onDownloadClick()'])->large() !!}   @if (count($paymentTypes) > 1) {!! DropdownButton::success(trans('texts.pay_now'))->withContents($paymentTypes)->large() !!} @else - {!! Button::success(trans('texts.pay_now'))->asLinkTo('/payment/' . $invitation->invitation_key)->large() !!} + {!! Button::success(trans('texts.pay_now'))->asLinkTo(URL::to('/payment/' . $invitation->invitation_key))->large() !!} @endif @else {!! Button::normal('Download PDF')->withAttributes(['onclick' => 'onDownloadClick()'])->large() !!} diff --git a/resources/views/list.blade.php b/resources/views/list.blade.php index 6fc5108214df..be23bf4ee3e0 100644 --- a/resources/views/list.blade.php +++ b/resources/views/list.blade.php @@ -21,7 +21,7 @@
- {!! Button::primary(trans("texts.new_$entityType"))->asLinkTo("/{$entityType}s/create")->withAttributes(array('class' => 'pull-right'))->appendIcon(Icon::create('plus-sign')) !!} + {!! Button::primary(trans("texts.new_$entityType"))->asLinkTo(URL::to("/{$entityType}s/create"))->withAttributes(array('class' => 'pull-right'))->appendIcon(Icon::create('plus-sign')) !!}
diff --git a/resources/views/payments/edit.blade.php b/resources/views/payments/edit.blade.php index 3bac4c4e4034..0d402c95145f 100644 --- a/resources/views/payments/edit.blade.php +++ b/resources/views/payments/edit.blade.php @@ -39,7 +39,7 @@
{!! Button::success(trans('texts.save'))->appendIcon(Icon::create('floppy-disk'))->submit()->large() !!} - {!! Button::withValue(trans('texts.cancel'))->appendIcon(Icon::create('remove-circle'))->asLinkTo('/payments')->large() !!} + {!! Button::withValue(trans('texts.cancel'))->appendIcon(Icon::create('remove-circle'))->asLinkTo(URL::to('/payments'))->large() !!}
{!! Former::close() !!} diff --git a/resources/views/reports/chart_builder.blade.php b/resources/views/reports/chart_builder.blade.php index 5d90690db877..ffe982908dc2 100644 --- a/resources/views/reports/chart_builder.blade.php +++ b/resources/views/reports/chart_builder.blade.php @@ -12,7 +12,7 @@ {!! Button::primary(trans('texts.data_visualizations')) - ->asLinkTo('/company/advanced_settings/data_visualizations') + ->asLinkTo(URL::to('/company/advanced_settings/data_visualizations')) ->withAttributes(['class' => 'pull-right']) ->appendIcon(Icon::create('globe')) !!} diff --git a/resources/views/users/edit.blade.php b/resources/views/users/edit.blade.php index 164c9afe5ce2..4d2327270267 100644 --- a/resources/views/users/edit.blade.php +++ b/resources/views/users/edit.blade.php @@ -29,7 +29,7 @@ {!! Former::actions( Button::success(trans($user && $user->confirmed ? 'texts.save' : 'texts.send_invite'))->submit()->large()->appendIcon(Icon::create($user && $user->confirmed ? 'floppy-disk' : 'send')), - Button::normal(trans('texts.cancel'))->asLinkTo('/company/advanced_settings/user_management')->appendIcon(Icon::create('remove-circle'))->large() + Button::normal(trans('texts.cancel'))->asLinkTo(URL::to('/company/advanced_settings/user_management'))->appendIcon(Icon::create('remove-circle'))->large() )!!} {!! Former::close() !!} From 6bf47bdb17a4d8b8fdb9e19d5c8e9d5504f2c575 Mon Sep 17 00:00:00 2001 From: Christian Stewart Date: Thu, 21 May 2015 16:56:33 -0700 Subject: [PATCH 07/42] Add guzzle for mandrill support Conflicts: composer.lock --- composer.json | 3 +- composer.lock | 458 +++++++++++++++++++++++++++++++------------------- 2 files changed, 290 insertions(+), 171 deletions(-) diff --git a/composer.json b/composer.json index 23390e0c1890..7e0b131c7862 100644 --- a/composer.json +++ b/composer.json @@ -34,7 +34,8 @@ "fruitcakestudio/omnipay-sisow": "~2.0", "alfaproject/omnipay-skrill": "dev-master", "illuminate/html": "5.*", - "omnipay/bitpay": "dev-master" + "omnipay/bitpay": "dev-master", + "guzzlehttp/guzzle": "~4.0" }, "require-dev": { "phpunit/phpunit": "~4.0", diff --git a/composer.lock b/composer.lock index 55b4a6af45b4..991a8ea84d8b 100644 --- a/composer.lock +++ b/composer.lock @@ -1,10 +1,10 @@ { "_readme": [ "This file locks the dependencies of your project to a known state", - "Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "hash": "456867b27b6caddd5d681f7bad019be4", + "hash": "75169c1d348bf682bd06c75c84b19c0e", "packages": [ { "name": "alfaproject/omnipay-neteller", @@ -124,7 +124,7 @@ }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/formers/former/zipball/4a03cdd08f1bdd975bd2521bed74ab38bf590388", + "url": "https://api.github.com/repos/formers/former/zipball/e37cb69d12d4436282e6754800903d94788528f3", "reference": "4a03cdd08f1bdd975bd2521bed74ab38bf590388", "shasum": "" }, @@ -339,7 +339,7 @@ }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Chumper/Datatable/zipball/7fa47cb5469f07c620fb69dee94b8e1a96943ee2", + "url": "https://api.github.com/repos/Chumper/Datatable/zipball/d8a01807d0d0b46e6ff26d760934f885f4f48dc3", "reference": "7fa47cb", "shasum": "" }, @@ -1320,6 +1320,124 @@ ], "time": "2015-03-18 18:23:50" }, + { + "name": "guzzlehttp/guzzle", + "version": "4.2.3", + "source": { + "type": "git", + "url": "https://github.com/guzzle/guzzle.git", + "reference": "66fd916e9f9130bc22c51450476823391cb2f67c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/66fd916e9f9130bc22c51450476823391cb2f67c", + "reference": "66fd916e9f9130bc22c51450476823391cb2f67c", + "shasum": "" + }, + "require": { + "ext-json": "*", + "guzzlehttp/streams": "~2.1", + "php": ">=5.4.0" + }, + "require-dev": { + "ext-curl": "*", + "phpunit/phpunit": "~4.0", + "psr/log": "~1.0" + }, + "suggest": { + "ext-curl": "Guzzle will use specific adapters if cURL is present" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.2-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\": "src/" + }, + "files": [ + "src/functions.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "Guzzle is a PHP HTTP client library and framework for building RESTful web service clients", + "homepage": "http://guzzlephp.org/", + "keywords": [ + "client", + "curl", + "framework", + "http", + "http client", + "rest", + "web service" + ], + "time": "2014-10-05 19:29:14" + }, + { + "name": "guzzlehttp/streams", + "version": "2.1.0", + "source": { + "type": "git", + "url": "https://github.com/guzzle/streams.git", + "reference": "f91b721d73f0e561410903b3b3c90a5d0e40b534" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/streams/zipball/f91b721d73f0e561410903b3b3c90a5d0e40b534", + "reference": "f91b721d73f0e561410903b3b3c90a5d0e40b534", + "shasum": "" + }, + "require": { + "php": ">=5.4.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Stream\\": "src/" + }, + "files": [ + "src/functions.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "Provides a simple abstraction over streams of data (Guzzle 4+)", + "homepage": "http://guzzlephp.org/", + "keywords": [ + "Guzzle", + "stream" + ], + "time": "2014-08-17 21:15:53" + }, { "name": "illuminate/html", "version": "v5.0.0", @@ -1372,12 +1490,12 @@ "source": { "type": "git", "url": "https://github.com/Intervention/image.git", - "reference": "6626d7624ac0895137a38c123943afedd0827efc" + "reference": "1f33a7c6c5847ddaa4c0c347be375d38ee4c2f43" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Intervention/image/zipball/6626d7624ac0895137a38c123943afedd0827efc", - "reference": "6626d7624ac0895137a38c123943afedd0827efc", + "url": "https://api.github.com/repos/Intervention/image/zipball/1f33a7c6c5847ddaa4c0c347be375d38ee4c2f43", + "reference": "1f33a7c6c5847ddaa4c0c347be375d38ee4c2f43", "shasum": "" }, "require": { @@ -1420,7 +1538,7 @@ "thumbnail", "watermark" ], - "time": "2015-04-24 14:50:48" + "time": "2015-05-14 08:43:38" }, { "name": "ircmaxell/password-compat", @@ -2136,21 +2254,21 @@ }, { "name": "nesbot/carbon", - "version": "1.18.0", + "version": "1.19.0", "source": { "type": "git", "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "99e2f69f7bdc2cc4334b2d00f1e0ba450623ea36" + "reference": "68868e0b02d2d803d0052a59d4e5003cccf87320" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/99e2f69f7bdc2cc4334b2d00f1e0ba450623ea36", - "reference": "99e2f69f7bdc2cc4334b2d00f1e0ba450623ea36", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/68868e0b02d2d803d0052a59d4e5003cccf87320", + "reference": "68868e0b02d2d803d0052a59d4e5003cccf87320", "shasum": "" }, "require": { "php": ">=5.3.0", - "symfony/translation": "2.6.*" + "symfony/translation": "~2.6" }, "require-dev": { "phpunit/phpunit": "~4.0" @@ -2179,20 +2297,20 @@ "datetime", "time" ], - "time": "2015-03-26 03:05:57" + "time": "2015-05-09 03:23:44" }, { "name": "nikic/php-parser", - "version": "v1.2.2", + "version": "v1.3.0", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "08f97eb4efa029e2fafb6d8c98b71731bf0cf621" + "reference": "dff239267fd1befa1cd40430c9ed12591aa720ca" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/08f97eb4efa029e2fafb6d8c98b71731bf0cf621", - "reference": "08f97eb4efa029e2fafb6d8c98b71731bf0cf621", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/dff239267fd1befa1cd40430c9ed12591aa720ca", + "reference": "dff239267fd1befa1cd40430c9ed12591aa720ca", "shasum": "" }, "require": { @@ -2202,7 +2320,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.2-dev" + "dev-master": "1.3-dev" } }, "autoload": { @@ -2224,7 +2342,7 @@ "parser", "php" ], - "time": "2015-04-03 14:33:59" + "time": "2015-05-02 15:40:40" }, { "name": "omnipay/2checkout", @@ -3152,16 +3270,16 @@ }, { "name": "omnipay/netaxept", - "version": "v2.2.0", + "version": "v2.3.0", "source": { "type": "git", "url": "https://github.com/thephpleague/omnipay-netaxept.git", - "reference": "a661c212428703175f17e3f8f0a32f24b06fe9f8" + "reference": "a15ab75a338726536880b9ac0c1e6071a81342f9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/omnipay-netaxept/zipball/a661c212428703175f17e3f8f0a32f24b06fe9f8", - "reference": "a661c212428703175f17e3f8f0a32f24b06fe9f8", + "url": "https://api.github.com/repos/thephpleague/omnipay-netaxept/zipball/a15ab75a338726536880b9ac0c1e6071a81342f9", + "reference": "a15ab75a338726536880b9ac0c1e6071a81342f9", "shasum": "" }, "require": { @@ -3205,7 +3323,7 @@ "pay", "payment" ], - "time": "2015-01-12 16:10:59" + "time": "2015-05-08 15:13:17" }, { "name": "omnipay/netbanx", @@ -4226,17 +4344,17 @@ }, { "name": "symfony/class-loader", - "version": "v2.6.6", + "version": "v2.6.7", "target-dir": "Symfony/Component/ClassLoader", "source": { "type": "git", "url": "https://github.com/symfony/ClassLoader.git", - "reference": "861765b3e5f32979de5bd19ad2577cbb830a29d5" + "reference": "695134c9b39559297fa5d1dcff6a9054bb56facb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/ClassLoader/zipball/861765b3e5f32979de5bd19ad2577cbb830a29d5", - "reference": "861765b3e5f32979de5bd19ad2577cbb830a29d5", + "url": "https://api.github.com/repos/symfony/ClassLoader/zipball/695134c9b39559297fa5d1dcff6a9054bb56facb", + "reference": "695134c9b39559297fa5d1dcff6a9054bb56facb", "shasum": "" }, "require": { @@ -4262,32 +4380,32 @@ "MIT" ], "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, { "name": "Fabien Potencier", "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], "description": "Symfony ClassLoader Component", - "homepage": "http://symfony.com", - "time": "2015-03-27 10:19:51" + "homepage": "https://symfony.com", + "time": "2015-05-02 15:18:45" }, { "name": "symfony/console", - "version": "v2.6.6", + "version": "v2.6.7", "target-dir": "Symfony/Component/Console", "source": { "type": "git", "url": "https://github.com/symfony/Console.git", - "reference": "5b91dc4ed5eb08553f57f6df04c4730a73992667" + "reference": "ebc5679854aa24ed7d65062e9e3ab0b18a917272" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Console/zipball/5b91dc4ed5eb08553f57f6df04c4730a73992667", - "reference": "5b91dc4ed5eb08553f57f6df04c4730a73992667", + "url": "https://api.github.com/repos/symfony/Console/zipball/ebc5679854aa24ed7d65062e9e3ab0b18a917272", + "reference": "ebc5679854aa24ed7d65062e9e3ab0b18a917272", "shasum": "" }, "require": { @@ -4320,32 +4438,32 @@ "MIT" ], "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, { "name": "Fabien Potencier", "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], "description": "Symfony Console Component", - "homepage": "http://symfony.com", - "time": "2015-03-30 15:54:10" + "homepage": "https://symfony.com", + "time": "2015-05-02 15:18:45" }, { "name": "symfony/debug", - "version": "v2.6.6", + "version": "v2.6.7", "target-dir": "Symfony/Component/Debug", "source": { "type": "git", "url": "https://github.com/symfony/Debug.git", - "reference": "d49a46a20a8f0544aedac54466750ad787d3d3e3" + "reference": "ad4511a8fddce7ec163b513ba39a30ea4f32c9e7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Debug/zipball/d49a46a20a8f0544aedac54466750ad787d3d3e3", - "reference": "d49a46a20a8f0544aedac54466750ad787d3d3e3", + "url": "https://api.github.com/repos/symfony/Debug/zipball/ad4511a8fddce7ec163b513ba39a30ea4f32c9e7", + "reference": "ad4511a8fddce7ec163b513ba39a30ea4f32c9e7", "shasum": "" }, "require": { @@ -4381,32 +4499,32 @@ "MIT" ], "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, { "name": "Fabien Potencier", "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], "description": "Symfony Debug Component", - "homepage": "http://symfony.com", - "time": "2015-03-22 16:55:57" + "homepage": "https://symfony.com", + "time": "2015-05-08 13:17:44" }, { "name": "symfony/event-dispatcher", - "version": "v2.6.6", + "version": "v2.6.7", "target-dir": "Symfony/Component/EventDispatcher", "source": { "type": "git", "url": "https://github.com/symfony/EventDispatcher.git", - "reference": "70f7c8478739ad21e3deef0d977b38c77f1fb284" + "reference": "672593bc4b0043a0acf91903bb75a1c82d8f2e02" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/EventDispatcher/zipball/70f7c8478739ad21e3deef0d977b38c77f1fb284", - "reference": "70f7c8478739ad21e3deef0d977b38c77f1fb284", + "url": "https://api.github.com/repos/symfony/EventDispatcher/zipball/672593bc4b0043a0acf91903bb75a1c82d8f2e02", + "reference": "672593bc4b0043a0acf91903bb75a1c82d8f2e02", "shasum": "" }, "require": { @@ -4440,32 +4558,32 @@ "MIT" ], "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, { "name": "Fabien Potencier", "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], "description": "Symfony EventDispatcher Component", - "homepage": "http://symfony.com", - "time": "2015-03-13 17:37:22" + "homepage": "https://symfony.com", + "time": "2015-05-02 15:18:45" }, { "name": "symfony/filesystem", - "version": "v2.6.6", + "version": "v2.6.7", "target-dir": "Symfony/Component/Filesystem", "source": { "type": "git", "url": "https://github.com/symfony/Filesystem.git", - "reference": "4983964b3693e4f13449cb3800c64a9112c301b4" + "reference": "f73904bd2dae525c42ea1f0340c7c98480ecacde" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Filesystem/zipball/4983964b3693e4f13449cb3800c64a9112c301b4", - "reference": "4983964b3693e4f13449cb3800c64a9112c301b4", + "url": "https://api.github.com/repos/symfony/Filesystem/zipball/f73904bd2dae525c42ea1f0340c7c98480ecacde", + "reference": "f73904bd2dae525c42ea1f0340c7c98480ecacde", "shasum": "" }, "require": { @@ -4490,32 +4608,32 @@ "MIT" ], "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, { "name": "Fabien Potencier", "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], "description": "Symfony Filesystem Component", - "homepage": "http://symfony.com", - "time": "2015-03-22 16:55:57" + "homepage": "https://symfony.com", + "time": "2015-05-08 00:09:07" }, { "name": "symfony/finder", - "version": "v2.6.6", + "version": "v2.6.7", "target-dir": "Symfony/Component/Finder", "source": { "type": "git", "url": "https://github.com/symfony/Finder.git", - "reference": "5dbe2e73a580618f5b4880fda93406eed25de251" + "reference": "704c64c8b12c8882640d5c0330a8414b1e06dc99" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Finder/zipball/5dbe2e73a580618f5b4880fda93406eed25de251", - "reference": "5dbe2e73a580618f5b4880fda93406eed25de251", + "url": "https://api.github.com/repos/symfony/Finder/zipball/704c64c8b12c8882640d5c0330a8414b1e06dc99", + "reference": "704c64c8b12c8882640d5c0330a8414b1e06dc99", "shasum": "" }, "require": { @@ -4540,32 +4658,32 @@ "MIT" ], "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, { "name": "Fabien Potencier", "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], "description": "Symfony Finder Component", - "homepage": "http://symfony.com", - "time": "2015-03-30 15:54:10" + "homepage": "https://symfony.com", + "time": "2015-05-02 15:18:45" }, { "name": "symfony/http-foundation", - "version": "v2.6.6", + "version": "v2.6.7", "target-dir": "Symfony/Component/HttpFoundation", "source": { "type": "git", "url": "https://github.com/symfony/HttpFoundation.git", - "reference": "8a6337233f08f7520de97f4ffd6f00e947d892f9" + "reference": "8a0d00980ef9f6b47ddbf24bdfbf70fead760816" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/HttpFoundation/zipball/8a6337233f08f7520de97f4ffd6f00e947d892f9", - "reference": "8a6337233f08f7520de97f4ffd6f00e947d892f9", + "url": "https://api.github.com/repos/symfony/HttpFoundation/zipball/8a0d00980ef9f6b47ddbf24bdfbf70fead760816", + "reference": "8a0d00980ef9f6b47ddbf24bdfbf70fead760816", "shasum": "" }, "require": { @@ -4594,32 +4712,32 @@ "MIT" ], "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, { "name": "Fabien Potencier", "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], "description": "Symfony HttpFoundation Component", - "homepage": "http://symfony.com", - "time": "2015-04-01 16:50:12" + "homepage": "https://symfony.com", + "time": "2015-05-02 15:18:45" }, { "name": "symfony/http-kernel", - "version": "v2.6.6", + "version": "v2.6.7", "target-dir": "Symfony/Component/HttpKernel", "source": { "type": "git", "url": "https://github.com/symfony/HttpKernel.git", - "reference": "3829cacfe21eaf3f73604a62d79183d1f6e792c4" + "reference": "2010194de0a57731af9404c7f97fd300db98b7a3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/HttpKernel/zipball/3829cacfe21eaf3f73604a62d79183d1f6e792c4", - "reference": "3829cacfe21eaf3f73604a62d79183d1f6e792c4", + "url": "https://api.github.com/repos/symfony/HttpKernel/zipball/2010194de0a57731af9404c7f97fd300db98b7a3", + "reference": "2010194de0a57731af9404c7f97fd300db98b7a3", "shasum": "" }, "require": { @@ -4672,32 +4790,32 @@ "MIT" ], "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, { "name": "Fabien Potencier", "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], "description": "Symfony HttpKernel Component", - "homepage": "http://symfony.com", - "time": "2015-04-01 16:55:26" + "homepage": "https://symfony.com", + "time": "2015-05-11 01:58:49" }, { "name": "symfony/process", - "version": "v2.6.6", + "version": "v2.6.7", "target-dir": "Symfony/Component/Process", "source": { "type": "git", "url": "https://github.com/symfony/Process.git", - "reference": "a8bebaec1a9dc6cde53e0250e32917579b0be552" + "reference": "9f3c4baaf840ed849e1b1f7bfd5ae246e8509562" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Process/zipball/a8bebaec1a9dc6cde53e0250e32917579b0be552", - "reference": "a8bebaec1a9dc6cde53e0250e32917579b0be552", + "url": "https://api.github.com/repos/symfony/Process/zipball/9f3c4baaf840ed849e1b1f7bfd5ae246e8509562", + "reference": "9f3c4baaf840ed849e1b1f7bfd5ae246e8509562", "shasum": "" }, "require": { @@ -4722,32 +4840,32 @@ "MIT" ], "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, { "name": "Fabien Potencier", "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], "description": "Symfony Process Component", - "homepage": "http://symfony.com", - "time": "2015-03-30 15:54:10" + "homepage": "https://symfony.com", + "time": "2015-05-02 15:18:45" }, { "name": "symfony/routing", - "version": "v2.6.6", + "version": "v2.6.7", "target-dir": "Symfony/Component/Routing", "source": { "type": "git", "url": "https://github.com/symfony/Routing.git", - "reference": "4e173a645b63ff60a124f3741b4f15feebd908fa" + "reference": "1455ec537940f7428ea6aa9411f3c4bca69413a0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Routing/zipball/4e173a645b63ff60a124f3741b4f15feebd908fa", - "reference": "4e173a645b63ff60a124f3741b4f15feebd908fa", + "url": "https://api.github.com/repos/symfony/Routing/zipball/1455ec537940f7428ea6aa9411f3c4bca69413a0", + "reference": "1455ec537940f7428ea6aa9411f3c4bca69413a0", "shasum": "" }, "require": { @@ -4785,28 +4903,28 @@ "MIT" ], "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, { "name": "Fabien Potencier", "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], "description": "Symfony Routing Component", - "homepage": "http://symfony.com", + "homepage": "https://symfony.com", "keywords": [ "router", "routing", "uri", "url" ], - "time": "2015-03-30 15:54:10" + "time": "2015-05-02 15:18:45" }, { "name": "symfony/security-core", - "version": "v2.6.6", + "version": "v2.6.7", "target-dir": "Symfony/Component/Security/Core", "source": { "type": "git", @@ -4870,17 +4988,17 @@ }, { "name": "symfony/translation", - "version": "v2.6.6", + "version": "v2.6.7", "target-dir": "Symfony/Component/Translation", "source": { "type": "git", "url": "https://github.com/symfony/Translation.git", - "reference": "bd939f05cdaca128f4ddbae1b447d6f0203b60af" + "reference": "398e0eedcb89243ad34a10d079a4b6ea4c0b61ff" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Translation/zipball/bd939f05cdaca128f4ddbae1b447d6f0203b60af", - "reference": "bd939f05cdaca128f4ddbae1b447d6f0203b60af", + "url": "https://api.github.com/repos/symfony/Translation/zipball/398e0eedcb89243ad34a10d079a4b6ea4c0b61ff", + "reference": "398e0eedcb89243ad34a10d079a4b6ea4c0b61ff", "shasum": "" }, "require": { @@ -4914,32 +5032,32 @@ "MIT" ], "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, { "name": "Fabien Potencier", "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], "description": "Symfony Translation Component", - "homepage": "http://symfony.com", - "time": "2015-03-30 15:54:10" + "homepage": "https://symfony.com", + "time": "2015-05-05 16:51:00" }, { "name": "symfony/var-dumper", - "version": "v2.6.6", + "version": "v2.6.7", "target-dir": "Symfony/Component/VarDumper", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "aafae00236e147568832de3c65ccb94cfc836278" + "reference": "89eec96645fb44af4a454a26c74c72ba6311f5bc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/aafae00236e147568832de3c65ccb94cfc836278", - "reference": "aafae00236e147568832de3c65ccb94cfc836278", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/89eec96645fb44af4a454a26c74c72ba6311f5bc", + "reference": "89eec96645fb44af4a454a26c74c72ba6311f5bc", "shasum": "" }, "require": { @@ -4970,22 +5088,22 @@ "MIT" ], "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, { "name": "Nicolas Grekas", "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], "description": "Symfony mechanism for exploring and dumping PHP variables", - "homepage": "http://symfony.com", + "homepage": "https://symfony.com", "keywords": [ "debug", "dump" ], - "time": "2015-03-31 08:12:29" + "time": "2015-05-01 14:14:24" }, { "name": "twbs/bootstrap", @@ -5095,12 +5213,12 @@ "source": { "type": "git", "url": "https://github.com/webpatser/laravel-countries.git", - "reference": "0b5bf74d85470430af7296e9f316d6f4ad9a5fa4" + "reference": "ae5d18d2d7ba45e155fda4fbbbf968e4869a2e04" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/webpatser/laravel-countries/zipball/0b5bf74d85470430af7296e9f316d6f4ad9a5fa4", - "reference": "0b5bf74d85470430af7296e9f316d6f4ad9a5fa4", + "url": "https://api.github.com/repos/webpatser/laravel-countries/zipball/ae5d18d2d7ba45e155fda4fbbbf968e4869a2e04", + "reference": "ae5d18d2d7ba45e155fda4fbbbf968e4869a2e04", "shasum": "" }, "require": { @@ -5139,7 +5257,7 @@ "iso_3166_3", "laravel" ], - "time": "2015-03-25 08:28:59" + "time": "2015-05-21 06:56:40" } ], "packages-dev": [ @@ -5311,16 +5429,16 @@ }, { "name": "phpspec/prophecy", - "version": "1.4.0", + "version": "v1.4.1", "source": { "type": "git", "url": "https://github.com/phpspec/prophecy.git", - "reference": "8724cd239f8ef4c046f55a3b18b4d91cc7f3e4c5" + "reference": "3132b1f44c7bf2ec4c7eb2d3cb78fdeca760d373" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/8724cd239f8ef4c046f55a3b18b4d91cc7f3e4c5", - "reference": "8724cd239f8ef4c046f55a3b18b4d91cc7f3e4c5", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/3132b1f44c7bf2ec4c7eb2d3cb78fdeca760d373", + "reference": "3132b1f44c7bf2ec4c7eb2d3cb78fdeca760d373", "shasum": "" }, "require": { @@ -5367,7 +5485,7 @@ "spy", "stub" ], - "time": "2015-03-27 19:31:25" + "time": "2015-04-27 22:15:08" }, { "name": "phpunit/php-code-coverage", @@ -5617,16 +5735,16 @@ }, { "name": "phpunit/phpunit", - "version": "4.6.4", + "version": "4.6.6", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "163232991e652e6efed2f8470326fffa61e848e2" + "reference": "3afe303d873a4d64c62ef84de491b97b006fbdac" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/163232991e652e6efed2f8470326fffa61e848e2", - "reference": "163232991e652e6efed2f8470326fffa61e848e2", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/3afe303d873a4d64c62ef84de491b97b006fbdac", + "reference": "3afe303d873a4d64c62ef84de491b97b006fbdac", "shasum": "" }, "require": { @@ -5685,7 +5803,7 @@ "testing", "xunit" ], - "time": "2015-04-11 05:23:21" + "time": "2015-04-29 15:18:52" }, { "name": "phpunit/phpunit-mock-objects", @@ -6115,17 +6233,17 @@ }, { "name": "symfony/yaml", - "version": "v2.6.6", + "version": "v2.6.7", "target-dir": "Symfony/Component/Yaml", "source": { "type": "git", "url": "https://github.com/symfony/Yaml.git", - "reference": "174f009ed36379a801109955fc5a71a49fe62dd4" + "reference": "f157ab074e453ecd4c0fa775f721f6e67a99d9e2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Yaml/zipball/174f009ed36379a801109955fc5a71a49fe62dd4", - "reference": "174f009ed36379a801109955fc5a71a49fe62dd4", + "url": "https://api.github.com/repos/symfony/Yaml/zipball/f157ab074e453ecd4c0fa775f721f6e67a99d9e2", + "reference": "f157ab074e453ecd4c0fa775f721f6e67a99d9e2", "shasum": "" }, "require": { @@ -6150,18 +6268,18 @@ "MIT" ], "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, { "name": "Fabien Potencier", "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], "description": "Symfony Yaml Component", - "homepage": "http://symfony.com", - "time": "2015-03-30 15:54:10" + "homepage": "https://symfony.com", + "time": "2015-05-02 15:18:45" } ], "aliases": [], From e40c634ea825037dfb29afa1a44a8cf830dcf112 Mon Sep 17 00:00:00 2001 From: Infacq Date: Fri, 22 May 2015 15:06:34 +0800 Subject: [PATCH 08/42] change to official community project --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 23390e0c1890..17401a68df19 100644 --- a/composer.json +++ b/composer.json @@ -33,7 +33,7 @@ "coatesap/omnipay-realex": "~2.0", "fruitcakestudio/omnipay-sisow": "~2.0", "alfaproject/omnipay-skrill": "dev-master", - "illuminate/html": "5.*", + "laravelcollective/html": "~5.0" "omnipay/bitpay": "dev-master" }, "require-dev": { From 4284ab6f91e13b9b2cc86d1b3528f7e318b3d1d9 Mon Sep 17 00:00:00 2001 From: Infacq Date: Fri, 22 May 2015 15:09:14 +0800 Subject: [PATCH 09/42] to suit with Laravel Collective Syntax --- config/app.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/app.php b/config/app.php index d4ca7d6d4020..1e0ef2f30a6f 100644 --- a/config/app.php +++ b/config/app.php @@ -146,7 +146,7 @@ return [ 'Intervention\Image\ImageServiceProvider', 'Webpatser\Countries\CountriesServiceProvider', 'Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider', - 'Illuminate\Html\HtmlServiceProvider', + 'Collective\Html\HtmlServiceProvider', /* * Application Service Providers... @@ -244,8 +244,8 @@ return [ // Added Class Aliases 'Utils' => 'App\Libraries\Utils', - 'Form' => 'Illuminate\Html\FormFacade', - 'HTML' => 'Illuminate\Html\HtmlFacade', + 'Form' => 'Collective\Html\FormFacade', + 'Html' => 'Collective\Html\HtmlFacade', 'SSH' => 'Illuminate\Support\Facades\SSH', 'Alert' => 'Bootstrapper\Facades\Alert', 'Badge' => 'Bootstrapper\Facades\Badge', From 6bf806450c84134e65afc9b6ee951fc600aa0b56 Mon Sep 17 00:00:00 2001 From: Infacq Date: Fri, 22 May 2015 15:10:55 +0800 Subject: [PATCH 10/42] change to blade style for CSRF --- resources/views/master.blade.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/views/master.blade.php b/resources/views/master.blade.php index a6432352749f..117d60cc83a0 100644 --- a/resources/views/master.blade.php +++ b/resources/views/master.blade.php @@ -15,7 +15,7 @@ - + From 9f388c7a10b9ca59393b4e7f4f9a92771dee0727 Mon Sep 17 00:00:00 2001 From: Infacq Date: Fri, 22 May 2015 15:11:54 +0800 Subject: [PATCH 11/42] fix comma --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 17401a68df19..11d7862d5ff2 100644 --- a/composer.json +++ b/composer.json @@ -33,7 +33,7 @@ "coatesap/omnipay-realex": "~2.0", "fruitcakestudio/omnipay-sisow": "~2.0", "alfaproject/omnipay-skrill": "dev-master", - "laravelcollective/html": "~5.0" + "laravelcollective/html": "~5.0", "omnipay/bitpay": "dev-master" }, "require-dev": { From 33d139adf5e5e960ba2a77ba87bc78c3fe3ea6a7 Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Fri, 22 May 2015 10:22:24 +0300 Subject: [PATCH 12/42] Working on pdfmake --- app/Http/Controllers/AccountController.php | 3 + app/Http/routes.php | 1 + .../2015_05_21_184104_add_font_size.php | 34 +++ public/js/built.js | 141 ++++++--- public/js/pdf.pdfmake.js | 141 ++++++--- public/js/templates/clean.js | 284 ++++++++---------- .../views/accounts/invoice_design.blade.php | 8 +- resources/views/script.blade.php | 6 +- 8 files changed, 365 insertions(+), 253 deletions(-) create mode 100644 database/migrations/2015_05_21_184104_add_font_size.php diff --git a/app/Http/Controllers/AccountController.php b/app/Http/Controllers/AccountController.php index e67102df2b7a..91f7ac62690c 100644 --- a/app/Http/Controllers/AccountController.php +++ b/app/Http/Controllers/AccountController.php @@ -331,6 +331,9 @@ class AccountController extends BaseController $account->primary_color = Input::get('primary_color'); $account->secondary_color = Input::get('secondary_color'); $account->invoice_design_id = Input::get('invoice_design_id'); + if (Input::has('font_size')) { + $account->font_size = intval(Input::get('font_size')); + } $account->save(); Session::flash('message', trans('texts.updated_settings')); diff --git a/app/Http/routes.php b/app/Http/routes.php index 3e1fe71adde7..cb1508421c74 100644 --- a/app/Http/routes.php +++ b/app/Http/routes.php @@ -279,6 +279,7 @@ define('MAX_NUM_CLIENTS', 500); define('MAX_NUM_CLIENTS_PRO', 20000); define('MAX_NUM_USERS', 20); define('MAX_SUBDOMAIN_LENGTH', 30); +define('DEFAULT_FONT_SIZE', 9); define('INVOICE_STATUS_DRAFT', 1); define('INVOICE_STATUS_SENT', 2); diff --git a/database/migrations/2015_05_21_184104_add_font_size.php b/database/migrations/2015_05_21_184104_add_font_size.php new file mode 100644 index 000000000000..48656cde5906 --- /dev/null +++ b/database/migrations/2015_05_21_184104_add_font_size.php @@ -0,0 +1,34 @@ +smallInteger('font_size')->default(DEFAULT_FONT_SIZE); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('accounts', function($table) + { + $table->dropColumn('font_size'); + }); + } + +} diff --git a/public/js/built.js b/public/js/built.js index e6c51a38f5a4..eea1cb4bdd42 100644 --- a/public/js/built.js +++ b/public/js/built.js @@ -33068,14 +33068,56 @@ function roundToTwo(num, toString) { function truncate(str, length) { return (str && str.length > length) ? (str.substr(0, length-1) + '...') : str; } +var NINJA = NINJA || {}; + function GetPdfMake(invoice, javascript, callback) { var account = invoice.account; var baseDD = { - pageMargins: [40, 40, 40, 40] + pageMargins: [40, 40, 40, 40], + styles: { + bold: { + bold: true + }, + cost: { + alignment: 'right' + }, + quantity: { + alignment: 'right' + }, + tax: { + alignment: 'right' + }, + lineTotal: { + alignment: 'right' + }, + right: { + alignment: 'right' + }, + subtotals: { + alignment: 'right' + }, + termsLabel: { + bold: true, + margin: [0, 10, 0, 4] + } + }, + footer: function(){ + f = [{ text:invoice.invoice_footer?invoice.invoice_footer:"", margin: [40, 0]}] + if (!invoice.is_pro && logoImages.imageLogo1) { + f.push({ + image: logoImages.imageLogo1, + width: 150, + margin: [40,0] + }); + } + return f; + }, + }; - eval(javascript); - dd = _.extend(dd, baseDD); - + + eval(javascript); + dd = $.extend(true, baseDD, dd); + /* var fonts = { Roboto: { @@ -33093,7 +33135,8 @@ function GetPdfMake(invoice, javascript, callback) { }; return doc; } -function notesAndTerms(invoice) + +NINJA.notesAndTerms = function(invoice) { var text = []; if (invoice.public_notes) { @@ -33108,7 +33151,7 @@ function notesAndTerms(invoice) return text; } -function invoiceLines(invoice) { +NINJA.invoiceLines = function(invoice) { var grid = [ [ {text: invoiceLabels.item, style: 'tableHeader'}, @@ -33139,42 +33182,43 @@ function invoiceLines(invoice) { tax = parseFloat(item.tax_rate); } - // show at most one blank line - if (shownItem && (!cost || cost == '0.00') && !notes && !productKey) { - continue; - } - shownItem = true; + // show at most one blank line + if (shownItem && (!cost || cost == '0.00') && !notes && !productKey) { + continue; + } + shownItem = true; - // process date variables - if (invoice.is_recurring) { - notes = processVariables(notes); - productKey = processVariables(productKey); - } + // process date variables + if (invoice.is_recurring) { + notes = processVariables(notes); + productKey = processVariables(productKey); + } - var lineTotal = roundToTwo(NINJA.parseFloat(item.cost)) * roundToTwo(NINJA.parseFloat(item.qty)); - if (tax) { - lineTotal += lineTotal * tax / 100; - } - if (lineTotal) { - total += lineTotal; - } - lineTotal = formatMoney(lineTotal, currencyId); + var lineTotal = roundToTwo(NINJA.parseFloat(item.cost)) * roundToTwo(NINJA.parseFloat(item.qty)); + if (tax) { + lineTotal += lineTotal * tax / 100; + } + if (lineTotal) { + total += lineTotal; + } + lineTotal = formatMoney(lineTotal, currencyId); - rowStyle = i%2===0?'odd':'even'; + rowStyle = i%2===0?'odd':'even'; - row[0] = {style:["productKey", rowStyle], text:productKey}; - row[1] = {style:["notes", rowStyle], text:notes}; - row[2] = {style:["cost", rowStyle], text:cost}; - row[3] = {style:["quantity", rowStyle], text:qty}; - row[4] = {style:["tax", rowStyle], text:""+tax}; - row[5] = {style:["lineTotal", rowStyle], text:lineTotal}; + row[0] = {style:["productKey", rowStyle], text:productKey}; + row[1] = {style:["notes", rowStyle], text:notes}; + row[2] = {style:["cost", rowStyle], text:cost}; + row[3] = {style:["quantity", rowStyle], text:qty}; + row[4] = {style:["tax", rowStyle], text:""+tax}; + row[5] = {style:["lineTotal", rowStyle], text:lineTotal}; - grid.push(row); -} -return grid; + grid.push(row); + } + + return grid; } -function subtotals(invoice) +NINJA.subtotals = function(invoice) { if (!invoice) { return; @@ -33216,7 +33260,7 @@ function subtotals(invoice) return data; } -function accountDetails(account) { +NINJA.accountDetails = function(account) { var data = []; if(account.name) data.push({text:account.name, style:'accountName'}); if(account.id_number) data.push({text:account.id_number, style:'accountDetails'}); @@ -33226,7 +33270,7 @@ function accountDetails(account) { return data; } -function accountAddress(account) { +NINJA.accountAddress = function(account) { var address = ''; if (account.city || account.state || account.postal_code) { address = ((account.city ? account.city + ', ' : '') + account.state + ' ' + account.postal_code).trim(); @@ -33239,7 +33283,7 @@ function accountAddress(account) { return data; } -function invoiceDetails(invoice) { +NINJA.invoiceDetails = function(invoice) { var data = [ [ invoice.is_quote ? invoiceLabels.quote_number : invoiceLabels.invoice_number, @@ -33258,7 +33302,7 @@ function invoiceDetails(invoice) { return data; } -function clientDetails(invoice) { +NINJA.clientDetails = function(invoice) { var client = invoice.client; if (!client) { return; @@ -33282,16 +33326,23 @@ function clientDetails(invoice) { if (!field) { continue; } - data.push(field); - } + data.push([field]); + } + if (!data.length) { + data.push(['']); + } return data; } -function primaryColor( defaultColor) { - return NINJA.primaryColor?NINJA.primaryColor:defaultColor; +NINJA.getPrimaryColor = function(defaultColor) { + return NINJA.primaryColor ? NINJA.primaryColor : defaultColor; } -function secondaryColor( defaultColor) { - return NINJA.primaryColor?NINJA.secondaryColor:defaultColor; +NINJA.getSecondaryColor = function(defaultColor) { + return NINJA.primaryColor ? NINJA.secondaryColor : defaultColor; +} + +NINJA.getEntityLabel = function(invoice) { + return invoice.is_quote ? invoiceLabels.quote : invoiceLabels.invoice; } \ No newline at end of file diff --git a/public/js/pdf.pdfmake.js b/public/js/pdf.pdfmake.js index 54f7dd91b6f5..a82f5eeb1546 100644 --- a/public/js/pdf.pdfmake.js +++ b/public/js/pdf.pdfmake.js @@ -1,11 +1,53 @@ +var NINJA = NINJA || {}; + function GetPdfMake(invoice, javascript, callback) { var account = invoice.account; var baseDD = { - pageMargins: [40, 40, 40, 40] + pageMargins: [40, 40, 40, 40], + styles: { + bold: { + bold: true + }, + cost: { + alignment: 'right' + }, + quantity: { + alignment: 'right' + }, + tax: { + alignment: 'right' + }, + lineTotal: { + alignment: 'right' + }, + right: { + alignment: 'right' + }, + subtotals: { + alignment: 'right' + }, + termsLabel: { + bold: true, + margin: [0, 10, 0, 4] + } + }, + footer: function(){ + f = [{ text:invoice.invoice_footer?invoice.invoice_footer:"", margin: [40, 0]}] + if (!invoice.is_pro && logoImages.imageLogo1) { + f.push({ + image: logoImages.imageLogo1, + width: 150, + margin: [40,0] + }); + } + return f; + }, + }; - eval(javascript); - dd = _.extend(dd, baseDD); - + + eval(javascript); + dd = $.extend(true, baseDD, dd); + /* var fonts = { Roboto: { @@ -23,7 +65,8 @@ function GetPdfMake(invoice, javascript, callback) { }; return doc; } -function notesAndTerms(invoice) + +NINJA.notesAndTerms = function(invoice) { var text = []; if (invoice.public_notes) { @@ -38,7 +81,7 @@ function notesAndTerms(invoice) return text; } -function invoiceLines(invoice) { +NINJA.invoiceLines = function(invoice) { var grid = [ [ {text: invoiceLabels.item, style: 'tableHeader'}, @@ -69,42 +112,43 @@ function invoiceLines(invoice) { tax = parseFloat(item.tax_rate); } - // show at most one blank line - if (shownItem && (!cost || cost == '0.00') && !notes && !productKey) { - continue; - } - shownItem = true; + // show at most one blank line + if (shownItem && (!cost || cost == '0.00') && !notes && !productKey) { + continue; + } + shownItem = true; - // process date variables - if (invoice.is_recurring) { - notes = processVariables(notes); - productKey = processVariables(productKey); - } + // process date variables + if (invoice.is_recurring) { + notes = processVariables(notes); + productKey = processVariables(productKey); + } - var lineTotal = roundToTwo(NINJA.parseFloat(item.cost)) * roundToTwo(NINJA.parseFloat(item.qty)); - if (tax) { - lineTotal += lineTotal * tax / 100; - } - if (lineTotal) { - total += lineTotal; - } - lineTotal = formatMoney(lineTotal, currencyId); + var lineTotal = roundToTwo(NINJA.parseFloat(item.cost)) * roundToTwo(NINJA.parseFloat(item.qty)); + if (tax) { + lineTotal += lineTotal * tax / 100; + } + if (lineTotal) { + total += lineTotal; + } + lineTotal = formatMoney(lineTotal, currencyId); - rowStyle = i%2===0?'odd':'even'; + rowStyle = i%2===0?'odd':'even'; - row[0] = {style:["productKey", rowStyle], text:productKey}; - row[1] = {style:["notes", rowStyle], text:notes}; - row[2] = {style:["cost", rowStyle], text:cost}; - row[3] = {style:["quantity", rowStyle], text:qty}; - row[4] = {style:["tax", rowStyle], text:""+tax}; - row[5] = {style:["lineTotal", rowStyle], text:lineTotal}; + row[0] = {style:["productKey", rowStyle], text:productKey}; + row[1] = {style:["notes", rowStyle], text:notes}; + row[2] = {style:["cost", rowStyle], text:cost}; + row[3] = {style:["quantity", rowStyle], text:qty}; + row[4] = {style:["tax", rowStyle], text:""+tax}; + row[5] = {style:["lineTotal", rowStyle], text:lineTotal}; - grid.push(row); -} -return grid; + grid.push(row); + } + + return grid; } -function subtotals(invoice) +NINJA.subtotals = function(invoice) { if (!invoice) { return; @@ -146,7 +190,7 @@ function subtotals(invoice) return data; } -function accountDetails(account) { +NINJA.accountDetails = function(account) { var data = []; if(account.name) data.push({text:account.name, style:'accountName'}); if(account.id_number) data.push({text:account.id_number, style:'accountDetails'}); @@ -156,7 +200,7 @@ function accountDetails(account) { return data; } -function accountAddress(account) { +NINJA.accountAddress = function(account) { var address = ''; if (account.city || account.state || account.postal_code) { address = ((account.city ? account.city + ', ' : '') + account.state + ' ' + account.postal_code).trim(); @@ -169,7 +213,7 @@ function accountAddress(account) { return data; } -function invoiceDetails(invoice) { +NINJA.invoiceDetails = function(invoice) { var data = [ [ invoice.is_quote ? invoiceLabels.quote_number : invoiceLabels.invoice_number, @@ -188,7 +232,7 @@ function invoiceDetails(invoice) { return data; } -function clientDetails(invoice) { +NINJA.clientDetails = function(invoice) { var client = invoice.client; if (!client) { return; @@ -212,16 +256,23 @@ function clientDetails(invoice) { if (!field) { continue; } - data.push(field); - } + data.push([field]); + } + if (!data.length) { + data.push(['']); + } return data; } -function primaryColor( defaultColor) { - return NINJA.primaryColor?NINJA.primaryColor:defaultColor; +NINJA.getPrimaryColor = function(defaultColor) { + return NINJA.primaryColor ? NINJA.primaryColor : defaultColor; } -function secondaryColor( defaultColor) { - return NINJA.primaryColor?NINJA.secondaryColor:defaultColor; +NINJA.getSecondaryColor = function(defaultColor) { + return NINJA.primaryColor ? NINJA.secondaryColor : defaultColor; +} + +NINJA.getEntityLabel = function(invoice) { + return invoice.is_quote ? invoiceLabels.quote : invoiceLabels.invoice; } \ No newline at end of file diff --git a/public/js/templates/clean.js b/public/js/templates/clean.js index dd0ffd830792..4858454b9529 100644 --- a/public/js/templates/clean.js +++ b/public/js/templates/clean.js @@ -1,187 +1,151 @@ //pdfmake var dd = { - content: [ + content: [ { - columns: [ + columns: [ [ - invoice.image? - { - image: invoice.image, - fit: [150, 80] - }:"" + invoice.image? + { + image: invoice.image, + fit: [150, 80] + }:"" ], { - stack: accountDetails(account) + stack: NINJA.accountDetails(account) }, { - stack: accountAddress(account) + stack: NINJA.accountAddress(account) } - ] + ] }, { - text:(invoice.is_quote ? invoiceLabels.quote : invoiceLabels.invoice).toUpperCase(), - margin: [8, 70, 8, 16], - style: 'primaryColor', - fontSize: 11 + text:(NINJA.getEntityLabel(invoice)).toUpperCase(), + margin: [8, 70, 8, 16], + style: 'primaryColor', + fontSize: NINJA.fontSize + 2 }, { - table: { - headerRows: 1, - widths: ['auto', 'auto', '*'], - body: [[ - { - table: { - body: invoiceDetails(invoice), - }, - layout: 'noBorders', - }, - clientDetails(invoice), - '' - ]] - }, - layout: { - hLineWidth: function (i, node) { - return (i === 0 || i === node.table.body.length) ? .5 : 0; + table: { + headerRows: 1, + widths: ['auto', 'auto', '*'], + body: [ + [ + { + table: { + body: NINJA.invoiceDetails(invoice), + }, + layout: 'noBorders', + }, + { + table: { + body: NINJA.clientDetails(invoice), + }, + layout: 'noBorders', + }, + '' + ] + ] }, - vLineWidth: function (i, node) { - return 0; - }, - hLineColor: function (i, node) { - return '#D8D8D8'; - }, - paddingLeft: function(i, node) { return 8; }, - paddingRight: function(i, node) { return 8; }, - paddingTop: function(i, node) { return 4; }, - paddingBottom: function(i, node) { return 4; } - } - }, - '\n', - { - table: { - headerRows: 1, - widths: ['15%', '*', 'auto', 'auto', 'auto', 'auto'], - body:invoiceLines(invoice), - }, - layout: { - hLineWidth: function (i, node) { - return i === 0 ? 0 : .5; - }, - vLineWidth: function (i, node) { - return 0; - }, - hLineColor: function (i, node) { - return '#D8D8D8'; - }, - paddingLeft: function(i, node) { return 8; }, - paddingRight: function(i, node) { return 8; }, - paddingTop: function(i, node) { return 8; }, - paddingBottom: function(i, node) { return 8; } - }, - }, - '\n', - { - columns: [ - notesAndTerms(invoice), - { - style: 'subtotals', - table: { - widths: ['*', '*'], - body: subtotals(invoice), - }, - layout: { + layout: { hLineWidth: function (i, node) { - return 0; + return (i === 0 || i === node.table.body.length) ? .5 : 0; }, vLineWidth: function (i, node) { - return 0; + return 0; + }, + hLineColor: function (i, node) { + return '#D8D8D8'; }, paddingLeft: function(i, node) { return 8; }, paddingRight: function(i, node) { return 8; }, paddingTop: function(i, node) { return 4; }, - paddingBottom: function(i, node) { return 4; } - }, + paddingBottom: function(i, node) { return 4; } } - ] }, - ], + '\n', + { + table: { + headerRows: 1, + widths: ['15%', '*', 'auto', 'auto', 'auto', 'auto'], + body: NINJA.invoiceLines(invoice), + }, + layout: { + hLineWidth: function (i, node) { + return i === 0 ? 0 : .5; + }, + vLineWidth: function (i, node) { + return 0; + }, + hLineColor: function (i, node) { + return '#D8D8D8'; + }, + paddingLeft: function(i, node) { return 8; }, + paddingRight: function(i, node) { return 8; }, + paddingTop: function(i, node) { return 8; }, + paddingBottom: function(i, node) { return 8; } + }, + }, + '\n', + { + columns: [ + NINJA.notesAndTerms(invoice), + { + style: 'subtotals', + table: { + widths: ['*', '*'], + body: NINJA.subtotals(invoice), + }, + layout: { + hLineWidth: function (i, node) { + return 0; + }, + vLineWidth: function (i, node) { + return 0; + }, + paddingLeft: function(i, node) { return 8; }, + paddingRight: function(i, node) { return 8; }, + paddingTop: function(i, node) { return 4; }, + paddingBottom: function(i, node) { return 4; } + }, + } + ] + }, + ], - footer: function(){ - f = [{ text:invoice.invoice_footer?invoice.invoice_footer:"", margin: [40, 0]}] - if (!invoice.is_pro && logoImages.imageLogo1) { - f.push({ - image: logoImages.imageLogo1, - width: 150, - margin: [40,0] - }); - } - return f; - }, - - defaultStyle: { - //font: 'Roboto', - fontSize: 9, - margin: [8, 4, 8, 4] - }, - styles: { - primaryColor:{ - color: primaryColor('#299CC2') + defaultStyle: { + fontSize: NINJA.fontSize, + margin: [8, 4, 8, 4] }, - accountName: { - margin: [4, 2, 4, 2], - color:primaryColor('#299CC2') + styles: { + primaryColor:{ + color: NINJA.getPrimaryColor('#299CC2') + }, + accountName: { + margin: [4, 2, 4, 2], + color: NINJA.getPrimaryColor('#299CC2') + }, + accountDetails: { + margin: [4, 2, 4, 2], + color: '#AAA9A9' + }, + even: { + }, + odd: { + fillColor:'#F4F4F4' + }, + productKey: { + color: NINJA.getPrimaryColor('#299CC2') + }, + tableHeader: { + bold: true + }, + balanceDueLabel: { + fontSize: NINJA.fontSize + 2 + }, + balanceDueValue: { + fontSize: NINJA.fontSize + 2, + color: NINJA.getPrimaryColor('#299CC2') + }, }, - accountDetails: { - margin: [4, 2, 4, 2], - color: '#AAA9A9' - }, - bold: { - bold: true - }, - even: { - }, - odd: { - fillColor:'#F4F4F4' - }, - productKey: { - color:primaryColor('#299CC2') - }, - cost: { - alignment: 'right' - }, - quantity: { - alignment: 'right' - }, - tax: { - alignment: 'right' - }, - lineTotal: { - alignment: 'right' - }, - right: { - alignment: 'right' - }, - subtotals: { - alignment: 'right' - }, - tableHeader: { - bold: true - }, - balanceDueLabel: { - fontSize: 11 - }, - balanceDueValue: { - fontSize: 11, - color:primaryColor('#299CC2') - }, - notes: { - }, - terms: { - - }, - termsLabel: { - bold: true, - fontSize: 10, - margin: [0, 10, 0, 4] - } - } + pageMargins: [40, 40, 40, 40], }; \ No newline at end of file diff --git a/resources/views/accounts/invoice_design.blade.php b/resources/views/accounts/invoice_design.blade.php index 20d530ecf8c5..255676e1eb8a 100644 --- a/resources/views/accounts/invoice_design.blade.php +++ b/resources/views/accounts/invoice_design.blade.php @@ -40,6 +40,7 @@ NINJA.primaryColor = $('#primary_color').val(); NINJA.secondaryColor = $('#secondary_color').val(); + NINJA.fontSize = parseInt($('#font_size').val()); doc = generatePDF(invoice, getDesignJavascript(), true); doc.getDataUrl(cb); @@ -80,15 +81,18 @@ @if (!Utils::isPro() || \App\Models\InvoiceDesign::count() == COUNT_FREE_DESIGNS) - {!! Former::select('invoice_design_id')->style('display:inline;width:120px')->fromQuery($invoiceDesigns, 'name', 'id')->addOption(trans('texts.more_designs') . '...', '-1') !!} + {!! Former::select('invoice_design_id')->style('display:inline;width:120px')->fromQuery($invoiceDesigns, 'name', 'id')->addOption(trans('texts.more_designs') . '...', '-1') !!} @else {!! Former::select('invoice_design_id')->style('display:inline;width:120px')->fromQuery($invoiceDesigns, 'name', 'id') !!} @endif - + @if (Auth::user()->account->utf8_invoices) + {!! Former::text('font_size')->type('number')->min('0')->step('1')->style('width:120px') !!} + @endif {!! Former::text('primary_color') !!} {!! Former::text('secondary_color') !!} + diff --git a/resources/views/script.blade.php b/resources/views/script.blade.php index 47c1c9fa3f5b..4f60ac5626b4 100644 --- a/resources/views/script.blade.php +++ b/resources/views/script.blade.php @@ -5,17 +5,21 @@ for (var i=0; iaccount->font_size ?: DEFAULT_FONT_SIZE }}; @endif + NINJA.parseFloat = function(str) { if (!str) return ''; str = (str+'').replace(/[^0-9\.\-]/g, ''); return window.parseFloat(str); } + function formatMoney(value, currency_id, hide_symbol) { value = NINJA.parseFloat(value); if (!currency_id) currency_id = {{ Session::get(SESSION_CURRENCY, DEFAULT_CURRENCY) }}; From 557323d761d61cd337ca8322af4c41f312c32fba Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Fri, 22 May 2015 10:30:04 +0300 Subject: [PATCH 13/42] Revert "Composer update for HTML/Form Facade" --- composer.json | 2 +- config/app.php | 6 +++--- resources/views/master.blade.php | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/composer.json b/composer.json index 11d7862d5ff2..23390e0c1890 100644 --- a/composer.json +++ b/composer.json @@ -33,7 +33,7 @@ "coatesap/omnipay-realex": "~2.0", "fruitcakestudio/omnipay-sisow": "~2.0", "alfaproject/omnipay-skrill": "dev-master", - "laravelcollective/html": "~5.0", + "illuminate/html": "5.*", "omnipay/bitpay": "dev-master" }, "require-dev": { diff --git a/config/app.php b/config/app.php index 1e0ef2f30a6f..d4ca7d6d4020 100644 --- a/config/app.php +++ b/config/app.php @@ -146,7 +146,7 @@ return [ 'Intervention\Image\ImageServiceProvider', 'Webpatser\Countries\CountriesServiceProvider', 'Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider', - 'Collective\Html\HtmlServiceProvider', + 'Illuminate\Html\HtmlServiceProvider', /* * Application Service Providers... @@ -244,8 +244,8 @@ return [ // Added Class Aliases 'Utils' => 'App\Libraries\Utils', - 'Form' => 'Collective\Html\FormFacade', - 'Html' => 'Collective\Html\HtmlFacade', + 'Form' => 'Illuminate\Html\FormFacade', + 'HTML' => 'Illuminate\Html\HtmlFacade', 'SSH' => 'Illuminate\Support\Facades\SSH', 'Alert' => 'Bootstrapper\Facades\Alert', 'Badge' => 'Bootstrapper\Facades\Badge', diff --git a/resources/views/master.blade.php b/resources/views/master.blade.php index 117d60cc83a0..a6432352749f 100644 --- a/resources/views/master.blade.php +++ b/resources/views/master.blade.php @@ -15,7 +15,7 @@ - + From 50e3008ebb5bb63327cec8034d412f16ce39f8f3 Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Fri, 22 May 2015 13:52:49 +0300 Subject: [PATCH 14/42] Merge #319 --- composer.json | 4 +- composer.lock | 72 +++++++++++++++++++++++++++----- config/app.php | 8 ++-- resources/views/master.blade.php | 2 +- 4 files changed, 68 insertions(+), 18 deletions(-) diff --git a/composer.json b/composer.json index 7e0b131c7862..53b0d39da30a 100644 --- a/composer.json +++ b/composer.json @@ -33,9 +33,9 @@ "coatesap/omnipay-realex": "~2.0", "fruitcakestudio/omnipay-sisow": "~2.0", "alfaproject/omnipay-skrill": "dev-master", - "illuminate/html": "5.*", "omnipay/bitpay": "dev-master", - "guzzlehttp/guzzle": "~4.0" + "guzzlehttp/guzzle": "~4.0", + "laravelcollective/html": "~5.0" }, "require-dev": { "phpunit/phpunit": "~4.0", diff --git a/composer.lock b/composer.lock index 991a8ea84d8b..831104cf665a 100644 --- a/composer.lock +++ b/composer.lock @@ -1,10 +1,10 @@ { "_readme": [ "This file locks the dependencies of your project to a known state", - "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", + "Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "hash": "75169c1d348bf682bd06c75c84b19c0e", + "hash": "a227afec5776c50509282b949ff6fd71", "packages": [ { "name": "alfaproject/omnipay-neteller", @@ -120,12 +120,12 @@ "source": { "type": "git", "url": "https://github.com/formers/former.git", - "reference": "4a03cdd08f1bdd975bd2521bed74ab38bf590388" + "reference": "e37cb69d12d4436282e6754800903d94788528f3" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/formers/former/zipball/e37cb69d12d4436282e6754800903d94788528f3", - "reference": "4a03cdd08f1bdd975bd2521bed74ab38bf590388", + "reference": "e37cb69d12d4436282e6754800903d94788528f3", "shasum": "" }, "require": { @@ -171,7 +171,7 @@ "foundation", "laravel" ], - "time": "2015-04-20 13:53:18" + "time": "2015-05-06 00:01:16" }, { "name": "anahkiasen/html-object", @@ -339,7 +339,7 @@ }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Chumper/Datatable/zipball/d8a01807d0d0b46e6ff26d760934f885f4f48dc3", + "url": "https://api.github.com/repos/Chumper/Datatable/zipball/7fa47cb5469f07c620fb69dee94b8e1a96943ee2", "reference": "7fa47cb", "shasum": "" }, @@ -1768,16 +1768,16 @@ }, { "name": "laravel/framework", - "version": "v5.0.28", + "version": "v5.0.31", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "06a09429322cf53e5bd4587db1060f02a291562e" + "reference": "db0a7400465df159ba8c6eaa954f97f50bc19687" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/06a09429322cf53e5bd4587db1060f02a291562e", - "reference": "06a09429322cf53e5bd4587db1060f02a291562e", + "url": "https://api.github.com/repos/laravel/framework/zipball/db0a7400465df159ba8c6eaa954f97f50bc19687", + "reference": "db0a7400465df159ba8c6eaa954f97f50bc19687", "shasum": "" }, "require": { @@ -1890,7 +1890,57 @@ "framework", "laravel" ], - "time": "2015-04-21 01:44:32" + "time": "2015-05-11 22:15:00" + }, + { + "name": "laravelcollective/html", + "version": "v5.0.4", + "source": { + "type": "git", + "url": "https://github.com/LaravelCollective/html.git", + "reference": "c55fda58b1a9a1b58bd04f97e0fb9ebc238a0a94" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/LaravelCollective/html/zipball/c55fda58b1a9a1b58bd04f97e0fb9ebc238a0a94", + "reference": "c55fda58b1a9a1b58bd04f97e0fb9ebc238a0a94", + "shasum": "" + }, + "require": { + "illuminate/http": "~5.0", + "illuminate/routing": "~5.0", + "illuminate/session": "~5.0", + "illuminate/support": "~5.0", + "php": ">=5.4.0" + }, + "require-dev": { + "mockery/mockery": "~0.9", + "phpunit/phpunit": "~4.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Collective\\Html\\": "src/" + }, + "files": [ + "src/helpers.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylorotwell@gmail.com" + }, + { + "name": "Adam Engebretson", + "email": "adam@laravelcollective.com" + } + ], + "time": "2015-05-06 14:23:37" }, { "name": "league/flysystem", diff --git a/config/app.php b/config/app.php index d4ca7d6d4020..d3fb25f0302a 100644 --- a/config/app.php +++ b/config/app.php @@ -187,7 +187,7 @@ return [ 'File' => 'Illuminate\Support\Facades\File', //'Form' => 'Illuminate\Support\Facades\Form', 'Hash' => 'Illuminate\Support\Facades\Hash', - 'HTML' => 'Illuminate\Support\Facades\HTML', + //'HTML' => 'Illuminate\Support\Facades\HTML', 'Input' => 'Illuminate\Support\Facades\Input', 'Lang' => 'Illuminate\Support\Facades\Lang', 'Log' => 'Illuminate\Support\Facades\Log', @@ -244,8 +244,8 @@ return [ // Added Class Aliases 'Utils' => 'App\Libraries\Utils', - 'Form' => 'Illuminate\Html\FormFacade', - 'HTML' => 'Illuminate\Html\HtmlFacade', + 'Form' => 'Collective\Html\FormFacade', + 'HTML' => 'Collective\Html\HtmlFacade', 'SSH' => 'Illuminate\Support\Facades\SSH', 'Alert' => 'Bootstrapper\Facades\Alert', 'Badge' => 'Bootstrapper\Facades\Badge', @@ -255,7 +255,7 @@ return [ 'ButtonToolbar' => 'Bootstrapper\Facades\ButtonToolbar', 'Carousel' => 'Bootstrapper\Facades\Carousel', 'DropdownButton' => 'Bootstrapper\Facades\DropdownButton', - 'Form' => 'Bootstrapper\Facades\Form', + //'Form' => 'Bootstrapper\Facades\Form', //need to clarify this guy 'Helpers' => 'Bootstrapper\Facades\Helpers', 'Icon' => 'Bootstrapper\Facades\Icon', //'Image' => 'Bootstrapper\Facades\Image', diff --git a/resources/views/master.blade.php b/resources/views/master.blade.php index a6432352749f..42c5e3d8941c 100644 --- a/resources/views/master.blade.php +++ b/resources/views/master.blade.php @@ -15,7 +15,7 @@ - + From e9bf76a2d981a7d3d64621003a19aa71a7bb3121 Mon Sep 17 00:00:00 2001 From: Ben Cole Date: Tue, 26 May 2015 10:41:40 -0700 Subject: [PATCH 15/42] Added missing template variable to live preview; closes #320 --- resources/views/accounts/email_templates.blade.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/views/accounts/email_templates.blade.php b/resources/views/accounts/email_templates.blade.php index eaab892cad3a..a2d5876b4ffa 100644 --- a/resources/views/accounts/email_templates.blade.php +++ b/resources/views/accounts/email_templates.blade.php @@ -107,8 +107,8 @@ return ''; } - keys = ['footer', 'account', 'client', 'amount', 'link']; - vals = [{!! json_encode($emailFooter) !!}, '{!! Auth::user()->account->getDisplayName() !!}', 'Client Name', formatMoney(100), '{!! NINJA_WEB_URL !!}'] + keys = ['footer', 'account', 'client', 'amount', 'link', 'contact']; + vals = [{!! json_encode($emailFooter) !!}, '{!! Auth::user()->account->getDisplayName() !!}', 'Client Name', formatMoney(100), '{!! NINJA_WEB_URL !!}', 'Contact Name'] for (var i=0; i Date: Tue, 26 May 2015 21:40:53 -0700 Subject: [PATCH 16/42] Hide logo on public payment page if white label --- app/Http/Controllers/PaymentController.php | 1 + 1 file changed, 1 insertion(+) diff --git a/app/Http/Controllers/PaymentController.php b/app/Http/Controllers/PaymentController.php index b9c67a151778..3d603c19b59f 100644 --- a/app/Http/Controllers/PaymentController.php +++ b/app/Http/Controllers/PaymentController.php @@ -325,6 +325,7 @@ class PaymentController extends BaseController 'countries' => Cache::get('countries'), 'currencyId' => $client->currency_id, 'account' => $client->account, + 'hideLogo' => $account->isWhiteLabel(), ]; return View::make('payments.payment', $data); From 3da1e738d8d2462c9117bb90d594f30c63ccd205 Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Wed, 27 May 2015 19:52:10 +0300 Subject: [PATCH 17/42] Working on tasks --- Gruntfile.js | 5 +- app/Console/Commands/ImportTimesheetData.php | 335 ------------------ app/Console/Kernel.php | 1 - app/Http/Controllers/ClientController.php | 5 +- app/Http/Controllers/InvoiceController.php | 3 +- app/Http/Controllers/TaskController.php | 260 ++++++++++++++ app/Http/Controllers/TimesheetController.php | 93 ----- app/Http/routes.php | 28 +- app/Libraries/Utils.php | 21 +- app/Libraries/timesheet_utils.php | 119 ------- app/Models/Activity.php | 3 + app/Models/Project.php | 49 --- app/Models/ProjectCode.php | 51 --- app/Models/Task.php | 36 ++ app/Models/Timesheet.php | 26 -- app/Models/TimesheetEvent.php | 128 ------- app/Models/TimesheetEventSource.php | 46 --- app/Ninja/Repositories/InvoiceRepository.php | 7 +- app/Ninja/Repositories/TaskRepository.php | 102 ++++++ bower.json | 3 +- composer.json | 5 +- composer.lock | 228 ++++++++++-- config/app.php | 6 +- config/services.php | 2 + .../2014_10_06_103529_add_timesheets.php | 10 +- .../2015_05_21_184104_add_font_size.php | 2 +- .../2015_05_27_121828_add_tasks.php | 55 +++ public/css/built.css | 6 +- public/css/style.css | 6 +- public/favicon.png | Bin 1160 -> 1689 bytes public/js/built.js | 34 ++ public/js/script.js | 27 ++ resources/lang/en/texts.php | 43 +++ resources/views/clients/show.blade.php | 28 +- resources/views/credits/edit.blade.php | 4 - resources/views/header.blade.php | 12 +- resources/views/invoices/edit.blade.php | 27 +- resources/views/list.blade.php | 34 +- resources/views/tasks/edit.blade.php | 273 ++++++++++++++ tests/TimesheetUtilsTest.php | 26 -- 40 files changed, 1182 insertions(+), 967 deletions(-) delete mode 100644 app/Console/Commands/ImportTimesheetData.php create mode 100644 app/Http/Controllers/TaskController.php delete mode 100644 app/Http/Controllers/TimesheetController.php delete mode 100644 app/Libraries/timesheet_utils.php delete mode 100644 app/Models/Project.php delete mode 100644 app/Models/ProjectCode.php create mode 100644 app/Models/Task.php delete mode 100644 app/Models/Timesheet.php delete mode 100644 app/Models/TimesheetEvent.php delete mode 100644 app/Models/TimesheetEventSource.php create mode 100644 app/Ninja/Repositories/TaskRepository.php create mode 100644 database/migrations/2015_05_27_121828_add_tasks.php create mode 100644 resources/views/tasks/edit.blade.php delete mode 100644 tests/TimesheetUtilsTest.php diff --git a/Gruntfile.js b/Gruntfile.js index 005c733a9d5e..4b01db377ffd 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -56,6 +56,8 @@ module.exports = function(grunt) { 'public/vendor/accounting/accounting.min.js', 'public/vendor/spectrum/spectrum.js', 'public/vendor/jspdf/dist/jspdf.min.js', + 'public/vendor/moment/min/moment.min.js', + //'public/vendor/moment-duration-format/lib/moment-duration-format.js', //'public/vendor/handsontable/dist/jquery.handsontable.full.min.js', //'public/vendor/pdfmake/build/pdfmake.min.js', //'public/vendor/pdfmake/build/vfs_fonts.js', @@ -63,8 +65,7 @@ module.exports = function(grunt) { 'public/js/lightbox.min.js', 'public/js/bootstrap-combobox.js', 'public/js/script.js', - 'public/js/pdf.pdfmake.js', - + 'public/js/pdf.pdfmake.js' ], dest: 'public/js/built.js', nonull: true diff --git a/app/Console/Commands/ImportTimesheetData.php b/app/Console/Commands/ImportTimesheetData.php deleted file mode 100644 index 450b02b1f4c8..000000000000 --- a/app/Console/Commands/ImportTimesheetData.php +++ /dev/null @@ -1,335 +0,0 @@ -info(date('Y-m-d') . ' Running ImportTimesheetData...'); - - // Seems we are using the console timezone - DB::statement("SET SESSION time_zone = '+00:00'"); - - // Get the Unix epoch - $unix_epoch = new DateTime('1970-01-01T00:00:01', new DateTimeZone("UTC")); - - // Create some initial sources we can test with - $user = User::first(); - if (!$user) { - $this->error("Error: please create user account by logging in"); - return; - } - - // TODO: Populate with own test data until test data has been created - // Truncate the tables - /*$this->info("Truncate tables"); - DB::statement('SET FOREIGN_KEY_CHECKS=0;'); - DB::table('projects')->truncate(); - DB::table('project_codes')->truncate(); - DB::table('timesheet_event_sources')->truncate(); - DB::table('timesheet_events')->truncate(); - DB::statement('SET FOREIGN_KEY_CHECKS=1;'); */ - - if (!Project::find(1)) { - $this->info("Import old project codes"); - $oldcodes = json_decode(file_get_contents("/home/tlb/git/itktime/codes.json"), true); - foreach ($oldcodes as $name => $options) { - $project = Project::createNew($user); - $project->name = $options['description']; - $project->save(); - - $code = ProjectCode::createNew($user); - $code->name = $name; - $project->codes()->save($code); - } - } - - if (!TimesheetEventSource::find(1)) { - $this->info("Import old event sources"); - - $oldevent_sources = json_decode(file_get_contents("/home/tlb/git/itktime/employes.json"), true); - - foreach ($oldevent_sources as $source) { - $event_source = TimesheetEventSource::createNew($user); - $event_source->name = $source['name']; - $event_source->url = $source['url']; - $event_source->owner = $source['owner']; - $event_source->type = 'ical'; - //$event_source->from_date = new DateTime("2009-01-01"); - $event_source->save(); - } - } - - // Add all URL's to Curl - $this->info("Download ICAL feeds"); - $T = new Timer; - $T->start(); - - $T->lap("Get Event Sources"); - $event_sources = TimesheetEventSource::all(); // TODO: Filter based on ical feeds - - $T->lap("Get ICAL responses"); - $urls = []; - $event_sources->map(function($item) use(&$urls) { - $urls[] = $item->url; - }); - $icalresponses = TimesheetUtils::curlGetUrls($urls); - - $T->lap("Fetch all codes so we can do a quick lookup"); - $codes = array(); - ProjectCode::all()->map(function($item) use(&$codes) { - $codes[$item->name] = $item; - }); - - $this->info("Start parsing ICAL files"); - foreach ($event_sources as $i => $event_source) { - if (!is_array($icalresponses[$i])) { - $this->info("Find events in " . $event_source->name); - file_put_contents("/tmp/" . $event_source->name . ".ical", $icalresponses[$i]); // FIXME: Remove - $T->lap("Split on events for ".$event_source->name); - - // Check if the file is complete - if(!preg_match("/^\s*BEGIN:VCALENDAR/", $icalresponses[$i]) || !preg_match("/END:VCALENDAR\s*$/", $icalresponses[$i])) { - $this->error("Missing start or end of ical file"); - continue; - } - - // Extract all events from ical file - if (preg_match_all('/BEGIN:VEVENT\r?\n(.+?)\r?\nEND:VEVENT/s', $icalresponses[$i], $icalmatches)) { - $this->info("Found ".(count($icalmatches[1])-1)." events"); - $T->lap("Fetch all uids and last updated at so we can do a quick lookup to find out if the event needs to be updated in the database".$event_source->name); - $uids = []; - $org_deleted = []; // Create list of events we know are deleted on the source, but still have in the db - $event_source->events()->withTrashed()->get(['uid', 'org_updated_at', 'updated_data_at', 'org_deleted_at'])->map(function($item) use(&$uids, &$org_deleted) { - if($item->org_updated_at > $item->updated_data_at) { - $uids[$item->uid] = $item->org_updated_at; - } else { - $uids[$item->uid] = $item->updated_data_at; - } - if($item->org_deleted_at > '0000-00-00 00:00:00') { - $org_deleted[$item->uid] = $item->updated_data_at; - } - }); - $deleted = $uids; - - // Loop over all the found events - $T->lap("Parse events for ".$event_source->name); - foreach ($icalmatches[1] as $eventstr) { - //print "---\n"; - //print $eventstr."\n"; - //print "---\n"; - //$this->info("Match event"); - # Fix lines broken by 76 char limit - $eventstr = preg_replace('/\r?\n\s/s', '', $eventstr); - //$this->info("Parse data"); - $data = TimesheetUtils::parseICALEvent($eventstr); - if ($data) { - // Extract code for summary so we only import events we use - list($codename, $tags, $title) = TimesheetUtils::parseEventSummary($data['summary']); - if ($codename != null) { - $event = TimesheetEvent::createNew($user); - - // Copy data to new object - $event->uid = $data['uid']; - $event->summary = $title; - $event->org_data = $eventstr; - $event->org_code = $codename; - if(isset($data['description'])) { - $event->description = $data['description']; - } - $event->owner = $event_source->owner; - $event->timesheet_event_source_id = $event_source->id; - if (isset($codes[$codename])) { - $event->project_id = $codes[$codename]->project_id; - $event->project_code_id = $codes[$codename]->id; - } - if (isset($data['location'])) { - $event->location = $data['location']; - } - - - # Add RECURRENCE-ID to the UID to make sure the event is unique - if (isset($data['recurrence-id'])) { - $event->uid .= "::".$data['recurrence-id']; - } - - //TODO: Add support for recurring event, make limit on number of events created : https://github.com/tplaner/When - // Bail on RRULE as we don't support that - if(isset($event['rrule'])) { - die("Recurring event not supported: {$event['summary']} - {$event['dtstart']}"); - } - - // Convert to DateTime objects - foreach (['dtstart', 'dtend', 'created', 'last-modified'] as $key) { - // Parse and create DataTime object from ICAL format - list($dt, $timezone) = TimesheetUtils::parseICALDate($data[$key]); - - // Handle bad dates in created and last-modified - if ($dt == null || $dt < $unix_epoch) { - if ($key == 'created' || $key == 'last-modified') { - $dt = $unix_epoch; // Default to UNIX epoch - $event->import_warning = "Could not parse date for $key: '" . $data[$key] . "' so default to UNIX Epoc\n"; - } else { - $event->import_error = "Could not parse date for $key: '" . $data[$key] . "' so default to UNIX Epoc\n"; - // TODO: Bail on this event or write to error table - die("Could not parse date for $key: '" . $data[$key] . "'\n"); - } - } - - // Assign DateTime object to - switch ($key) { - case 'dtstart': - $event->start_date = $dt; - if($timezone) { - $event->org_start_date_timezone = $timezone; - } - break; - case 'dtend': - $event->end_date = $dt; - if($timezone) { - $event->org_end_date_timezone = $timezone; - } - break; - case 'created': - $event->org_created_at = $dt; - break; - case 'last-modified': - $event->org_updated_at = $dt; - break; - } - } - - // Check that we are witin the range - if ($event_source->from_date != null) { - $from_date = new DateTime($event_source->from_date, new DateTimeZone('UTC')); - if ($from_date > $event->end_date) { - // Skip this event - echo "Skiped: $codename: $title\n"; - continue; - } - } - - // Calculate number of hours - $di = $event->end_date->diff($event->start_date); - $event->hours = $di->h + $di->i / 60; - - // Check for events we already have - if (isset($uids[$event->uid])) { - // Remove from deleted list - unset($deleted[$event->uid]); - - // See if the event has been updated compared to the one in the database - $db_event_org_updated_at = new DateTime($uids[$event->uid], new DateTimeZone('UTC')); - - // Check if same or older version of new event then skip - if($event->org_updated_at <= $db_event_org_updated_at) { - // SKIP - - // Updated version of the event - } else { - // Get the old event from the database - /* @var $db_event TimesheetEvent */ - $db_event = $event_source->events()->where('uid', $event->uid)->firstOrFail(); - $changes = $db_event->toChangesArray($event); - - // Make sure it's more than the org_updated_at that has been changed - if (count($changes) > 1) { - // Check if we have manually changed the event in the database or used it in a timesheet - if ($db_event->manualedit || $db_event->timesheet) { - $this->info("Updated Data"); - $db_event->updated_data = $event->org_data; - $db_event->updated_data_at = $event->org_updated_at; - - // Update the db_event with the changes - } else { - $this->info("Updated Event"); - foreach ($changes as $key => $value) { - if($value == null) { - unset($db_event->$key); - } else { - $db_event->$key = $value; - } - } - } - - } else { - $this->info("Nothing Changed"); - // Nothing has been changed so update the org_updated_at - $db_event->org_updated_at = $changes['org_updated_at']; - } - $db_event->save(); - } - - } else { - try { - $this->info("New event: " . $event->summary); - $event->save(); - - } catch (Exception $ex) { - echo "'" . $event->summary . "'\n"; - var_dump($data); - echo $ex->getMessage(); - echo $ex->getTraceAsString(); - exit(0); - } - } - // Add new uid to know uids - $uids[$event->uid] = $event->org_updated_at; - } - } - } - // Delete events in database that no longer exists in the source - foreach($deleted as $uid => $lastupdated_date) { - // Skip we already marked this a deleted - if(isset($org_deleted[$uid])) { - unset($deleted[$uid]); - continue; - } - // Delete or update event in db - $db_event = $event_source->events()->where('uid', $uid)->firstOrFail(); - if($db_event->timesheet_id === null && !$db_event->manualedit) { - // Hard delete if this event has not been assigned to a timesheet or have been manually edited - $db_event->forceDelete(); - - } else { - // Mark as deleted in source - $db_event->org_deleted_at = new DateTime('now', new DateTimeZone('UTC')); - $db_event->save(); - - } - } - $this->info("Deleted ".count($deleted). " events"); - - } else { - // TODO: Parse error - } - - } else { - // TODO: Curl Error - } - } - - foreach($T->end()['laps'] as $lap) { - echo number_format($lap['total'], 3)." : {$lap['name']}\n"; - } - - $this->info('Done'); - } - - protected function getArguments() { - return array( - ); - } - - protected function getOptions() { - return array( - ); - } - -} diff --git a/app/Console/Kernel.php b/app/Console/Kernel.php index 64d68d6f4642..9235cbf87b58 100644 --- a/app/Console/Kernel.php +++ b/app/Console/Kernel.php @@ -14,7 +14,6 @@ class Kernel extends ConsoleKernel { 'App\Console\Commands\SendRecurringInvoices', 'App\Console\Commands\CreateRandomData', 'App\Console\Commands\ResetData', - 'App\Console\Commands\ImportTimesheetData', 'App\Console\Commands\CheckData', 'App\Console\Commands\SendRenewalInvoices', ]; diff --git a/app/Http/Controllers/ClientController.php b/app/Http/Controllers/ClientController.php index 7a58ad08bb8c..52a078b21a66 100644 --- a/app/Http/Controllers/ClientController.php +++ b/app/Http/Controllers/ClientController.php @@ -20,6 +20,7 @@ use App\Models\PaymentTerm; use App\Models\Industry; use App\Models\Currency; use App\Models\Country; +use App\Models\Task; use App\Ninja\Repositories\ClientRepository; @@ -112,7 +113,7 @@ class ClientController extends BaseController Utils::trackViewed($client->getDisplayName(), ENTITY_CLIENT); $actionLinks = [ - ['label' => trans('texts.create_invoice'), 'url' => '/invoices/create/'.$client->public_id], + ['label' => trans('texts.create_task'), 'url' => '/tasks/create/'.$client->public_id], ['label' => trans('texts.enter_payment'), 'url' => '/payments/create/'.$client->public_id], ['label' => trans('texts.enter_credit'), 'url' => '/credits/create/'.$client->public_id], ]; @@ -128,6 +129,8 @@ class ClientController extends BaseController 'credit' => $client->getTotalCredit(), 'title' => trans('texts.view_client'), 'hasRecurringInvoices' => Invoice::scope()->where('is_recurring', '=', true)->whereClientId($client->id)->count() > 0, + 'hasQuotes' => Invoice::scope()->where('is_quote', '=', true)->whereClientId($client->id)->count() > 0, + 'hasTasks' => Task::scope()->whereClientId($client->id)->count() > 0, 'gatewayLink' => $client->getGatewayLink(), ); diff --git a/app/Http/Controllers/InvoiceController.php b/app/Http/Controllers/InvoiceController.php index 1a18941bb6e9..c1e9afda49a9 100644 --- a/app/Http/Controllers/InvoiceController.php +++ b/app/Http/Controllers/InvoiceController.php @@ -327,7 +327,8 @@ class InvoiceController extends BaseController 'method' => 'POST', 'url' => 'invoices', 'title' => trans('texts.new_invoice'), - 'client' => $client, ); + 'client' => $client, + 'tasks' => Session::get('tasks') ? json_encode(Session::get('tasks')) : null); $data = array_merge($data, self::getViewModel()); return View::make('invoices.edit', $data); diff --git a/app/Http/Controllers/TaskController.php b/app/Http/Controllers/TaskController.php new file mode 100644 index 000000000000..19e48224a026 --- /dev/null +++ b/app/Http/Controllers/TaskController.php @@ -0,0 +1,260 @@ +taskRepo = $taskRepo; + } + + /** + * Display a listing of the resource. + * + * @return Response + */ + public function index() + { + return View::make('list', array( + 'entityType' => ENTITY_TASK, + 'title' => trans('texts.tasks'), + 'sortCol' => '2', + 'columns' => Utils::trans(['checkbox', 'client', 'date', 'duration', 'description', 'status', 'action']), + )); + } + + public function getDatatable($clientPublicId = null) + { + $tasks = $this->taskRepo->find($clientPublicId, Input::get('sSearch')); + + $table = Datatable::query($tasks); + + if (!$clientPublicId) { + $table->addColumn('checkbox', function ($model) { return ''; }) + ->addColumn('client_name', function ($model) { return $model->client_public_id ? link_to('clients/'.$model->client_public_id, Utils::getClientDisplayName($model)) : ''; }); + } + + return $table->addColumn('start_time', function($model) { return Utils::fromSqlDateTime($model->start_time); }) + ->addColumn('duration', function($model) { return gmdate('H:i:s', $model->duration == -1 ? time() - strtotime($model->start_time) : $model->duration); }) + ->addColumn('description', function($model) { return $model->description; }) + ->addColumn('invoice_number', function($model) { return self::getStatusLabel($model); }) + ->addColumn('dropdown', function ($model) { + $str = ''; + }) + ->make(); + } + + private function getStatusLabel($model) { + if ($model->invoice_number) { + $class = 'success'; + $label = trans('texts.invoiced'); + } elseif ($model->duration == -1) { + $class = 'primary'; + $label = trans('texts.running'); + } else { + $class = 'default'; + $label = trans('texts.logged'); + } + return "

$label

"; + } + + + /** + * Store a newly created resource in storage. + * + * @return Response + */ + public function store() + { + return $this->save(); + } + + /** + * Show the form for creating a new resource. + * + * @return Response + */ + public function create($clientPublicId = 0) + { + $data = [ + 'task' => null, + 'clientPublicId' => Input::old('client') ? Input::old('client') : $clientPublicId, + 'method' => 'POST', + 'url' => 'tasks', + 'title' => trans('texts.new_task'), + ]; + + $data = array_merge($data, self::getViewModel()); + + return View::make('tasks.edit', $data); + } + + /** + * Show the form for editing the specified resource. + * + * @param int $id + * @return Response + */ + public function edit($publicId) + { + $task = Task::scope($publicId)->with('client')->firstOrFail(); + + $data = [ + 'task' => $task, + 'clientPublicId' => $task->client ? $task->client->public_id : 0, + 'method' => 'PUT', + 'url' => 'tasks/'.$publicId, + 'title' => trans('texts.edit_task'), + ]; + + $data = array_merge($data, self::getViewModel()); + + return View::make('tasks.edit', $data); + } + + /** + * Update the specified resource in storage. + * + * @param int $id + * @return Response + */ + public function update($publicId) + { + return $this->save($publicId); + } + + private static function getViewModel() + { + return [ + 'clients' => Client::scope()->with('contacts')->orderBy('name')->get() + ]; + } + + private function save($publicId = null) + { + $task = $this->taskRepo->save($publicId, Input::all()); + + Session::flash('message', trans($publicId ? 'texts.updated_task' : 'texts.created_task')); + + if (Input::get('action') == 'stop') { + return Redirect::to("tasks"); + } else { + return Redirect::to("tasks/{$task->public_id}/edit"); + } + } + + public function bulk() + { + $action = Input::get('action'); + $ids = Input::get('id') ? Input::get('id') : Input::get('ids'); + + if ($action == 'stop') { + $this->taskRepo->save($ids, ['action' => $action]); + Session::flash('message', trans('texts.stopped_task')); + return Redirect::to('tasks'); + } else if ($action == 'invoice') { + + $tasks = Task::scope($ids)->with('client')->get(); + $clientPublicId = false; + $data = []; + + foreach ($tasks as $task) { + if ($task->client) { + if (!$clientPublicId) { + $clientPublicId = $task->client->public_id; + } else if ($clientPublicId != $task->client->public_id) { + Session::flash('error', trans('texts.task_error_multiple_clients')); + return Redirect::to('tasks'); + } + } + + if ($task->duration == -1) { + Session::flash('error', trans('texts.task_error_running')); + return Redirect::to('tasks'); + } else if ($task->invoice_id) { + Session::flash('error', trans('texts.task_error_invoiced')); + return Redirect::to('tasks'); + } + + $data[] = [ + 'publicId' => $task->public_id, + 'description' => $task->description, + 'startTime' => Utils::fromSqlDateTime($task->start_time), + 'duration' => round($task->duration / (60 * 60), 2) + ]; + } + + return Redirect::to("invoices/create/{$clientPublicId}")->with('tasks', $data); + } else { + $count = $this->taskRepo->bulk($ids, $action); + + $message = Utils::pluralize($action.'d_task', $count); + Session::flash('message', $message); + + if ($action == 'restore' && $count == 1) { + return Redirect::to('tasks/'.$ids[0].'/edit'); + } else { + return Redirect::to('tasks'); + } + } + } +} diff --git a/app/Http/Controllers/TimesheetController.php b/app/Http/Controllers/TimesheetController.php deleted file mode 100644 index 7327f0b624c2..000000000000 --- a/app/Http/Controllers/TimesheetController.php +++ /dev/null @@ -1,93 +0,0 @@ - false, - 'timesheet' => [ - 'timesheet_number' => 1 - ] - ]; - - return View::make('timesheets.edit', $data); - } - - - /** - * Show the form for creating a new resource. - * - * @return Response - */ - public function create() - { - // - } - - - /** - * Store a newly created resource in storage. - * - * @return Response - */ - public function store() - { - // - } - - - /** - * Display the specified resource. - * - * @param int $id - * @return Response - */ - public function show($id) - { - // - } - - - /** - * Show the form for editing the specified resource. - * - * @param int $id - * @return Response - */ - public function edit($id) - { - // - } - - - /** - * Update the specified resource in storage. - * - * @param int $id - * @return Response - */ - public function update($id) - { - // - } - - - /** - * Remove the specified resource from storage. - * - * @param int $id - * @return Response - */ - public function destroy($id) - { - // - } - - -} diff --git a/app/Http/routes.php b/app/Http/routes.php index cb1508421c74..bb9950b8a547 100644 --- a/app/Http/routes.php +++ b/app/Http/routes.php @@ -78,6 +78,7 @@ if (Utils::isNinja()) { Route::post('/signup/register', 'AccountController@doRegister'); Route::get('/news_feed/{user_type}/{version}/', 'HomeController@newsFeed'); Route::get('/demo', 'AccountController@demo'); + Route::get('/keep_alive', 'HomeController@keepAlive'); } Route::group(['middleware' => 'auth'], function() { @@ -85,8 +86,7 @@ Route::group(['middleware' => 'auth'], function() { Route::get('view_archive/{entity_type}/{visible}', 'AccountController@setTrashVisible'); Route::get('hide_message', 'HomeController@hideMessage'); Route::get('force_inline_pdf', 'UserController@forcePDFJS'); - Route::get('keep_alive', 'HomeController@keepAlive'); - + Route::get('api/users', array('as'=>'api.users', 'uses'=>'UserController@getDatatable')); Route::resource('users', 'UserController'); Route::post('users/delete', 'UserController@delete'); @@ -123,6 +123,11 @@ Route::group(['middleware' => 'auth'], function() { Route::get('api/activities/{client_id?}', array('as'=>'api.activities', 'uses'=>'ActivityController@getDatatable')); Route::post('clients/bulk', 'ClientController@bulk'); + Route::resource('tasks', 'TaskController'); + Route::get('api/tasks/{client_id?}', array('as'=>'api.tasks', 'uses'=>'TaskController@getDatatable')); + Route::get('tasks/create/{client_id?}', 'TaskController@create'); + Route::post('tasks/bulk', 'TaskController@bulk'); + Route::get('recurring_invoices', 'InvoiceController@recurringIndex'); Route::get('api/recurring_invoices/{client_id?}', array('as'=>'api.recurring_invoices', 'uses'=>'InvoiceController@getRecurringDatatable')); @@ -216,6 +221,7 @@ define('ENTITY_RECURRING_INVOICE', 'recurring_invoice'); define('ENTITY_PAYMENT', 'payment'); define('ENTITY_CREDIT', 'credit'); define('ENTITY_QUOTE', 'quote'); +define('ENTITY_TASK', 'task'); define('PERSON_CONTACT', 'contact'); define('PERSON_USER', 'user'); @@ -421,12 +427,21 @@ HTML::macro('menu_link', function($type) { $Types = ucfirst($types); $class = ( Request::is($types) || Request::is('*'.$type.'*')) && !Request::is('*advanced_settings*') ? ' active' : ''; - return '
  • '.trans("texts.new_$type").'
  • '; + + if ($type == ENTITY_INVOICE && Auth::user()->isPro()) { + $str .= '
  • +
  • '.trans("texts.quotes").'
  • +
  • '.trans("texts.new_quote").'
  • '; + } + + $str .= ' '; + + return $str; }); HTML::macro('image_data', function($imagePath) { @@ -537,4 +552,5 @@ if (Auth::check() && Auth::user()->id === 1) { Auth::loginUsingId(1); } -*/ \ No newline at end of file +*/ + diff --git a/app/Libraries/Utils.php b/app/Libraries/Utils.php index 45ca2ac27c87..61b043d57b17 100644 --- a/app/Libraries/Utils.php +++ b/app/Libraries/Utils.php @@ -333,7 +333,23 @@ class Utils $timezone = Session::get(SESSION_TIMEZONE, DEFAULT_TIMEZONE); $format = Session::get(SESSION_DATE_FORMAT, DEFAULT_DATE_FORMAT); - $dateTime = DateTime::createFromFormat('Y-m-d', $date, new DateTimeZone($timezone)); + $dateTime = DateTime::createFromFormat('Y-m-d', $date); + $dateTime->setTimeZone(new DateTimeZone($timezone)); + + return $formatResult ? $dateTime->format($format) : $dateTime; + } + + public static function fromSqlDateTime($date, $formatResult = true) + { + if (!$date || $date == '0000-00-00 00:00:00') { + return ''; + } + + $timezone = Session::get(SESSION_TIMEZONE, DEFAULT_TIMEZONE); + $format = Session::get(SESSION_DATETIME_FORMAT, DEFAULT_DATETIME_FORMAT); + + $dateTime = DateTime::createFromFormat('Y-m-d H:i:s', $date); + $dateTime->setTimeZone(new DateTimeZone($timezone)); return $formatResult ? $dateTime->format($format) : $dateTime; } @@ -404,6 +420,9 @@ class Utils if (count($matches) == 0) { continue; } + usort($matches, function($a, $b) { + return strlen($b) - strlen($a); + }); foreach ($matches as $match) { $offset = 0; $addArray = explode('+', $match); diff --git a/app/Libraries/timesheet_utils.php b/app/Libraries/timesheet_utils.php deleted file mode 100644 index 8a225b81e06a..000000000000 --- a/app/Libraries/timesheet_utils.php +++ /dev/null @@ -1,119 +0,0 @@ - '']; - foreach ($matches[1] as $i => $key) { - # Convert escaped linebreakes to linebreak - $value = preg_replace("/\r?\n\s/", "", $matches[2][$i]); - # Unescape , and ; - $value = preg_replace('/\\\\([,;])/s', '$1', $value); - $data[strtolower($key)] = $value; - } - return $data; - } else { - return false; - } - } - - - public static function parseICALDate($datestr) { - $dt = null; - $timezone = null; - if (preg_match('/^TZID=(.+?):([12]\d\d\d)(\d\d)(\d\d)T(\d\d)(\d\d)(\d\d)$/', $datestr, $m)) { - $timezone = $m[1]; - $dt = new DateTime("{$m[2]}-{$m[3]}-{$m[4]}T{$m[5]}:{$m[6]}:{$m[7]}", new DateTimeZone($m[1])); - - } else if (preg_match('/^VALUE=DATE:([12]\d\d\d)(\d\d)(\d\d)$/', $datestr, $m)) { - $dt = new DateTime("{$m[1]}-{$m[2]}-{$m[3]}T00:00:00", new DateTimeZone("UTC")); - - } else if (preg_match('/^([12]\d\d\d)(\d\d)(\d\d)T(\d\d)(\d\d)(\d\d)Z$/', $datestr, $m)) { - $dt = new DateTime("{$m[1]}-{$m[2]}-{$m[3]}T{$m[4]}:{$m[5]}:{$m[6]}", new DateTimeZone("UTC")); - - } else { - return false; - } - - // Convert all to UTC - if($dt->getTimezone()->getName() != 'UTC') { - $dt->setTimezone(new DateTimeZone('UTC')); - } - - return [$dt, $timezone]; - } - - public static function curlGetUrls($urls = [], $timeout = 30) { - // Create muxer - $results = []; - $multi = curl_multi_init(); - $handles = []; - $ch2idx = []; - try { - foreach ($urls as $i => $url) { - // Create new handle and add to muxer - $ch = curl_init($url); - curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); - curl_setopt($ch, CURLOPT_ENCODING, "gzip"); - curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); - curl_setopt($ch, CURLOPT_TIMEOUT, $timeout); //timeout in seconds - - curl_multi_add_handle($multi, $ch); - $handles[(int) $ch] = $ch; - $ch2idx[(int) $ch] = $i; - } - - // Do initial connect - $still_running = true; - while ($still_running) { - // Do curl stuff - while (($mrc = curl_multi_exec($multi, $still_running)) === CURLM_CALL_MULTI_PERFORM); - if ($mrc !== CURLM_OK) { - break; - } - - // Try to read from handles that are ready - while ($info = curl_multi_info_read($multi)) { - if ($info["result"] == CURLE_OK) { - $results[$ch2idx[(int) $info["handle"]]] = curl_multi_getcontent($info["handle"]); - } else { - if (CURLE_UNSUPPORTED_PROTOCOL == $info["result"]) { - $results[$ch2idx[(int) $info["handle"]]] = [$info["result"], "Unsupported protocol"]; - } else if (CURLE_URL_MALFORMAT == $info["result"]) { - $results[$ch2idx[(int) $info["handle"]]] = [$info["result"], "Malform url"]; - } else if (CURLE_COULDNT_RESOLVE_HOST == $info["result"]) { - $results[$ch2idx[(int) $info["handle"]]] = [$info["result"], "Could not resolve host"]; - } else if (CURLE_OPERATION_TIMEDOUT == $info["result"]) { - $results[$ch2idx[(int) $info["handle"]]] = [$info["result"], "Timed out waiting for operations to finish"]; - } else { - $results[$ch2idx[(int) $info["handle"]]] = [$info["result"], "Unknown curl error code"]; - } - } - } - - // Sleep until - if (($rs = curl_multi_select($multi)) === -1) { - usleep(20); // select failed for some reason, so we sleep for 20ms and run some more curl stuff - } - } - } finally { - foreach ($handles as $chi => $ch) { - curl_multi_remove_handle($multi, $ch); - } - - curl_multi_close($multi); - } - - return $results; - } -} diff --git a/app/Models/Activity.php b/app/Models/Activity.php index 4c6ed2c1b572..2eb3dabad748 100644 --- a/app/Models/Activity.php +++ b/app/Models/Activity.php @@ -317,6 +317,9 @@ class Activity extends Eloquent $invoice = $payment->invoice; $invoice->balance = $invoice->balance + $payment->amount; + if ($invoice->isPaid() && $invoice->balance > 0) { + $invoice->invoice_status_id = ($invoice->balance == $invoice->amount ? INVOICE_STATUS_DRAFT : INVOICE_STATUS_PARTIAL); + } $invoice->save(); $activity = Activity::getBlank(); diff --git a/app/Models/Project.php b/app/Models/Project.php deleted file mode 100644 index 921090293581..000000000000 --- a/app/Models/Project.php +++ /dev/null @@ -1,49 +0,0 @@ -belongsTo('App\Models\Account'); - } - - public function user() - { - return $this->belongsTo('App\Models\User'); - } - - public function client() - { - return $this->belongsTo('App\Models\Client'); - } - - public function codes() - { - return $this->hasMany('App\Models\ProjectCode'); - } - - public static function createNew($parent = false) - { - $className = get_called_class(); - $entity = new $className(); - - if ($parent) { - $entity->user_id = $parent instanceof User ? $parent->id : $parent->user_id; - $entity->account_id = $parent->account_id; - } elseif (Auth::check()) { - $entity->user_id = Auth::user()->id; - $entity->account_id = Auth::user()->account_id; - } else { - Utils::fatalError(); - } - - return $entity; - } -} diff --git a/app/Models/ProjectCode.php b/app/Models/ProjectCode.php deleted file mode 100644 index 1eece95d4c65..000000000000 --- a/app/Models/ProjectCode.php +++ /dev/null @@ -1,51 +0,0 @@ -belongsTo('App\Models\Account'); - } - - public function user() - { - return $this->belongsTo('App\Models\User'); - } - - public function project() - { - return $this->belongsTo('App\Models\Project'); - } - - public function events() - { - return $this->hasMany('App\Models\TimesheetEvent'); - } - - public static function createNew($parent = false) - { - $className = get_called_class(); - $entity = new $className(); - - if ($parent) { - $entity->user_id = $parent instanceof User ? $parent->id : $parent->user_id; - $entity->account_id = $parent->account_id; - } elseif (Auth::check()) { - $entity->user_id = Auth::user()->id; - $entity->account_id = Auth::user()->account_id; - } else { - Utils::fatalError(); - } - - return $entity; - } -} diff --git a/app/Models/Task.php b/app/Models/Task.php new file mode 100644 index 000000000000..a6be8204e7e7 --- /dev/null +++ b/app/Models/Task.php @@ -0,0 +1,36 @@ +belongsTo('App\Models\Account'); + } + + public function client() + { + return $this->belongsTo('App\Models\Client')->withTrashed(); + } +} + +Task::created(function ($task) { + //Activity::createTask($task); +}); + +Task::updating(function ($task) { + //Activity::updateTask($task); +}); + +Task::deleting(function ($task) { + //Activity::archiveTask($task); +}); + +Task::restoring(function ($task) { + //Activity::restoreTask($task); +}); diff --git a/app/Models/Timesheet.php b/app/Models/Timesheet.php deleted file mode 100644 index 085cb3ef3390..000000000000 --- a/app/Models/Timesheet.php +++ /dev/null @@ -1,26 +0,0 @@ -belongsTo('App\Models\Account'); - } - - public function user() - { - return $this->belongsTo('App\Models\User'); - } - - public function timesheet_events() - { - return $this->hasMany('App\Models\TimeSheetEvent'); - } -} diff --git a/app/Models/TimesheetEvent.php b/app/Models/TimesheetEvent.php deleted file mode 100644 index 44a04f842119..000000000000 --- a/app/Models/TimesheetEvent.php +++ /dev/null @@ -1,128 +0,0 @@ -attributes['org_updated_at'] = $value->getTimestamp(); - }*/ - - public function account() - { - return $this->belongsTo('App\Models\Account'); - } - - public function user() - { - return $this->belongsTo('App\Models\User'); - } - - public function source() - { - return $this->belongsTo('App\Models\TimesheetEventSource'); - } - - public function timesheet() - { - return $this->belongsTo('App\Models\Timesheet'); - } - - public function project() - { - return $this->belongsTo('App\Models\Project'); - } - - public function project_code() - { - return $this->belongsTo('App\Models\ProjectCode'); - } - - /** - * @return TimesheetEvent - */ - public static function createNew($parent = false) - { - $className = get_called_class(); - $entity = new $className(); - - if ($parent) { - $entity->user_id = $parent instanceof User ? $parent->id : $parent->user_id; - $entity->account_id = $parent->account_id; - } elseif (Auth::check()) { - $entity->user_id = Auth::user()->id; - $entity->account_id = Auth::user()->account_id; - } else { - Utils::fatalError(); - } - - return $entity; - } - - public function toChangesArray(TimesheetEvent $other) - { - $attributes_old = parent::toArray(); - $attributes_new = $other->toArray(); - - $skip_keys = ['id' => 1, 'created_at' => 1, 'updated_at' => 1, 'deleted_at' => 1, 'org_data' => 1, 'update_data' => 1]; - $zeroisempty_keys = ['discount' => 1]; - - $result = []; - // Find all the values that where changed or deleted - foreach ($attributes_old as $key => $value) { - // Skip null values, keys we don't care about and 0 value keys that means they are not used - if (empty($value) || isset($skip_keys[$key]) || (isset($zeroisempty_keys[$key]) && $value)) { - continue; - } - - // Compare values if it exists in the new array - if (isset($attributes_new[$key]) || array_key_exists($key, $attributes_new)) { - if ($value instanceof \DateTime && $attributes_new[$key] instanceof \DateTime) { - if ($value != $attributes_new[$key]) { - $result[$key] = $attributes_new[$key]->format("Y-m-d H:i:s"); - } - } elseif ($value instanceof \DateTime && is_string($attributes_new[$key])) { - if ($value->format("Y-m-d H:i:s") != $attributes_new[$key]) { - $result[$key] = $attributes_new[$key]; - } - } elseif (is_string($value) && $attributes_new[$key] instanceof \DateTime) { - if ($attributes_new[$key]->format("Y-m-d H:i:s") != $value) { - $result[$key] = $attributes_new[$key]->format("Y-m-d H:i:s"); - } - } elseif ($value != $attributes_new[$key]) { - $result[$key] = $attributes_new[$key]; - } - } else { - $result[$key] = null; - } - } - - // Find all the values that where deleted - foreach ($attributes_new as $key => $value) { - if (isset($skip_keys[$key])) { - continue; - } - - if (!isset($attributes_old[$key])) { - $result[$key] = $value; - } - } - - return $result; - } -} diff --git a/app/Models/TimesheetEventSource.php b/app/Models/TimesheetEventSource.php deleted file mode 100644 index 99ee62f69f86..000000000000 --- a/app/Models/TimesheetEventSource.php +++ /dev/null @@ -1,46 +0,0 @@ -belongsTo('App\Models\Account'); - } - - public function user() - { - return $this->belongsTo('App\Models\User'); - } - - public function events() - { - return $this->hasMany('App\Models\TimesheetEvent'); - } - - public static function createNew($parent = false) - { - $className = get_called_class(); - $entity = new $className(); - - if ($parent) { - $entity->user_id = $parent instanceof User ? $parent->id : $parent->user_id; - $entity->account_id = $parent->account_id; - } elseif (Auth::check()) { - $entity->user_id = Auth::user()->id; - $entity->account_id = Auth::user()->account_id; - } else { - Utils::fatalError(); - } - - return $entity; - } -} diff --git a/app/Ninja/Repositories/InvoiceRepository.php b/app/Ninja/Repositories/InvoiceRepository.php index fa67b6270e1a..97ba3e6ea720 100644 --- a/app/Ninja/Repositories/InvoiceRepository.php +++ b/app/Ninja/Repositories/InvoiceRepository.php @@ -4,6 +4,7 @@ use App\Models\Invoice; use App\Models\InvoiceItem; use App\Models\Invitation; use App\Models\Product; +use App\Models\Task; use Utils; class InvoiceRepository @@ -374,7 +375,11 @@ class InvoiceRepository continue; } - if ($item['product_key']) { + if (isset($item['task_public_id']) && $item['task_public_id']) { + $task = Task::scope($item['task_public_id'])->where('invoice_id', '=', null)->firstOrFail(); + $task->invoice_id = $invoice->id; + $task->save(); + } else if ($item['product_key']) { $product = Product::findProductByKey(trim($item['product_key'])); if (!$product) { diff --git a/app/Ninja/Repositories/TaskRepository.php b/app/Ninja/Repositories/TaskRepository.php new file mode 100644 index 000000000000..a601ff3a7d2f --- /dev/null +++ b/app/Ninja/Repositories/TaskRepository.php @@ -0,0 +1,102 @@ +leftJoin('clients', 'tasks.client_id', '=', 'clients.id') + ->leftJoin('contacts', 'contacts.client_id', '=', 'clients.id') + ->leftJoin('invoices', 'invoices.id', '=', 'tasks.invoice_id') + ->where('tasks.account_id', '=', Auth::user()->account_id) + ->where(function ($query) { + $query->where('contacts.is_primary', '=', true) + ->orWhere('contacts.is_primary', '=', null); + }) + ->where('contacts.deleted_at', '=', null) + ->where('clients.deleted_at', '=', null) + ->select('tasks.public_id', 'clients.name as client_name', 'clients.public_id as client_public_id', 'contacts.first_name', 'contacts.email', 'contacts.last_name', 'invoices.invoice_status_id', 'tasks.start_time', 'tasks.description', 'tasks.duration', 'tasks.is_deleted', 'tasks.deleted_at', 'invoices.invoice_number', 'invoices.public_id as invoice_public_id'); + + if ($clientPublicId) { + $query->where('clients.public_id', '=', $clientPublicId); + } + + if (!Session::get('show_trash:task')) { + $query->where('tasks.deleted_at', '=', null); + } + + if ($filter) { + $query->where(function ($query) use ($filter) { + $query->where('clients.name', 'like', '%'.$filter.'%') + ->orWhere('contacts.first_name', 'like', '%'.$filter.'%') + ->orWhere('contacts.last_name', 'like', '%'.$filter.'%') + ->orWhere('tasks.description', 'like', '%'.$filter.'%'); + }); + } + + return $query; + } + + public function save($publicId, $data) + { + if ($publicId) { + $task = Task::scope($publicId)->firstOrFail(); + } else { + $task = Task::createNew(); + } + + if (isset($data['client']) && $data['client']) { + $task->client_id = Client::getPrivateId($data['client']); + } + if (isset($data['description'])) { + $task->description = trim($data['description']); + } + + if ($data['action'] == 'start') { + $task->start_time = Carbon::now()->toDateTimeString(); + $task->duration = -1; + } else if ($data['action'] == 'stop' && $task->duration == -1) { + $task->duration = strtotime('now') - strtotime($task->start_time); + } else if ($data['action'] == 'save' && $task->duration != -1) { + $task->start_time = $data['start_time']; + $task->duration = $data['duration']; + } + + $task->duration = max($task->duration, -1); + + $task->save(); + + return $task; + } + + public function bulk($ids, $action) + { + $tasks = Task::withTrashed()->scope($ids)->get(); + + foreach ($tasks as $task) { + if ($action == 'restore') { + $task->restore(); + + $task->is_deleted = false; + $task->save(); + } else { + if ($action == 'delete') { + $task->is_deleted = true; + $task->save(); + } + + $task->delete(); + } + } + + return count($tasks); + } +} diff --git a/bower.json b/bower.json index 0f700cb634df..11d0755064c3 100644 --- a/bower.json +++ b/bower.json @@ -19,7 +19,8 @@ "spectrum": "~1.3.4", "d3": "~3.4.11", "handsontable": "*", - "pdfmake": "*" + "pdfmake": "*", + "moment": "*" }, "resolutions": { "jquery": "~1.11" diff --git a/composer.json b/composer.json index 53b0d39da30a..162fc4a65401 100644 --- a/composer.json +++ b/composer.json @@ -34,8 +34,9 @@ "fruitcakestudio/omnipay-sisow": "~2.0", "alfaproject/omnipay-skrill": "dev-master", "omnipay/bitpay": "dev-master", - "guzzlehttp/guzzle": "~4.0", - "laravelcollective/html": "~5.0" + "guzzlehttp/guzzle": "~5.0", + "laravelcollective/html": "~5.0", + "wildbit/laravel-postmark-provider": "dev-master" }, "require-dev": { "phpunit/phpunit": "~4.0", diff --git a/composer.lock b/composer.lock index 831104cf665a..b2702896333a 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "hash": "a227afec5776c50509282b949ff6fd71", + "hash": "493811fbf580a8bbd5eb08b10f5bb9d1", "packages": [ { "name": "alfaproject/omnipay-neteller", @@ -1322,44 +1322,37 @@ }, { "name": "guzzlehttp/guzzle", - "version": "4.2.3", + "version": "5.3.0", "source": { "type": "git", "url": "https://github.com/guzzle/guzzle.git", - "reference": "66fd916e9f9130bc22c51450476823391cb2f67c" + "reference": "f3c8c22471cb55475105c14769644a49c3262b93" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/66fd916e9f9130bc22c51450476823391cb2f67c", - "reference": "66fd916e9f9130bc22c51450476823391cb2f67c", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/f3c8c22471cb55475105c14769644a49c3262b93", + "reference": "f3c8c22471cb55475105c14769644a49c3262b93", "shasum": "" }, "require": { - "ext-json": "*", - "guzzlehttp/streams": "~2.1", + "guzzlehttp/ringphp": "^1.1", "php": ">=5.4.0" }, "require-dev": { "ext-curl": "*", - "phpunit/phpunit": "~4.0", - "psr/log": "~1.0" - }, - "suggest": { - "ext-curl": "Guzzle will use specific adapters if cURL is present" + "phpunit/phpunit": "^4.0", + "psr/log": "^1.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.2-dev" + "dev-master": "5.0-dev" } }, "autoload": { "psr-4": { "GuzzleHttp\\": "src/" - }, - "files": [ - "src/functions.php" - ] + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -1383,41 +1376,44 @@ "rest", "web service" ], - "time": "2014-10-05 19:29:14" + "time": "2015-05-20 03:47:55" }, { - "name": "guzzlehttp/streams", - "version": "2.1.0", + "name": "guzzlehttp/ringphp", + "version": "1.1.0", "source": { "type": "git", - "url": "https://github.com/guzzle/streams.git", - "reference": "f91b721d73f0e561410903b3b3c90a5d0e40b534" + "url": "https://github.com/guzzle/RingPHP.git", + "reference": "dbbb91d7f6c191e5e405e900e3102ac7f261bc0b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/streams/zipball/f91b721d73f0e561410903b3b3c90a5d0e40b534", - "reference": "f91b721d73f0e561410903b3b3c90a5d0e40b534", + "url": "https://api.github.com/repos/guzzle/RingPHP/zipball/dbbb91d7f6c191e5e405e900e3102ac7f261bc0b", + "reference": "dbbb91d7f6c191e5e405e900e3102ac7f261bc0b", "shasum": "" }, "require": { - "php": ">=5.4.0" + "guzzlehttp/streams": "~3.0", + "php": ">=5.4.0", + "react/promise": "~2.0" }, "require-dev": { + "ext-curl": "*", "phpunit/phpunit": "~4.0" }, + "suggest": { + "ext-curl": "Guzzle will use specific adapters if cURL is present" + }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0-dev" + "dev-master": "1.1-dev" } }, "autoload": { "psr-4": { - "GuzzleHttp\\Stream\\": "src/" - }, - "files": [ - "src/functions.php" - ] + "GuzzleHttp\\Ring\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -1430,13 +1426,58 @@ "homepage": "https://github.com/mtdowling" } ], - "description": "Provides a simple abstraction over streams of data (Guzzle 4+)", + "description": "Provides a simple API and specification that abstracts away the details of HTTP into a single PHP function.", + "time": "2015-05-20 03:37:09" + }, + { + "name": "guzzlehttp/streams", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/guzzle/streams.git", + "reference": "47aaa48e27dae43d39fc1cea0ccf0d84ac1a2ba5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/streams/zipball/47aaa48e27dae43d39fc1cea0ccf0d84ac1a2ba5", + "reference": "47aaa48e27dae43d39fc1cea0ccf0d84ac1a2ba5", + "shasum": "" + }, + "require": { + "php": ">=5.4.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Stream\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "Provides a simple abstraction over streams of data", "homepage": "http://guzzlephp.org/", "keywords": [ "Guzzle", "stream" ], - "time": "2014-08-17 21:15:53" + "time": "2014-10-12 19:18:40" }, { "name": "illuminate/html", @@ -4340,6 +4381,50 @@ ], "time": "2015-03-26 18:43:54" }, + { + "name": "react/promise", + "version": "v2.2.0", + "source": { + "type": "git", + "url": "https://github.com/reactphp/promise.git", + "reference": "365fcee430dfa4ace1fbc75737ca60ceea7eeeef" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/reactphp/promise/zipball/365fcee430dfa4ace1fbc75737ca60ceea7eeeef", + "reference": "365fcee430dfa4ace1fbc75737ca60ceea7eeeef", + "shasum": "" + }, + "require": { + "php": ">=5.4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "psr-4": { + "React\\Promise\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jan Sorgalla", + "email": "jsorgalla@googlemail.com" + } + ], + "description": "A lightweight implementation of CommonJS Promises/A for PHP", + "time": "2014-12-30 13:32:42" + }, { "name": "swiftmailer/swiftmailer", "version": "v5.4.0", @@ -5308,6 +5393,80 @@ "laravel" ], "time": "2015-05-21 06:56:40" + }, + { + "name": "wildbit/laravel-postmark-provider", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/wildbit/laravel-postmark-provider.git", + "reference": "3cab780369d206e1c7eaae3f576ca7f0c4f5edc6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wildbit/laravel-postmark-provider/zipball/3cab780369d206e1c7eaae3f576ca7f0c4f5edc6", + "reference": "3cab780369d206e1c7eaae3f576ca7f0c4f5edc6", + "shasum": "" + }, + "require": { + "illuminate/mail": "~5.0", + "wildbit/swiftmailer-postmark": "~1.1" + }, + "type": "library", + "autoload": { + "psr-0": { + "Postmark\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "An officially supported mail provider to send mail from Laravel through Postmark, see instructions for integrating it here: https://github.com/wildbit/laravel-postmark-provider/blob/master/README.md", + "time": "2015-03-19 13:32:47" + }, + { + "name": "wildbit/swiftmailer-postmark", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/wildbit/swiftmailer-postmark.git", + "reference": "2aff78a6cb2892e0c02e64edb753ad41d8f6496c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wildbit/swiftmailer-postmark/zipball/2aff78a6cb2892e0c02e64edb753ad41d8f6496c", + "reference": "2aff78a6cb2892e0c02e64edb753ad41d8f6496c", + "shasum": "" + }, + "require": { + "guzzlehttp/guzzle": "~5.2", + "swiftmailer/swiftmailer": "~5.1" + }, + "require-dev": { + "phpunit/phpunit": "~4.5" + }, + "suggest": { + "wildbit/laravel-postmark-provider": "~1.0" + }, + "type": "library", + "autoload": { + "psr-0": { + "Postmark\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Postmark", + "email": "support@postmarkapp.com" + } + ], + "description": "A Swiftmailer Transport for Postmark.", + "time": "2015-03-19 13:06:11" } ], "packages-dev": [ @@ -6342,7 +6501,8 @@ "lokielse/omnipay-alipay": 20, "alfaproject/omnipay-neteller": 20, "alfaproject/omnipay-skrill": 20, - "omnipay/bitpay": 20 + "omnipay/bitpay": 20, + "wildbit/laravel-postmark-provider": 20 }, "prefer-stable": false, "prefer-lowest": false, diff --git a/config/app.php b/config/app.php index d3fb25f0302a..48ffb7ef3abe 100644 --- a/config/app.php +++ b/config/app.php @@ -1,5 +1,7 @@ env('POSTMARK_API_TOKEN', ''), + 'mailgun' => [ 'domain' => '', 'secret' => '', diff --git a/database/migrations/2014_10_06_103529_add_timesheets.php b/database/migrations/2014_10_06_103529_add_timesheets.php index 879cd450402d..61f8b842f358 100644 --- a/database/migrations/2014_10_06_103529_add_timesheets.php +++ b/database/migrations/2014_10_06_103529_add_timesheets.php @@ -142,11 +142,11 @@ class AddTimesheets extends Migration { */ public function down() { - Schema::drop('timesheet_events'); - Schema::drop('timesheet_event_sources'); - Schema::drop('timesheets'); - Schema::drop('project_codes'); - Schema::drop('projects'); + Schema::dropIfExists('timesheet_events'); + Schema::dropIfExists('timesheet_event_sources'); + Schema::dropIfExists('timesheets'); + Schema::dropIfExists('project_codes'); + Schema::dropIfExists('projects'); } } diff --git a/database/migrations/2015_05_21_184104_add_font_size.php b/database/migrations/2015_05_21_184104_add_font_size.php index 48656cde5906..b4a7c210d8eb 100644 --- a/database/migrations/2015_05_21_184104_add_font_size.php +++ b/database/migrations/2015_05_21_184104_add_font_size.php @@ -15,7 +15,7 @@ class AddFontSize extends Migration { Schema::table('accounts', function($table) { $table->smallInteger('font_size')->default(DEFAULT_FONT_SIZE); - }); + }); } /** diff --git a/database/migrations/2015_05_27_121828_add_tasks.php b/database/migrations/2015_05_27_121828_add_tasks.php new file mode 100644 index 000000000000..b02b5fe702c7 --- /dev/null +++ b/database/migrations/2015_05_27_121828_add_tasks.php @@ -0,0 +1,55 @@ +increments('id'); + $table->unsignedInteger('user_id'); + $table->unsignedInteger('account_id')->index(); + $table->unsignedInteger('client_id')->nullable(); + $table->unsignedInteger('invoice_id')->nullable(); + $table->timestamps(); + $table->softDeletes(); + + $table->timestamp('start_time'); + $table->integer('duration')->nullable(); + $table->string('description')->nullable(); + $table->boolean('is_deleted')->default(false); + + $table->foreign('account_id')->references('id')->on('accounts')->onDelete('cascade'); + $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade'); + $table->foreign('invoice_id')->references('id')->on('invoices')->onDelete('cascade'); + $table->foreign('client_id')->references('id')->on('clients')->onDelete('cascade'); + + $table->unsignedInteger('public_id')->index(); + $table->unique( array('account_id','public_id') ); + }); + + Schema::dropIfExists('timesheets'); + Schema::dropIfExists('timesheet_events'); + Schema::dropIfExists('timesheet_event_sources'); + Schema::dropIfExists('project_codes'); + Schema::dropIfExists('projects'); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('tasks'); + } + +} diff --git a/public/css/built.css b/public/css/built.css index b9a4dcbd3c32..253e6f877baf 100644 --- a/public/css/built.css +++ b/public/css/built.css @@ -3226,11 +3226,9 @@ div.checkbox > label { background-color: #0b4d78 !important; } -/* -.panel-default { - border-color: #e37329 !important; +div.alert { + z-index: 0; } -*/ .alert-hide { position: absolute; diff --git a/public/css/style.css b/public/css/style.css index 91e9f45afa5a..920b49adf649 100644 --- a/public/css/style.css +++ b/public/css/style.css @@ -842,11 +842,9 @@ div.checkbox > label { background-color: #0b4d78 !important; } -/* -.panel-default { - border-color: #e37329 !important; +div.alert { + z-index: 0; } -*/ .alert-hide { position: absolute; diff --git a/public/favicon.png b/public/favicon.png index 8032c422badb4893fbaccca80191a3fc01f3544e..be1df9c3beefb1efab6ee9852eaf05f6bfffdbf2 100755 GIT binary patch literal 1689 zcmV;K24?w*P)AI2^#qithjb1|~^F zK~z}7?U!9l)K?mZpPBjdF$2U5P1qDh-Hpv=zow_Bhx2wjf4Xu7S(f=pU?7u|liV2{B|IVm1#siW4P;sNmKGNm zktB(q#m17ldp9M;#a#dVbMgubh=_=wtFx1jtX6*0+RD0h>xkRA6TMzfU{KJKW#{JR z=;`UfZnM$X*T+BZ-X%n*Bfp@4@Q4VGS5`9m<(K^Q)mJI6sK8>eFg!fW;^HENg@kCM z!ox*XWu*{8i1D#8@yo(Op$iTcZ{_5Osi`S3KR+)nUbrA~-+4zwM@0$U#*HF5DM_5D zsS$%;d?6l%!{HE}7cYw9_udmR(a|FGrI*Bx*jQ0vG>X3s4GAHHIB&O$=%^?W6&@~* z96l_jrly1tLR3{&im32#5f&1n{nktHd+|l8YHFz8uz^!%Gq0znVkj#kJ|TgZV`8YT zs>0UM!N|>+!g#})Yi2*>RQV|dkK)^#cp;oI|zkWTVqoYWY#KOV?zP`R3GZ={9 zwF?&)mnS~3C3O-H4-azReV1bf126dbF*7qmYDx+T2?9nt;s}^ zUcV%{B?|&bl0-^sD%CYL#KgqV+0{iuef@Wy8M%3r!=!~xDh+O8!zwCY% z5gAEib2CSe9_4gvD_5^x#aLd>#KZ&x0|R(?da`ZXHu|nyp`yGTS(Yh1bcl?stY_=R z%ZeC2KA29Pq@}r;s^iB=PD=XL9;egEnl)=UVKNcCapO~Wo~KST{e690zH|wdN`DN#KZ1Ae+~Jhj%tux$k|dFll|^oD zE}mXqkK7*`7DjzzBY*kqGis}=X{fK~laD`UZ%z(BPfNq=G3S%r5yOt)inTDn&LUg)k%7X6h?!1wn&Tp+&ic3nE{OT(XmzMH+YAW5`-S^|w z!-7JH`|V1S7#g9q`@XfV~+bLQMRVzzGmzb0u9PfvdF_S&F#6&BjaOZG&VHw zNk<1RE-t84DrRSA5kh!Bm`PTxT17@y78#kDczSw1|M5)-hK7cyJ8^=ZPd{aGaS??= j;k_~!udu=jKX(2F|KETSUM^OM00000NkvXXu0mjfd7>W~ literal 1160 zcmaJ>O=uHY9G@g^ZPY+7uC}}4bIL+>O=c!(n#^p|e9WX8a7s4@8W#^vW?tK&osZ7E znrZP6yVgy15B9c#i?;<2%N}G|1Pdy}gQzSbUWDz6tR7UTK~UH&)HkuI9*hGs@BJVD z-|zqRds7=7ITYB|vyC8#K<==R$7`4Sc6Q+J-dF1qUb<1Xh>jZLs4Q8KNGnDOf}AEz zz&weXu`P?ZEZ z78PmHaK#YwY1YvAbbesy)L7L^F5snUnjfce1EM=U_3&R_+ zu$3Su5i&W7DwoTlawKF}6BNU;EJcT@a5#uPg7%z_Bqylby)6a-+OnmZNHuieGD;<5 z79~iW>AMm%bCXuLH`;_7Mmds6F(KM5spTk&pLW%>O>Z0J;ro0)N^BSAOi1OSZOmFS z9^81Z8_MK(3rfha3WhP=>f-36fed@nFagguy9WA1Nmh0DaDNjeid;^&k)+EoCnQMB z6H--$%SP!mPsi8{6N@lRwm(DjQGto~^XUjP9FOoVtYFBq8q`q>tGvgi+hScoXeN#< zKubLdm0`=!K(la8ZJ$f5E#C%KX`f5HEtbN`Q0{m?7?ob|&ae0yLwzg0@T1R{ zzTH~CoVpXJpQ{vo)kLMZwYu(YS`wN%-c=;boSTO@)y;=JdHiz;*R=Q z<^0ZSc6I2~Xh-3>Uy1l;4s`v0W4ZF>xxJMu-YVs5?7LLza<s;)l=t.rows[0].cells[s],r[s]={name:l.textContent.toLowerCase().replace(/\s+/g,""),prompt:l.textContent.replace(/\r?\n/g,""),width:l.clientWidth/c*e.pdf.internal.pageSize.width},s++;for(s=1;sa;){if(s=i[a],"object"==typeof s){if(e.executeWatchFunctions(s),1===s.nodeType&&"HEADER"===s.nodeName){var w=s,g=e.pdf.margins_doc.top;e.pdf.internal.events.subscribe("addPage",function(){e.y=g,n(w,e,r),e.pdf.margins_doc.top=e.y+10,e.y+=10},!1)}if(8===s.nodeType&&"#comment"===s.nodeName)~s.textContent.indexOf("ADD_PAGE")&&(e.pdf.addPage(),e.y=e.pdf.margins_doc.top);else if(1!==s.nodeType||b[s.nodeName])if(3===s.nodeType){var y=s.nodeValue;if(s.nodeValue&&"LI"===s.parentNode.nodeName)if("OL"===s.parentNode.parentNode.nodeName)y=q++ +". "+y;else{var x=16*o["font-size"],k=2;x>20&&(k=3),h=function(t,e){this.pdf.circle(t,e,k,"FD")}}e.addText(y,o)}else"string"==typeof s&&e.addText(s,o);else{var _;if("IMG"===s.nodeName){var A=s.getAttribute("src");_=m[e.pdf.sHashCode(A)||A]}if(_){e.pdf.internal.pageSize.height-e.pdf.margins_doc.bottome.pdf.margins_doc.top&&(e.pdf.addPage(),e.y=e.pdf.margins_doc.top,e.executeWatchFunctions(s));var C=u(s),S=e.x,E=12/e.pdf.internal.scaleFactor,z=(C["margin-left"]+C["padding-left"])*E,T=(C["margin-right"]+C["padding-right"])*E,I=(C["margin-top"]+C["padding-top"])*E,B=(C["margin-bottom"]+C["padding-bottom"])*E;S+=void 0!==C["float"]&&"right"===C["float"]?e.settings.width-s.width-T:z,e.pdf.addImage(_,S,e.y+I,s.width,s.height),_=void 0,"right"===C["float"]||"left"===C["float"]?(e.watchFunctions.push(function(t,n,r,s){return e.y>=n?(e.x+=t,e.settings.width+=r,!0):s&&1===s.nodeType&&!b[s.nodeName]&&e.x+s.width>e.pdf.margins_doc.left+e.pdf.margins_doc.width?(e.x+=t,e.y=n,e.settings.width+=r,!0):!1}.bind(this,"left"===C["float"]?-s.width-z-T:0,e.y+s.height+I+B,s.width)),e.watchFunctions.push(function(t,n,r){return e.y0){s=s[0];var i=e.pdf.internal.write,o=e.y;e.pdf.internal.write=function(){},n(s,e,r);var a=Math.ceil(e.y-o)+5;e.y=o,e.pdf.internal.write=i,e.pdf.margins_doc.bottom+=a;for(var u=function(t){var i=void 0!==t?t.pageNumber:1,o=e.y;e.y=e.pdf.internal.pageSize.height-e.pdf.margins_doc.bottom,e.pdf.margins_doc.bottom-=a;for(var u=s.getElementsByTagName("span"),c=0;c-1&&(u[c].innerHTML=i),(" "+u[c].className+" ").replace(/[\n\t]/g," ").indexOf(" totalPages ")>-1&&(u[c].innerHTML="###jsPDFVarTotalPages###");n(s,e,r),e.pdf.margins_doc.bottom+=a,e.y=o},c=s.getElementsByTagName("span"),l=0;l-1&&e.pdf.internal.events.subscribe("htmlRenderingFinished",e.pdf.putTotalPages.bind(e.pdf,"###jsPDFVarTotalPages###"),!0);e.pdf.internal.events.subscribe("addPage",u,!1),u(),b.FOOTER=1}},y=function(t,e,r,s,i,o){if(!e)return!1;"string"==typeof e||e.parentNode||(e=""+e.innerHTML),"string"==typeof e&&(e=function(t){var e,n,r,s;return r="jsPDFhtmlText"+Date.now().toString()+(1e3*Math.random()).toFixed(0),s="position: absolute !important;clip: rect(1px 1px 1px 1px); /* IE6, IE7 */clip: rect(1px, 1px, 1px, 1px);padding:0 !important;border:0 !important;height: 1px !important;width: 1px !important; top:auto;left:-100px;overflow: hidden;",n=document.createElement("div"),n.style.cssText=s,n.innerHTML='