From 977e94e173d52914c329031771eaba84caa8a4bb Mon Sep 17 00:00:00 2001 From: RisvanaCybro Date: Thu, 26 Oct 2023 10:59:21 +0530 Subject: [PATCH] Oct 26 : [ADD] Initial Commit 'barcode_capturing_sale_purchase' --- barcode_capturing_sale_purchase/README.rst | 47 + barcode_capturing_sale_purchase/__init__.py | 20 + .../__manifest__.py | 43 + .../doc/RELEASE_NOTES.md | 6 + .../models/__init__.py | 21 + .../models/purchase_order.py | 46 + .../models/sale_order.py | 46 + .../static/description/assets/icons/check.png | Bin 0 -> 3676 bytes .../description/assets/icons/chevron.png | Bin 0 -> 310 bytes .../static/description/assets/icons/cogs.png | Bin 0 -> 1377 bytes .../description/assets/icons/consultation.png | Bin 0 -> 1458 bytes .../description/assets/icons/ecom-black.png | Bin 0 -> 576 bytes .../assets/icons/education-black.png | Bin 0 -> 733 bytes .../description/assets/icons/hotel-black.png | Bin 0 -> 911 bytes .../description/assets/icons/license.png | Bin 0 -> 1095 bytes .../description/assets/icons/lifebuoy.png | Bin 0 -> 1199 bytes .../assets/icons/manufacturing-black.png | Bin 0 -> 673 bytes .../description/assets/icons/pos-black.png | Bin 0 -> 878 bytes .../description/assets/icons/puzzle.png | Bin 0 -> 653 bytes .../assets/icons/restaurant-black.png | Bin 0 -> 905 bytes .../assets/icons/service-black.png | Bin 0 -> 839 bytes .../assets/icons/trading-black.png | Bin 0 -> 427 bytes .../description/assets/icons/training.png | Bin 0 -> 627 bytes .../description/assets/icons/update.png | Bin 0 -> 1225 bytes .../static/description/assets/icons/user.png | Bin 0 -> 988 bytes .../description/assets/icons/wrench.png | Bin 0 -> 1205 bytes .../description/assets/misc/categories.png | Bin 0 -> 1532 bytes .../description/assets/misc/check-box.png | Bin 0 -> 1118 bytes .../description/assets/misc/compass.png | Bin 0 -> 1931 bytes .../description/assets/misc/corporate.png | Bin 0 -> 1177 bytes .../assets/misc/customer-support.png | Bin 0 -> 2136 bytes .../description/assets/misc/cybrosys-logo.png | Bin 0 -> 4496 bytes .../description/assets/misc/features.png | Bin 0 -> 589 bytes .../static/description/assets/misc/logo.png | Bin 0 -> 3452 bytes .../description/assets/misc/pictures.png | Bin 0 -> 1692 bytes .../description/assets/misc/pie-chart.png | Bin 0 -> 2338 bytes .../description/assets/misc/right-arrow.png | Bin 0 -> 967 bytes .../static/description/assets/misc/star.png | Bin 0 -> 1642 bytes .../description/assets/misc/support.png | Bin 0 -> 3892 bytes .../description/assets/misc/whatsapp.png | Bin 0 -> 5097 bytes .../static/description/assets/modules/m1.png | Bin 0 -> 51178 bytes .../static/description/assets/modules/m2.png | Bin 0 -> 59378 bytes .../static/description/assets/modules/m3.jpg | Bin 0 -> 47525 bytes .../static/description/assets/modules/m4.png | Bin 0 -> 50471 bytes .../static/description/assets/modules/m5.png | Bin 0 -> 60466 bytes .../static/description/assets/modules/m6.png | Bin 0 -> 57961 bytes .../description/assets/screenshots/hero.gif | Bin 0 -> 161208 bytes .../assets/screenshots/image_1.png | Bin 0 -> 101966 bytes .../assets/screenshots/image_2.png | Bin 0 -> 28393 bytes .../assets/screenshots/image_3.png | Bin 0 -> 91122 bytes .../assets/screenshots/image_4.png | Bin 0 -> 340740 bytes .../assets/screenshots/image_5.png | Bin 0 -> 109763 bytes .../static/description/banner.jpg | Bin 0 -> 94497 bytes .../static/description/cybro_logo.png | Bin 0 -> 50824 bytes .../static/description/icon.png | Bin 0 -> 7678 bytes .../static/description/index.html | 633 + .../static/src/audio/beep_scan.mp3 | Bin 0 -> 8826 bytes .../static/src/css/styles.css | 3 + .../static/src/js/purchase_barcode.js | 107 + .../static/src/js/quagga.js | 11583 ++++++++++++++++ .../static/src/js/sale_barcode.js | 114 + .../views/assets.xml | 12 + .../views/purchase_order_views.xml | 16 + .../views/sale_order_views.xml | 16 + 64 files changed, 12713 insertions(+) create mode 100644 barcode_capturing_sale_purchase/README.rst create mode 100644 barcode_capturing_sale_purchase/__init__.py create mode 100644 barcode_capturing_sale_purchase/__manifest__.py create mode 100644 barcode_capturing_sale_purchase/doc/RELEASE_NOTES.md create mode 100644 barcode_capturing_sale_purchase/models/__init__.py create mode 100644 barcode_capturing_sale_purchase/models/purchase_order.py create mode 100644 barcode_capturing_sale_purchase/models/sale_order.py create mode 100644 barcode_capturing_sale_purchase/static/description/assets/icons/check.png create mode 100644 barcode_capturing_sale_purchase/static/description/assets/icons/chevron.png create mode 100644 barcode_capturing_sale_purchase/static/description/assets/icons/cogs.png create mode 100644 barcode_capturing_sale_purchase/static/description/assets/icons/consultation.png create mode 100644 barcode_capturing_sale_purchase/static/description/assets/icons/ecom-black.png create mode 100644 barcode_capturing_sale_purchase/static/description/assets/icons/education-black.png create mode 100644 barcode_capturing_sale_purchase/static/description/assets/icons/hotel-black.png create mode 100644 barcode_capturing_sale_purchase/static/description/assets/icons/license.png create mode 100644 barcode_capturing_sale_purchase/static/description/assets/icons/lifebuoy.png create mode 100644 barcode_capturing_sale_purchase/static/description/assets/icons/manufacturing-black.png create mode 100644 barcode_capturing_sale_purchase/static/description/assets/icons/pos-black.png create mode 100644 barcode_capturing_sale_purchase/static/description/assets/icons/puzzle.png create mode 100644 barcode_capturing_sale_purchase/static/description/assets/icons/restaurant-black.png create mode 100644 barcode_capturing_sale_purchase/static/description/assets/icons/service-black.png create mode 100644 barcode_capturing_sale_purchase/static/description/assets/icons/trading-black.png create mode 100644 barcode_capturing_sale_purchase/static/description/assets/icons/training.png create mode 100644 barcode_capturing_sale_purchase/static/description/assets/icons/update.png create mode 100644 barcode_capturing_sale_purchase/static/description/assets/icons/user.png create mode 100644 barcode_capturing_sale_purchase/static/description/assets/icons/wrench.png create mode 100644 barcode_capturing_sale_purchase/static/description/assets/misc/categories.png create mode 100644 barcode_capturing_sale_purchase/static/description/assets/misc/check-box.png create mode 100644 barcode_capturing_sale_purchase/static/description/assets/misc/compass.png create mode 100644 barcode_capturing_sale_purchase/static/description/assets/misc/corporate.png create mode 100644 barcode_capturing_sale_purchase/static/description/assets/misc/customer-support.png create mode 100644 barcode_capturing_sale_purchase/static/description/assets/misc/cybrosys-logo.png create mode 100644 barcode_capturing_sale_purchase/static/description/assets/misc/features.png create mode 100644 barcode_capturing_sale_purchase/static/description/assets/misc/logo.png create mode 100644 barcode_capturing_sale_purchase/static/description/assets/misc/pictures.png create mode 100644 barcode_capturing_sale_purchase/static/description/assets/misc/pie-chart.png create mode 100644 barcode_capturing_sale_purchase/static/description/assets/misc/right-arrow.png create mode 100644 barcode_capturing_sale_purchase/static/description/assets/misc/star.png create mode 100644 barcode_capturing_sale_purchase/static/description/assets/misc/support.png create mode 100644 barcode_capturing_sale_purchase/static/description/assets/misc/whatsapp.png create mode 100644 barcode_capturing_sale_purchase/static/description/assets/modules/m1.png create mode 100644 barcode_capturing_sale_purchase/static/description/assets/modules/m2.png create mode 100644 barcode_capturing_sale_purchase/static/description/assets/modules/m3.jpg create mode 100644 barcode_capturing_sale_purchase/static/description/assets/modules/m4.png create mode 100644 barcode_capturing_sale_purchase/static/description/assets/modules/m5.png create mode 100644 barcode_capturing_sale_purchase/static/description/assets/modules/m6.png create mode 100644 barcode_capturing_sale_purchase/static/description/assets/screenshots/hero.gif create mode 100644 barcode_capturing_sale_purchase/static/description/assets/screenshots/image_1.png create mode 100644 barcode_capturing_sale_purchase/static/description/assets/screenshots/image_2.png create mode 100644 barcode_capturing_sale_purchase/static/description/assets/screenshots/image_3.png create mode 100644 barcode_capturing_sale_purchase/static/description/assets/screenshots/image_4.png create mode 100644 barcode_capturing_sale_purchase/static/description/assets/screenshots/image_5.png create mode 100644 barcode_capturing_sale_purchase/static/description/banner.jpg create mode 100644 barcode_capturing_sale_purchase/static/description/cybro_logo.png create mode 100644 barcode_capturing_sale_purchase/static/description/icon.png create mode 100644 barcode_capturing_sale_purchase/static/description/index.html create mode 100644 barcode_capturing_sale_purchase/static/src/audio/beep_scan.mp3 create mode 100644 barcode_capturing_sale_purchase/static/src/css/styles.css create mode 100644 barcode_capturing_sale_purchase/static/src/js/purchase_barcode.js create mode 100644 barcode_capturing_sale_purchase/static/src/js/quagga.js create mode 100644 barcode_capturing_sale_purchase/static/src/js/sale_barcode.js create mode 100644 barcode_capturing_sale_purchase/views/assets.xml create mode 100644 barcode_capturing_sale_purchase/views/purchase_order_views.xml create mode 100644 barcode_capturing_sale_purchase/views/sale_order_views.xml diff --git a/barcode_capturing_sale_purchase/README.rst b/barcode_capturing_sale_purchase/README.rst new file mode 100644 index 000000000..095a4dbdd --- /dev/null +++ b/barcode_capturing_sale_purchase/README.rst @@ -0,0 +1,47 @@ +.. image:: https://img.shields.io/badge/license-AGPL--3-blue.svg + :target: https://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 + +Scan Product Barcode for Sale & Purchase +======================================== + +This module captures barcode of products through system camera and add product to order line. + +Configuration +============= +No additional configuration required + +Company +======= +* `Cybrosys Techno Solutions `__ + +License +======= +GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) +(https://www.gnu.org/licenses/agpl-3.0-standalone.html) + +Credits +======= +* Developer: (V14) RAHUL C K, Contact: odoo@cybrosys.com + +Contacts +======== +* Mail Contact : odoo@cybrosys.com +* Website : https://cybrosys.com + +Bug Tracker +=========== +Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. + +Maintainer +========== +.. image:: https://cybrosys.com/images/logo.png + :target: https://cybrosys.com + +This module is maintained by Cybrosys Technologies. + +For support and more information, please visit https://www.cybrosys.com. + +Further information +=================== +HTML Description: ``__ diff --git a/barcode_capturing_sale_purchase/__init__.py b/barcode_capturing_sale_purchase/__init__.py new file mode 100644 index 000000000..d835cf9c5 --- /dev/null +++ b/barcode_capturing_sale_purchase/__init__.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Cybrosys Technologies Pvt. Ltd. +# Copyright (C) 2023-TODAY Cybrosys Technologies(). +# Author: Rahul CK() +# you can modify it under the terms of the GNU AFFERO GENERAL +# PUBLIC LICENSE (AGPL v3), Version 3. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC +# LICENSE (AGPL v3) along with this program. +# If not, see . +# +############################################################################## +from . import models diff --git a/barcode_capturing_sale_purchase/__manifest__.py b/barcode_capturing_sale_purchase/__manifest__.py new file mode 100644 index 000000000..b91581e54 --- /dev/null +++ b/barcode_capturing_sale_purchase/__manifest__.py @@ -0,0 +1,43 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Cybrosys Technologies Pvt. Ltd. +# Copyright (C) 2023-TODAY Cybrosys Technologies(). +# Author: Rahul CK() +# you can modify it under the terms of the GNU AFFERO GENERAL +# PUBLIC LICENSE (AGPL v3), Version 3. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC +# LICENSE (AGPL v3) along with this program. +# If not, see . +# +############################################################################## +{ + 'name': "Scan Product Barcode for Sale & Purchase", + 'version': '14.0.1.0.0', + 'category': 'Extra Tools', + 'summary': """Scan Barcode from Camera.""", + 'description': """Products can be added to sale or purchase orders by + scanning barcode of products through system camera. Products will be + automatically added to order line once the barcode is identified.""", + 'author': "Cybrosys Techno Solutions", + 'company': "Cybrosys Techno Solutions", + 'maintainer': 'Cybrosys Techno Solutions', + 'website': "https://www.cybrosys.com", + 'depends': ['sale_management', 'purchase'], + 'data': [ + 'views/sale_order_views.xml', + 'views/purchase_order_views.xml', + 'views/assets.xml' + ], + 'images': ['static/description/banner.jpg'], + 'license': 'AGPL-3', + 'installable': True, + 'auto_install': False, + 'application': False, +} diff --git a/barcode_capturing_sale_purchase/doc/RELEASE_NOTES.md b/barcode_capturing_sale_purchase/doc/RELEASE_NOTES.md new file mode 100644 index 000000000..7ca93e6cf --- /dev/null +++ b/barcode_capturing_sale_purchase/doc/RELEASE_NOTES.md @@ -0,0 +1,6 @@ +## Module + +#### 20.10.2023 +#### Version 14.0.1.0.0 +#### ADD +- Initial commit for Scan Product Barcode for Sale & Purchase diff --git a/barcode_capturing_sale_purchase/models/__init__.py b/barcode_capturing_sale_purchase/models/__init__.py new file mode 100644 index 000000000..086d660be --- /dev/null +++ b/barcode_capturing_sale_purchase/models/__init__.py @@ -0,0 +1,21 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Cybrosys Technologies Pvt. Ltd. +# Copyright (C) 2023-TODAY Cybrosys Technologies(). +# Author: Rahul CK() +# you can modify it under the terms of the GNU AFFERO GENERAL +# PUBLIC LICENSE (AGPL v3), Version 3. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC +# LICENSE (AGPL v3) along with this program. +# If not, see . +# +############################################################################## +from . import purchase_order +from . import sale_order diff --git a/barcode_capturing_sale_purchase/models/purchase_order.py b/barcode_capturing_sale_purchase/models/purchase_order.py new file mode 100644 index 000000000..435766816 --- /dev/null +++ b/barcode_capturing_sale_purchase/models/purchase_order.py @@ -0,0 +1,46 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Cybrosys Technologies Pvt. Ltd. +# Copyright (C) 2023-TODAY Cybrosys Technologies(). +# Author: Rahul CK() +# you can modify it under the terms of the GNU AFFERO GENERAL +# PUBLIC LICENSE (AGPL v3), Version 3. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC +# LICENSE (AGPL v3) along with this program. +# If not, see . +# +############################################################################## +from odoo import api, models + + +class PurchaseOrder(models.Model): + """Purchase order is inherited and barcode scanning function is written + to add the scanned product to order line.""" + _inherit = 'purchase.order' + + @api.model + def barcode_search(self, args): + """Purchase Order line is created and product is added by checking the + barcode""" + product = self.env['product.product'].search([('barcode', '=', args[0])]) + if not product: + return True + else: + purchase_order = self.browse(args[1]) + if purchase_order.order_line: + for rec in purchase_order.order_line: + if rec.product_id == product: + rec.product_qty += 1 + return + purchase_order.order_line.create({ + 'order_id': purchase_order.id, + 'product_id': product.id, + 'product_uom_qty': 1 + }) diff --git a/barcode_capturing_sale_purchase/models/sale_order.py b/barcode_capturing_sale_purchase/models/sale_order.py new file mode 100644 index 000000000..a0b93e638 --- /dev/null +++ b/barcode_capturing_sale_purchase/models/sale_order.py @@ -0,0 +1,46 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Cybrosys Technologies Pvt. Ltd. +# Copyright (C) 2023-TODAY Cybrosys Technologies(). +# Author: Rahul CK() +# you can modify it under the terms of the GNU AFFERO GENERAL +# PUBLIC LICENSE (AGPL v3), Version 3. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC +# LICENSE (AGPL v3) along with this program. +# If not, see . +# +############################################################################## +from odoo import api, models + + +class SaleOrder(models.Model): + """Purchase order is inherited and barcode scanning function is written + to add the scanned product to order line.""" + _inherit = 'sale.order' + + @api.model + def barcode_search(self, args): + """Sale Order line is created and product is added by checking + the barcode""" + product = self.env['product.product'].search([('barcode', '=', args[0])]) + if not product: + return True + else: + sale_order = self.browse(args[1]) + if sale_order.order_line: + for rec in sale_order.order_line: + if rec.product_id == product: + rec.product_uom_qty += 1 + return + sale_order.order_line.create({ + 'order_id': sale_order.id, + 'product_id': product.id, + 'product_uom_qty': 1 + }) diff --git a/barcode_capturing_sale_purchase/static/description/assets/icons/check.png b/barcode_capturing_sale_purchase/static/description/assets/icons/check.png new file mode 100644 index 0000000000000000000000000000000000000000..c8e85f51d612c626d167e4def7bccdbe1d6d17bd GIT binary patch literal 3676 zcmcgvdsGuw8jpg4iY%zK;)6~HwPkUVnaO)JDiRS~W01#+Tdm%CgiJ{?ab|#k+GElB zs)m`Fq^5i_*c#09+YQPFKr}nwM5Uo-TAL;V~rhtuFtx>&0g#C#25Hk&m#sUb-WA~31MBLg4ikrG=iSUHIid9Tb1 z9z?MSXrWNHppa=`3T|)6tVasU1O?OhfLBAPab-$=Aj^bs-a^skcg`{z&c(Sok1Rnf z5yC>1Y_<@*U9)a?2rbEDiXfxl+}cG;IVE0Blf_9wp~!G!ilE2DR$`Kz#XXhg1%^X- zXt38Q$b#e)IuIe${frbc@94mx((??I^YI-(m7WmPOQnh&kOeVE5L~UXliA7*Aqh2! zygrHdutKqvq)a?GfU^Rbv!F1L2n;u3q&9~jDV>4R8gLYj5g8$Gdf5;PM8e91VHO}tH2a0L8XijPj4WT@OfXUAT zJnhf*@K9tDMU;r4{0y>T@q!c#dc9U3Y|rFt)F2wJDdXk4$u2;9M#3=B({jWE?ZT8AH% zg#Ynm7{OD-iERSQ3q%07QcjdCs6!Oo2=IDcJmb$VO_7HU?ogqWL}USZT7WtfjpanX zO$@a45~6_o7yUgq;$EyC{@)i#qZ|N_R=_bJvw}bMOMXYUaeIWvk1PbW5LY2pwz5%~)8GxdCY^PssXRx5eoz zoO^~fem~r``@rOd6TkZU8il$gE8}Oz-;cgl{mIK`Pdv;QZ%-|s z|GM{J*isd7WKnONICtpgNp#AiUeQbceyF&&T9d++kK5LH+xFP3BM=)2;)S)A$sTiU6of)b*Y#j{o#0g@7kQ@$&^?Xwd#C) z*?`OMhxblls7-52Hx9e<G~?b~~OYW?LWQyXXH zri{BfJ2omM>(N5CCh8@jy!2dILd_cwrrn5}-u1H`e?0w$}WEW5P9XVW2;W}-E(N#mKb@>!_?9;7EcMc z{$}01S5Kra9GY1>s2abs9zQ>M^!2#Wa|ZgdtCP$7HxD_{=b{ky&9Q_CH6!ldap(T* zf}8Jcd_*M`3GY@f|5wb3WaRUu4KwLk^ZH)Cx@g9Gqrd$0VaEMIzioWH^;l}xdpp8T z8}{xXW=4I#;LY(#$DH;dANHu-yZ<(gnNzG17ONUnb$vS3 zb*fD2Tp8xe4);ae*%)~z`kF2F+Q6#SXw|Se#$N^e?zR2i*OIq99+Iy7|H~LN!Mc6) H^s@f|!zCx= literal 0 HcmV?d00001 diff --git a/barcode_capturing_sale_purchase/static/description/assets/icons/chevron.png b/barcode_capturing_sale_purchase/static/description/assets/icons/chevron.png new file mode 100644 index 0000000000000000000000000000000000000000..2089293d6ad94cfc015cc0a8c07bb03efd4a689e GIT binary patch literal 310 zcmV-60m=S}P)fLA$g5CzAh99{FF(tp zz^tD4))$4c^0SZV9_X~njUYum@4i`~v!i=obU%PG(6q`OMK>{HG>r}*tHKc2@w+qg z7|l>B76qkX(U2E&K_1Nf!JbCtpGzwGSJ~CkU>QcDY&q>lnbwQm<|2>>iH5vL6qJIP zp;W{K-Snrb@Z2gLMVZAQQ5jU>DXT)0mtk@hpq-Sb{2q6{0V4Z;tNXT3P5=M^07*qo IM6N<$f_?6Y+W-In literal 0 HcmV?d00001 diff --git a/barcode_capturing_sale_purchase/static/description/assets/icons/cogs.png b/barcode_capturing_sale_purchase/static/description/assets/icons/cogs.png new file mode 100644 index 0000000000000000000000000000000000000000..95d0bad62cf22361b148e1d6cefe2ceab605955d GIT binary patch literal 1377 zcmV-n1)lneP)lH5n~Zj$eiG;8wLI!*reT1_VfljL=sA}=JrOptsX2RfC&)+l61t|6JPeb$mZ z6v1wNClWXiLSlOh+mR64U7bjvhva*zJ0HRRaDbgl@(q$*^PYf*$fE&7)c&&!Rfm?&yLyFbQ?2&R6W6v@rWu!;bZU9|_! z4Je^Q5$r!vH2{)*ok-wK1%Wz7TG;LgvHhtN39JtxLC&_yAzs|bhFaWtFLrukMR}l_ zP~>z0rF26#(W+H@aXx?6lf(f454Uv()R+QrlZafX3t}g5wp6-Blj;u$XaE#h->+xC z005Fp0GtMpYoBiuo)VG0UP0_GltOix%1(%-bKgbA0o1pB3&6VoRs+}%fFWUi1MmQV zmjH~{WZwYT7ng4njIz1iD4PuYIM&NvU6NVO4kNuj`IZ(nzL#XTM^~@uFGT>-aT6dh zAgaP68%9MDu}+cu7uohT0RHqW9d8lhD-kJqd^i9;Rw)OT!X*D$Y?MvID9;=%I@23T z$~m4}V3f^0BG}d<_%@?#emG&81LI_NvTQ!T$gzGzil=|K?VCM%e*mZ`d`!0R--N(> zX_T!|fX{f;z6ZDfz>JL{bFu7UqLI0BExN7c!HmOYg;$V?QB4==-_|4!R<1p=W!b zXM0?cbrc+q5buUe#ZpdV?VzCxk-Rm+);3(wb8q`(#{e8FI_3z8RwJLQk>}&nRHK0| zNhvzkFo4$qbT=sr4i@y>Bdr`7j(HfwmH^uc7xH9%r%nnDB_ty3>&opGxGMoP9kf;< zd%_$N;{SC3V62>WZcCaxpx6frT|FlOj5R5zGbh3vrqY>j1H`{Bkt_d-PcIzGcOeS& z0OimpMB04AZ5M$FkksHx)9_uX*rDTKrDER^Aij2r>}i8vD4G(OFwKFYV|^yVP5w23 z`asH~GaMjZ={ojt!?Lb#lcy352^1ZBLpqIV|5 zLfz5N09ce%03XI(J-h5`5#>QuTr`wWt<}xj9|=Odm?U{1pyiQF6&>pYfaOUB0`PfX zSMHvKeKvO?5vfw7-bq{v4vAnDh^?3%L|Q@w6Pmd9iD(;0IfB{ww?bB5NS1mno@&9c zXC4%!P8Bklxq~Ew%%g071mXR`&iMY{dhWR!JtLt}njRD_-Cxi%N0X&qj~Nq_rI}Yn za8e0TJ(H#J00000NkvXXu0mjfE=YKA literal 0 HcmV?d00001 diff --git a/barcode_capturing_sale_purchase/static/description/assets/icons/consultation.png b/barcode_capturing_sale_purchase/static/description/assets/icons/consultation.png new file mode 100644 index 0000000000000000000000000000000000000000..8319d4baa09d6afac9362dff318f63a0f96f555e GIT binary patch literal 1458 zcmV;j1x@;iP)fo-7eN@Nx;}%h)9e^5-C?E zsEH&b3Z#%2B-}L7v^LRRD&QZ8A<7MshM0yxF7rU)x4)gW;*vW;3 z#hX3&)M|C@Hzy`0dbVF71Cp#6E*?;(1E5ZgN|t#IpsRseZTS;fmL2OZ%G1F2%+iN5 z?1unK-3Ni+4&6W$B|ic7=Z$mSG;E8PyRX^_00(R zZhUjoBfjtdy_aS#1FePDP8??a5dOFCh z*MWRv)G@zc9y@oAQ6L5)gF{}MFZh1tt%7=2kn>q6`mgJDye)VpNyeX>nXy(;k)8%5c~P{u8)+YKOVK2Ka7pM_X}a`O zk#~c24MYp^y)u3b+*+!2>R#%t}=?wy_< zpYKn-%7CQNC`x``VuKC^f_Kx@zC4JDHDk0HCO^O4#RC{@^;{j6<{9 literal 0 HcmV?d00001 diff --git a/barcode_capturing_sale_purchase/static/description/assets/icons/ecom-black.png b/barcode_capturing_sale_purchase/static/description/assets/icons/ecom-black.png new file mode 100644 index 0000000000000000000000000000000000000000..a9385ff13f696e96d517a56ce2b2ff7d282c748a GIT binary patch literal 576 zcmV-G0>Ax5}Z)a!cc0ra5uqqg5lnhXD zTbP_`oKdQ!!sJxrjN&KdC#M>hn6H53Z@_@W06J)|I<5r7bODP7TpFfK@D$$y9ro1J z_#n7|3NU9+Eg3t67i6kk1G7mAm}&y~>LPq;59$DNz9rz_PKFAe2JQYcbvs+lNHw^F+;#7cCP*z(AJ2&$C0H1W+ddn*~CoC?@7snGmV!9 z<==r}6|tyA>`?)>6k{b=2d<=(_5rWxzxsKgUs~Q{+du)!y5s>SG|Pu>T2kaR7OcV&-NYURtom{p?~^a9V+ z7O-a3C?=EC%HIJ!R*hUb72^tZzf-`AuuDDSkJJnF?!xs=oN3JbnbTGPz&Os^S>dl1 z(84w;APbb-b_k@KC|~4YkNmz@^KPH*e34{*2J>2yF9_24A}NIoShST-^{Ye_(vLmm zd~pgm3F$kIkw;g)NYXe9tbV#5fWaonr$h>8ffe1h+u&f*`C7F2cl-b`l5Ye!`u+O= O0000##3Xw+{I#MbTYoZ-I?3FUBiCh!QRfyd*8S0 zzBhAFP*6~?-lzdrfLY+Hwprk^9?LDGz;$2=SdFk>z#U*LBaI?QQKD9e7VcUbxCb21 zK<^(;Xc0+8N7+;0G_au`qDwm1ixh;r_7XS;lzSn3Ks%r7fpFK}0T+SIX$T+G&OY=( zxNCJ_5*Q8nGpO{QD=gKm=?w>jvsI4EeCbfxmVgL)==l)8DLS{4AE!e?Z8#kPQdt|>qP=~ z0Jlc(3Gg?f*M1lL)`j_1YkWB%UdQh2b66h*ZnCzsy7n_B0ckvzW`}^r+Q1XwyiR6N z+Zb>`kF^u{kzSF3ZWCxE2%MHJ3h_5t<4fjdNthVL50AOsk~o%60t*2`LXkdVyV0$h z3!el&2Fvm1lW@sw^on`m-Vx`wwB6`P4R}rO zE6^)ow-A5YnfJ&y0Ye!WLUqzpz$M^$fY4`p?Mdxxh|Yg2?gAd7ipc|DXJ`UZ90Kkq z5IzMQOgng*oJH-CT;UDiOoqC=IL6w|-va-Bgt_N1s&c*2*98Ry1?!OCgV~htO4sqyP_dDm_d+wti*Wu|Jegr#e_!#{@68vYp!)bLlu6Zk`LG>4b) zEtVJfV|c&7EyFk1UEqgt9*;Njw1VZ>g|{(-Ih??2*p8dxr0-%j^2hNC#&IhqaU^nc z@$+Ql#-r}>$jwGuyQA&xajp}QpNYQgQvRX3un9j@9GJrg7>xWw!mm^1U#(2=6#lMo z|KQokEyJGV*$a3$^4H^V!vBQLO`Y#xXJTY1;rCX!>CE#}6@DtiPgnT82{)9?y|d)x z(wYD^;79DoMQqIQU*HgKi6iBw;@FUI9sNVmM#^uDbMB8mr2J(psR`f_e2lfYQ^?Pc zD*O(-j!VKyGmVpx8^nFlK|*>Q!@2nVHmt#iLfSnlYCO2 zdFMZq-%%fsUm+%4DcBAM@nlB#OJUtlu?=@5vKyk0-(~c{nEb2TSI|FD&|jC)U02XO zP_VtPpg&ess@n%zfz}7m^l)@9-pa_g6!iB9hqNkI7IY^HwJpfkw1vjiEIS#Wpt0?`HcKIp}DC=(*S1hNk)FAp#M3(Ph`2hp<^Rwd!~tF ztxuuW2aq1-#_&}}?@!(9I-!5fU3;7r`rs;-;>L{bUqXMKVkK5&4iq?1871GE)(+iE(2hg+zdgWT>s_5?n3yszX(6k07r<#7z+xi};Iw>y+AElqG*-EPDTmCjr_EtL l9oc+vR{1Wfk3Rkj{so);rk=IPI$i((002ovPDHLkV1j5u&D{V1 literal 0 HcmV?d00001 diff --git a/barcode_capturing_sale_purchase/static/description/assets/icons/license.png b/barcode_capturing_sale_purchase/static/description/assets/icons/license.png new file mode 100644 index 0000000000000000000000000000000000000000..a5869797ecaa7583c552c3bb7c9bce5910df78e0 GIT binary patch literal 1095 zcmV-N1i1T&P)?DLX z+1Y*BO%2WWvTu05Ki}`p`@J{sJ=nx1)&%L)P@|a%i#deKSU(9Ndee~mRtn|o9hqkt zsH)g_?j-1Oz*{rH&X9nd_6n5~S%#SclCXXhkhBHYOR<={+%T9HHm_+Rj=iH!?az_sX`LfziH+4|52SPxCd(lFQ#& zy}6O4ybXVUJ6qGPGqH9kZO+TqO1)ZNXdyA~iK zjU@8F177OZcQq)~$=N9vU#B7D6{_#K`1J!DzKA!x0H-08MD^1m@!Cu1^1Ay68A9JiW%_ zS;VTfBGKSzreWdMUn09>mmHnKrHDNn2a^cnnZ|MXDzMjuSf_9uLfT_HXSmEliE3?k zXG5qm?Zm1JIMsm2cnJK_V=hkE@UzgSfJcoDFQBI%WSu~xnTe+6cI1o%43w{m$eK<( z*6j^w>_69x>X$9vq!B%D)n2i2Fx3eCH`fw(T?A+}`>a(i3QK#4M*6$U2tPE#;4RnK z>mxwS8DJZNZzlfX70^76^jmNLyX*lJ7YEWlH{ zcu!SGBHwAI5D}|zA|-av#xj{i{y7^5SAdUFv(H6FZ!P*Haqu>f2gqsj_qOq~2-w*F zS(Vp;I|v^e^)8@E=esPmmg4ZVjs4>wpR8c|FGJSOYN$8)|IM@rI3xAI#QT>#L{?m_|*Crlo{0DLwqmu7G?&JUf N002ovPDHLkV1nf|8?OKW literal 0 HcmV?d00001 diff --git a/barcode_capturing_sale_purchase/static/description/assets/icons/lifebuoy.png b/barcode_capturing_sale_purchase/static/description/assets/icons/lifebuoy.png new file mode 100644 index 0000000000000000000000000000000000000000..658d56cccfbc0e46060ad4850b9fc60c656baf18 GIT binary patch literal 1199 zcmV;g1W@~lP)K~!jg?OD%n8$}d;Z#;H3_Ux`{Y$>IOhC`GK2Z&mUBGl%91P8y|S)kfJ7y@Fv(h8fJTCuS1y-dl~V3Bn@u?h-V-e;5wUK!dy#X#2mo{Oe@Ws202*N! zUYebq1*Oz(7=|0J>pn(AT~tHi06fpT5Cp+8=UfzYF~>QdlTyCudEUcDqp?-Q3ClZy zh`8_jS1ilAN<>A)|0jSkVOiEy-}kQ++2pw<5YcQ91S^cOdS0R|Fvb>wAgB}3_lVdx zo@Z(pi+`PnCN6%2qaJh2n$9r_fQWby1S^wxWem84@B1sJuai*#Qp(HIeDX(8DwXO| z%F8CUnE~{Az4MH*g_Fz52gcZf=Xn=0?a~H`hylQ*oZNq<_}k0ls8Xpc6H#iiO$}f$ z7+lQz-Xr3jB4gvg7!%!YH+A(>1Bjw%(UgpcwAQ*+tJSUpz&ZeoCZ;U_SQA3r;GDOJ z$T;)HSw0bo%R@wVuh)CagoKDRBK{zR*fFtJO3f3|HAFNzMEd>yw@I~AqJ#bY{dp7T z002bv$W%N4fDmGbh<-J-uT(0DT8^y%5pku|M*#3XBv+M(*h9qcYPH&RL>!t5ih0Vt zUhhjHdIJES%P?;Pz-K~;bwmtD2ac^kEdHi}cmRNNMD(sw>ZYmi5uOi;=pD!w4*<{v zfK{c`>d}E?De;q!JM+w*2G6)Xkk{#{&dFU)|KBh!fb9Z)o)nlf5uR}Y zd|trusm)0`Mppsg1Ndk6r(q8O?g$}n6g)=1h>y{88Rl&O_*4k-$x*rHnJTQfhuU9KK{~ ze{gV+s3kFgxc1mJAwWb%MAv-ZUm~J%N@uP-7z~#3)Ik8So7O{0t+hLy&I_FLR}6^` z@phbH$Kh*4{3egHFbsdG*XzG0ji){Z*L5FjtyLbvcvB|f%{;ykQM#_XnP!t303zyA zsq`QZDWumnCUwuh==b}N5RuYsGT*~mt@c!Fo%$4}0j>3>Nw>~uBiXinKZ>Hx$z_=# zilR=d)w*wDYuue4X>6r_BNNeAsf38{WsIw8wR+FAJ7-+XA!5H;t=^mFN<>lA$s-;h zXEln5eaCU`PGe7Ktv4OVxtm8kK!NspT#NkddEOtDN@bZbcA|D8B1!;w=r~T1>a_U% zK%>#vBBJeXx4STU!I1-p7aW^eM`ao&dc|bh_WW=-{0Wl3r~lMizvej3Q$);_Ad@h$ zFS2H{DJ{#|0D#*mX186}-I$d4sUW^)U5g92(PHl7XX2Xm3}<-8@HhS0PsfeRnq&X~ N002ovPDHLkV1i;vH)8+* literal 0 HcmV?d00001 diff --git a/barcode_capturing_sale_purchase/static/description/assets/icons/manufacturing-black.png b/barcode_capturing_sale_purchase/static/description/assets/icons/manufacturing-black.png new file mode 100644 index 0000000000000000000000000000000000000000..697eb0e9f2c06e40c9c720df7b80b8f6fac63b34 GIT binary patch literal 673 zcmV;S0$%-zP)xK~!jg?U=D^6hRope;$f(2!dRQAe>DQQeT=B*H{T+6R=CPGo?i; zwb3GCV`G=p7B(h-MB0d*S1Kujl2}+MniNSfJM7zGW^Qgb$r_ypLnbqCci)@+?wfB1 zGBPqU+Qfwk`Okp9XM78I>x?Y|Ll1WcSarsR1>c9|Nd%6=HgM!=YaZ@efV=JCJ_>M; z#tG_7>fmofHqbV*fwqwi6!_g1x2b_In2ly7f%_eJ0o+aC9sujWOnqs7*p2KnX7jli z;o6OCA9xO2jd1No_NTb+#z~0v;T`Z0zwl|`n*9F~cmiDUaJy7Xk_W&W{K7lHtvX^; z(Zj6p4`48cdl|FZyT#uaI>0^PBmPpQF;uv%TS5j@xaEcnsPI^=RU1CxAp>3Du_HWW zz$g4f4a9`I24ccp10CQ#@F~J=WS|GU0)9pwVB0W3xNXY`!W$Ww23{u$x9zmJwG4zl zNZM#Y1GyGz8>t31fw`hBIdgN;Ml!xCHr9#=MoC1iB|&YhBqA8G zu?X7OSOnBURJ8DgX)FXmEY-qi6Qc+|;sZf^#TXGy#8}J>ckeKJckY?{hP0VaJzj0X8RhK^60Y~Xz{&a9?$@^ z`*!wmV5Zy_F}!tF1}J$Bj0DI7)BwvuZXk8w60j{qaRkSJJyKzx5OU#xRG|a+LWHFb zOd6COC^gCslp0b8n(}BvP?neGfxW0~`7uN}P!H_L!mj|jfWyE~sgms!uaGmXN9#VL z&o{&wH`(XFRQ($pDUuL+1@xib4Gb0l2lVkR;3DeD8LS7k>f__UV1%mzx>4a$5ZEDf zFs9!N;)lCQb0feM2j7i5gwE^pjd8|FLg;tGbr&DyCbIB3L*hWI<61T88h);WH`i)_ z#w>i!kj#Nyz$P-ET7zx?XMsbOOtb!-1`Gk8B3ufXFR%lU=Ye?%_gs{PuhlItkT`G~ z*iYsNGy_*qE6PdWv?bF996`l@7wT=!Aca~OHVbSKIdC1d{b6GWSPEPQ9$MUMlmo*+ zzeDyaLI);$B1?p11lFKJCR&>;B)yV!00U$$m*(l#18adt5v~eYC$PgCrL2V#6Pa`s z8YOcQ*O0DT0KSqr0(GRrbsYE};VKANl_YcE0xA?5BdrDarup5doDk*PG&c?`vA8VaO=C>m4%I|X)lqm$yVLT0P+oIdY}GtOrO29vww9VSooqbBNnh zcu(I|YQ)0zb`*zp)aRe-TomMhG1NxyHQX;fPUPZ16kAXwMG|^ZYrnxPV4v0J8EW^T zsOZBl9Hv`x%N>1ggc$PASEFSIN{zAurN)2jfOsd(fgd5lQU?Y?lv>E=CtGh+0(VGG zWW%UGZ@o!Njc1h3(oB}@JmzAS!6!o=#PN)%o0h~rfH{E-AX#fBK07*qoM6N<$ Eg49ZXX8-^I literal 0 HcmV?d00001 diff --git a/barcode_capturing_sale_purchase/static/description/assets/icons/puzzle.png b/barcode_capturing_sale_purchase/static/description/assets/icons/puzzle.png new file mode 100644 index 0000000000000000000000000000000000000000..65cf854e7ea72e36142ffc1a407bf2b8355cc85c GIT binary patch literal 653 zcmV;80&@L{P)9a`;n_Do>R91)@YfrZ;WIBYI)WE@w%y z7IC%30~nX`B(&|Bi6!}ZGuBf8IAM^ zQA&SX2=P2@*<+`kI7+k$-1A&gaYV-{Ks?g2#0TH?II!as;HNYK-X1sS_e0Z#CLzvF_5wZZ}7k)9y#mQhdC00000NkvXXu0mjfog*sX literal 0 HcmV?d00001 diff --git a/barcode_capturing_sale_purchase/static/description/assets/icons/restaurant-black.png b/barcode_capturing_sale_purchase/static/description/assets/icons/restaurant-black.png new file mode 100644 index 0000000000000000000000000000000000000000..4a35eb939cf065c6f8cf83781a15f357348769da GIT binary patch literal 905 zcmV;419tq0P)?`PC*pLe{WG*jTWtl`Uu)I!h(oI7q&uZZ6pM-kw|Ur zMPftz3s_jOvBN@wkko<{5h@lmjYJTFNYSdk7WZDgxt))5&f8mkk}hV>Idh-qo-=c2 z<}K*Z0h|JE0{hdxYd{s)k+v@ZXMrAIo@0zw;4N@F7c(R11%8u|tpdl>{-S`voX=~= zI9qe}3E(2Iz)Gr4;kyl(s~mqF&>XN=fMdX2piMb8pcAmd@&I7Dz-K#&h$ije8Ud@c zgQt)P0N6-UPAX^wv}*@XAr$~{fXT%{gxOL;d7J^}NS&nu>IqNA5SA(ZHvoI3&Qbww zBrApmt%jI`Qb(zPr3MliEX(6AgxqFAfF%PhK$pZ(DxlHPm#x|JJ?#vOh0iFWL*gX; zvNkySP6D04&a{0VI7IUG&7=5n`XhX%X!6%0pdIMTwKt`IMHB^02%jlh^`s@_+Eq$X zUua7+@KNF<74Svq=fdYgTbhAkiIY^oW1*i5PYP{`fFHnsWN@i~VW3~=Tf~(@TO!~V ziHK=MH!#NJVMOxR&(xQ+UJ$o$y2)oaLNW;@b@MoYxa>1*DRX}LjYb1P&7s^nlmWWk=>z*h>g|NU{%5MtF5CHx% zsv|6})E_wVDBiwF?G1#>YfMYTD&SYd?mLjjCb;?_Zxs-Gkk1|~y%8;uG6am{&rq!N z-f4+g1^f)yLT_-QuCw0J!G4)Cg3XY f0eA)+t%bl}x(3Cqe?`Zc00000NkvXXu0mjfu`-q5 literal 0 HcmV?d00001 diff --git a/barcode_capturing_sale_purchase/static/description/assets/icons/service-black.png b/barcode_capturing_sale_purchase/static/description/assets/icons/service-black.png new file mode 100644 index 0000000000000000000000000000000000000000..301ab51cb1363cb8a0063c4f9f7cb9cf73c91e10 GIT binary patch literal 839 zcmV-N1GxN&P)wG}3wsU*IR)z|Z&+>zafrqJwCq*x@FjvNVI2F^z|C zN%{bO#A+2K9mjI&psYL^8b1O*HWO0*iAfK zwBzye?BGqTEZN2s-YR-iRRhR^{{@@H!rmxCX)mp)h^Mf|a7g;p*wW?ud=J0RL?CEP zkEcMj#QI2Tc@Mv*2kEq`DKw7vdi=Jb&-aer)!-Z0qjz+QFK@N1&aRXO}`izA!9+A#$97UmLtKG(#D$V@JG;R0Xua%1u4_kNMazOP^ayYznp(_+pa zmHp&*7l9|T=r9&<9@|?Ko;a_$GXn6R3= z-_eWeE8>!NN6sWQh>p|@{|B~~h0NN}OyO(k|0o{Eevvy?ir79Q%G}xZ=i2u5tSHu2 zwf(N(bFnYJT6O^a^n}=lCZF8Nx;w2}uUkB4XPd5v`7Z>im~HzdJMCK7trz|-8@38>5jc3xX@h`{ zh@iEj_%)@#V~J@-!i)2n-XCy!_SC5Qyigi**PVuC+h<}!~>FElyR+PxP0svs|A}^vKikR z#>I0>S!0;4UyI{*IK1PzbOF;IshL(A_k5A?+#7WY^+>e^YX;p z=xW)DcRQbIOIo!~v-$kABZfD^J?Ag~CjG!0N_ye{SWo@7I2vn7n(V-R~kb-3M9=yBBG68O-n8v2ber%t!Zu Pq0ivy>gTe~DWM4f&Ev8V literal 0 HcmV?d00001 diff --git a/barcode_capturing_sale_purchase/static/description/assets/icons/training.png b/barcode_capturing_sale_purchase/static/description/assets/icons/training.png new file mode 100644 index 0000000000000000000000000000000000000000..884ca024d71ca9127a5393134632ee92a61b07c4 GIT binary patch literal 627 zcmV-(0*w8MP)Ji_yZ6G zgCi9sC+SZOF3B?A-3o?c9a^B`5B^xi{atdGlsx zfu5coC)9d9*W)+29w+CYx6HE5(7FIXTmz`}IuU&auvT&%3np6<$3JExZ8|Qv1`yF6 z{uK`ZBO-bN;C9iN>oGlP1At#74phASP()5l1Dq?6>v00$qR~ktYISg_G~Q>PN9l*Pyjm+=0joaxS5K;Rj(=Ddy)iyD^P2j9tz7$MRPPN-6X6Ic< zC{O?T4(yVQo5t(DjmAqa0UQ-9Bj}SmO~ZA+0wO7a=S3S8?~`nFrw($EDaoG!IQ?TF zt|2?U(I}QLQFZXyQiDB8SX$~v-8kVA@YGU+KFk?f>fJUiwWsHQ*BQQneoi* zIdjgY7w2;~&-47A-}lQiGr#AVfgU}2^thi$w2V8gP8xe`iYA|^nQ(?HLC@=`7Uk<}) zLeWEQiU$yZ^@<(}ZFDXOrZ=@2KTECwL3TGYp{o5;VR!&Zenfb(Y~lunk>o@WhF_@a z!ghmmZ=oQx3ZUrTMV_|@z*@URl_LrpnuMspmx02LayE1`&DBGH7 zIB$fJR!y{I;6E2v5gyA7yJ&>%uIrAsk}Qk0c3q+z1eRyI&Umi#qKMSynj`laxQDEG z$>9=BWqAjWxCde)_&ZYtQ_uHfppNAb)C&iMgDG4Yayz-APl492qWnZ z+2s4qPerk;Qd zRTxgcUKCf(0QEW%Si8S$d^23v9Y;Bm$|Jh7D5kUlU|v?DQjz!5DcCSIHI;o!&C;0x zy1x?jTA~w;DMb2S$s6C7*Wr6^*LJGyqHt8;>Dg;xBk)zTu^q3#d?0F4bwS{Xys;0Y z0b}%PxF6sy{*u>yU@TD!7kg>wn=-H#OA+vz;H27KSYpwM_&kp%X2ny`^Yp0@|(y-wyRtOEu) zkZMr2S!>sIk}ylBD^a-LQPoOlqjSJ;L-U^%BWoPTxn4GDGXiV(qm1VDmv{z1L}Jvu zn`vGi$NH_RE@&E5g2~Cr0o8JExjDBIzCUyV^vhJEFcOB*@hFO_Ws){xtzG=^;Lve_ zQnzMHdm+ztcL8TpjlxKr=$THQiK!@hAyIz4N4%2V3+2+10THPgVGEG`aJ3>)#)7~e zj-qI|S!^?IMA7OXjJ}pce+C{;_v(adyt>r~yRAcuwRTCOd=IQ`K0+rHj*6O7#^_|N zR=ZNIR{yzq^QL#_j;<2XwFs{P&o>X}q=;_wJnsh7KQIfj8}c9GwohHEy0HGyN#1EU zwtz&CPhEFtR77q!cFdS4^%iP|h}3+~+kwg^h2P66zKc$%k(WHr*_9O!^)V)55l)iG=bkroSVWSt8oK?9X|oC&>t|S94mi~JQz6J@L4Q+~({Wt+ nVe#UD%iYS|qeqV(_m6)8sc^)gW+q6200000NkvXXu0mjfv*t}m literal 0 HcmV?d00001 diff --git a/barcode_capturing_sale_purchase/static/description/assets/icons/user.png b/barcode_capturing_sale_purchase/static/description/assets/icons/user.png new file mode 100644 index 0000000000000000000000000000000000000000..6ffb23d9f036834a32954f83bcfeca00790ee443 GIT binary patch literal 988 zcmV<210(#2P)cAU zg%n1_!UO~hi=Zajq!7VI@CUR>p`!Rx*a$&o3k`~bXb@RtC1&nyR*WQ@xp&s=+|MHZ z%qBDA%sD6P7W>?P9RqF}kWv6&A-zOAepFK7 zn%moe*=$Tc@)I0INT*#4Q(tpt!c>;Iw0DH*Nr(MZj6)>|hd7}=D`NRPh zXvGuSy!q^~M868;^;_^453rHAwcCa0XTYMJUi@XTxY>o~XCPvW7k?SF)lGsQoZDZQ zP)=G_j{)g77n-L5oA={)hSIDH&Cfs)ee1>VM9F4cXnqDNc7ia=s32eb!iDI$gsOi4 zLvKEpLvw7Jbc*9=pw+k^81;$)fYoTt-RZ*gtblIt<9DK%bYb~+p`ZNt9gylSG|w)y z^f7S3E5=1EFtYA*7owK|ZMZhYc+MxrUpVY~%?xuR%hGp%`<%$)6(zO(uDSg$G#5pD z;K6<0FLeNz{gRNEPQuWq)1OJI*Gp=<<_=N;X(Gq;tOM~GAMp_MS;a)29s}JqVCIjM z)b8=k8|EJXBpK4+2QuS_5P5?c0HB~e#B8sn^Ebj8h&ak%8{2szdo@hTfKXDKM!FmH zW1nf?P!ziqZws=70=&$bXf^g?93W~xqS9P$i-O)xkbdQkw>_W_=3j zHL&MZ+4h#Vli`J@6>FxCSeAZmS!$N0X3g}h<>^5?bLOg^ymRRmYovK~+eD>9insPXvj3+6Gb@v&hmf9xq1t2!EP|dQ8Gk{Nb(_%F zfZ2)l~DhpZ1%x!dRjm zO=;u!cb$X1D_}gv>Jbl6rqq7)(!s6*&8$S;I1dcnm#;8RsZyKh9Ozzw#ra8ApLl@n zmu`~X4VYcGB63`?zPU_W_r4w%$5|}xSP?5ge^6@en%S9MO4}qmpBLGc z+0FjUY-Um~^1{NNbKdiv_nq_2d}juhaAqNAYGGAPQ!by+?CdIx=|Q!EF@IoLzlew* zHqN3N&|>jiL`D#~5!H3TiYBy2#kO~cjhT*5UTf&o)WxJyJAvB(gK7(+j!7;TT0A7Y z1FE_V&)W$+3}iZx$0V2A6?Kio3}~@vBQg$L-C2d~l5BRYn{^UNAuSXJ5cvdH*O{zi zV%uGb2Qb}EY>Q0hdBTeCB5i_*J%!Y9hB4-|&cua_ha`5unC%@oF^Pv{Qs|lv<4<)f zUXLH|SJ!zQN!xgltnuI zA*#cGrK&x(v3Ly_Q|`zSxko)OA2y^qPL@<^KO#f_bvjN$1}w`3PIqAS3hH^A zP<=n*vz)54C3ehdJM0g+#tCDPU9e*A9n+;vw!rRxEBni5 z)-Ry*UUp(jA$8sBfPFx3TrnGPh-`L9MCxAWV%Y)pyc>XbNlyG}DwX>i#X}4RsyFRk zVEIC0wZTI&IM}qlEXaTsi?^UUPIBUXU{q}T#a4t=w~?!r^mSlaglPrljv8T7?RP}( z65D>Q9jU9ESY3A%*b`~K>IAlZtB6c%p|F}v<_biHP`wm58|VX$0ly;h9+vfvh)j11 z8_9sG3ZAzI7>zOy_>^pRvxuCEIIkl@7qaR%o>zf8Bd&3X>FJx35Dy`DKpiKGG2_6- zi1EL|_pg8qr_|L-ofg+klMsFq4s0+U^c|Cvl? zW76WGjRAGt5q$puurgxIe=ugV^!5FI`VHxE7Je0$oQCSazOkXL=HEJ@iy7)<8ccM zi$(+ef&T;QIOo)jsy2Ql_>yw@-e%|Y#X_Tj-|AYa)EhMu>Nvyr{xgBmKbe`?Dr?r9 zOju)E)IDj`^R}b-mDwQojt1IgQcl=+(LyKais%c845mdJTs}XVW{eu|uie$6SB5Pd25|YHf6OMZB Tt+q0v00000NkvXXu0mjf(ZE2? literal 0 HcmV?d00001 diff --git a/barcode_capturing_sale_purchase/static/description/assets/misc/categories.png b/barcode_capturing_sale_purchase/static/description/assets/misc/categories.png new file mode 100644 index 0000000000000000000000000000000000000000..bedf1e0b189ab85a0800d2bf16f8907ae0f9b225 GIT binary patch literal 1532 zcmZ{keKgZ+9Kav<&g)v_b;hk!gv>VTU}Ro~txRZnf7vk1>ts^0E+H?ytaOVCAAtJwqh7z>jo|))?0E=;^I0L}r!q@1EP`)*ij%*d2<}K;)isHiUuO(K8sRsh z-Pis3{YvV^@OQmmNs&NQU=)KXv{AlE^1MknPJ@r9OQ`&Nj0POs^TNY&qa1m>k$^h9D8PU8DqJ&&5k(K{sH@ z>V&X6c_01q(%2SvYvLlvZnd>@@hKBUnCj~2ChNaWzfP;#&qp?|WQ{%Kh@)Q3?|Ni0 z=(zu3N5auKDLJw+J9M|2X2;&ImwC4Jf<@^EEM+385H^D2h1?zJ3CZs;Z5fLh)hk%5 z92LCeycC`uoi_YZVuu}XVj@bJ4%>5%sl%Pd2NlL!H`UvThTU6LJEXe^gn}6qo&D*^ zm^{E}_)%2m+Lg7mTKSD%vkXWsw?3^(z8CV2X1=Ih+$)FISZ`Q1W>#&(U;Pf3754az zInOwxDLL*iQ+nNfq^Y+ffJ{jKv)@>P_0P3jxYZ!D3cFG&Z(+^{gBw2KslvLZ6k9pp zcav^CwSZWm8XpNq>1*NKY-M4jgw>z=OfFMf(-%Ced^p_UI?=L>ul247laA={vAc40 z&MbkA zQp*daY+?&xt97XHt%JJN_4~;wCD(^h2BpL1xp@X^wlU;+cG@IQw(58Lm3j6ZZ+dn9) zlL|m@Tzt8QBUiJiT2oW)3o_`6!%f0b4fhFzCeI?t)lB#3@yOj}Mt_vsQ;lPFV#O6{ z#%pHl7`Xv@3G+~0gf4=9HDk7006U7#X5b?aGavvftd$iSYlF73p<;LAaeMIAHoLG` zJQn*_0WSNWkeD3Bj6U{lp)90@1PP}9O<*$<8L4b~BJ10ZkX&2>Ie_fuMQn7To%{z~ C2BR$i literal 0 HcmV?d00001 diff --git a/barcode_capturing_sale_purchase/static/description/assets/misc/check-box.png b/barcode_capturing_sale_purchase/static/description/assets/misc/check-box.png new file mode 100644 index 0000000000000000000000000000000000000000..42caf24b98062c6ea6bb4a636808964262e04e64 GIT binary patch literal 1118 zcmeAS@N?(olHy`uVBq!ia0vp^3Lq@N1|*eVE!z&HSkfJR9T^xl_H+M9WCckkdj$D1 zFjT2AFf_Cwy$! zfk$L9kWK*O57|!VfeiK%PhVH|XY8`f{5%sry}!V~z%1$M;uw-~@9oTZkKjO=CD^jHr2-Ky_r{i?)~S7_ckB4oN(g5tYF>c zecgT2?!-)3&U=-W^}*{P+mk1&m|2o@3`DB-E~qm~>F;-*yYrll;YLQry_@%LUb%8X zSjE+IehQ%>T3iJ@vm@Fq_A2$CQg(Ju_%mzI0*!##akKYr_)x8V`IhX8_~|jz^_hE> zd;=LayyV?Fk7K&Tx^-+XW2{W<-~V5`@89>ZwyFGC>#fe-*%zH$M9~KbEpB%kplhyQx`MYlUcye6W&9GPaJX2i3?bob^ z=exg^9ZxCxM3D_VHl^jeHY`!8c)H5wMZp^0bDUnQR~=%Q|1hPlj^%al zjs`O?=kPw+Mb0anZ@pqaf4bYWLWeaYbK%J(#?C)E8yU{u zTrOT_@NtibABP9W1^0$+d-vQ_D(lYg?oQ;m@a?L(Z{C9mLOf|(k3Z&gc6i`$@X)`5 zj(b<%uQ*aR(a3;d>&tK7gM$+}IPUzKI3?xtd={Saa$y6>?~&_*ZG>w7{#DSM$re73 zo#ji*{q@_{ugldxe*4`p0=f4`+#~FJYD@<);T3K0RTVZ(~IOI{J%W8*u9*WnXM%N#3}+n;w=F9$v#T_3ILHv09f$= z0PI5mfQA&b*x=X~-2b*97_-TaA4aVSZ19GdIft|9@!#C?$B(cJPz2G^1hfc}=H!$h z9#k8!MN^`&p}kYjYbSq_s3S!GnwCdX;-6K?>A^MlW~@W+hr1_WWGxPgd2V{r)k%}8 z`@Nt`HpQ1%gw>PhZxP~)DeN26sL+QQU{ z8=X<#AL%T$&gkq?(a0b{u))BWK7;|3><4RK5J@RX$ z(S}Z}XkyR`Cl$7Nme&@zL{?CO(=SFeS?(Ug7^y~jPwq$Bhw-+z)>A7RpO*1e4MwGS z!?tam!3yiN^P^z==2Ymif^Sn_MMZt9@54&BgyW9J6EEZ>7oa+7Fgzx|yzbw307XYE*cD0uWM1t?sq(m z9jBP~NW{6Df?8;77_ai$)T`wdKc0X%#E)|{;eJcBhe@f@T)URJue+whDml1xN zmNk61-cbkNU1R|d;RSR}>Pp7Y?F>1OlNfN&=47KVbsz1e6&y8Bh{?cg&1Ig3W01Gv zC7=XiEH4Ov!QLP$LC5WJ9~lk#6lZ-T{B=vW=D7F#K=!-_N+yGmza~Cwnx=Xj)mX7z zOsJg`XhOIrpF3Ee5$Y!;&7`H-MHfA>{W(gimR9q3_d@AdIN>y^r~!^0L3@6yh{FJA z>EzuGB&7WeZtLNXZwe!lM@J>y-=h7@#@G- zXgt!HYgpi<3cuG<_PM-k4z6eGo;5Ik&8_$?xGvg!@iwHsU`34@

a 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 literal 0 HcmV?d00001 diff --git a/barcode_capturing_sale_purchase/static/description/assets/misc/cybrosys-logo.png b/barcode_capturing_sale_purchase/static/description/assets/misc/cybrosys-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..cc3cc0ccfdaf8dff2e8ebcb010e24ad9e636b494 GIT binary patch literal 4496 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 B&Kv*$ literal 0 HcmV?d00001 diff --git a/barcode_capturing_sale_purchase/static/description/assets/misc/logo.png b/barcode_capturing_sale_purchase/static/description/assets/misc/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..478462d3e73d73cc9bae9fea8e7f8fac84fab049 GIT binary patch literal 3452 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 e!*|2?|H>Z_>p))&1OWs90000l? zWKy}bLYpqAEQ(GYLL;Gb(D`-#IL~wb=zX5=`+48*`+lDHkMH++vpn2fWTn-m0RWIC z9Kam{srDn};o#iz@f{BYjOs*k0)QL&sI?$TaIX_`;1CG_67>Kel?4EQfvMC#0pJ80 z0A>OKz_uI!ROyu+p7!7YJlNF*2NE3LoOvlAr055ZFhBlyRK=FmTchU@1VS5t^%)rBQM9x$MwS_ zIXL28E0Jutq+4j;o%BRKk^5frRo5||pMzOotWxt7e`AC8&_%_GFa5wg4|BIgM?sHX}t!3?X6PLp4$UBYR*G4H& zMWX78_VXrTlyZUMxJRvzIRlyY?ck;R``%gwo;iG&QYPkRhHGmxV&U|J?Y^rE3saY1 zG~M-*5Q7+U3lPx5rh}=!OE26Gy*noAY^$SS1z(p>+80-3tY&2q4P(pi=oiXZbv==y zXNz%@hg?y+v5^*UM&psGr?#W?#oy?vVT!Nq;xo2R2u5H<#RL5qj7dO4ac@0F^!ngf z&PKr*uOm|Ap(E|9ZzYaPLWnC%tr3r8Ip>Osz(!1gNeva3Mwcv72UG3Cw(^a2VSqj+ zi^Gw7-K8=_q3X|GY3d)JcoS`y2fuJ>cPr!LN#P&A2aWB|#WZhQ72J@Mi-2%_f2*#Y zN>HTSP7l8m-qvJ*mJe2QXf)d?xw#rCH_dEO(a3Z^O8y(8pbhe*mx~XuA}pYj%F=G$6K(s;ly_O+L&wbDL`GV~pO~%~ zb-PH}OteCdwx9+4m(buZi#6EN`j}3e6EiuG#AL|cKo&hdUL+J{m?}#zsV1<9ax%nz zu6S>pFkEA{-8Z>oTkYo&~Ct(r52;n35<_46W44SR|=yRZb>u`vCFL|O%y zvHd+g6~vOiaEwWo&Gx1)vM`!ybp5j9d~a2FcK#-HcUG{IW9kF$JJMax#<6T@tbvx@ z$jqUkmA=~0F9J@|)1nwszzpy4gMpl7U8}JtE7}@?iFZV zi%UJkou|bMX>_Z&mia{Gm1ER8qI{S!4wYU=N;1}ifE8wL*nd%HI-fmC8l2CMv-R~u zvLDDM5}tj44JzEQ*b$bs1|hT<=)srdA^a+{tvf8CrMN979i}O4ehAemf%4cedr{mn zGO;GJJ6*4d5f{8kimVX0tGi;q66V;a5r+ll#Tf1JQR?ITA_3c#FgN#Z&wSd7rsk1# zz@rm(^=;c#Bj>sSsWVIc7rsY+Ik(`8u_yE!zp6Cn)=S25Z^cV3AX(?Dbv!U6gQlBt zNC{m%*Y<{X>)BW2u_SzBEef}Y{Dt+>dGfohq3m#N@KS^KHSx!Gg!cfYpwHXRC9@B$ z4an`Ay4?85=X%4ZN>1Uk%ZcT8LJ)2eT3WnQW+Lo>r(h_TX1>tfcWOr&Dyk3?X=J36 zKdbY6a*BJb<@)(GsIql|R|Wyu3I4h}nRq`YC5Rbn8xj`^0>Gd#7-O`RF~;gJ+QJrX zZHvb2LZfZbXvv51_x~qE|3ZlfOZd6KWD8G&g28_;Fe9Qv8O)$)`p=ymdGocP0}$|T JxMpl%+CQV6u!vJ6b2LQ+{ z08k|5Hl8;V48(lSS)m0K*v8qWXaU4Y)|bKr#QoPfLFWB}1Vpy6w*bw8ppr_kLt{~G zg3c!!^cfdyd+o&tj0-_-IqKL|DT#v*Tt(VR^p4|6prn%In@+FjDyl+Ba-xF~Di*o1 zx1guX{>c}`ffisl;XpCP%2;L>T(T8x-gJ;p+_7=b(m`FN+@eG_S^4z(swp$6AOG}(RGqLPX`>E|>w!|QLqhG3-1qHCT)(Q)h~`IeQAoQ|B(Fe(k=IQDJyJ-)3slV5N9QB$+< zu4?=JxT>vkq}G80CL?V-ntJN=@c2yUm&LetGTO2T(#j^OseJ*DCoC?G5Q?B&pWvkm zOYoE;DdcSqJUen1_q3ZEmgOznZDExTJ)V_&Rh)`E95GzJ4&G^q{F$r}|7E&o>+(ec z64CLp)6^!M!3fo%=MZluDcd<1WlhCFjp4Bl4#q!@b*1&Xwa{w%sl7v6O-=ScLhV0; z47)u%PF004qYRdY9GTLSaf>OCK~;YtPt6V3z-srmem%XD3*m0au-^8>2S>(GiYsD) zpO-i4^Dmc2^2iIJL37{IB_*OpP`gM*{r#;A#$k<&;^~d;9KudWS?k0v&zimPlH?|J z;knX-i?W2q)DsQlGC4*m`V4HUu4;M&+t4(GUC+0%aXetc60Y;`z{a8cy)H|gYm={j z;l{W9T$SPNFVBC(rBJ#sc(pp-rX=*iu67=eLx|jWLQcNE{{sE{`T7@1Z)9bD8zf0( zjj~_mT4SZ%t3rjZ)!{+2vp?nO{UgKK5#yNL>do)RTlsz2bB}HLdTS3{kkn^F2U7gp zeaCg}X@l?hW~nDsTvy+m_*r&&mzT4%)(9!}{CMT15>^6t%fNQzma@FX@aRa|1l0z*qvGe-ASXo+H75MF{hm1@$B`s6e`mtp!u{1kM23&ZI?Q~aH zN9c6V;=6*9!4dO;r|zZd$_WOZQV@&;NNnA|Q?IR?yF8?du)`6$l_(0$V9J1RKmcV* zL8?eOFOMC}v{Q;TXr?v4(8$Y*4M*d5teg-LQu7*+Szj~fKj&n^&=_#Bn>!WDNFV)p zKhqa@bvz1L=JLch`E!DQQi`PCX&pZg7N>Eq;&or4tJE-I1D?u=@o}LTUVUV9Z1x9K zl-W1V4UY3U$sz7&6*jVHxCmv$zDA`E312662$dQQFCCh1p7TfJ34T$BgE}dRTB|LT-;YEoNK7ViA>jCqdQH zKBcB6G4S@&$Lel2T2^;NazX~5d1xAxU`Q7a_L)UzJ8>v}+Nh30S#B5{KE{W0 z#*57t-V&9JQeIkH6N@r-4+)waqjM8>2F_r#b(0B(>Dx`rM_;dK`EU>?=Qro7lB?mj zx7S_n@%OR(i)Ai{8Me<&+UvtElV8*v3lri0qIr4s zu+es*p>Y-FhM%-{8Q?+x5Ci4jtTNiRdwT3D*)8iinnteUB|-VY!51KxoFN{psB7JI zKNn5!NMef%;b~SiLeB68D2@4D9cerQV-6f;Tjg~E` z?bzd}7Tt$!x1AqrR-WumDLffbZQ^=ao6`5U;WZ~2%Nx&p^xjAh*d9)kkNG}$%5A+VOdR^iev6_9*0mc5>s>W({cMY*pr&6E+Y%Cnm&&+Xg{{c=MKK%dy literal 0 HcmV?d00001 diff --git a/barcode_capturing_sale_purchase/static/description/assets/misc/right-arrow.png b/barcode_capturing_sale_purchase/static/description/assets/misc/right-arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..730984a0635c971661c6ccafc2fec83a2dee1632 GIT binary patch literal 967 zcmeAS@N?(olHy`uVBq!ia0vp^4j?SR1|)y|Tss#?v7|ftIx;Y9?C1WI$O_~uBzpw; zGB8xBF)%c=0965n8eT9klo~KFyh>nTu$sZZAYL$MSD+10f-TA0-33Sk!B6Mi^+1ZV zz$3C4NGE{this?wKn8n>r>`sfGj=I%4b4g4AADwDU~2MoaSW-r_4bZ!MsT3Sv5((f zj=RO|;#kCS=}}7XL8tDJKN>$74xU}fF>8v}j2jEzPD!~~B4D&6V6&)t;iMZW0#n(z zM5Ri70$rZ#WgS)W=yTpFs=aW@vwOvPpZ>4?exP>p_lE`Vt_v~(ZHIzC=1bq*>z0|h zL$rJ5x+8)Hu@2<{TBXXnCcMxU`O+qJVZYbXC(k_;P{=m zoy94kwEF;O_c>0rrT6}e&e$-V*P8MWRF-G>B-@r{Pc42%%tE>x>1&hK=0!iJj_bFU=Io=^F7{M7dD=9_DxO9dJFZ;G)nC3NUIDloLooN-(2f)V94EWEpbZ~Z zma#f64Z4`2v~cT7d6xV)e1{w_vmT7DkGCt5Ur=3pHLa;*5f zc07h}=2!o+4~gCP*(>6B_RmB<{nj$JXpjQAjcb8g9~ebTzfTZ+G3jl;^Y7o%?q9u4 zqt|+Q)SXiP9{zRhqs#@~+wA#bT zfk+J(R@O0J6qFZ;eYtTmFny?&xJHzuB$lLFB^RXvDF!10BO_e{b6q2|5JN*N69X#~ zLu~^CD+2>trOB!&8glbfGSez?Yw)Spo(a^T0k@$fGdH!kBr&%Dw;t&%E;pba22WQ% Jmvv4FO#tlhdcptz literal 0 HcmV?d00001 diff --git a/barcode_capturing_sale_purchase/static/description/assets/misc/star.png b/barcode_capturing_sale_purchase/static/description/assets/misc/star.png new file mode 100644 index 0000000000000000000000000000000000000000..2eb9ab29f722b495b4ab0ece3ad21e7b82394f3a GIT binary patch literal 1642 zcmZ{kX;cze6o8)_%zz{|jy5T_nC3DXlBrQ{D7dhQ;$CJZkW?-u8k#BY>10{CONm2j zS(=t;$2D_paV=a*EprsoO3bpw(qZPuoHIYV=iK|<`|kP9`*+i+6h{PXBMbn5aCUNV zmvO^CiG;{%wRoyg2F1g6WIF(A&cnY2D#_-}K~C;u0Aln2;3fm`RrbV{01$}=VD2CQ z*n9vq!g&pDdu0pAA)=#$jI#J*-xx2$&*4tK5i%b9H>F2${jvtib|&MYvrtXNjmD2) z)OG-rbe$dSJbcS0T_J9h7=ba)GD@Y)Z4%I{m53aoBzyMi|aQIi2zE_#N__+%0Hh141 zV)v5xuhe>IzQVca4VwMpL#TJ;||e=cM%{MUEOMwYghQ!59{b=zmX~BHv&X<2eM{7 zJT{LNN4icLnLvP!Ewik?>43_Xk-W6c`%|~N(~8YTkzAaqSziUr9cx*2f;C`S`~LK_)qAtD+(@_ z6v)gsESJaedKJd zzMz`=g#GSPA~$k=udY|Ck-;UK7mXS^iJi>UHmr|=+dAkFfWO*vQtF3n``AUWOpI3? zEF}hZww+i>%gM19tGjo*w3hd8vdUn+qao=`9HKDAWo2bhnFHc|DnA>=!aD;R&9l;G zrwWa{zm=aejS%-0j~v5vqoQM1>P{-W3`>n-jAv(FHm_W(Z&AkG=F|jOSK(ic-5I2q zp)4Nr(r>kMkR2V|4FR2FtE>9(`mG_+yRU7hY2+g&CU!hL`;9QIiA=8G?$yohE_xEw)9HD{!>f`iy!}WHSiub;MVCN)k+@T?13yj(M z(wU){=%JR=)P$>47q{kzQ08MINlTgk`ZK3+cJZm))tuKtzop@eZ`mK)k_5)%yT-<7 z9>}Gn-m+S!GDG8%lC}JoekmU2LoW3`l}DF}z68$8dut|51%IB1IJv-dbq-=RL+?-g z=H}ajB8^x1x2RWPoD5kp^ImzQ|4BH!2EX=(xl8!F0Zc!ydxizbxY`!bGQy8pW&lifskd_1( zFYZ(53wrAabdp3|dUg+}e8=5%A|-3}=ymk=whX)8wAK1OEL4xj(R3@wdMT7sJC|V^ z|CRlxnxbWERUd83oF(h=9O)w4%Br^=^;tdl>2P8Jr}${b9}yZ0%ebU-feJ@{fnBBz zfGa-!2#}ixv)1#}|2o?*cE3B2V4sr0LpUbrqX$H{3T>_F7mKZQOx9b)1)$F|JAE&Q zk~~ENSjzTiKU4itCzMx8>g>~i?O)fwAEN9c)Q;mH+0mFo`w+J z!*=e&?(uBBSn&Qnk5{r7?c-OxFaJUbhB{pk_WapsiU)LORr3U6oHn`k4GMwBkwiW3 zD*crDtFt&2UOG^Vq{eP>JGmCMJ#_qOG1MYg^(i+MY4Mb~cg zU!IW~3F^Z|k&AaZ6EokH)C$R2*K0o-%WkMH8}GxW2eKL1pc4!k00xc07^5wWF%}+Z zGc3j&YqrY>jmDzU^5^=x{wIWl(OJys9}5vrqGDu%{(nEPSs{!Fc3?>OkDYB@-lZ}J NIO8b}Rk(wRe*?eI-Sq$f literal 0 HcmV?d00001 diff --git a/barcode_capturing_sale_purchase/static/description/assets/misc/support.png b/barcode_capturing_sale_purchase/static/description/assets/misc/support.png new file mode 100644 index 0000000000000000000000000000000000000000..4f18b8b8201e3a268ab1d8ceb8bf46d7a7a37dd9 GIT binary patch literal 3892 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 literal 0 HcmV?d00001 diff --git a/barcode_capturing_sale_purchase/static/description/assets/misc/whatsapp.png b/barcode_capturing_sale_purchase/static/description/assets/misc/whatsapp.png new file mode 100644 index 0000000000000000000000000000000000000000..d513a5356b2564f545f2edcb0b80dd3dbff9629b GIT binary patch literal 5097 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 literal 0 HcmV?d00001 diff --git a/barcode_capturing_sale_purchase/static/description/assets/modules/m1.png b/barcode_capturing_sale_purchase/static/description/assets/modules/m1.png new file mode 100644 index 0000000000000000000000000000000000000000..8960b7cb43223a875512cbc6b35c4e705835657d GIT binary patch literal 51178 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 E04nl5Y5)KL literal 0 HcmV?d00001 diff --git a/barcode_capturing_sale_purchase/static/description/assets/modules/m2.png b/barcode_capturing_sale_purchase/static/description/assets/modules/m2.png new file mode 100644 index 0000000000000000000000000000000000000000..be440eb23012f298467fabb235b5daefb6a0179a GIT binary patch literal 59378 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 literal 0 HcmV?d00001 diff --git a/barcode_capturing_sale_purchase/static/description/assets/modules/m3.jpg b/barcode_capturing_sale_purchase/static/description/assets/modules/m3.jpg new file mode 100644 index 0000000000000000000000000000000000000000..34a960d47586feb6434778c8fa74561e958ca934 GIT binary patch literal 47525 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 AzW@LL literal 0 HcmV?d00001 diff --git a/barcode_capturing_sale_purchase/static/description/assets/modules/m4.png b/barcode_capturing_sale_purchase/static/description/assets/modules/m4.png new file mode 100644 index 0000000000000000000000000000000000000000..395b22fffd8676d92c062ac4ca5302c5e8805f65 GIT binary patch literal 50471 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%0DOm&iMCUjc@bL2Uf90>5A0Kx){vC8T>tXNe z&#{wi=cY!`NRFa7x`E&?Tvull$E2uKJeyA6P=EhGFJdAHDvs&B zh(N-b5MigJq_ltkJJh5wL<;4_OC|GHz)nkE73NWwxFwl ze%fd>t`{;gjASVc&a2^!lC(uolB9axtE7y16DCO1ciqGULWOBa)ml4fSk&S!Bp zT0FKh9VAvNK0r^b3PN-N0DU<`86gF%H*~O3GmAIpYd8B&{q22sLUKG_R{hnT2Ni`P zq|gtV;P+7(b!}v9Y-({5#5wr{z}}HrG#kx3K&h|!c~M!zl-Z&2@mTwJxLj;VNYCfz zb%0YhxF2*+ygWV4GG&QAlRY`H<>BF)6_{$Mtvzw)HkM<6!4oAJPEun0k_U6{&lEsl zk@tx?*5Bv+{9LpQT%x^YDUX9I;RiRh8kHOjcoa-*ngHC?UxoSRc6P|2pUHoR%*@VY zz=M`jP^YbT=IVNB@m>wt+3GB|bj@5aS4ap*e{mnW4lHKpmW;Xoax;BNm|oxDCd!9=YD%e>TCIa`khfh{N~VG#4t@-UghL z<&y0E=tr;TA1P%7nKgadxgGz8nU<~pkaSeXl(=j-VoPZ~~Tt`v8Y%5Sf! z!b=<@tbqvR$*LsV3riy!712Z^L%1!TrAt`N3vpMzdMtxsRE0M?M*ijT;%`jhk`t_l%i;KiP`o zy_9JnL!_VKUz{p!9T;%*`N;GU*T%p+N0hO&s)~$|@JFw)Hme%rbCrrnEqQx%e=NpW z8R0a=S8*J5p!bLh^f~ul&_!kP@~61sa*rg5c1I_-z+HgK6^m$vsAm9eMqVHZr4>t#_|1o#G$UPad~t`$GXOv8iF6J zf`WqF+@C0)YfgvbhOB{*w}}bpKgp(-@RRpFtL;0V_JqHAu`-<(WCGsa-t=V*WMpKZ zBGEH%Sa-+6zo3sZxKfC8?pTm7jcTS+{&sNe%p*$aSRH*8g?YUmvEe$c)}_1sgjPEi z)P@5S(z}8Wm7y#BS#bpXaQ1a`@52c0?Kk#{!o$HoNw#mj{Y@z@FP$b>zLy@c?>c#y zZWP5ZD4e)ALg69c9ZNGPIJ>!(NU8JHiS~|8bU~P&!>h7KzW`MDLwF#lgDgvDi%`iS%pSf8L}!C-o!H3<#^na+M&BRPoJ!dMgX%O6BAQsUZ>gD7sQYB z#KgoTJa4iI6)15KkdXNKd8KGap-y~4LQNYI?@i21m|{bF_d}ABX2V3hl#3?ZJw2!a zz4So9_0y}+noK0gQ_`6nB-u;jF7w_@+g$|@ph0a0k~hsVr_tpj;^6ykYebgz_Ap4O zqw*?ZP75_EOn28-SB=_NEvTk?80>+rI#DF2KYVm_laT4e$jrV*A)$=A9>7vnZI=90A?3Tmr! zFaALPGUxPlPj(~3n3$L@)cR&sRdMZa$X@}AT#^=-NT9Z|l9oq6i?I@!Uf|~b^4i0L z${>RtXA>x5n`u6uex#LrU@FmTa@}4*q+IoH6~*g8MDg4)Rsl+to#J5~g)eA#7rY7@ zP(_fjMM>FeH%!cpReJ7gZZ(#*gW@?djwkD3@%l78JUlNstS*wLTes-<^fWXQoL7wX z?9#IJouuug}>5yOPFXAgzq}Ab1}u_9a6_~g(mY~6OaH_Y^x7_l&4Q4 z{o_7Jy}N1dF;Jw&4{(>_?>xxJB5-@x!rO4cz!H`cnGUiplETwGkbB7?hNKgTGfCX;Zv{hd!DO(Dhhz1_d2@FQ)h zD=#l^nSQKNfvQ*7&L?tN0bs}d$Snm-F_A!XQPKWVfE_S#zeR@VR(XE(UD%IdP;_>4 zIdvB_q6xC2(I5JwMbsoD)Rl;+1zVLSu%XVXR> zZvX@!CdPMVW|E#8g?n!G#|%kZ!0w^(>&@4X1!_*b$+85j03E@@&54AFNF>-?nSIt# zW^_PafzPI~vbA+}7smD}PEEVs-J-wRX5)_%3Emky-L-^``~axz(vOldm?{MSvq4bU zce6McvpGAfDT`91rKV(PadEM8e0+M^1TaP5l*2nce|UgB&Dy-YOt?XUW5E)g9vcJ7 z>F-;s(~SX80~;=2#NUUIi_{g^RETBh2a69d@%@Oo6oH7t??Mu})h`8YB&EE;e1KF8#oXJ3jv1-IOA_wDZfP0i+d07HiQ9Cc?wd{4f)J zXUK|P`*&d>wVNYU9JJ8_o*S_MrKHoJooHBC7w4x|;K!}ON2U}z@H$8i{v-e(2%A&L z__~Gc9=x{*{Zq=~|D~H@rh$l>64om_cJC7^24l%*yNkNH!l%Ci6_~XOoeB^~|DyAKV9Th+( z=3=ViQs9$f`Jw|6@)v<6p=_bFt;ha=QuV6RdBTGT^JCrInEA-s+YjnQ${^@rZ>(mP zN4Chy&MuYn36|s7U69AkEzqe73kwU_O4AzCAf2zZJuVJkR8B-s1TTXR)Q8DXDtE4^ zVUA5~UrxMPL)QAmMeD%)9Bn@3cYYCwjw6T}$jeuWGe4U_50G4UtP2YZODZT}TJ@LX z=Ry#J<%BZ@*vr$42_)rSlQ(KS=HpvCiZF|qBs|W}m3i}WRu;C?e8j zi@Z7!ZUy)RfL9_QX@75T&e@EhCUiN-*47rusWWifkbu?uu^qd4;qm;~NK&igRY~KG z)!%vcKXX?E-xDRoM4nQwcb-ev{l)W@zOR>_&_|N-(Xrzmk0tsvZ<#5d-rL_rrh}LH z(EM;vd{A6`@a#JV3I@VMt?T*DWS89 z)Y~6UO-*hn&WBJJ;vd+A0$u%ott{rs0f6pvC_a@{$jRIOyTk80;+m7)7_I|O+|%;)^>Jot`0~n1;2iwp`frY z!vL6$qTsc$q9XPWnNOc`Tl`u9uFL(_o#a+sx6=KXV@T+>H<;pn`|&~V5$5qrY{~?P06pqa<|f&s_`z# zc6FP;yUevr6qQ=$eOg4#cvd)z<>k25%%}C!o$P0%igp( z&)X!(#iho%=9Lb=qtzs*Q2c{JB2ja25PIUMFAh|&lIaRqR*)&ET`cb|UK<>YeCi%6 z^HEC+ozcRo|McP*cB-hL2$31gi;nRo_BJ;&lX~}4t~mAa`FVscj!~(@$@8L>PrSPH zv7v%O0P89LAsZq?3xX>^W)2PxDxYouSZ>nN2SQCxPfsnYf}|t?*#^Q7sope1`ovcP zoGgFz6?ZIme-#ug?c?GQE^Tg_QF|h>4#d8U59oo1gAcHh?;rtly#VOTS5CF0ymsp5 zTT?Q&Ko`y3t?`@3wFtkJ$WT&+FiEG6t*%k3;$G!vNzXg-&T|V+viC1f>5S0NG*+3+ z8eVF|ZSAzS!X#Ybl;ZMQmzO^Rj^s#1e}+(vS~?h?OvIeBU4l$S#2>|^PcNUXo$1K+*3QU5<7SG_{23#T9+v3 zZ1+4o_-biAWOmACZoHRgVbYX;Dq&!i+Tpnfh&EIudx5Xl^x0niBif(Q*zSp~v`G^z z;y=<*1IbUJ92>U<5ps=?3+GKY*FiUz_ossxAjm#$HPJfshY;&4SGp;jDzR*S7?4IW zA+apnE~;rG-tM2AEQut%>ZsE*=EVagt$vOCdNPyI5^#gW?w_|s50J}<^-}k03233q_uPIi6w~ zKbSsRzLT&p>75e-eBTevtemD( z0fA*?n=r9-@eGzhhEzAuRiyvJ}0(1)&EHMl``|mFJSd8KPk*r6g+}wZ1TYyTd9#u z7VHx;@_KrqwTS*cn&o>89Cdys|w z^4i3Mi1;bvR!l?D5);WM3(OoG4;dy6ybfGS`#CC69pxe*GB(L0n`18j?>gS+elYUK z0!yXl?KM<>=M=t){aJ6Y>BRr5Yv4X3*UtTmb#ujkBXx2+(!nWnC6GeXz-j8`;gA{)!{3 zl?*>hfDf7+jfzH}w%I2e#1ih#>Uhy2Xf^`r(${59et=i7d;8Pc%Jk-%IV__*2jE zC?J*2MH>jw#F&$;XhSYvA&Do_iRps;e0u5faFV0R5bKH*h+*JMrhYFkh4IOZryMTE zv20X^X7J3{XmV2-CGAxlH45nvtB|y=E>pxfY5sldLvF`6a9JiMpGo6H%-KzT5GnK> z?R=WFh38``;pSO)uFU$ssrtPE;q^-XiAsUoBtslLxRA6&8R-7aVx8O33Cyd$J_J5X z209Jiymw;@{nkefzxwE*2$=ugGkq*m*&iN2lG+`dL(-@uNGT9_%X8$;pKGN5SQ4v} zAwJcA3yFw{*5vIjshcf<#!N3s(sin6w+24Fclw0?-65+Xaldr$1_s-op3otvAqV}( znYHpE8QJ0RC;n$yo`CzbZwMD^^maCBTuik5xt7Xht(z>(OU<8{4=umpa*$dGpWKD{ zy@)c&S3oqzg#Bz6ilI-2$evnxpxq$2+4wEC^~wD2l)(N%o=!>rbG87J#&ZU`SQd?T z(U<{;A1@8Vb`mfj?A{6wR-`{o$kYnqJ&pjkjLfRR5*icT_njY`F8IxEkq}FDZQEPw zJT8^taSx=Ium90RFY0(EwT8^ZqSl$EbVd0{-*`{jZ#j6ciAK6`dn16hF ztz3vd|7~n+tu^OCZ$h7akn&wQO5_>_YxWujzR}s%Ru)$@i*4P^+?TF@+(p&@zXQ|w zP9x9H#H1^Y9};_G7{2$#8eW;#Zej3!!M{~7!Th)8Ld7`GYGX`(rt`;LbKHZuK&M5B z;HHzNS9?K6rE4)akB*gv#DByLwmFkv=d6;c#8{BNMky8jeG2jgGQ($!ADk*{&K@*; zGH0n36g{z&RLA$f#nXKO!UE02rkr#mn>2KrTsJ%_Rm_|ztMxK=BbVgWtN%C>*Y&7^ zcfpfa7V=SP)ITOV(KlL-#F#Q@_^#aaa?n>Z&~8EEe`H6jvisZVNhR#Fl(Wbtq_J`z zAjN%EwNkDgqVb|~f|ZLaGv+^mNA%wXa-rJy8WQz6Dacc02g*f;Y$Y$6nq|^KqorsW zA}J&VKuVHQ45geb;KzkMQKmUKnbxKGBYbxO1|xjHP05n{4g}uTW!aj(xQaf}V+hmh zxhI|ir@iw?mk=cr1MxV_*djIEPZn7-Ufm?@6;=PJ4P!UG7WT=heel;+ZCHJMO?BuQLL;Whve1d@>wM($lzI75fc=2xT{TT z5&7P2w4M7C#J&Z(pQu;o#hj>`q^d&bU6XIRKf zHBhR%@Y{E`MyJit&0Om zatBAp&(C04+hLY@tlKMw_20e?STAnIe8>R%ftS(QCuNNf%LRNKUs9So=>+rB?YA7* z+%H1)k1qbG4ZJfc)?9ZbRH57X)5O(U->n_q+ITv{OlxW=4iT7`41EpK%C89t32Awp zKV0xWmCsOef63uAlKDPwD7o(N;dU9iJ6U2k-RJ@K{dq=JQP|_YE5aXUUuwCuwzd`? z8SC!At)<~|0r;3Mrt?xg(PjejRH9=5pk9hpBEO;G_9_Ig;{pV6Q8-;!t{hgx(+>HU^R;Q{hB0r?51U!UI$6`L8hdWA?1}_7KKjf9Ek1&-D^(yfYJd5MB!(dB0?2?YqnI?>RZvEPydQWLkGviq?r}p9h^air z{{M|B$;n}qJ;NoIaSn7x@tz(ZH>u-ceqw+42DMKT1fzEBQ8r?b2rIfBuCz|u97e`n{y16D&+Ka1wdERd@Jy7QB`V@=_kvswjbeI5J79O|XZyNl zRMS%bg1x4?uI~%JZ=o2NvDxR#Q%}WDPL9|6;*t_eMp^qA)?v=Pl3t`mtXO{cbgGi)ty9oSh!` z*zrDM*0D4&$dHod;^HFVw#Hc$J~$`O|Mlzgx^Q(&ZRd3^@R~bM8aXe83{T9BQe&A! zqLUzfr+)?ac-!iaQW)7SE%e^U=l*jN=+IyW{MSR9c$3!>~`V$C&X`6k^5!mKJdMR+ z46x!*DsSU~nangkL0XhCJWN)X%y~vVzGeaG8nQ*Px@mP=xz>9S9)3++D-&;d#w1+t zn3IX!5{dy5pB#6Oj@LzU0fM_SyF*GJxK9fT3-4SXeM=@^s!Wo}#^2mO6lvAWtfUu_ zb|39nl?Z{Z@un%Ys=B(i$%9?4XvZIu4ME$xF1u57Gzm$`2)z*f%Zs>I6L>kP^T)>; z&6$7HsIL{z+6iiouwT@!Ex?`gb6rP}!xYbKPJJu8G2WXe)>Q=e^-)Qe8Fu zg^{Op7R2!0zB1yM8E?b>F~NE08$Hwj+*_Hdx2Rsv@3%F<5sD9zg9*%CcjCBMFba+JE*mANd65azG-3d6%9K)KmR1FIeWx9es!QghOw-YCQ`&!f^N=;cB$Tlz`DRU9_sI`$)0z zwwYK^Q$SG8=>G=Q640@EE@@S{e%!!LuHQAbCX+ct46t?@1R8KsgUfT#O+ zcr(Ng!?$IheVp&#@)cxYiY0o(!E8d!MLKb1UZG|q2_cgF!Qpu+NeLcV&?tIf#rL2( ztH9ZdsPbcZ&#Gp-j0rS{4xgmPgavnpzuTwazqk)s5m9W?8x_(SP?ZK+iP= zw;7R#EidQ2WS1rVHXUItD+bpeB4>f+-F=YM1PS$NoYj8cb9E8f^2oHuXF$4hnwnbO ziXx8&M@LDK0)bhhm7Q&Mn}}gjb0y`WSN%$@Y2ov#Uj>|Rk0dyink-|Lgqmac@9oTD zBP8PvZ%oP#d+zj|-{gqkOpT07|GO>G+%Xg|ld(*v!HbM(2GzkdtQWU8AMTq98s`^< zxMiLO^by6v?uCR6hKnq4Gp6#9VZ~2O1`%1n2H^f6Wz6z{$ce#G zGHIA{B&d8;Wl+UGORKlDR~M|<-b+xdZ!nhzCo-K7t!xK#AlbXepvqq)$0RuK$Z2P+ zEqDt5xE$cLX%21`78;-;F4NZp+tUw`!H;1YpHf&1v1#5kkE(L@ zS#>ohVba{Ei^?{La)KG<$T3WkBVrqVUEo|;kWyfoIeStTnc=07yiY{pRZ|sofdH15 z%w&N8gUgX)^Two6RPyx=y$vEiIURJXAwNUJ&e&Vc?vgFqSCnt zltQY+F-)u1Z=j;x^?{K@uZzk~4q~zjG`}~G&yA6z45xzU6a9vcg9&y`tlXJ(xNI-o z=;cjy;l~6K_Qt~1DOs)-#CKGh0G%r;kq(%T{~Y7fL4RZ$Db2^`UjE<$+Y8| z7ZV%#24x(&iG+|{m0hO2ej3wi1KEJ-fyzO%U)?C^N=Y65I-|X~jbv50{@~&zJ&qkC fm;2>F4;Be#3@VQ!kZybp1Afx)6~v3h^gsVU0EVT2 literal 0 HcmV?d00001 diff --git a/barcode_capturing_sale_purchase/static/description/assets/modules/m5.png b/barcode_capturing_sale_purchase/static/description/assets/modules/m5.png new file mode 100644 index 0000000000000000000000000000000000000000..5f1708a434d6458de4436216aa82a16d594b677a GIT binary patch literal 60466 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ⅈ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ڮU^Vq%5_Qw`uNW50cFMq70Y5BV(u*qt9xAcRTcIRv-f$drXq?*qb8Dw|(bGk&T{6v4zP)tFeiwQ}N^ zua__vs90-A7nI60-KFA&WNI3xi#%?_u0RRVSW%J1c-|S_GiTP z>*Q#?q7>C>)ACwX*ntt2e)pGx2ehsagyv8ONDTz;Gz2>g5N&eg!zn4ErUK%7Jrma7Az2Qm^_@aA| zX>u@k^2TMr;8fhbjI2RtxK81@^jk}ncM3ygTZ8uJgC-9Pt@hY2oQr`m&_~Q(wvOm46`b6JmpgwG{yMB9*Tk+Szz5N~K1MV24 zHdJ>Uqqqe@F_9Y+Fp4;ct~OMA0Ah@T81FYfActJ^Ku}u{T^W?_mZ9+$L|;2XaRm#F zfEXW-8Eiq`>Ol4QQIzhKhr))}g&fLb5$1%Y)81(^+_7>Xb2Ou>7(ZqwL z3dRs93}PImHjdH4hih)3wa1OLXdnha1VRRK6@b(&z!>1c2HFvbEg)D1qrD$xfSu5? z#psTc^&g{Xip8%LE71PcrfX2TP7kAR2NPA$7&Ww!?iQeqhG^PC)VCnUTWGCWBLf$J zW8*XTqOsNrnZhm*M1vt6z+7F`T!H9i+}E7Ns1ZH~BQaVijIJj}tans=@%?S9Hi?7* z$%qaqDww`FBp46A8}S9<0?|f6A(eStV)bjT+W1rSaC$(y-GDz*=_a_?)5 zN8MAL(gY&3@DQEZ$)TMGhV8?B=c?@wMoe!!To-zXm6>{AHAUq<^(f(?amGWYhKDG^ zL#vI4HuMl%`f06QKvUdgS_zEV#3(+TQMj1WBcCQ}2F>^@n!I{w;`H1kNWb1tq%EYlA3fC``Zqf4@3f4* zsTa?TxjWio^kMYkly$DDU$yCrhzBnQ|8mDma_>a!wE`Z!wao-i@n`e@#9tv^o!{i zR$m&-ntSKttriD*zpe*K%%#fBPbqJSC~W7>csR~4y3h4I|Jti)wN`BLYr}k>%4WmL zI-h@eTi&K!*XD=fm3h$m7;4?eX5GJQo!79OKlJSS$}{J`C5lAc-{p z9Q1X?ePQz9N_G2J(obK>B5ki4Oh=wuZMGdOQ_lhSSdLQVw+j!=QcrnO$OUwB5-39ide4UnMH>~^&B9xvx z`}0mJC{C*9I`36~CmL);Y2qjKG?s!A>#p~Gq<4CJ+hHV8y1HLVwDf7r`Jd*X0f;_< zPag*fMMHG?vCt`u*=mHMXM`0#EbUW?``bmJiMliw3I zx00PYH=)~ZyTjKFY*Gi9(^UYJtrnz=)ND4wiPg=Gz+`E*S+>OgAa6RPrU{*Pw^|cs zZ5w&tHj++;*<3u#LIz41-DgY_Dn|oV$mC!%`q`kA72MaZ`TwJ`iYeNdDb#EQ$|#QZKSn>|k2o<2wRef6Cx;5n_I6)7 z9cbP-?34bTcjr%<^k2~!>x@)u@ux|%P%GFkU^$s2y%EIN0M=@Rq>I4v_gTw59a=rx z)b=(O_h)~2QvYjc^w7H&Qcp=HO;;*>-O%eN;AQJ}5KgyUUK7KVU&UPN^#kW+(d{*I z%WHVoYw*;IGabPdb?0X3om;;wxTA!4Y`nKz4(|sXN(FdXWFIzFcngs=(f`vG`6wY8 z)j+%(@Z{Mr1fcez;P7b^_7Rf*eLp}_LmR3v=A*dmqx8#1ndpP0_Eq8VRsH3oC*pW_ zj9!>1C0nY*wtP@4;JV)eQA0v>Klc-x+)=W3WI%uj|Eg+kCsnWKwob zckQ3)IT#+%Ssy95`BAz3y%*=_+HdpZnWUSt_)}*o_vNGYT|ddQqqqRSkE}1e^DTX5 zBz*I0J;|i}p1r6I`X>`5bkW+6PjFGb?>Ww12%oLW1$?{p3TqkA=&auK zQ3O9@*}SaXQX6o+E#T`=0B6f7$IpO|&y)!HHA#&>KF$ZkzWLLge*EB(PUo_6DN$EF z={zm}JiY3i!7nf$6F55asfSNw%!a)y{dPA;(8RYutilDhBQWJt;56~&%(C_@qsaJ} z4soJ3Xht|_Wa#3a-Wi)s(DI9puXnXqp9QYvKl!E{Tn4^8G7s$go;GRo{(IDAh~8y@ z<)z(1Q1edEuGXtPWzAnr!TZ1T4md)}#X?>dUH;&!+vM2ZaSn-o9o#8Le5FU6heYd# zo?jDo+2`!SP%uh7-P-5siKgYdU*&RevoHR}UGE)#qpSJoO|2AR*F)~1H-eAqo^BuV zjATgIA62^kcDkC6`W^0U|K=MnP>rG$dGhBfEr-0ChD!Ywm@KiSoBzW&KfP0zMT>1Vw6_s`XCFZhg0pZ+`C{W-%k9qK?vC;IeQe61&z zg_w2m^Z2$yy@yvh~v0?3!`?>$aS!u_w9((66l@fiC<_b*}>i;9=u)_qET{R-K8bpmr?4gAaO&lv{u@Lfhzb!g_j zB;J!LG$fJpFLZ_q;<=*O{02B9xsDoaFxRt=^CNCn45UZ0w;bP$p9{s`OfX6IznOTw z#Pn9u!v>~XSQU!Q*?7ep0$&nj1?QF%wd9z;B&q4h@}!#6pKzxM@HBI$kKM`S$>7&8 zBl2WAW^IqBKCWnXOn3i$RGj72kv^6AeEwyritA7ePqxSDOXi$_Fj?Nbh#RMG^TOEY zzUL==rZ0PINc)PvIQ2$`OOb-a5B}17Dp}>pug&EI%OxTqPja&TT7Ed`7q*m^6%WY? zd6jlhlvGsxIQ>%ERKp}x-AUobRMKIW@v~-7^Lxen@XxZs^%JzNZXe=Q%Y+--BrK|n z#&pg^@Qy~q)g?1d0ef|?k^{JLt1V|9>b*5_9CcgXR{|1HBV6p`1v~e%j-4sDXYYY!)(aQi#xGjORU~EISpG0%s>0xApKRZ#l303YwY4~ z-t*t>3`;NHF&?c1B~!_KqoBycJ8a$%Jy^ohZN2!GX?%j;7`&%+(x3Vw@9SDtHao}n zce)Q{wmxyy$e9=CE47y6e)hfk+1T#Unw0V7Qa-BucjEf@=I_F%`}SuDh2LZp`RBTL z7Ui#d<7zwszvo^bwfz;oryS%o^+Js9Xg)iM>EAauGlgU0TeTf)!}-cY&+YDKpa1Pz z@DeXCL{bfvf!-%u2Rf;hv3^!LH%wGH2^&`UwA$1+N6+bQ05H5<2V|?j|Q~580ao%mcIt+E)?l?>I!t z1~i;-$%6swEVp2t_wJ{Jrm?c~4welA=iI+k%X^IwxHly^9D?qpI(&6?#E_c6 z;uAYqs~O^b+P_vF(GR7%QwN8U9T*Pr@WHmni8UEQ3MHp0B<0R9%BK0abRt2t`kmdG z%TLvcmgJO4XWoq)Ix3}~C*Ic=-wtq{vXg7h^s6b6=3zF-FEQ>unDkb<*zOIBtuNfH zF2l+T-ls2lPh}D`Kk(MCogQLZ({P{6XyLj zAK@8J7Bh1JKl?NuCa21hxzVAD57*DC+Evf$CsNWLlssp8GEr<^^uDnn?bU9lT|mto zMRj8%blyQgm+pwUPP%O|^I3=+{{pFA)0~{gXiDV*0s06(am&N2oKfrNX;R{sDR!UV z8h;5Xfpla$Ji)|Ov=hn35t57S$h zx;^~5o2C~+`?Go*RL#)>4v4ivnPy=hqu`%uw^XcdnPFIsi-@_)###6*l%W4%%q zR`%q|c@gec*{RcKbpA9ph@p*VX8Nw%CwW8@7qqb!ATry>cW{st{>c8;H|kEgC7a~T zbJbtG%=x-$huV=l{On`!!G{JY?6cyHFb(EmAMgG2P{z$i2`7e@*6HbA0?UQ6n@8V- zzs)qGb(a0&JX%)wA$v)$M)9|qQZOlffm+meg}eCi$s)-#x%Dss-(!4%npqkewXwu=m|hS_1Y(|-4AhzagzNb{jV zzvZS*MOv?<0I6|nx~5jDt|u&+i@Qs<&6$B7Y!hGmjymq19=fjwg;y_AUfw0d@OZM& zS*i{n(Ra}qWW0zfUv<}QY8ewgs4`-GbdYuzPUW!@{VY(JZ7ikt;`hEqa@#s+#Q(Jy zrT1vn`9qNxCyxw1l_rgy^WV{$8uePD&s7%Kc-4(>2^alSO|y7U({OA|rT9;AK+*Pe z%F8hl9`8Ma+#js(TaxpF@zoYhKdooTX9Kv8eyb}QJ1NU+ezq2^a<)=*VBGt<>T#`k z#$|WhHK6FQ=AV3*!X|FeYf2F_9JFC4|0H(@XqcMbTZ>;QW@q5hC z^hLX0GGcF)E}yfV@!Fv)`#HbF$CEK?qd)Xjf$op;k7tw_#^^rwZnGFokCtX1L}XvE zz5W=tsZ1>F2r2yQ7IcQ&yWHFO#d)eWcNyRJacA2md_RBj#3ql#_Q%yMlZLZ_xge8^ zb4#EAEpBU-kyn6R*|=vLj4EiNUrN4m?9s=Pe%3vXv0;`iC=InGm)1WuVju%)pIszV z)Y!giC@^bZX)9d8jdD^ArBmIcMJ#Dj>d;ajtps1#vO^yaY!@`p6AQ1=W{{;|Xa(8n zrnBjkR_8biS@pRPRI9vJTnrS0@kF~AWSbraFcIRqn>v*uPB zVOx95(OD=WyLKy#`KIOscVa#}J1c+W+u!kT5vg{l2X;A@Yb%a+&+%(8iM2O{nS%Ej zMK#BHz1O(@zU|vx^M3ypKKHgUXKkSP=Iu{pBKOH8HVefO_L6nBVw(1bgtu7(ZpS^KYvy?>_| zc|*w@t3+xqmhx?`-F~R&9qf~R8dK2>*Sg0J*$v>GB~H~?2Bhg!r0Kz}@M-komc=@@=om{Jk9{&bQ461Tx-k%8ZOFlQInRZ|FQF$%$B z#87O+&U2r)_`WEQv9zO+N0)(S@s)h1azKz9F++AFz#nyW~Hb)!UM-JSO5?ciCV}_E)?7Vio zC3d2`_R=NxO1uu5B@PC>jwU6J*1S#o&8FjgLz#di6t(Hysl{_u6evqN=ly8 z@VYgYxOMP8?JIfu>B@EIq~yTsv037=$NNlk6M28V85ib>;PYZA^8oq$W(tyqG zU)$XQpZJ2NOM`wey;>>_-s1~7DqUSK4IwQ;pooMD9qH=;_LZtMq?gB`lZQs*>c~Js>`gw!i1U|Q^1CuffrJ*I@t^tA zoXXR}k`nfMoIXcT?x<&6swdGhG6P`@MXp&&p>e0`u&eeVOVv~pSEX@RB}-Ki{xH5- zS0!?=5N12)b2;VHuEf)A9#bU0rD`@JBG)>MlE3Q?0pRT^x3b($vlc9I672L95PC!4 zUkB4mk=)tAh+BdZP0Gdp2pB%)6+(52taL)9Tn*m{EdK4utZ>a@AiRy;mb49*bwP_` z)KYJ_GHiA7aH_(9a5B#B+#7BTzF_(?3gsUl$vlDxS$35y2*Pp5n!P7Hlc2knU?vEd4MigD39xI2Lk3ht z;=3jF0LdOz23D}(8{k?Qnp_x7A*FIh8_6RDLb!yHIfPPHf%!bq(DAT4ZDIMK2=M_l zxn~%uW%qa%7$mMnp$!OPDh)Zi+4j|Lk!!R~SI#Di%$4-F*L5-5BFFA`GUuq!4IsbX zCt=S~fsOAn%cwH#|73o8CBUodIqiutugZK|&VU7AE}=E27)pikQ3HZh5t?cxly?@1 zC?kBjL7;jQM(PkMo1+SCBZl#rh9cJ0piC+lr_Kha%FY`E2&W34RHr1StMy2I$sDwy zgC=(&Kz%{9o~rO27nDONziAlHLg&tr`fOVDp{UsJ`G^F>4m78eAJr+fq9TAIAr0(e zRuHCt8cKo+*k0f=t~K7!qc34F>Ko9!Lofch|w5`k{0!)v`Fkuxc$0DUuUPjuB)Zs9xkH zVVCKI`itEuAnyK)1D?wAr_^~gJIT}(Cr z2ro*e&@GS=PN5z~&It(mgV@OlG({>fNI2CMd9|-9pofI`c1iWrKzZOh~>hwD@G0 zly4ZsGK}7(i^?AjRR~Aufv;@=q_(OO&MG1_DtxADkSg%Cwk}@m2Z$7io&XY}2_>^6 zqDkKnBp`LXw&7$0NQCwWXj>SMYGs{SY} zU$hz#!0-2diwCzw0oHhbh)LlU5JC$HVO6xggYgVPm1%!G!+siM_-Z|>(q*jlyf4+U z+0D07OGf_lUTb}oiJ&U=9V6!_=}NxpXPBxV{D!8!sU{#}XDP#ViU%Kt@_(rD>{K`f zdKbkVx-aiD%q$^=JBiX8S%*R zkF+QCT`#@}PsY36d@oL08olo}`9yv9Qf~4+^Yb-qdOqX#+@{IzgP-5CrWfgcFG8C9 zef<2BnqC_Ez07ZVCF%F7wkd$xFW_TS;P2;wV@*M&&x4kmf*GF&|7r?h@eLt1p}%>e zsqvv=&q6uyVR7zZV)$^kC*jI?jGHUQ5Fat@5@Can40nlqhL2)&i3-6-pE*Y-;bR!3 zee&_K%KkC6__$imXdeRi=VZWyl5%4kSmL7DN2$nmv1T0Z+TnVQo$lu+0;_- zQLgH&xoWH>Z>FXCt8C5pmYiR5wXMyy#Fi|wR$R91d&brb4*9x(<~p&~w7abzEM)7o zTHhGTH^?_P*tDiNU*+Rvn_jeHL*(&iczjZ8VtQ-ySDBX5*7#ca)>eG$$A7J{{jF`; zGVL?1(aZ830r-wzt&#s)KU&BT$l5T}3Z3%!PL8%PzP2tFneMx7Xk~?-vwy*QZN19U zFD={pe*5=5YwHKU>kmN~lecSLyg^~WYkuinQnYPhog-_qx zKK)V{``0!`R2U~~AE#EFU~He@Q2fl-{#i`%%iZ=b%8HX(?UROzQ;*uGY!s)R+ozu? z&b(-!2~nJlYM)I~oJ((?%U7H)ZJ)1I{Myw1^`qiKfBV9i;^IvE;#EKS_x7bw0IO5g5wd{b6h*Xmd|R9Yf~{C`>arjq|yc(}(__y3E9 z?@!`Xi)Fo6S2XyV-?+kZu&#JGUEID=PxHg3YWy7^-Yx`!rBbBBfo?NZIDrahKyJOjO8+QgG;IFL;R5z$o;qrWf*~2uX7L6Wr zJq>u3Ojfa(n|H+5RrrnGMb8LZDHLq?Q~*rCY|Ifa01Pq7Ev`&Dd{4?zE?sX+sn?yL zlFYUmZE5&9gR>t#n!hWU?$DUFrCIpZq;8C*=xFur&KT|Ww&xsC!;j|fh~=wJ$?{O@ zzgM_s6r~>Tk1V{dz=R@_i|tzE7Lge_*Wkzu#9qk1zBhUfs7N?|ivCwV%HueBfhaGz z_P|Ks+na~9tNq5o7csoHXzHPdoSHsd8AidRs#58$^p0tnS9J;hvG8dwYcY(n-I`P> zx8G%Z83lH-_)vS1ASoa9cv5;B(_l$BAlE~4tgm}*hO*AQ0U5BVq6nd6YPNS5f{#c4 za$3<;Of!a=O7!F!fpK00QPrLg!w}H1J>(T>VP6D!Yy53AlNW-98L%Ar4N%|L=!=vb z!gUgutYW1eIasLnYRWy7Hg`dXNpQ{uo;@bzxAJ+|5L(O*5`5%9`P6ee$hhQ7dTL(Y zlU23Qx@hK-JV9a^r*qCx=yChjC5a zl$xTQZ(|e)&L|MaeHmOgZOBe9wk8;V%bJw`{B|##S?}7nrnk}X2~s!zl}?eqvNaMm zx-!%VjkGwXDipwl3cr_@7+c{Q%L`Y?zA6BKoPoq^jOCB3Px2M`4 zuO7*Tkr8j0QNBPtsdp%oH3mbye~qHo(yd5daD?Az+s;jYPm)xWEh@@i_}OpoIw{GGZGg7vD*$hRO?FAxU(2fOdE6c}&wwr`enthw--qkBicE@_Y(?x=t7UBG0t% z_T*vEzAh?*iH6$!=?}KsoV}pa@sBrlz!|~EnjDyd1SW@ZR9dUe4L4NOOY+cYZp$1B z<`wNo2h9K_RwSi#fzEAmiRjxjNeOo1Q5B;C3cLY29Q@*BfG{0!T|DdCjcB3@K)#HlIBx$Y}N7>=a@DR3;A zkDaHJ*5b9hq&TBQ@q}_cX9_u%TrnE;5rW5kvYKcaFgqPEnO#yK;=Ub8!5CTu=>v+n zCJPanmU)6aGEuUVwh_k<`V<1S8=j4DvDqPc822^DXbn<}SfU-3+kOw;CMRKSoW$gK zn&J0&-T}ZY6fAK&6ts?H35sR|UKx!IKQJI~XX@6ydsCT7qJZ>TDkr=jnA6a}WlQ#~ zkt`l`B6LWf$oV{`v%+_Y+i8aX)?=Z%^;(lwX`IdBEY$%wfF36PCA+EVLq^pe-M*8F zi=o#4P8URO;%Pd;)pA&N^x3qFm4c*B`hmT2r zZu{!awqEReOphVDrm78*+rXKpRs+9h#NYP<=`>t3^q&s^cN`b#ympi@V8P+6K=9hG z3KcTVnB8?+N7?vfPt-Ktb$DOc&-nw)q7DUAnFrj}oWik^lJz`{vdluK2kMbInOx2y zscK&>X5Z%A3C}$epkeV&79qRKvT@v>s$17t!KAFd{e(z~;^j+`{64~OaU!uUoRRkJ zspJ0X$ru{pYf|v`X0dB6jrJbc$sLlUw+|SqYSty*t|PJRS)(s3=)MwA0)Xydf3jb; z;z7>3(C~?A(6tXFuXCnN8G78Koz%DvIo&L4NbabY5aeh3wwUnU!Lm77@=KlfPe|xK z@turCuD{MaanMu(UX277w9^PpI0|C&3Ox%_xGJQ$Memo7KA`B?U7?A-c`Q3M$XP1j z5)y4U7RgE~){=id8SuErjwv);O(6K+kGbO|Yyp|Uei+NbEfy@b7p=$Z815XIE~9z_ z3Dw%5-E>5cr%GwmIJSJDe_plyO=`}Chu~_I3_I~hxH-Ks8pPeZ0rqUR=cP?O_g|1^ zf6>={TYW1!phWWSDym*!G`%o`cVG_o%2BHOPoWLB$OJ;7R?zOxPLbu7)-&?Y)Sv#= z1Xzvd6ut=SF*u-l3fA$xQWt1?#-kuFw-G9@oK5nuEluTWR$Y^n?Js%iLKJzDKrzci zgX1oi%l&udcxFpnB3%5Npl?&aVpHPrkj3R;#+ZUXql9pky7eJ>VcVvb;pyk>%d3@& z+`1LjY394jzqq9K9cNW=*=!}B#3;_-lC$6@-|`KCPa zWIU4~wg2lCh4Xrm>5?0OHxlM{dO7e#6Vdra++a-pA9KvCE@Y;>CW_$Mf%o z#M7_D%j2<+m;c6ymuEyGz=Q_LpdqGcQhzjg2ATqorkq71j?w$2CN@%`*G)qi{6m>C zLT}(hS!YApk3%_`!fwihabGE{{loY(!UXYQ!n0wb$6?}3;Sw_8Ql{b3{^2qi;X-95 zev{!!$KgmOjH(Pq-4vtgkI~M+=-@GWvlxS842mh@zD&de(+Cs)2-A#+D;C~zHp2Qi z!j>u0&ObsyCeq12(j_DE2|n`aY^29=q$g99w@j3;X_TL7q+dqVD|}SoY*g@Z6q+eI zOePvb9_?=$9eu^Zn2d~=EPPDPY>bU|OdeD0TbbA* z)7TRK*fOTbf{fUz+1Q%nSR7Ma9e;FG27GiMbDtBghbODCm1_lH!M1W(99hXbDl(MZ zRo!682kPmR_z(Y=g^!MOoP|50AQ}Luoe9&11X^6QbdW#*5^!CkUUa!S16kaHPh%;{ zu^?wql9L3VAM82b6Qd6;LE?Sg`6~qO%?Jz!S7N{`zhV_J3J;<`@M$+=h^HiKgO20}ofI z9RZLImPCaXx{HF0dV-W_xIrk=hgi6cZJL7_#Jw4!;*D?|zlA7>pRuC|9E6vT!$Mc6 zS5PFE1o$Qao`Zh<*%Kty45)L$W9ML`szw}Dn$ zYECS?K_H(4o88Ks*0D{!!%V(Z05E&TZDdkVuf!=}d6DI?&nwhw&52Q&8CPy71zU>T zefZ7*JcE$F()=F_&u)%&+`=lY02-bE90gJ7BHO}})H6f*Za|L+Z{=yA1Z29`OOQh* ziThlh4FDC}z6BbBPZboB+frnqspx6Q<;G#<;$RN(*K*=uAuL4>P4O83YeQ0wt-xz- z5ouW1_Hp5VEWCM1UUXDPK}thrilk@URskS}%F{t5?;?TDamscA6$lIKk4A7}dBr^A zUYwFV7c96Ohh@5I!2wDEqGx=^IIJEeCj?N|kH>W&%l)L{g$iJ4g!0EvO0H}+Z{;c? zwUuI4!m*rKD<<+)?TVVy3fzs#BqrTb!OF&0mH4d6TJ6e~`O1#dO2U)Wk{eY$=2d;K zs(c432mTKW9~&`rTJ>43deXdFX`pg#A2i=my>P|CS5!~iRj?(~|i;t7bQ=R^xBYfqCtJEWA*{cR}t`bKJm0ElD6>3BrYY2f%5(zv5phg9N9}Hx)53)CV!19xtO%{q;fhz$Z6aX_G z&I)d!zCwY;?*W|qr6K`X1uR7t05=>=DnUY+j!1IHDbJAcd^F`Mc+jvdxCuqoX_`mN znS2S5$;g7?xDNrgB4^m9#{qclV-i{v)ouobeHhS>t3z&4e8wS~u^&vvVTy6A8m*9L z1W_Y&z0E!;2ra7jGh7GR0>QS3tpKV*0NFTPGXSv&f;MEs@5JFh`}0CiNyI#X&e*lFVj68bzgeLcUo*LP~&rCM3xcX~=u_$s@~K zH{~(QG?}xRnTF;C(z=i-&t}yOSOKm%ga*2`0)9pVeFAW!P!L@jXb7%`r4>#=$cma1 z4Wywo20-6&fKmalTMp36=Al;FzO%%&6;O~CkjHwG$*xeq2-H^_3UXU07D-udOL12m zp)H8HVM}tbPa?tzs=>kK#1RDqIPE@VnmCE9C#b}>O;!P(izfMw?bKNa|5+B-Zc7E4 zhs&*Ws4|fk;0mN$5!rE|xb^0OxOxqoD5O$EKf48lYq5iYw#1=0c!499qz2i^0pyHg zTXiYp$gz-H`{c0%lF?x>6Oy8a0G`6ZX>pXBo}h0;php$oDNX}t;7p#UA^Ax|p_T*6 zL<3U*WdT4jhV7mLU`g1X7i~Su1-X2jREx9lVPvmr2HaIQ9?3*Lg{82dtXI_qjIbgq zs%bm(_3fPXMk`c|BUF<64G<*oof9#n00!aU*6_w+;W!Rks?P- z0ytodv*^ZrxDcA^JpfjxiErbiI>P}m=WvTy*m4^{i-d#{U?-NJzQp4L#4|4UsVZ)e z^UGtf;s|j#CJjpwfa_(}C0y*}wt9lH3SdRZhz`$*YwZ)ZrsFDGgfH5; zlan{9brvTL*l>CmllK*;zTKF55Hw{vTJ>HX7BD_#eKBRrHf^Uk{a*|_Xxb%r`bqor z)5U3zi|H#C-dl0T*J{QuXy(Oe{Hykvz{Q#1i<#hrnJ`6sxYcZA&}?+>Y;5~%{Nij( z`xKUdNKu@7V>Oo+G?$S(m!&v|9iPj)m@8nLf2%lOWHnzBG+&lGU(r5awK!jMF^^;W zTBrE6-s)>zE)1XhwWa-Q+v3-b#jlNQ3;99NOwNTm{e`~Vg`xI^k*n_Xi-qyrh5A>3 z5hpMmv^bl)IN!dwu(-HH%&lk2nfi<;!_tsz1TAglE~)8L)G0(ownjb^T1wNd90fqe zp3BF%%ct$j=Znji7t5%h6Nick!2qloNpXd}Q*^9QF0CLsRzQ1^0faH<*(tDS%pWSy zcGzdurPb{l1g)UeDbp3Q%N5?>HAEhq)H(_>8p$BK#^8242DQv?{f+B_j2VD(A-;Xq zUZdP2Bg4XjX~@;{;AAx9$l+aPi{Yhhy;`BJq1y>~2C;3w%>#_>sXnNNM#$PE%&$ zwra=L(7<*Ydwc*E-afmnjlh_DVDuBCu{4y|J>;5?!&|N88bnLZ_CbEa5o?~n{emss z*$oYiG)>(Gi^^5ztL)HQ`2m#%iYt@CZ_*`+T?7DHS{sh$=2jXf>9?Z_|eSJNX_NT-?I( zkK{BB^FuHY28DqiTKs*3paXzR0zgeePGP;KOb%P2gw^Ay(~uNtSWpobw&{78OGBMR zj2)yVAXakV?%A-hwnO~rVdg$1e?E*yen(^}{1FyZkFy)&goAdeg{WbfSWuccZzh4N z9)K;_!mzfm1sckE0u_FgN`SLjWNs;AFUyMpvpb$=nNhMzh3T*@Q*)u7*G?}EM+nU& zw5|ZhdvT65uZw;1)bP|GPDJN;Lcsok_cJVSIlyUKMnie5eoP{^QbqxkmV5xxlL$&% z@T>Zi5}j`vj@g|1Ak8z<8u2^`0EH09bg*)u6>ujr^yeW|o5S!Md9H5;?VMt zkC3aES3K)x-ifj22#WJe+?86F6X6Iz_q>5>Y7p}6uI>tT?eae*q6?upJj)RWsUg56 zD)3S zZ&HVm3pkQP>b|QHq9inqkAFWTg@j7H7)H*`Ak-y&{kW)>raq~>p*}(msAeCilRgS$ zquDR*AtNzMP;Pzl{T*`$4;dv#S^RG&F*+O)Z}c=lp{wKs{37)qdA`hFgCED;c}VRd%C`(r|_ zJw-sQNEo#r_A!kAm~I97>`#CS3I7`u5*9MQUE3Ob^NnX$Fs&;oV`qB#daNn($~d-yy2zX4Fc+0Z1$p#dP4kv%}A7Ge|)!Z1rs?rVC@f=F)hEV;li zekChl41Wor0`L@|Y$-UZMplsXEw8&s%FoRJ2tOk>1po!2#yCJFoCf-bYj1oE0_uQ^c$RF$$L|Sfs1K{hl^{oj93_{$K>yX;PQVA25wWx0bH8QcD9t#oV0J= zAh`yG-&sk;e5cTNk|CsA*VZ9PypC8|&2%;iawW}aeA`Rwnsva3trpHyNfUCJSkF|H zS=&Q5#Dk=v+KGz~1$EhH!KNNr0w;iHCfaQYr4kMCKYog{ua>_3@e2eJ2_C05N6d#m-UP3)~UHIop#YP70K#c0vmw56z+ zrM0!CXpL&o($ayp$eVYa^PczroRjCAE-Q#dku$G2l)&6=Omj$ROCmHj}k} zmye?$$GD)@eEd(%7hXt297%p+d15^;LsmAOnTo-!=Sdmn5pJi@Mv%P0=drkTrOl~1 zzFYj`>p1t|0?w%mKJX3YYkD?hn&N*de|K~|PY8kHoF|*O!ERR)jclVarGo~{SZ{D1?)4;R(`!@is6x+!T-`YUYSqugzEUz-%ysFl|3>_*+*T5*gOR zGXbdw>H(Sl9h1+p#WTd_rD7fw5=Nw%wjmf;X*Mg}RAtg$Yih~Y@T$SwyHj|z*$oIk zswuG+Jw!c)G@U?d-AgD#Go_%i?k5i|h&v@9JQKLTXoQCxxk z1pyfV20@nr&;XZV&Ew2nOLHR??Z(ULZxW73;>a2~Veu0GrE5Zk4$%|7f(ct8#onm0y)Ph-4Y;LU1W~q)F6GX;v4oH?1;FNPfu8SRC7`71SkfbB zE?Q&MUVHn85eweGiFn^r5CihS+k8lPiNV1bKvqjD$Qm$ReR&|z<@OnPenJ424~f#y zVbJyo4pLs!%BM-<#m7}jUSs3 zWH(r0UxdsvxP@~=RnvW#6>*ERfpyYeE*cOOEiWH5j6pT4K5w}3rtoIf%WK0St|dbR zvau>mn#}2HQ3z%Yx(Tbht{=k2N_T>WNQni&eMQJjO;7@-;UGxsV2&Y%yO)84rRnan z-mDp+5&8nN(iy)G7Na4G_|Ln z+2HKf5M-K2hA~dzzq2R=lBlGfqnfuBpnLY`GVUlRVN8@L2p)vco#vou8qDRvMR^!S zS)0-59dHonxlmRZwFRtnwUw9She}Z+DgG*E z;>P)=c%^^HM%kEcI>&6$2JX3U@kfI^C3d&(pP$GZGm#d)e=F(y>UTBi{l8v(s!To2 zI8je;)W!~~KfwIyYO3H%o2<7_6Hvl1vHX`GE};*qOsB>{TnQdOj8FP5Oj#1oKwgON zURB%g4PGTmAJD7-`XeHqU-XyRwB0Xt8ai#y~`V@_~_j; zp};hyrPrMgVw=+gcIn&$X?s7%wx*ngU};>JhK%ud!%{+hCAFp-JYqYK8EBn49UJc6 zdfd^R5*F$RU*y+OuY}|3~+t_)&ICslg>8bh3ki(590ejx!X9l zK3(4b96!K$J;Yr5^#_P#0%eeq$yT?*af3b}VVM6sBHP4mldV2s^g?Q6et_FY-tB}J zm(C*#vsOPIryEXKrAFPXcl#u(drjiAY*g7t$6>{_ZoS(5s}q zf*wEbnz(E#P_E5pdHkxCOxd+cOMG2&>1Rbi%Gdp^Ki!Xvjymg8_QTSWR<}Kld$&`* zr%)(K>olGx!;-0o*VB@>Bt8GU3P}A~Nl9McPWjzZpZa?c^6!a(=f9Qh)Z>0i%0ZUr z=|{=5Kci{KyRM#RUuO_Uub6UV+uY87)~B8Ar=^{4ds6;wr%}!*X#fKT#D@XPVIbNV zs3iuLF;ElH`^!fcQKxe(sukGT@_1ODVG_f*iecKrFrQ+O40k_b~7xwge=Gzfl!z!8ET2hur`H- zY-Oa3k73p`98UBLl-dj&v~&+zYb;D+-Av*_P2!VH67pZ1y=<*L0oX|}T6C6Q0@O$y z@3@}Hi-XxGz>FF)4L238S(*~vOfy4GtL|dnLB_l)Omm?P-W7@z%LJ$mmP%2>oK~_N zOpVhDjV;!p*5nM(Jk)v?dh6zxL$FG)0!i)}|TO>bWWE6A>B{An#XKGoU5Og6Ba~ z#an_!d^ZZpFB$%_nAFa7FH@{tg0VN?Ufr~O+(1XM?6caGvn~Le=kH_~B8}Sm(hIhl zE_H+7X*J$;xU`~T{cVS6Y5Ft=IvvtO*q}}~#HL%fpn5jYmm^emJVOhB?cAK+b?7zZ zyZkp)*P<5MdDrrw>GC;hru8*c4@srqGpMXOm1=ju(4T2m*5+8BZCd>4n?9Gb-n(nL zQDMU{I@!tqH9}@+*_d0I!t};1YG{*wsK=XL(uPn>;aYGxZsVU4Fljqk3wIRK-1WYV;GOij~Cf$uL2~K5OSvtexg1?$5LBXN1a4T!fiejgQ-Ov4vlo{UX=< zhi_rvbUuXE9&^C~BWGW?^Xw%#!@7_;Xfi{bNIPw4dnZ4~WEN_iZ6zL~!QE_SplYr6 zrj`H9!S0fQ;Te1uK2&v-@2*Xyl#Iv>}@l{e{tg(j>@`W@2`aKU%7gAC4zDBdmbY4 z(srW>y=q`wA3Fi_OJS;kF=d{ zS~=fxcP{mF_B(rX{rbDVa&O%(X%)hrxjE6BcH=!GK#bV2;xOlGewUgHF12CrZr^gg z&u?EYzSQ3Pu1a|UH~^TlGvopR6*9qdX}bC+B>iP$*E#Y_jT7Es~2_dF1?TE9vB(M{OTz^01VJjl>_MIKpa(Upuz z4CZXWTZ(w{j%b7N2*<-%3KuQMiF3aNL(eqI)*Y%krGCdsy}9oBr*aL0bzkiF+{<`> z;?bE*krF8b}#vAcN5 z3#>T{&=|W?JcUeE{(}Z35d9k9{78^#8Njdu<>d0Zo($!0BSg;uuIpKR39x8&FQc7| z|4hvpow7{OG@L>NPdwCxtG!trXSu}gvc%r9o(o!Lx9ZM8ApwhXUl%0q^7E}OqW6Cu ze#D#JGO2zouRSYPT{DA07v$l#SU3|B&Wuh+tb^F4;L85%UBA84W4rM_OY08mM6D}$KlRLIbz zF!n*Z7#i~50YTUXCdUQV;sRq$eah&dST3Q|2X=2z0CXIb`gz+8fQy(0SskRq)}cOe z#@2;!nUq}_KeN;au*_wJvbOANmwIHS&}J8V0#Hk*#asV&Gg``g(_4Zc31~Wo2R0jz zW?j^3h=qk7;Jir?<}$#8i%Qr*=*A(M-I?BqAZ4da&%>VY4@3NOq;(5njyBSL9xG+@ z(q~HVpM9WtE+9R0B`=id*=6+t&#|JbM;dz`Jkj!{=|k|VD$f~?+S(|uk=rSgU%i8(KbL74saA<8;~-ZK>b>7 zK1k=q?vIAAj9Z6S@j7HCKVB>d-<5y1bT8~He0Vu^x&IS~vIjP_4KgQ?Ze#k@5rNZ0 z?6L{%(h#M$k8vyr(1Ga9x@c2;yvm zzkZOeh$Ltt09tf4+bnP+c!fTV}iI_%O31w0OfJ{#(8q-<)9f?djry5=^ z8W$&c^g7Wm0dDF97g5I}c77-v!}t@ncxNIF6n6N(M;ZkT2xcu;ET`KafRzzJ9Ty?A zCoq>l8joeXT47Y#CeZ;+V+v&Q7MeZdqp``Juofa-Dg;Wq@qXhVY(plSDfI;~dsCPV zHix!s_u>?k)|7a~G+N(y4od@5F#$xRei>YilPcKv*nwJ_;uBYQqlXYL#oyNgnGU3* z&fScL5rhXhBVc{nNH-qZxw&-K^TjXAdp*$H5fssoNi!Scl~_dc79NoQ(P0*3(+0Ob zpgE?lC~sl9m>@W0C&P|w&7DV19e8Fv{u?C~8?=+by$-Tp&!iWm zVO)#0*@=oqKts{6+n;|Hhh|=K!ufI0+`4&7!6fNI6%dX2N9O{kZ2&GSTpM+K-((Fa zkU@cW00kTlasn_H;<*oq!ln?mgDfZpA~Q~8D@Tn1d=SZLFf09V@k>b3p-pU`GPDss+YTKz& zNHX5zn`b<)?KuJboB0@ z&iU!zzr;B;p`iSx&fx!-;t2YomA(mTeX-qDTuPt!6xQj(B;3NUrpduZvZ~T-HMH`GmUYb=BnrAA6u!T*w;Q@z_>DZ5%WRVlq~%%w%OM zb!T6#^l^k09&~VujVX!^8_ERth~IWk{PQV5Zu*!aVx8&+qAd@4*duW_?AafQipZB5 zl9f~zUh>|xFFle~DS!XeS7;WD`h;F&Ij%Kgb>MP>Bn#mfK+qJSeEl5ftbAI*@wpA8 zVR@19g(8PyBhkm`6A-_zFRjF*=4XFpn%r}DH}h2fL;@{6U!KXf_W%7W+crq2CD%U6 zlO)$MA=4|@Ii>k8w2hE!)No_$Ki?N3?7&+K{*tmneg>S?ERLD+fvujNfp1YY!_-M9 zj*ls&)=aX}GJ;WHW_LgSM2gLNW9zMBCBo{kFoGAkb!gCx+O9*ELCWBhljJgZj~ zcrd6+o1!u=rDNGVk}Xi5&RF1v842lKoh67~nftS4Dfa|5LKiqBjXW)@)~ za?@shL`p;KlG^*&6?fJ-U!D}TwUnz*Vn%{B_SH6sys7E|*A~mso7c6bS=NVC!}dSk za!tMVDR<$i+UH6^fj_vCBpuD&`!vnhs5XJ;n)9S%Db26#uXO&EHar?r-|u1DOROf? zw`d&<(y!gw*KE|${^9Y%BkaeN7NyU0bUQ}-*PG#|+Iw$922y^`i%woT`ResO>EzSh znPu?~Dz2yPeBXbiJFvEEe_8ijs$Z89d4BdU?OAf*>FBwyZ;3 zpJ#|FeZov?O2d3lW-_%;g_+|KBR~E`WE&?}BX4x~i^#O+2w2vzRlgXKvST6GGS}S&QN`&Hjg{F5!LoaT2ts|c_}VKT#f}{87RV*M6J*fl%BRApovCFLRxso z5$FK~{TyM07AwpJ9EMrt8_2TR2MAg$RYxi`CMQNh7~_VxW`w3_UPctS->hb!i@SloK-l9#50kh$EGDL=hXpLP6Y+6%> z>X8p~YUGse?Y7t1`Z$ij4$^szZSfkUU`8Wt1F)eDNX?@ZB}8y6FUs@+6iGR}liqN)b(v-BLdctkrJMsoeyWq2 zJl-vjxj&3QLLp}7xL+TZK?_IayA>hPF*iBcD?uoz4IC-OS;rvu(3*YMJ~k@4=nn8u zU3rjJC55fHoZZTQKLB*pV?nMSUpI%KdSNr z-#s!|+eXP@iQhnVc1KHvD{fplz3*|b-sadQua|sic4Lpgsns%0J6T#J5Kk!AG)CvQ zpKOZ#v>Nj$wv-eo0$U+P!|1VoGN$c-%gHcjc_3WDe~uw+c2saVfv951a)UikpF_57 zgmFxd-Z7cXTDL^3oLDV|_0_OFK$7X2Y_B&fI#2L>xK&?}+awR(z|x~l^d!haVRE9d zx>>lST@l#3PK1VBMg+)u45lFl;8YHPIUHL+yM+aRoYkXCh=c?sYqG67!Jlyexoma% zY?`xrs*|q$mk@Wwdb@M1jM=iE?9~*(XrUt4ySEG%rY0`G1*InxrQ^vURx%l?xlXBo zgg^;wlDHS%R|_wOA#2$hNk+C0+ua2wu^JHI|cMoyW{Rgd66Y(srAfrAXK){yx+d|H(P0+p3tjp?Q!ID$U?sm8A<*&?xFhxC>qQ#lFpy4PX$iI zC-o&7$O>F!^;H0FNK)lX@7>dvitrSnVxy_191o_K_zgJ-4r6W z1F#%`IlMPE*hd&AF>D0t+Z&)O$jT&P=7`Esc3$%XKv5eqb_aZ0wR&_P#B2(Y>>h$T zV7$HbhlE*J9$1fyd%YK`77iY}M+C<>jI=u&cCmX4mqPitXa-eRLdba8Honw;lF+?O zy7!kw1U75Tm~x~iM~EXjzX&wVWOj!9i+OjMPmPBB0;@;d(QU#=bc2;zFp|)8-4m|CH#OsooBM%2YeFKq$rwHnfW?=a z=j9MMVyN;EP#YhTKk|@#y&}5~V*BGx;bxOC=xp~tRkiZQY z1`acJfi2`ALx1#iiwUZeWSv0BqaH7N7oupgJC)t-U)U$CFtsJ_%_^ye~hK1|1N zg3X@31k%kFTO!L9Ai;-={NR68-p1=ez-=Lkq~`&FO_IqEvy-OlQ-U*-Kh)>Eu1`IZ zw4k!^9y1r7Tg#tYWUyp#@tfTF0}=D}!Chg&=>#SnY$r7V5-P*Bha;dEHfEI<0$f}Q zWkaC7A?Uc9M2x=j!HBBPYnq4;9cEHYMpF3?X^79V6p#kmayS+8YCrqh$}U-*Tq)fI zsWc;BJOo6CHk1n~9AaGj7gll7DlhWkq;PBItJaOBuLF}#^kr1i6-?8ae21V|u-XB+ z;6wm+mIQFa%BG?p zL1UY{d3WxSZEb1=f#K0l!a&p)w*PjIcfQAjIBsUeBf9o1r}2%M1a4~=Jq@+Elt*NGS> zun>kqdj3+Fd)|haqF8*!ii}o$jpfMdWs8p28{oJp|4CbZ?j-|0DZO8|9%ZlfyM~3> zp`m=N&t+!&J(^5*LZEU%H#xY~p~KK719@PW;eaeUiIdr-_sJh(D3p?O0*N7qsW#t9 z)gYPn^4W=Z=1Z*d?^r;FgE}Xy=oAzdS)$mCQEHS^)&rq1B`TjDj%{8Zv)(t}36aI7 ziV@bS|BN}x$QfnK zf&(IMn&4l9og7eG#b&oanuZJJEEo%x(lrL0>Z@kF14m#~8-&1xoy8Z24tg*sgThD4Dz$UM<~(qthOy=^~B8Wkj_h z3VlOQ_6hJESEPKp$QGcWJtWsP530am+(AdMFCQAAVR*8}>RX1bQszG3Dhp6~c0~cf z>3R4q(g+`=xM=d9!kJAgl#M#)GD@-?5p}7lBftKuayL;t|CXC^o^fVpBQ)g>=d+>A z)IX3kVJRbEDV1^Q8h2Um74)%91T0IIiMN``0?mAU0GvnshPNY2_*g6`tt^6(HRA1C z@``NAci430*)E9~oq)@`+DzR*+eV@R*iF;D^iX!EU&igfE!*FGc?9J%U~+@Yj`5>S zr5RokMP+^lZhJ+~G! z&*d+Z^q}r zU>xC(Ia&SStLc&*3V?vNhRpc^e&MV9VR@HMs6VRr3h?DM?lPz zF($M>qo&B_*9_eH$tEmph^CtwhIm%$-V6GddCx7t7pxrei#woGD)I5T+tnj&LkAh~ zn*)OUt6<4GG8p5PU9P}Fs+F=d)U6R^anjew+qHQ3P+i?i;s7^#IHZ)H&O0c?|E@>@ zy060*E#dnbRKLp5M>eA+uM;q6Lp?MeP-LcbIngtlcv zA7>w#VD2WmkI8c>8S`=JA%6@73x=j${EPd2>+cb$C>DS8K9cS!3ZfR(3PmX##}h9; zzxXuTlOtyF5fz8G{V%@9LoKeeBrZ=jO=rpMS6uwv+4!`tFjxI_XG6mDS5>bJ&E^GT z%eOZMM6Dg0qUS{TIc)au;^R=s3VR8zw-?`Js9)IDyud+;wZDaByEvDT_#GmN zG{MIcBu<87cc0$-td_-md{v2uqHWltD3u9$BXYscR=fCeV}iQ#ZOb^Y-s;WFMS9!V zI$u?ei;ue#T^F)0`{reMM^L(9Y-%0Flmud}y$1WJFF(g+{!;5XdcPbt$;pIUGh2BI zZ@nAUN+54?Ah#@A)QY~#7$q*1U2Q75abi#*CE>l}S>X4S!+kcU~4iN=MCnUX8l8Xa$Rjap5fBsst0%t42e$3%h> zLv1ue88m7QzSZ1#W)z`jM9OJo_PQgw{LmBna3GPXQtj#3v!*pA z09}4%$)^ithHe_DG&o0tKQTvbJf);0vz|5Brx*$0cDyn2xb&C7I4S55&tC|-Nk+Y% zPv{50!iQ17LeiHW@|LG8m4PL?6cqx8bn=VE`|Ko726ZYhTB!hfB>l>~4Tdy@ z<=>23z{1@R8#F_Izd_JjUp~Gv`mJCf*BYbSL+~B1k|<*jAb1D~;b;V&^LAX?F3Efy zEwgj?x2*O}co{(o$k1RPFn6}c>+vuOo+Brt9)JB$CRP67E*S^n9f)N z$4nlm;q6teKZhehV-q|QL1fH@q%ryxb*s;ADTN0NC8{>%;p5sxbZjh^g%UBv?{>E{ zf@hAhV~m2U#$j)msNiWn1p&5i?6x9jSY;t}C3{#b#2E+GJsQKyO2mI)go={>9R2>s z8G#*4r{%nu%oXW9n#ZjccghvzJ0WoFONR=axtDTRBmP6ywWz?kTC>|1Q+Q&(6r4Fd zjeCEiczZGltoN)q_A2SIKvHAF`elN&NMF;Q2*)5!+MeX5h}vMTIbfDAbG~ywh#*}e zqL(Wc^aEZW&=C{E8sY5>b5ygNIuM_-leDQ&{|)t%Ujj$dN9~mZFEcP`GjSv|^hW?J z)O3URyiofY-P3|6npmQP$^;a|_S|d~7Tsn>tSz~xxDABJnRyWct^oJB`+nImj&b=_ z6pitO^|iOXlz%lz=@if#W*HYE@)euTduS;=nf8CQfAM+DN?w*7h6SG$D@5CZ3gr^s z%y6DQlmv;5?TXcGV1$jSGC<+Xs_=4ccBK(`>p%a2lkL=wS{Zn`hH)z z68d)h;>twrf38W3Ppp!XzEdA5x#QXX*xkc%aZ1nk0cD?#)-In6ZAWX{+OQw9MuI7= zDRT60zcrhAR>n^J&9r**D(qFcvK{pDe#h(BwaVky$2hU|55!}ZM;q651^#T^^1S!w zb7h*q-<|ta_b7?IXXEFMDDAKgYQf9PAV{!o9bx9AO!GjVAnxF`Lyp&*Y({1(-mLy$`LveiZ+3|C>y1s92C;YSVOe^p zO=Qt0_5DwU*=Bn#%vHaKJ7J&WpMD+hu2UcM!03CV?HWl!k1ucs%cHdswt*Kv-ry^c z6duAYDWPhaMnXEmH_FBk3v3UBh?ynXu*V01nQ7M zxqMEqkCIJ}>-Yh3mLsFeH$On3kqqG{wV|`NPX3r(dTW)BScXPS(vevFR}7 zWT18?8JsT~a`?llscDaSb-G<)BdV*6%+Em1;XA0|(MF7FhLb_DPr^BQ8sG}%MYOc9 z=c{kiku`BF_{cgimyCL*iW?RP)lR25rQW?9$l1Y2`^{&x+_EiBM?Rum;{oJ zA!ZXLvTi72jmO6xcyk0L=R>0oKt@=7*nRYWG7jxXs-lUFmvPi7uo|zm8dO^@SIJ@+ z0q`gMfWK@Xk!`}#($?8$BipGLOMUvIRXhuQKR_*F0$DKVLCbCQn0Sh3o@cx+!ewAF zG|SWzjEW%s!O@+7=mz9(cAQEP0kMemSh;of>IAsh^c|ylVi&mAiAZmLm>Y}q;a@$N z0*B*3o_#})>1_-XkwET$+88jY42DM8j?Ntt1h)?!(%-}5f&&TFLp^$`Via9>ADS zeo6w2@BvHoVOSq2nemLYM_xHRSV+GmJ033oIG+UzMpgVCmrwq9nYYGf^xiGSR!ox3 zP?Hdty%3hy6FK8pw#ohqfz!~}LwY;mE$Ww;j#aSKEFS`@N625q3WL3cw%{Vzb`=j{ zyfYR884>!fiH?BC9uQcf!YV}qHozjQ>s)P4S#Xtikf=_H2L1GPT%m*;Vdxv=I z&{vC(eiE5Z^fK7nB-ymdhLZ9l^e$*qHt_nW6$38l#V>uCIwvy2&i$N(wkXgSH;kkX zP>}FH^V8>p%Gne2;d`}g^Go&;nnm>b`~a6B=>d`x;Lttr=KgHTo~?sre1IHe$IU|} z)V*k}wA)2{5k^de%6`mP_mVC1eEXe@m_|Vf5EHj|H$yGxf#;=|)X=|-mqbn5s@zo_ zW`vg67wEsfR7Ya`l0K;94fm{3+>L`TU;OarL;SZl{d+dY|JHeH<9pZy4s&Q+8Hp)| zqq_GL9Rxkw{Ozy3@)Y=aXYus2#@e-+G=X2$oM$^`o{0-p0>2v_&%QXXB`yvK9JSv* z+v26fjIRkO7E7-6B&;Q^Q3Or~InNJrJd-~P3jUdJJpXZLEqPm4@bBF1^IwggDPKJW z|GgVv5If&ZSWQbqKdbNCoA6BiStWS3>qzG#Q6 z8igVVKx_b-LV$jjI{yY#(~l~`JHO3<{^%bcF@q!v!LqYp1tdh-2BH=L=ClESH$D(J zIBF>1SK5GRAYt}4Fvmg|#dQ|uX%jM@bIwCW({1)GBRF3+z~c*P0(_NO{o(s9H2dG- zkA}WvB56ww6r&~}UY4|xt%&FY+WJB|?sVF8^ua@$!6#iUB%Bs4P>IeGxm` z3`(z!T`Pp$r-nLT$%|kF3V)#qzhJ;aT{3ak1o*w3I^E4W0T{h1HUa8_GI&Saf~tb&or_{w=6d z*f8m~7{?L}y-Mao@NFgoZ$3jh+jPz-tlD^v7EgP{(I&=LS&!X;nC!*D1c2%;AbkgI zPDz}r2qucaF2o~)#@p+2J_+T9uK<5G5~|iX!ZKTQ>6e3;MC^G>h1n;)#M-K#mqWH> zgpeJgvnmcM_&I}|1(h&4^LNvn`5Sx^SdP*SuD2lGa9_|6(YI(gxgn5O9Ic z%VPi}js*omp@g}R>r6u;Gzsgn=7Sb@$$T-`&u||Q2G7yqr>~6XDj!sb;x5N1xOTyU%I(cGdw14on>I28op0N9hs2!?e|6o^``0pr_ea=;-Zu>6L>+yZ#( zw845Fef#^ucb0^e&ZI6*j1spW#0%&y>af}hLnC|r$nu@ z`(wb9UhK=lDDXNL65xF31un#h2Lo*1Ft*}YD5mi@-vxwecIseM(zv0rUit;CW z(WUDpkgA>xvDyg>9FfG@@N9J(mCGTw%T!&4ubS(2dd(DYe)tNI@hBt?We4TUE?^79 zvniG8>sj;oR&TqENDHj<25vwFfG2h&&L8G%REbChBj_HUjZYp;vVwM*UxtyAkHY@@ zFme5Pv6tw@P=O~J*GoB*s-3@g2Htw2Kw=MOx3$x=53Y}6dK9PJ$`SJ3CPc9$q?dzn z;EB@kmC%X8Q1OM(nWMvGJV)7&pqaR^cX63lFf?}6&-Fj9q1Q`JH=q=>*XOPcIN=IU zM4XqjE#h5V`0mBbL=azH(;XS|O}PzjF#f}-D2>oy`N?hPWsH@K~3P6w53kh*`2>K z+U0OWb{2+na>h9Zx+r{N@fL10-T?W&LYSOLLch<_Y{(iG#g2{Rc_YA#0G`MPlT``R^ZR3JELavmGqm=7Pskax19#09? ziecPri9QK50qTk&OPNN8=T3L>TV)#G;VYrNe6B{U4n?=KxKb26JFbFrtyDVMr*WQGJ zu^c;i;cuh@!S1{pPJ|LC+1pFk|9vaSXVMQD<&nx)=o*Aa2?0$cjrApz^~TpOy_fpc zJRD^B*aj*amvpB;z!C1nzxi>wKv=*sT=1bPTayK^gD_1C$?tR!Vdy28 zkE1L61uoyX*ER^8>OoT9-7xA2den8(N+X7qgkr)#C|tr<6v%xic=0kBo8LPq1|efc z42N%*Mgj(v(Sr&nq4NK5{Rq4c>bz6w9K{Mi61>=tUZNg?SYt5L86OE}1kOn>W(N%F z8yF-Huzn%aK{Gj7H$chUAVXo~7YuaiT7K_Q<;I;zRxC7156tDoVNF7zg#oCgdYjkX zV{eedAf08iMly&a5P%D;-#fy9SvSC6E}*c96RG!W+K*}!T_SaG-d9L$^W&^Sc#jt9 zq4=%9A@oo#1f~x1E%g`E6rQyV%3oc~-r&r^XKHwHH6$IFh}KsA`%yoqf1Nex90EjE#J$RC_l>OkIP&ACR;zUwn2J3;VT#DSK457?TdEp zoJoZ|ycYy{J1UD>Zk2Y(-pv;4l~Z=@BxZL`%y;T0W$A0lncVFP81L$5eQckkr?3*} zy7JgD@Nuu*lYqOtURvH)d7qjzJZUYahHr#aSDAFz?z>J;dEa*5`1ie7%Z0I3!ALeZ#JOFYfleTIrkN?O$;1U%cDDveLiC`+P&|=1j+< zJ4B7>YVHCY^yuz@GkJi*ONO|SX)4I{t7PU?@(m$Qj_g6+)j>hNAyKy>$%-M_)gjKn z=gw+{{maC(Kn^az!CY2H z#c9SWi@((2#_(8$1U<{Q(RI*7u8 zm;*^%W5-VS++NfsM(5DBKLuT&!2h?CVGxQF?%X_{9o` z{Qy8~0R9J9x)ZYCvM|IA&uO#HXAM9vCeUHl8M|a5CnQcj0GbTE`LB|>Z;&SZJ*N_x z21DlM!!eVD)=u&B6xmAx^?i2A{I4z%7B<|b4c<>1)$o51n&TIuW5NJB7?2VM=mWtp z7+RYGr78uw*N(ej<1my2#< z9q$*Oy1)J-!a1u4qOz3Fw*WhL5M~`l1%l$a}BNxsk5;gzES&n`Q7T&2lW@FRDXGz?!2w z=mW620-`hLhn@iZmhSJAF>9V=5NREDkAFMbBV7JWD#=4^_S!2eJ=lQ|hdOCR+6Nw* z%K7cyDuutY{D4n$77sv$kPSi94*@vZfZSu`AA2w80nnk?`2_|JX@%$<7DcB8_BV|8 zvx@gG>GR5ovW-i!*^zhjmz>bLKL`AO5<7m@!++Zkgj}IWx_SnC2p&B$KDt(Xlrna7 zH7z(QO)`EUAaU(D1%47~cXBQBB(Exg ztDrc{>5HnK!4qjdk}E$(ACT2$bT$rKez z$a4OKQvGzLcGBNd+8Ez~YQwyvTHoj@%RBg%ZaO;Ehp!tQ9=Y`Asy=#qUEWLHsvNcb zw%zwt`K6G#2A4W&;`u)7V#{hz%-7}qykoD$vLtfm`x3Rb^}*OTJboby`|RBryjrOY z8Xdk3^0$wEyV~zwrh;iRH(Cg+3IfbDy8Jskg0}Z|L;@ z{q1IPRqb14|LMWUDg#|z-GTG7q2r$I)YZ^a#s;^P_MWY*$QC(MY&w%p!W%*h`B;#G zJJidr4uFrrC)f*P5{x873d(3NbU6{cb7fk_z4PRsBYg6ercHgWU;L2mQ=s{6+~Th6DLZWei@()yQq7nu3q@xPbj zUv5x*A}r<-9)E{uf5j}o*RgcFwAA&XvOf zkO^+hcz=!LH@9IP+CC4X-3wyF0{wnNg4_)sgO6chyBtTUJ6fh1OXJs4DU2%b9oMW9%&$F# zC2Zy@OecJ#r$3L}D6Wd>ZY=ODxc0exz$*TINm{twr|hfNiMtP~TB5i8)2E+NOlxiw zB<^+0SoaP;O!|=cjlVzq+WvD2Q}X^(=9Z*G)S-^c!ApgizK>5ohA01e@zE{r=UdMk zmsVyB6jF|vh1ZgfHg8-`U7un5o^rS@x#sxi+W<3V%)Gx|^Y8BVbDfx#?=xwXa|$yV zpo_pkM#7)Fw`(Z3?0%r z^niebBHbX}-5?+!N+XQa3`06}NOzY*H`3iL0wN_KQsR%p|K^;t&c#{ld%wT?X1{yA z`~5u6M`GXYA1s(&2+}KpgFm0}RZJh`{q)CV99xhzu%C9+D@wG=7GOLq-`6@F_53)W z^aF5!r2^(7>Apb{88g7a>y6NKFZhatcCt%(BMqtwsA{2d4D#phdIJSC-M}Fjaz@B( zoo%sAVo0>YJI;OA_JMA~UsSZkJKnddkdgaFSz=K$-tV}O`2na}Nv4}1Rb<6NiWpYp zCHILCEnuY~98p#GNeXc1=)RE{(RB0q^rEVW^J}D- zaxx?~TL2lGH#Aq51-!QSH9FclYp9?&SZOU(vDE1^RP#Z=oePI=c?7aphbrDxr&ycn z5`W)tuE_7e+GsNB){>CgS!FNMzA`;o-5HU?oAvAQg$8k38}i+M#DwYVq%m?U=5Yy_oPDlEk39tok*> zDxMc1&#HFk?w3dCw0+QOB96Qo%cI8c89y}>IU(MgR#=lXW?&ER3CEU>JA3~AZ?obGK544{dFKz6-Z*Q+S>uTuuaWWsMa=UpWQ_+<&{wtK`&z1rS zrYA)GjOoe!_A{-UxUc&N4@Fz&P;kctPy&FuI<Wyh-@GeiVA$@vHOK z2h!j*g8zrsUWy|PzydyC{Utm$&f69zS!>bKkcd<3jfSvOj~i{Pg>#`ObL9t*4Z^_; z>9B@yMMyNarecl{w7ysav1UM(E*{rEn4x7LY&%;NCZ8qb%q8jn+pgcEtc7rO@zc*H zt~I9$vl~79#xfDeRrY(sZ}Q-ZQOUvG}LHvX8(Q;22KYHRvASEgTS zH4)fU!cEONmaEm?a8@x|PrC)&S z1@wi?lN-FLh_O=;7lD{DD9r~zw1k;}pA^Y+gZ;F`f1RKW(m@kqpX7y3cX!31%_Mp=pp4 zFUMSCP=Vx+mi6~XCttRs+D*CN+r2(*Jt+CBC*Snvz*c-QoLhyw%q1|cjeL+7^0`O` zz4w`scm7*E|F_p?y@KzcPf-31$g>PrB;WY}rLns(W>@|1*${(Y#}jw@?~8FXTN6ja ztTX<7^c0)fkEMdwuSDOK+3rreDP)@TBT z19k<0M49o6Srg~#KZ~D~EH0O9q6NgWRNi`At(f?+qqs#3I?oqez6xBg|M(BJ!W3S& z63c9V{b+94dXuVky&XXl`eZ$dyXIzxY{g>*w_=$MuvH|WGl88U070^(;rtJ+-P(ze z<3E(AZ!4;_=59Tv_Vn(^RQmK4qk-(BetvcR4D}LRL_P%=c-|Al`}F2_xR@aAHV7bj z)~NwCG9m9JT7~?YA}j}ffQ#)P_k+1-hj&OxzYiA>bMZvf{CD@(u0WOh-rpl*yKd>t z!|2^+?ZbZrV>P{a|p4Bx;Gj|nYL#`YM3_|G_; z^o$LFf(#NpLZo#aMt0@2g@ExvfW;OcUZqO3l`3Q zCgJ$gE)jZX3RoTKN>HLRFnFL}WV5^goMIR|+%l)vI8OhHiE`}|WLQ883SZB#Gw0sh0oz=$7 zRxeU9r}c)n|}qmj$#FWy;S+XW|1d3t5QERaMkylQRtp zzCt2|g$l7%Fx!BPX)Gd%L>%Ju?>PB&N<1vz0J<@3Ocbylp0c_y!|?(@&2l7(U{8#m z!wyveG!o~PZMbvUHp2j|3LDKxtWMYtom5$r%vbfr5ECb6r$H2_dv8o&_GPtKT&2Yi z^`*AeKQ&a2bT6+)m%8r$)P@mP*$`+f_t9U~#b{O8(Tpt*NnO<^##LEU)a#8s21C|a zB3}mDA~d%>NL}Y6oL;h+eK_tTZ`xi1h$h93Ri(ZuTBs7zlLd7=v;s&7fD!yMiC>mZ z!+jixYrF*P5sK?_4Z~VBK51j?`%>4f)5KL)g&G@&X4h@Y6Q1wrY9zyCOxHWBe=_Pt;C%v+$ExwTi-SkKNt5pP#0eez01E@$BYxXu{Y8sP4 zA?5Q}dwzS!8m5(n4VjB;%!73bfxY!3G`u)c-!j*kwI)X4_&w597QMm_7F_MPtZ&~(CYqyg*=jYki z<3Fxyo?%@B5!9W`bd*ZlAJ(eFjNsUG~6+#s!EI|aWs zR9-KOavs1Dyu-wvCkMI7j}4Nbr-14kGuXsm4tG|7h)`-M&NBotJ-PHUua#nXiFzxC}3TDz6pb%`pu; zT=Njer3yVEfMLD7injfoM*5K)*3%*Y=!wxs!E0@(--Yp?y$#Jt(ji2|c_ zh@!D@MC%9(U?C)`CJ=6K@^l-@>o97Jv%;0T1eRyMEa69p3rdINW8K^QZQz`dC+th; zW2_rH4;(QBM8k;k>)_0#0o+DzB16FXZQyf>4+43l?n9(6X(JRK-&L_#bQK6)#Di#{ zA!HKaI;z%G%Mk`H_H08yTWUbVl7mH=9W=_p>c-f5H~`V(mG|DxCf$LvB~r}E(eNhf z6>X#s)I$Fz>b-<5*}mP=MLSOuo1lYez9>gye76vcU5JUjNK0ghqhkYsz2Cz@#D-XO z@{Q%Yo0wDy8?yI^%wZdE2}G`hS_%eH0JP4KK$etQ=iDGFFf#f6$Qq#S-378i)j27K z?)?&BPhxCO9%09FYzHQ`{UEka0yUtDO7%hwr=vzOsPSdgWa9)azk3?L#5mm~mNJQ2w8Em2$+N7V~N`!kWYHHnrEJY+*e2Ek?y z0QsFIaRnp~$tH6L5OBH@@!viQ(y;_@lkt0!SzWR4A0XKLY9_37*!R<)WC_vO5G*-U zbSNG=c<<9oy5#U;wDt&EjW8wX5BkMzGBe>PlZ+H0It_NWAZ<{Gc5pgvhK0Z-3_oHTm~|N+;Fl0%YI#Yk zhgeC6q$i}30Y!C)ywz}CBT{J*siHkePt;QD!%{wHr0DaY73n}F0hwhPnH8;|N-W(9 zI#88sW+hfum1$N>KvqjRuoaPooX+aH%|hk@`c|?qrdb2!S(Rbf-L0VEk?e_)>_Nhu zA)cH`wd@(StVTlJdPL5eYbJSQCZ!m9=V9g3OF|Q=5mKv>lt)D-ye=d2HaF8W>6d8| zkS?ua8Zfv`xDpOb(Md1BNr^3)hB*}s< zxn4H+9%fZQm%>ViRZCZ}E}7M!Rxl%(!=0J+m~ZJuV2kBt_t6#d>fnf~7Ydsd^7a&T z5*E@<7xtF}#WM?EjutGG7b+iS@wgRW)UwLxvYKx*sm0LQ+$J(~$>t*|RG`nLu>7;u zRPPb&HCBTApPvWt@<;+p5{rdWrtRdmp`Ldo5wm#tVI|n0d{LHs3uFdWAjqmbKlmMi zWI0-8<&y$k0S7&(&MUKJBnR=3SrlK9rP5Z|i71q%FX}Tb6!R*S17(YX3X$7|eJh2u zEQK%W3;9r&_9AYjMD6aT;M-MGy9j4&(gv z=gb+TZ)Q~p4c}`s8;`cUX=L7DlGEs2UgA$uveimgy438I(om^P9l9D8j$F38%=o~X zq1J-(wn9N<;ZwK5Gq>_Iw~8{eaxt4)7_vN5y+U%e;7?nPN@h_fA$ZI*8<|*E5unTZ zGg9;5lizkqHeKpTdG&dDqBjC85QaBEPv`&&i8iffkv4G~Es1Ez>rcvykgsNalJFi` zYSC88xRRneLfUd?T=eiWb1yIx7@JcSSb+7qNWrZ(4Oy-jTbQ9{cW6Tt-x)ss5EO{%BZ6ei&44F_-UG7rC6WpT7Oku?{h}T5LD&V)}Vc0>{%8Q zwHNb2=>ywX6~}7^ufvilY|lmlf6o1!Bx;b0iOnV<#&gUMLJt;{&WEif8S|W66N}3k{HR^gYY8Eq^mF^ldD{3{(n-rwm?(S-SxwWZCH(gX@O9$50wU-}*>RNwR zyg16L$*gIRs-%1u^)WEl_DMatM!glNN+1lha85XsNjIE{8CuLErZ?$k0}@xb&Pg{+ znl-TMkVHKr@_2CbXPxfc!e``Nv$L#&-|LX@(SncH@VWu6$L(+gtScJ7)0iN?bQ%*s zR+_`p_=UIi@|hirqHg(Zkyc<`URL|qN~_>%Z6{%G?@C*lc^frDk;?0)S3$j{?QPY6 z%SY*&^UNy#AuH;noAcLNdjgtykYx=47|Q0leV!E3wUhzA)V0-0CvX}%ufs>Dit%s9 z&Dd-9q%iI%Fhb|UV=#_`3mBa^z_mZ1(^2(rrV2G(GD8NK-FIQd>gtC8q-g*lM_>53 zJgoR#VLmf&E)`z?eqdQ0q6`CWo6V@; zJg@c-ASv1({Bx) zLyS;^gJigHojgkz!_U7SAE_DVR--Jd0QoE)-`DV>ow4d|{C(QqVte@~wv17I!BoKV zs|J#I0zgAv`EXuziDVB&WKJ=bf60AjZAA^3p`6^JT>h|)>bNbjV>-2C`u?zYRIMq? zeOjn(B!yw-fp@eju#W$Emh_V>1~GJ_aX(}%sS@44YBuJb@%d#(%Vg!)@v#?b8ld?= z<$gx$yqc4UvT=&IPS~z3#~8m+Z(c z&)`0(VS&s%;L(WtVH6PABj$C!Fo(YcJ=n7npYS)ya-_x@Oje zwMP7HugBU~-xaI{ND3Z4zHZZ4}DJ%KKj2cPpXQr(@!7Yu@Lv8KClF3t&khV&z-L|nl z!=rXcWYSm8T+DyQ&HvSL#1#i+mhv)EFUcOeo3GBqr;m4iAt5~he+ZweDXqLriSIK0 z+`5qu!On=SF$IIkE%wwy3x9M?3&Qr!axbXwPZ^GXVwq3lRPNzD{4Hu(nMxl6Y9b=< zPmP;TQ;d1f+Ba7y%#yq^>Iq)15;C7-ubz>1e}TbD)!&3ubZ1Zpo;P=)bu(J)%{FHO zivHbAU#RzLz3%1py5J=pDW1GI4ZXTJS+3M>78S~(`m-oSs{5}ipO!gOkglbpE2)b& zEz9e2km(Om_m6uloYzD+$nG1|*5iiFqtCWUT5}lxOTL0Lapc^ zu1VXxm*yTQxV`IU-BwJpRaA3TS$pwIY9_yGI6HpJccPi1cuMM_G}JH|d+S>MWxiK= z2k>DwN$9qwtW$I-ee_ot#OyXO`__`KW6i2Y`fo+{>*3pn>Yw-Oy{P9~(C&+{f2Y;m z7p@8AwakCrNoxh&`ncV9r9i(6gR|mRa~hd)cj!!Bl0xe3a>)Hhx8**HQVJG@gN=n> z%|FMxFrFzWR`k2^*j=9au9C>A6whHgyQ_xgF|2V|ncdS!7nZy#G;K`Q%$9t2y1O#> z<5eCT9cP2Xj9s1y2Es(S+~hh8)GdrEFk5glG%;;W7@1pv%pA0^RvK$*niKXzk=aQT#R@k8y3^BQ<0?{5in zucvr}Y_P`bMV~2wCR~OyHLULdorYFS)0B)5bEVMO@F;(s+NJW?aYro!5og~sW1eC( zVeiLjQLyBwen0asSQN`g+;S})$eYG*)9YSz54vnf&G9m2RrVC$*$j&gMIFtj3%>f= z(tj@Xbrh)H8R%(<{V_1mH+*MkWWIq;K16|bDGlAB=qRR;@iQ@S@r5C;#8HvD=$v9! zBPGEnLnG6Pp$7L(F820h4c9UBRXyx$#F*LZ=J7>Ye&XkE`Daos^d=^v48Kgysmo1> zhHg7Lu%A6g;Iwae7%t)D$cD~DJB0l_NTrPE&QUPSKh$NfQGk@>Qm2wPv@wJQX ztkdHQW#gF8C!@fhEe+MZBg4}M`cG>sCLbgz9iwx8PfDBrb}_cUXDDk4C%N$3Q#9`> z_@W#qRqufLp1M|wdKP6%+wprb=uOw(tG~axZPWcc`@laCQVdCYdz2QIi`p&AvTcp~ z6|@7HqSc|=zeWHPl&i8OD?6`*+njpGYE1P$a|$hBzh(S0Z~Y+x)^287`Dgy`?CWSYofHjwpEDn=*Un153tUJ4C5m9EIzWMP4P2)-D5 z_7HqI_v&TDe!Jg8$jGbI6y_%^2?Fq?n~@LfivY}9liYVvT0@@_K+jb=rdI~>{+nU6 z`Oimsvs@cqr(wy*<{}54ETDSQw9RgH{?JS6S@%97$>x}TS(>2jR4CeYwRu}lc3YRw zj8KF$t45sleYF#N06?uPGnr9NIG(k2W#A9P0^<#*E<*Iqs-sV(OO8lBST`b!veHC} zPg@shI=@3zdNau9qZ@o|Zb#Q1Epeon7pjE_)0dxp`5*@jd%lJ=nU~MFMiUCqCcXmv z`zU{JkocZ{-Uc6Uq}PacKQX3=5lGnI+lQ)yllkVb*e*%WNa_fNxR1}A#$?dJBl+@1 zEL?D*Of^bM971b}?@PWyqAB}hJjZg8+hWOA?}|cNMeXA}CCjai+$3Rk0~DQQGEk&< z@Th^)Ek;#2LD9vE%xyw+i?jCG!#O+U<<6c;QEQUN5TDiDdWq=A6%F4ZjZhWc@BeW7 z6cS(wuiqeb7G-`@nUrlmcNzH+w9L+l%M};S9c+1gPth)4Q1 za9MF#f%1?7m&JNBVPHQ{&V*HGkvHD3>N=+KX8g|RODbt51EDONJPSrJqKEpP7XPIk zHjW&M3LjR7XHI9nj76mI;KfcTYlBAT^j>jw4H%#=k(D{{15 z*&U64cUN*8`BawasbAA^7W6u+U(%I_>X`H;F!>a~4HyY%K=LZ;=#Qj$wkL^Mx^c+) zJSGM~8}VhS4TPYqTEBogm4U(-52?IZEKk&>%G|OlX=+=mvgqo2GC2oBs|vai7=Ell zar|5+iq(oI zn|OE?ua2Y-3-ds$Xp_S)LyN|FV+n;>DzE?>SK;^&T4mgdVPIPy3$7&=dy*d_wz(vu z2TrS)w1-?~(a9Ly3k!4JqBm6LNbh+Bwd1;f+q31Mo!A4)NrF&&BT=-?M^!QLi#L<$ z0Tl5*&u5byf~N4^8PA=Sqtt$g=)kp~VIqkH*`n8Ukn)$UW&h<7=>Bv2KDqO;I?Ix+ zl<&xRnttB%cD5ugEhBrToOh{-LhXX!MI#{~m3_5bNz|Lv+(r`j9_HgJSFj?d`MxS( zaj*#|Y@excg?f+{*A^UPs7_Q+e+`7Q-D$dnq9n*{Be7q~Lr#N;*vMwI2VRUb)|#wm ztyuyqAM$O(OdDG0>R%Z7YSVfng`>r+N_*rWUOl99p$=5_E+66SUI{+F-$(@Zqfxgr zcJF-i8xLWk$z#HB+%$!WmAP$=29~1ZFRgIoB&&9Q#`xE!g+|kw*X7#Osm@KY4;%ARde; ze*yXzOzT?SwBKBUV0TM&7YE$FuUy#@h5C_ZMffF|6>DlJo2mC#ieY|6mcvp~4a5xh~>fd1MiuAMcrtPxpZ` z51z3)Xu~QyLq8~QC}{)NOCTCUKvLF4wzY+WuN)tiJSAwNUL}S*Ov6XA{37^gblw_k zPxx#4ym#pBW*4Pp5s`1iGskML?`yydma&9?DF9cxw~Mf~KMR$W zHJ50AXzaeuZ&wC~iS1DRGIic~?JeMdFc-%&n4X@NgKFG>r^ti(I~rZGIjz1E|3 zp~bZX3N(^el3`jHaby_6u({eLe*Wz|0b>)ei>d(mqJDF!0O3H}hUZ5Bi?c3UVA!#= zG=t02-Pp(taNDiIpw4g?GD}!)8c+C16m=LDKYJZn9v>lEKEno=%bqX2AN!q710jlr z-USCB8s>3_@sVg3RE5!fl(v9IQ*X<98xV+s;f+tRMi7zbGdNd-T|~ZQcJvL+c9p_U zMd^qDq93t&DVRUA!vqT}zaT~E*fI5h%6c}wFa{C&=hF4+?ad$z8LjZc=ht<@;BYM3 zO52{uxPhn0%i-zOmilDX!Y5Cg+l8EWnRv&^+WQmJN2T{|X(V_O#7ETldfDk#o2W*M z`hn_;-$)mG#h$NsNNS1|YmOq#)QQ?UMvqvcL{E{MKLvx%75iRnXUe>R&b0+CnR^=#uJ6ca`M z2J#X&X*(x@6y7iP$!Vb>6~B-dA8D4v&C@E^exG{8)hDqtsE|4Ds$8i}yx)ymBa z_mS0oQvsS&pX6sWvYXI@bs9RnV7N4xQ~8upmM(fT0Fo@8yJUIJn-8Y(3YVGHUrDN2 zUjbWWm6dTA_=GeAayp(3^aB=HC;g7*MntJRtOOqG>66s{GADNRKP_!5z z&WLLoh}3%2>{b`Y=B#p7WT|zURZW;xZt0OkAXEbjRFmHTe-lR1bM@;Vg zXBq2^Hc2a4%8}?(V1)bL6r~Sizf1E2sy{tPK_}5vVxR-7T0OOzWumYH&yn7PQQ^a# zSOIZdVCQO3bDHIhF{wb*hZk%WCl-&(E!9O@(pk<5Sk67t+Nmt(EiD&4ESDbpIB}LM zIhL!{mTSe9Gm$9+gjn>jD*wCqhXrVIPyfg`ZD#TLtJG#_SEqWH?Wr+!NR&G?_7TJzz`%R;_n?KxYfK0|Fg;vMJ23a{B zMie5_)6tvbORTV+8Q20nE+zhUMj~%Y=ao@k%OY7mq_4 za0^hd+d#YPEVxf9mD843CXyW+nGF6;pIFjMO#~tKLS!2HCsV5*#pI%%t|TurC9YCa zY$SimDo^wFfjsyjAoy0>TP31_$T^qHsX4IFXygR!UrbOyTwN0J5KnsN>FXoy`0mXV zqK`92r=B^ga|Pnnx5&k+8+mD|U)bSp9)=Nkg=w|vX*vgmhSQ%zR??(_cr(3WdKer{ zCAj`J0o62EDF(~lB(jv%OHLLpZ4#Mdh#LyS=YT{2YQqg>0bmt4unfCD&kLB~rMw)A z{f$5udUmS}2irs`+C-V#;6LUGL!swjOqe1Divxle3dO^L;o~f$vdHkj&fXlbs3*^` zC`d2#fSG#BG!1!Y3<+4X=6Gzz=jM44TxC8^m|xPEFmsc0eb@`CGB2mR3tnTq(6C6U zuE+=dN8^ZU1Q+dhMG067*TBdgz3{s@cfpvby70p*PnieA@nqsj&9V%$uVuq`K(2vn zj=(N{CVy+8JuHk%B0^yq*9nTJgb8!iiM$bKQN~1;I>NQy;mR$KNXPi9efCu!_G&SS zR7}U`I6#7F@wk>FxMISLP2O>&N0I0K0rp_or$?2(`-8;{v3G&H(nfN@@ViYS?VO{Y zO#RV?V!H}qbEQXd)p_emTgX=Ur({Uj~+3b8TOTrujaB{dTp1KRoNk z0ZT-fNkrIfM_(=zJ)w`2?54OUC(Hz)qw>OEaQmVY5HFwA-jH9Sf4x1kIv&z?n>qto zDkppedIEZ}bfMwFiQ%eV5jYwV3SPMPQAEnq1au~Wc`tDd!y?gt{*aeNn#Dw@mf@*v zN0*%YK7kNBEQ8wyCqKyuP6;P(D{RXehE(hWS)Md1;bA?i)`2m((MUrO1sj+iUC);&G)dl86b2E z6&L&sbkLFJ`0AEWTQYiO7tRvPZEm;BLGr9jQ8_y-!lzF7Mk&0GRS3Mu!c3R~+hJdm ztEf`7Uejn#BzP#0x4<8)Hf2~T!^W?BllLa_= z8E!=WZ(92^a2xxu(N;J56h=Qj_2*!@!Fld~XzkshZGOgW-~T@I3N3!v5%j#5xY!*{ zd-^6cLzhh>nUlbd?}`krNl8MXo2hEpM-B^hq?%bp$B*RHnx z9#XvJ#hHO_KGSO4F7HHb2xzSXQVIn$-Sxnnj0wA5!ovYn+Mp06pMaCgmx|V zydu0cNKRlxiMfJgnYHQMx1gV;ji{oVP+yv)KwN zYH^s7nKaAx4?q$Al(SuTCSJW-;~eC@yeP#pc6nuyx8W>`@gl^W1+WVvTpHL@^sC|+ zpD{d|Mqh}$y`4Fj(@Y#Mj{V+c@F9hbQpV9y7#o&cGU3MK4)nDbJf_C3TbQl z$XTgJ>4BKV~!EzaN8kq5ywiq-#+i!TR`%U@wLZ2JO>`)%<{+@3riAQ<~fO}<$`E82?G+(yN1jkWz(2Z;C{B-}wEf0MwEhiJ zg|U!vP!mATvpw04#r-JaP^GmT#_1L?!-bL)ShRIu^{E;ZKfr*Z`S;?FX9|VyhTCry zIps@MBGSq2!sC9bCV^iUAy^Qf5GfIXP&xRO$Zb8NcLTrB9a9SfS@?Og26ORqhP&nB z(UuN9j#B@<@gkq@JD#1;4;m(d?=t9Kuqq38QEtygv}(1L!}SeQGue{O3NBhDv9=$*YA5i1$c%y)TN0X=e1;>eW%fc*;y zkvcg7#~BIy`}R-7VcB+TIUX!B?Ez6 zu@rCm;qdf1ldE;Rz;d1E1$a^Bw;x4VS`_ZTI` z=&ys;w$ECmk5;0)%*jM_+4{TLYAs#fS^Zf>b=H-i1#Pvb>l@&wf9kFM_(pYGb&RU_ zO&nkG)9Ro5vdhfmGD?x38`CxdxwZeW^Ghx1n~*)#rkZ3NWX*&nQmO3Zno>sbn`d>I z&H2+4vlV{faKM^gly3?kS`wF%a(GV_u!vvpl58DYdq4v8*DDc8tgRAuI#V1Q!YJvJ zKU_R#<1FGBXEfDHZbzHD9~(^-C%@;;N^ob`p?p)5m_747x1SD6Zng6%|AjkF1v*SK z*_?N0xV^LcB=wE%g0_u(T+`t4Hc5Ou%IH~Ki`r|8tkjl$xU}F!(pt$Jc~^Wf$ex*K z4iTdj7dwR!!C2+IRjis+;fNr9t)5Ij3$sJF{c;&Qt~ci| zZ2kN2i=i{D266%)n@nf}r$0{Pg%^NPm?f0gF#F~RZb{|f&m$h>xTd-87TxU%^$y#q z!GH>fKWQQ-U4E}ZMX8@=e-s=hA^)Ry-fT7;Y13u_bp zdKVj{KhQC}O7iEueT*o;C=4zjnhT#N+IQTv;26&fu@cT#%0Cz>Sdqm_w;CGE1$VJH zH!+oUFcB@iYZw@RWn6ck{k}Lj&;t%YtvqW3Bfh zipTLhjsFI-00k{Hng+@Om>#wXg$Ci3bu2|IEPQQwM4_W7FAKg&Hp`6cuTazp9nR}B zydT(;SvEb}HnNa-BMO()rbJ*G^s@pKJ|k%>KD{>A9DPT`)HK{9YGF(4z)J4^ZQQ*t zjx%GNG7I_~y^s=rn9e#=oZngXZ3L4q43uYxT4YEyuwKW;L_R1o#V_EY2cg5jW2mt@ z2DP;TVEr%O*qxH^W{wR$%&I!Mo&MEs}JR>HVOMElky>Bn1U|)biqi&$=g!rYR zY?)H_!7cvJ^N+j*Oad)ML!E410|gqB4g$(wH!zAh5p!GjEIa9QFeg1>kb;bA>|0h= zL8vXU2{zGuCIy!Rd3GQBnaZ8P*4{k9m207#C82q+{h8yM1XIK>)fmRe0X(3+9PLLu zlOBnNEoE;?ikJ-*1JgvwzSR`U99k@$ZCeUd3d`B|9u6875rs`jV>YUtQ(P-Hl49bX zRQ9fM^Sq=KXiSFUuIU*X-h>zJy{ms4VU@@>2)9;;c#o= z63<}3K6HS1>`#@g8r@h;+?wd@(33Od^S8>*u-Z{LDUho&e_;4{##z$H0jAdeNSz92 zcPWl5Cs8U&Rv@H0o1S#z9Kd67Bz~UO>95HkV|r_Vf*#^>;TDu z0QH|AyMyzEw>Nk%zv4l5?0r<->*cAH`g*jUAhjkvd2IxXt$ne?U}R1uzJ=0aNMO?Od4lLw~3uC%eRt4s=qA3;3NL@GzJY-xJ3p z67H5$8tGel7z0q#+3>dmi>$;7=an+laDQoz2om{d6-q}w&;1m)$9~^gX%A;^RstBIuy*-*caO&-jLK>{M)VOjKO&1%SDC!R%G8lijT&ef z$s9siZ#c4|Tw5!aT&w(Kw=d;um&agS?$@y@0xv!81l}SRC>+Y7kD?k#BzGl`A^8xq zJi~MNM`=&mL;j7rtFjL#Z7ON1(eQ%qe7iTdUh;5yn_|W&b*2=+1l{wT3-Befk8N*H zY1f`3e_nLHoW)IZ(^2n3F2GV}faAXho*SLMJQ*d0K()A`abpkAqGj#^Oyl;JNwztF33 zZF3@-jLRIpw?w_h6z8!*wZ^c?__XN6^3*;!e&Oq|qDS-5P|x5e$e>#Y`ShqP#m%tX zUi8>=j^8UQMk4l!IeoygsT3EIzCR93|5m<1j|0Tq4U%>pbryK08Nu{ABd3p?_BzrB z7=+*)$I-pqs*3EjdaTsLu~mIGGXjyDP!C!teyFNW+4SOTUAnSzbo0-` zIQl@>7JXf3ywNuO$bvmHobmlgw!s?O(=!yH zm=^faAdokWz0jn^t)s=A2;IFDdJxqiXx4e_4x?z)eS#d}0c^ckuv{L!v|75}b29iZ z_kRJWKv=(jycoH3&LKQyhQy2l0y{B%-=hAlvrx* z9Z$Z4b3?|2A;*a#0^OaTl{qvWgyYlgKUX(V*Vc z$>bp*H$h+L;o99qB8+3g47Nf4)>xs0LagghsK8HH53Fhu65NV&L3U*OleQdQkkP=b znui3EC!TT1bCm_j9|61#{-CJTFUMhG-rJ4KM-=Isyy?1{PQVBlyN^giR7W z${pZ>1=xbcwEsW}jKF2!f+HA!4kD0ji-M8c0&N?4=~8)aOF8HUH(_5$Pt5H44pl95&_LEZBOOq zl55O3D%$wd07E0_0u3C(EucazID#nPf;FSfHK0qIKt6S4DKeV!bCy(MkInF z%I+X0mV~9 z6e>F=<58Pbs7x&|!|`#TqS~pNt2lIL-i1Ca(Lh|vnFh2A3NWxj2wg=IAd^0L0`Z)k zwU2-eAd>~OK(TFtCv3tpg%C1%f&~aipV&eo+yV^T!Qy+_1th}agZk2VnY%B3X)J!^ zd;gi_?|Z<1KIrrCz!yB}i$+qTS4DT#D5IpfiD>Tfmjng0G!?$`6GE2HB(A@t0=pcjmWAK*Y?nV-sllEfnx3csjuZ zg%~D`&^J;@tn25x-AoKc(l0$Gt(%}iIP~*(6Xlb=;R}~A11x~>pg)->00b^ZccyJ) zR?5JrNDCeDQ=|w328aDIM-7jIs@d-?YD`xkIv!Gi_&GkmzxO2sP$y=8ly({26p;(W6OoW|YWM%$R``-TC-&V{DBSEz+)W8~39}xOro^ z11*~{VGS`b^R$Vd3l%k1HOa>cIx88|811f6%0f0)dh+Fqq)O55NBl-@GKK+rq*}G6 zm1=bx!-e%ojjb|Jq83nQt9GNeP@;rUF5u5118!*o34V;RU_BWel%WYFbu(+Zmtgo&j4AoRsU6s{VU43<~!w_3+vBvH|v$R}w-Ido~ zef<^KU?Dp#H8)wS@3mFH1hXQG;NuP2-1@^nloD9Uh9-VWxuup(BCrlSJ)&c!l4(K# z*8&-~%O{)f!n-XYCeBN*mPj~QrIkl8I7Yr&pc&=7g!0>Dzy7cTaQ~EoEgIoKBqF%7 z!3Xo3&=_W*Sues3RRocdRZ1bzL;$Br(L;SknWl+TVpOCQ4@FTnA_H}Vd0P{ml!3cL zXyAuPe}zhNN%XjVaG@5YWRL?Z)6H^Aji9CI%Vi(xh~+WKyc#k!Rbtc4H@{-3(zrxn zsYAMKAzSRfPQ~lgwdE>1u20*BmF~Ljz8mknWi>1@S{ZXp*uVuJobbX8|CQLT1Hr(6 zWTlSHwrC}n)*?}$VI`kzOGyN%Z*N=0f^ji77v1Od&?6g9n0dDb^5ng4=}63dWjB5? z1{k4H238n@5&jEM;Tjle*Z@)fyBWd~91)~q3?p=e5+pqQs{dpAj1L*b4w)%&lnHHA zWX6{vvhTyjJE}S2e7N((2CMJ`unC~y+xF&#I0%5BCTekn5#Q^LL`$>jO>LsKEUGDD z6`=?PBNliykw|81F6o*jOmzoJ*#d)OyCB)%V!^YWO@kOz$pz~YwyT^FZj_po3RO5M zTZpYgZp+&YX;?!W(r|D6=$qeI0=UEd5Qsq(;t+Y2IAbyHHIIW_L?*`@>qtvqFt}Xi z_;(BoAxAulaKyNTL6dXc20NHjU%Qx51KK^J6w@%zb*2F!*?rL>{n`e=?4vvVtYUt@ zOBjI|*D!uS40#z^-W`}xf{SGcWzypc5<2!VQ8a-?0RPfQRz$&!X|Tw94`~_4K4*Xr zxkgzv!;cKQlMflNF94#@ospWr2o)&el`Ia5Rw08(Sijd$AH&070T)X@WX3U73>X0+7t^_g3K{Mk!6qE>C;uDVLJ%!D#9D4)i%(Gq*H{5Ih3}w>M9`oqv7iJD zZoLT$sMy8X*7mkl1!Eq{xH1ovOi1t-8F8CCB;hVMO3rO#cfWgxIQEB**{Li9@<@re zf#oaVDNo3X*~pnwMOZ1pPtIPa%Hyg;6GjWKDvN70(ftu8kHP*1YI^7VAHCj~zj6+aDAC20? zBrj}%5vamXlyKB0&;sHsEy=4iN$lJgV1}5Q?Lq=cj9P8}W%(d|$l%O}|EF z1d0%eBFY{4kQ@V7j3}m!){S|vhLhbTL5bzT8VY!y9`%KjH@&+)5vgU>S+()^zaw&i zNO0%q9@F162=oX>Bz!xM=0GT<%w)`QCm*#)gbF539)KbI%dOmazy5VmRpy5Yyki7M zf!EuU!Ai5$$5n2El zLO=^SAPkU!6@~%yQcn)&uryW=eCn;onB^h(4Fj=i_AFx4A^~&CD=O>$pqH8#!bx52T7&ZB1I5*ZIYHp2+__F z7$w8>uJA;G12*9nS|BR!gij_(71j~kkdPn?(yo-SRvwStJYW%IU=t$25M-bf6afqR zp%(Pv6TrY07$E|@01WiO6C|Mo9-m?^?=>WegD!BZ3hYaa_KG`2cE4tSlR{p%!c)DjVu# zB7kwGVLj-i6y}NJG6Z*Yi(oj5akx((h5}sth#$BmVjzSGSkeAUpaAnjADU~WK%^(F zgyteCVgG8X38o=0UCI~va^c>Kdzs32cB77BCV# zVfchn%=#zs*XH65Y#`SrB^FfS z0*vh|Xkb&A4aFwKAeWOlw+SKFL?KIo1_%KM9^qVyp&vpZ6wp8htl$w&p#iG17$yM* zRKNv1APo!v7QBEJyptts0TxgK7P>GEEWia$fe@hK5hxE0Sm7AfEhht1Kqq4-ds1q) zs=s7!C?}`()WthgVHJ*{3AUjLFu*$QgAu{wLKhMFvLV#WsI?Me8VsN-E2=tnV-;=z zK>rSbj*Q{VkYqPx3H})2qc#me{1QWq3qk5~xe7%uk$^8f=8tZnMBq<32eUAHk$e*5 z8PUUK?5)uL0~&~qr1W7(ePk1802YEQW=4U$G7~^-pk*%8Ubb<7`mHup4ZOs}^B9Os z0$`caq^($Ug1*LrMkp@Mh9$seYevYe{B%fD+I^7Zd^7vXCEOAq@O; zKx@@j;|nzuhjBQ1iArdZz_a>@e4x!@e&nwp~Mz>`~i_*pt&lA^?KS@tJ@vQC}8j6LnGhs!<`25g4)-E+FzA!c*Ze zB*H)s6yX}kfKwSk6+RU_UvdOO;TkqoQqceh0-yn2(jf-o7;Io_P48B>7AIG)b@1?= zO7qnE4bjk)LAT{WR41$oB6u+LDM!&M#b_H6;aambV00&<@Tj)dV=gahLI21y5%>sQ zfd?%&&0h@w<=S;FTX998VP5mnxdee3@b!EQfElQ(d!$DYh!oF|;A0=c0FdBac?4m7 z@=AOJ>ez}~9Cs5$?HMiNu+rs!WFXWy_7DUjA)cfd0)P*@guh60tLlvd!EPi}_P}H< zt>Q0cmzQ~uaAtd`W}6TZ8UPteAo6-vB*H)jgfAJaX^V+z!=V&ZplPij7N#~n zRWbn3Ko9bbkkV9P$+2G8C;b5%f#nmUWjFqNt8$8&pAQs7k#YtBHVD zY}tteJtmnXBLa~3nZBY@V#tfX7>vVMjK`Ra%h-(17>(0djn|ls+t`iY7>?suj=lJK znQ&MhA^>o~6AXb2j^Sv1mJzgWwN;gD-*SJ!G5Aj@3v}b1P z6PHmG^;T%o6^t(6a6?#Pm|zqV0bb?RNc4fiHU^abXkS^RU;k+YM`XAO+D9V{00vZe zIdYh%rbf+rm=O@YtJ_`7tROek-IRKg9 zmFLL-R*@gfOg#=!qofXz>H}idY<@VHEdf!OFTeoaGDjW6NRAm`H$h$lq?tX$x%$j< zxhFvK?2!obns)?r^^E_<$Iw7vJiaz(PWwMIr(?GHd+VH7RVMGh4F{a&Nq82^Eqe7vTb2pgK;$5Gq(aJedzY)e}>_Gqpp3DHfs<8h{L}cRs;j1V~%-R$91kELV@H7r_fC#}+1}gayA*iPnIvj+kVY#7J@eaCDJt$P8;=|4y;S>2mAIK6( zigj@Nl@XNVI<7ja+0{wb!zU79r9!5w(T}X};Fwt00`%cTUhWng0nZX40_?3bM^~;n z2B>Jxt{(&%7^zxL1WC9Qb^yC*{Bj$V(WZAPvH$x`ii4L|r^f57W*phgc-yKzTJudP zgp!9F$8$Va3Oah(Ef%~W4N8C#PyrFZKok_g1113nC?O0`QW01(9Qec#YC)l~KqPTN z4kjVGG~y9r;j~{N02mSnaIFa_VIy@M&Eu`O)9DVE#lM!Dxy=@!oX9%pK~!TQBdrh-&;Sg|aN7euaJ=@o z^^i0N=vjoU&Tj*ann1cmL8tc|H!LSQP-nUWopG$Clw@F>_g9tr$;{RRy{$v)L}r&6 zM5-&Dsy)Y8a|CgFMub<zdZYA>uBEHaMlK@Z_7+8*$WXw6sSYY$Yp;YrSOgW*5uBFL@qe02`0>5X?OypUn4*{5Gc@` zi_?>5rmkYrMMf{l8d(fnn!6`*x2M7H0G#zq_$R`KXT82cCXhJO7!4_YfDHCA=6`l~ z)0BrF>I)j~OG_2|;5WHg@0q~F-oPd!)utAV91l=wN#SSbS*YLytpj8P30ib~xYHEP-C3n* zRVh(Oi~+8(YU>3?iURi>RRUTqh+k_ZVg&Q&p(c!&s;JS_=gpguQ1R<|^bTqnkq*&- z)wrM)3|F>?=Vz3NCC@z*B^)A%MjUy>iXQol)Y3p2qNEZN87;I?Ob6C9T28YF zgc?wy3^mO*M==wMKutXb)l^l5hLu*Lc~uKEVXY;IBR?srPZRTr(v~rd2sW2KbxA2o zUVHU*M<|UARv2R{(9{-Vj$Hs*SCoBq3ub0*=*WSe-6l#`qeZd_Kda=qiBLx#k_dvf z(WViixADd(T%|Y~9C4B&m)t3#G&i6>(M{)Hr=ETaYN(=)Y8-p*#TTC-^VLUctFFEZ zYpmu0C}5@q9@rQLj3%haZ4S2N60i|Us1Q&3sMMMx)Jhb3LmkscuB!%|5aLX?sW z6P4JaOc_pd)Bk3x%veK>B}{|FP;*Yh%qk20SQj(=_*e=Ow;*ApO_Pnbq$p*bb(EBN zAyKAa{D`vGmTpnm1YgV;Bc@=4L42oTxC+MRPqjn>(M^=d`DC4+9hxU;k?{E!pr;(H z=OMVjriehZ`KnQ`3-Y?#F@OOU9B_;XN1SzrVLITZvL20e(n>FF>U!>>`kt!vElqXR zR$u)ct(p3BD}oB*hUl-uj_p#hHPnRcL>q0QqDIi7NG(Ywo`kIofl9d1G)??v0Jugq zvC2*j`J`hLLK(AeQtvud*HrXgP~=vlNXBniiTK+Dz-g^T*jkScg|L=TH8B>IUp}nc zU~3(Q=KlqLj+wEZ9oN#t!E-|6$Q>iw2GgE=9thJWrwrCrYpTFjTk^^KXftkrHLA!l zJx5xc(3fs)G}hX0&wcl$HvKfz@=fi1`R1R$pVqb-`1OJV+4d_!W=mLNgeH!{8p>;L zBKJlep~!>|u_#ZhsN3CGgao}AATi+55hYgf3K|iv1WmXR;*5e6MzDx+X}QI`c#;>_ zNse+~0ZQpIcb1r3&KO8o%auUa1kt5sg%|kJEetcJi2;T-sxv_9Vkeo7MWS{H(~LfJ zH!|A5XitZT1!f>4h{5RV5Xb9PqQX{?-QY$y&ua`^jv>9CNve9su@upuBOUaqagA)u zPyf^U5k9C%ja6-|qaEw0z5#U&L13fVKz8S#VAU^J2~pxS^0x^CNO2-8!T=1Sl@e+R z0&fI-Q=qs7liDT5CM94(yIf+fCM<_2I+BV8LBoh!9K`}2j2Q<06uFFzCP|x+iXa4m zLZI}eOM*axC?X)32#6wvb-9b__;N!rHH9#uUqSM*m?9 zOzQ14z3U|4K*<#fT8St?iPKU-W0$GK3^5@zhU6kMOD5QIm~9H!EqLjc7apu(#avho zkqNOe8Nip$YzUQnn8Vvm#+nhx=2?WdJ0?*oTQVYwRs=>76s3E{)V3Q zq$57Bm#OR-bgz8H8bHODoPqXru!Q{-LY)(cN8n0}V4ING7D6_%)u5vIgUBfO(V|N} zt0R$=q)6XX3zVu=OTmnsB5|2mF$ODH`A-DJq<84eR8U>^sTR`{t8&Z+IPSF70+S0rdW6K@w^Rf2}C1HtVhg3 ztogev@lfg#3|t@*AI(Q4m=MyEbb*Fh;9+V?OqmE`)zx`Xx_TP#9lVN`Q|#1QMVaLx zY#lmpM-@NX#zie)^dGISf{knP1bN+9EN+ICp71$tU zJ8)$EJW-3XW*UshY)YR+VUJo^vjY(YG*n{Jpiok85f}<5J$cH(o&QCY^-0`{K?7U6 zP~r}ti7qqnwUud1H%VbRDlT!n%N<+EU|yn2jzz)3hBYCXUNiu%cbH`8{)sNDzKK43 z8q-k-0+0=<@=c&|q1moVI87Iv}TQi-{jc)aT53u92 zXS&}_SUW!g&)5zdfe#``1S@zJ5H&AMBKp*;Kx`P2-Yt%q%#Z@w znfXzl2t+_AXLOEU;f;1T!O1snPUF*!)*EnOq9bu_Fs2pUxG7)zalIMC#mi*IeCG0`o9HOzyk$9Bb`D(O z%6u<1S2>k#q4T2_`CvcK;p!YU^kUb-=&>WGcD+iuZ7=~BQZK>BMxaV)*XinaKUCJY z?!~SH&FkXE=8ej(DRaMl`-NS*K-$qQN(u(GnghWgI?m8^IT+Q4>1iN$w&L7k7HXb^izJVpB|Uag8%uu(TGS*JMVK za$N!>r^gJuUV@?7kdO++_Kf$|tU*ac)1?7FI0)A77h2A4?^wvCc zmu-R6XAz=zt?+&d#v<3k8aYvaM{#I~w^bJvfQd&LwJ;5&RuV{{bHD^6ox~#rQ6n*- zaRz`wm*;Ugg&}A1C#QyNb23Y<<}Vv~6qI0sy(C=1;e^bj34MrK3y4jb6BQn0agQ-N$^sgzU<``rYsAJ~=W;K3F%2z;dW4~I27_}A(|Vf- zd%K1Niv@~{r8+T3iW_)}0dz2s0TqQZWeuTCkpXQ@5CF4SJ4cr!`XFUC(;#gXX6q$= zODK%+MU3+0j5B#Y${00QNRv4UE6}(rv@wmfAxQYfe(fiQ5hiHch#KWs5~Yv`Z#ZZM z@L48RT^|G*qQEYd##-yR3iP5)F_A7%CjS*5gfXIHI586#`B;HPG+ijCa)Mx7r}vKp z=_mCuatNu3C%BOJ@;b{TTrRj35}6oJaTcQi4b9?fEys=n5gKQqB%2Wcs41Wkw8;X3dWElC9sZ}wuS*C3R+M(2*ha;b4Z6&xeCj98pcpm zu4NS&6BE@bh({5YOc5G2SC-y+0fnI)H@22X(U!)wC9dZ$8V4Ls2swK(4Xktlf-s*9 z`8sjYB?}}~T~cK97})wx5eQ%+vg69GAxjoFYz6eI%bVxR^CMfDT8GXfW&H`SRL(1`?l z%8ObD96Qr(Tt}e>P@!}LU!_otp$Vz|svnEWj9@2>$I*lbHL%!Gu-Wmb{yHlOiyRj^ zsRUA~UT6>~iEo}NhAxV+jW$xc`52tBlvDSAbjWx;!EhZzL9QBP@}e$ip*TZ|k)kvd zESIESgamuRO1z4XZSkwU<&kU|riox{qYx$kcuSQSf?aw#9(W5)tC!C+7}VNpT~ek! zL2OT=B%6>3w$nJ^s{f=?^dym?4`64N6?B-}bOCx+5;GHKkCKEF>NCV49Hl_0#-SA% zYK#o4x9I_}r^yJhfC`%c1IJKLG|)`$MW~a~DvTfqK@bAA5HykNsHZRt78(jP5CV)4 z3gs{if{?iUpmBS99*j!~kSu zzv-07xngrVjxw+fb@Gihf8*a;$`_ONO&I#6^nHvr_uAVL=H< zAPATkkfSq+$hxIl0ejc$OL;+`Xeu#M+ba)=tu;ihXCW`8m~x$AmeED7&@i@`F%8oY zMWUb&+mr~v2LEPRmuGS{SArV1tTG*Bcc`LE!EaWYafXv45CEu90>!WilmG*&kO-hP=00RqK!Q8Xy;mN(i+G>T72rPW1zI01mTpZ}Db9)h&d5JHj;239`D~Zu1*@-c>1~5Nyzd)i7 zDwd1O1pmk=M<3HPz(sW#77M#<`=GhPb-(d#;5J5edr#r1uM=Fw$^0FCOFkDG0iGZV zj}QQ!Fbu_@4~I|!iGT$bkOYpf2^X;my9b?za0r_q0~bKUqrwP0tOArE#6jS=Fwg}- z&;{i{WAjHEU#Qh8d!=MXCtjyp6AdaxLl;8-0KnaP^&=1`tVJxv~(pa?N z66-V@Dynas+M=`I#$7R)x(k^IST0kyF()&XOKF@P0}V53aS6n-YB>rvRfwx(q^{gb zS;fdonxAfg7m<7xDd$UxKukHczTitA^})&4yD&|=Yp%0gzJ^t=^pHEFyil>qft(yb zGXK-%#S^Th8Qi42`mh}0najSSlCg_~fBMUFHO$qM9EPf98(PqHeI3kfPmB-%(O>~K z;0Q^;&5l3`hhPE4;0T9s0jO{Yqks#eU;~HX3Aj_h6|uNC%nyzm1jA4cIvfi@U<*79 z3%C#jHw?vsAjGyn+93b~KCHt5VAtJo#iPa#m3#-~>Cg?$#hW0}tm~Suo50lwSsUHa z3x>PURwz!f2`}{-PT@O3NSv#IvM&8f=$gEUQUSoq=()d*O+_7F-&L)n6qQVH#vI#7al~tHd!?3mM;8?6d`$ zrf8}w@;l0^yvn0?$hQjMF9y~qH&e~}m2;xtuiN0o_Ws{iD5t>GK) z+Qm^lwl1*sq3e1rut!5ij(VXRexZ3C?6Dpm^1N#7?>esMD)g;LJR{Xz1d70P>6m^Nqb4~-J8F%=6jVLn%9dqnv2n(y zCcNC>NhqP86De_f9mZ_o#vbdlj`AJK#T&l50ETB-r{#q7<vW>{?uhhrDWDCn1r{Zeo+nrN0(eAk9$>0s>j|`CH%Kz`+tM9fJB_{ZR z_BtE^FYs{*IZc}tZVNh;ZdJd;UW;58Xb}@7mlmva2Upi~1KuoBrxw=v@K&b?R*Hk41`2w=fO*Fl38`87X*F5AJJN|CTAFH@@_q zP{I56;(^uqGuG$S^a*56J0DP+@Tuc#e&Q%ThSgg__nxdf%@deM@l~Uw`y$kllmPg; z!iyd+X1*Axz!;2*FW2RE;gL_lkk3zvtGEEcNFYCg1qm`Tc>i!B$S9E|eRiZ2~<5$XTi4xP8ja7l6 z)P+%_^feJ>zyLD~)0!|d&{7d2QMW8Kxg~0qB1NkVh(aRjPGJk9*s`^IEAoXV7WCCc zEJ)Poyo{DUzHm!5;>e;>tG;k&)#6f*4J>9{TNJ;=tJE5-A55Bo~!Hs8^^1XB^ME~{#4Y(IoYL7{imJ;0onP2~Y z{{8*`2QWYZ2i&h80}rg^4h0uvP>|RtA}~UZ7_otpTLi&{lKT+SkRSF03P7QVDum%f zMsT?RArl)?g%VLrqu~|^C8V)N8z&rzzLHQX1*Y)An@OgdXv!%ln|!M2r&fZxX%?c4 zLP{y7Mqy@^sHXY~t0t_3X|58oEP)b!xH5~G(=5==tx{CzQk1%;Nz4FanmPGQQ)SThDu)daaCl-%UJ?as$|+Y~tA z?7GVsevnhnm{r2VuCB}UL4pzNEU@mly7Y164*&0l`cb^^Fd%O>-_ldh#1Y=RPA_8^ znNLUi@VhZuX{V*OT5AV95J3jFy~9CAueC7%L1;k50zp*S#DD;bxut~*1S#$mTwplm z5PB)Gg^^g2LIs9c@Qo!A4)nQTgi~A$SP&bmqfj3jHnByJVl0>uT#GN(NFCnI-S(k7f>D(a}Djv1k;Drf1ki7XEZYb=;nxxg!`wke^BF^4MiOzlQd zN+v~0fnhkjt^@8Ye!L^Bv%gej%rQSD6Gc#0F*9^CQR^g46hKXr)zT&?we$kX7|HEA zP&eHTx8FJoP9J>^Gv=}6h+_^amu$6c6aTwXJdW1u=&H++SbptQJYdJmTG;c{E5+FN z-ouZ%X6bttW6?(^y>!zZ%GSUHxn0oPici;%kpLXAMG+fh44{Q3Fr~ziCOB}!5lS|J zK^0s}iC~lAMZv`p3plW#h2V#=!4Z907)6j4Ho4`PhkNh6+}B|zpTCGyG$=$BbL80L z$VC=eWhPBN`Q(~bYMCuTj$z6z3?7k*RI&t(uxw>0E%ORnghr-YNXYP-Q6rl%Dpi`yMM^cQVFnTa1%n1&012Ja;CuF@ zo4GwFYI;jf6Z%FO!0l=!a~V}#68|A9R8vU2bmEhj8Fx|_@R#%@nc+uqC_z^;RsQ*hy!;}MKMY+f(Rtx z7LG`SDjc!L;$46Sh~&T?FYvETSU?dE4@>U(US&Y1P3B<2pM_kL#7nO#^}?r zkNwC;A_E}Fcw(fK)z3)yGfD}PB9~kEZzcl#3N%V^3ofw?O0^KCjL7ttGrj2ot5AUo zmUaQX3C~pgxFBHeR2UdyjWHk`B4?7AC$}Nt7L@o~6Wpf4N*Q21k&+ZM{xq4?xGe&E zk`-@UQX6-A@Hi;k8*%hP#Q)_eBAPInW^!&diX|TBFUCO*XqeNID)wqTy(z^ph?Ti5 zax@{Ei_aHJ61q>8)TAe+78=#aI@h5TBM716i71AUVt{WGdgDOx5`jomd}ajvP##aK zS-hJjq8R#+Bql9z3>#Qrc89EFCtXTLMqptSs*nLLlHiCISO6EB*u){i3XM$Y$RDhH zA9!X`q?+IaWwo?rP@cq=UG|R||Lf8%2FSfou*sN5ahWoS#!R&YXBtSbQZ&o*H%gdl zR)@Jj1h)CY3wV=HqX876MmP!!80t^(LZ@=pd522f;hmL=C#L9m0k_R0HiZ41<`7QvY;mX3<-4YgHI#++hS};cOJASkdrYk)pHVALgWsHiryUK4vB9 zRJFTZ?si0_YgAB6yPFVbL8~B%5QM%|%Mbj-!WP|v)+rM4qFAigj_K{zd+#7FOcBJm z_&G&?$LmH$6hj82#04r2;fO;VLLY~qL{@}B3$vmXWNIZ+P5?-xxYDv@$0!PB1i?#! zLFEw`7(o+!hRk6WlV@x>iY^x@ld{~xOtlG)1)e#SRlwkH%UN6yFEF*-aI=Bl{2*pg zGpT8KW^afwn;@7$39Fej|$&4YsFfj&o z$#4G_&?WvRHvh+UvJjW+qbfQ#Skqk(+8SaI15D<+&I;pz6}@QfeiyvrUG(`vBqCD| zL`ChXbfpn8kxPRp(;o6r03gC>s$yY~ut0@XV1NY~2;vZlc(pKQP~nuYq>5I6A1vut zKcLt|E+J;ZC`7@_XNZ<`zo{Yhx0YxbRB>5aKY`^NBd^Wi z#c|=Ks0b_!Joax4E6kAb97I7tE^@y0b9AN4(RUKsJ$+h*Nd1vrQkUH1Vs!KxA$@X| zw>);56#s|~aAg1vlpp|<5CqOQp~{ognz=85pN4l$%Ua?RGsBMAVHNQRWRHLn!n_Q# z0qE>y3l=63M~?xTz*%fZ1y#I-RJS$550?0_fx1#e4F;pa&B1F@xOE$8C3UIt;s-rs z1~Y5j_8w8d00yH0)e)BhO@!7a@V~vcn;YoPG*_1JLs3M*y=|I^ON59*B+ul2M8#lv zN8{6d)Qt3^mp&aDbcuF(>Q$f8)UA|TD_?zn1|55pE<_;5h=nIo#GX{rx|Ph;^~j3U z;h-3kEp$A_tS+#0WHW_O+Nlz+=u&lQW55;-L=QinF4UvF7IZ=X zNI8~jqevUIHwqCGB3G%4=p&jK%DUZZg6^ZS!a$56TZ%4w5rb-s<6texFequ_Cs4B# zH%kN=VlM}&r?@l00JNO{BMtmOh{q@m#yG#FNV}Vmi=}{yogu{jdqecl4Zuq~n*WH3 z(UTKXIfmR|#HCq}Quq~$YOX8dz%dg+j`OGz^tgghK}0jJAcVzO)QA{-y%`)ZMtCGg zz>r(us1;ceOko813dVP-9!DsV08pe9`4@f=wNpT(n7e=g03L-gMtgHUv>Ck- z07Vr5pvGtkA~~XB>JomMtuw=b%h{Ec;WLKAfKBw3I3vYABgOB)qKz6gO#e(4&gmA@ z1EW{e#-lt+THF@c<1R+%s)uoeNy3YNu?|&e0$X?_dhs1W@B~Y;fl)Yy=D~%Xib`0( z1${__bfJMms3Sxw22luru8f6O69hz39-}HHq`a1HY#&D0yo+mzSXvnkv!x_ik`tp0 zby5ihG=LhYLL-Br#%vPD=rYy{44i1Vyf~u%8Ec9CG{g*BE4Na@nY6g(vP2D=$)Ec`+ziDJ>o(d4mhL~S<6MD zg!lv=7zhOpSU!XZ96^f0lVm^NbJNSd$-KI5_5^v#!ytvKUIgW513!HtnA%`3v3tVvGD z=}qCxyqWw>`60(~91>mu8C?@Pkr5nZiwT^xQBmYTBn_4<;-VTvmXCT2>Kr-iOwcP$ zJ?(5A?(8n7v;Yrj9tew1O2C3!5STG#q}!o{5}|=n7y&=(ow96!5D%tgY8Mn zO(=o#!vzZnP=m3Bu0l{O4Uh#ri3W``B!tii-LNJxP9$y`Z!%ks~>K#n}O4RyG6yO2*FLXoae+GQzAX-G&GyF(y8@al-gOQ zgza9qHCbI--nwm7=>63ZmZlmNz70;;M{wI-vsJETtBC#4n^0i&wWtx6+>FvFVPTIE ztO$AA+!Z`p0T$xZ30-GxO7#Jy*kuSF+_Z$q#vz6s0`^PJJK*p@Un?ltp`+B`rBt&e zUI|WE3eMm#ZiNaSV+$T*Q22%JE!!b6j~7+KH%^b)ScwvD42T%K4-5r?xXmWrs29x% z6xQHa1zUg3VwvPrUDZh&-o)J$){d${qyPOfD!o}Kw&c+%;+`F_Q^1e%8;IR#j}Zt3 zRj8wh^hMMK!b`RmDR!>ijfpHa+(+9b_dr<1dKQe`eb zb6-VJXLWwg6&XDSVXyn8c_e+H1mM{OQ5a=iJcT5n zp5VbAvZMrDNfEE6mfW?15ol%Qtm0g4M3NQJ7w!qTB07=I<&|#OUcTUz#${nv5|2rX zk7>xXFu<5?~#P2VDF4m%mvE=&M+K#9KzE!n2tT5=v?jue*M-niW^!TQbW1#wM3 z+3Mi-?hn_G;#RbV2_9Uyh3aX7N7|{~>7BN&&qKNe_ACbL*{Pknkh|t25U&yNCNlD9 zWLMT&n1~;mS?Z47wOR&a3BKU?Mp&BZ+rmqWMD)Z0cdk`H2r8HAQc&Fzyy!b&kJ+m2 z17B~XCiA3b>bh-QT;06nY|is|*_eIOr6@t(#&8W^A=h9QAlC6chr#}RG$QLlj64I2Lt=tLL+L9h-!mk=J8>c|~VS3YmX4cLE$;FS4T_fGOM z4&yYQ?=$vLB5g>OP#QS5&7s!m{^s&c>+;6xSmWGO;Tvok_Q0s_ zZ!7{dY(|?omz#pvmJJ_`6oF?;w|0;aaT+8D+66V+qX-`ywWUqvYrj{D-jNyz49XP@ zbiO$APFcov;Umcjg{@^$Px3TgY_!#7Pc2P;S{0?Sa-D{AFE@=V(y{_mt0wY*+a`&)tUO zAO1dPA7@mcEA}Gy(USk6c(^KcQCR^+uGlDzjPg4!c%Fn5cRH4aFArFU z6yEf}IbPs02iRWw-Nkiqah&1%X1ES4#Y~r6{;AxLe@@e#S@P1a$tas4L;04MdxK#4 zx%cjuzYW~5Ny%Mzo8)vM!TEsIdHDfpdl&VdhwQYCSYWyGliV;QCGg%b?KnflGvhqz z0`tsEkHCcBxatWbw^WT4Z2c}(&1+f7J^PP0jfv3m3txM8)-TsA`M%3@SG4=vulw8A zYrJ1kb?4O(1oE4QQCsCvlBstE2jibdb=JmA0%U}LZ(I+YQ7d2i@u>VPWBRnWX6Hb} z4Ao-9HkmZn*mwV5^YVD#33pOvFP4comZ1DN_R4U1n|<1kd)-(0+_!&;2JgHFR)A0> za21Av#{?EksBmGy8V(;mg81msEQ+%#QnZNiqD74tKen3HY9z^$CQpt8h4LiE8W>8I zVpIx)#D_Ih2vk&xAHPzHR>dr}DyP7pFpm-~dUWZ~oEU)mbU4xD#gQUIe&jgSCfBZB z8DdD9^w_agX3hQ-x^yWcnQhw|Ffbx6&$|5X+_iP*jxAfF{))Q5Xpg_bhAkz+Yj-i@ z#*QCDjx2dH<;s>XW6rF3Gw05p9rp_@y3*d#rtb*4aEB4&5s}+MX3Y~eKiZ!sGYXKI zw(Z-#e*^yyF8nd0M3xL24phUy*|Ry#COn7`ELg8nC2FNuBP+(KRJm7ODZUjbmE%cP ztdSO`BAPX}+RPbrC{&+Gjlz`KRQ_6|PJs?3(L`Bc_0d$_O=J^%4_VP*LoQJlmRLEF z)m(r5wH4C{8ydimTpc#XS6_Sq_LpFUA?FWbiVfGIi!Z_$ql`0NCfaDHotD~ajN$cG zZay-Ci(t9cCfj0+oI*)ks=xr7ldSdjnINJ-DVvo>+QmpLO)??~46{K=qnKlo`I>Pl z`V$BS1}IXNS*0BG6hRn}J|gw##=+?$uadErqRYB(2N9@cg1 zUIy&tSBV#lfFg1$mRYQ^$0D1oXEugL8jhvuh~)?YY!X73ciAOKkb((PTencQAcFz9 zaZt-Kv3PO|Kek+}C6)Yids~n}gfI*ve6jXzUr^F8NNxO-V{I(-cA=#$f`nj;Zpt#; z@Mgswm!g`?F}ez@Pqj(bOm{}8r=#AT>L+;Kl>}0ug(6Clc_lyc)KU8>qQZL)CFIh2 zn%1{pemcMW6I4XiH_%xRe%#T4*_C>o(p+(zP^&_x1#5k>()yN%9ma(~`lvEFE{8xP*k_ECGfXJDzz{+ZUErci2wmtBM3ekbqIxX4+!F!~ zK?E_(FoMt?!XT@k-MiTkqd9S`Qk$i5#dbFBo}LLZfAn`p6L_-p<3$8hhfD=Xv(G;J z*IuS-RZ7%_Fbgfz&!FzfC!gu@=`p14Db(IV2t8fAtQfjwHLg5qeMek+m8NT616yH; z<+}qSFo9)D+uEKLExSx>6OK5-gCx7s!u>3i{BUnDIp5E2~PKuV}3@^77k_2E?LW3 zUpiSLUjd7NDiRwOOKHke4u^qk+sgy%GOZ+dFcF8a#WhNBiWTa^g`2S8-!>r%SYV+9 zjGN#JH?hkXjzDjYP{k$y=ZH#J0801LAVjVYJZ&6kNL*sar65Fm?QxDk zWJbqF5|SZe5#$&*eE3?*)H2P<-h5w_?YyAm-BTQKoUwqwngx@3zk3`4EAlPf>Ez`L5_RWt5P4hG^0 zJ}|;bWA&^Mbecx9LZ;7*0ObgGta25s5HuwxiO8zRn6%2;L=+uwvx+ia}}3e8DK=7>{@ERhNhV2HMqh};7!?<)4Bku zNJRn?BP?kp-7wcj%VjQDJM$LkR;fy}0h86F>!jg=moj@T%)~18vi<yDA zcl#GX^cJS13@?W}oUGzH&}|+bF^PdQ-ZZW0yym-5o%mSMIT5A31-?#cJHlA{7U;1n ziQY+G0ojn4mMdp0aPvOq-y;VYu|&@3k~a&fhpyJ6tQG(4rRsT>Ny-+J5Z+{8B-~O9 z1Lgw0O%ZTQZ00iq2gEo!E}Gly=Ej`3yy!)5JrQyYDNBet57lVV&bX0LQKe)&-m#8J z@`zU;S|mPxMU6{KWx0_|uaROyyP8jXP#bYmSW5*-v(y_)UdA>=LVAqaQeEO?X*SiBX3(+7>pPq~urQ%AoW>m%J$rVam=?0N5Bcmr zT}4zODbTbR-3pF#yl6Gy^ZO3#ZAmXu+~Xcgou!5$EPFS?Ad0Xp+U;%<R(yu-4gC9qSMqJ!kt^X= z3kouVDu}}6BmyPCz#XUtlkfvBTpm9phL*^I1)NI@zmk7z6Pgh4GPvY9$ZD zDH)_;6n>4&cTivTIToN0SjP>S((qUK4I#sI8Zs|gVOiJ6AoTMoh@JL%tXP0RlwTmTI~12H**KD59glmG{G5av)qCG3(TKm$L( zLLZg@KVZQM5tBY(f#V!PBoI>~paLc8&=ZBiHtE7JK+!M+jOwrk6xCqvcw!KkQ#pme z4N_ekj!m4cLJ#`j)@>b~)Ki{)UGj{aKUqPOIiFS-2zNMPd{H0vMd6ZR+Gd$n%M@YB zaZK2C9~N?&L`B)t4A#KGoEI`zZ1u*2sni+%g)y+28kPwC)t}G3p)0E670n^#O-nRf zz~u~%KIp?H6oUnDKqcJ5;7Cvj978c&LI@lKKX^hU zw|PZ_^kS*B&!1?-FaB9E_GHq)9ocCV-uc(bJ)_udT0`JdBat7l0T$JGAvcy(Nuk<< zl}6ziKsb&gInJNrApuaiVM~&w0<|Om@x-*u4GZByB>{kHnT$4j!uE2$=bWS7I0p2m%uH)R;A1I;LiL zHq2R4T`c%iTVU8-?8RMJQhKfi2jHc_976zz0=#I;DF{MoXi2x==Ln$2S4m0jiPe|z z0}Qasl(0tc-OIXkO8}&&w=_v#h-bsBrc}a~Yic3#b(Tee-=5ee*(IB9HV-28*@&9x z_IVs-k(|gWPZd@cY&vB}O~_zX_=rTtClkunT< zGKT(KlGFW*aGR zqj`l3NSe&33R6Pa_#v2b4l3W3pTSKfH!{~;q@|-mYKQDfvVz&90tO5?D~2V;SbplX z&IqSc>$N`2nMh15ifX5Higb8N^5v5iPMSX{OWBTx!yXGmX>{oC?h$7hC!u{zZ31Mgj>b@oz zAH9i%m}yil>Lp=PWMHLf2r0A5+p`J+4MeMvUhLCyM#Vzy)FPL*zEdfPLbuxJ&;CTn zM#`NqUsqT`A>pLQuq&%3qsw~Sr5Pp2q3U6QtZFq<&UO^Prktm>TyyyB)(R|1S>^t; z-?J>M{5k7iIIDIlZPQ{Z)iQ2nNbQ%37izNKYc%ezS#5G)?FhgGKSaP6ifX7e2l7mZ z*NUv3GzgN(>WWs{(j*xj#f(D<5}?NJ*Ul{?@v2ym51OLIK@DGn0SRsW?PDm0(Ml@3 zNp+j2$OPGPy)FYB@??BZ;O!mk!m)a~MJ*YfPAnFS>! zs_zPIqXKS^4)3m1*mWAO04?tYYiIL%Rm7Ta2lIo}b_pdo0#IcOyifvOtVSa6l(xjn zdWNtgPy)87rwn(CAQY8iP=dCArw5$8FePl23U3t#ZWVeei47OBA?I)b7P2DS za8JRo9@7;14xXa223wS=)I22?=VB6QmKFt7+ zauUn06z`e%U7>ZT08YR!KYLw_B^c69q++l#Gb}S-KqB12Gv~28Q!NNfGEcFyBx7I!!thJKbRnasBNWF7|1mb-G)>QR zAhYy42hX+S%62(P?`EBi66!wNtUt%*p5+}C!|nXi?d%dT`MIWa6rW52mdo`ASO;y6 zn$&bY@c!IZ8-sMOAZf-GnuvE6Q= zrF6Amb?k+Bu1M|jSYx!UL`Ij5h%p!gU*vWtAzs2hYh0T&3^20_&vpMw+x25l?Bj-S zsmY$~LFtozFY6V@j%e4DAU9gQ1Y&)kt%QldR;H?NR0O__d@HcN8@4U&|g?Y(a4>xfmxC$HhN?*6cDmV7N zNclE6cEdB~)~8t`SE82G5G$%k>8%&Xa(IJxt3b7A-HB5kUsezBlr=^1z{=J|C0N5Y zjsnSzaxzKzZF5P6kD3N<0|p%bMSz#cv(B;7D)WISI3la`;!b#SGfM-l8Ra#3Sw{AS zPiNNbM9jqnW;>UT60wWLm`BO2a+dh5ve)RMIRS(DAdQ6=*-`&R&o_PdZI0e}m)p5( zY&4G;ZCu1#1;^WzEbkmUuW(l?aW`|4BXV6c_>_O@gEM*@W~?B1*hKe$opLi07Io+!HtGJfGt{77^r)B3)gU$KCHmV3pIRBi+(N3y>eadnJN{)X46NIvvoVKcx`#UlL+uBMFLbGTZJK}Wijz2MQ;6Ow#We=3eBX2a zgyD_9_H%YQqn0}(&{kST-DH5Yt>5~*DQ|&a@PW%UucP!W`1+y``;iL!zC&JQ$4f_N z(n&qoTv*SBz(h&;+J_Gkv@hrOEEqwA_db8Oa_+9S!^;1m%D9=n9Bbb9w=1wE5o@Df zl1Afs@b38FMew_|^`93x!y;};6Z)aoy9#F}N_W*Q+(HNl!ms;#c=r3x2VI=;0}@<~ zF?2K=;|i9~)`m1!Tqw1yeE1zb{2zgC@vZm7m%7z!T|M|(hL8m#Y;CyTH!m~SY{WVn zZ@DW~28ej0ZuvRV7I^Yz=ggb*k>9<&>-^qB@+~Np&kH?S27TcB8_^>{)*!t%9y`K& zV^!L?idD>q_w3YLnZ;CDxYEg3z_P3CthSpMz#ap1hWi*pCyfWKYxpgPXqnrm`=e$? z@2Mw{PH^1EG5yIraNm9I-}}AqJ-$;y6IehK0KfkQ=)*M7V+q^>;1j+&4*v4%TE-r} zHzvLsUuD*4nZhqT82jwhPl{{)TJh-fRxg<5*IC|jKQ@Z~0$+5Ei+gmL@wlA)8TTlL zQ-6r?1q$EW1oMgj(LO+k5(R@GjDZ9%BviQY!Yzjn9a@k$(Skk;(?(^~Sb}5663}WL z`UujIAAcuNT1s?>UrU!SVaAj>lV(kuH*x0Fxszv4pFe>H6*|;qKch!0-BG%fsh|sY z7!j2^m1vrvt*tw@P^VUn zS|DqIuLZ(jIJ+T4+Y~A4)2DG%$KD=+bA$$R+s9hRk%O!?99kqtfxezp$x>@|>({Yo z*S@{wQKU@4-*F0+dwKKc(We*6)ob)X{4N-iZ~Bh>x1im!y^oe3UB~|~W8^Wz04$I& z0wXJhG65xH(80+R)J#G~IBRJH12}6-KmI(+kDt>>vjw&hM?@$g*%nG9p<9Nr?Ka#h zvWT}CH}dVb;5vc^#~p#&gd^QF(r1%f_K41(>C{V7$t9U=(mSJ)3U8_LqH5C0E3wQn zC-#hdFTVLqlh3TP#@uf$GY#;sK+FH|f-ph`4UBV5I32_6&9gYWP_9x&@a(1g1Uiev zgJL7-Alej4L{SxMtIfrSD52z*CYqSY5g02PMIs<)+>ORhN70Q_O)YT5R7;yMHBw5N zSanrOBXz`8SRE0h$mo#NQrBI1?X|lnqm)v-r>gYT*kh5kic9wlNW_>C#YF2hGdnc% zLcHRV^UcTT)V9F5CBiMZbPn(T7^3S7M88HB#e~*>0O{kVOuUWVh+A`^uETy1)?? zA7aMurxj8qe51eG^Tx$i!rdl7$KYK7h1x*#NElYDZ|KR-S5(^^|i6w^eke}4Jz zUrm3OU((WI}!P;~ysz06-3skcBklAt!Xl?SK#xlqdm= z^i??8jqd`mQON10^+UH91Bx9g7ZfKW7YdClTW$hZC`CD!Jf%{Va^cKo`a?unb|xrh z$q99A!4K3_5jFn?xZ*EG#Km9=!WLl!;QBbnLor?rMF%`%0@cW{iP=t4u7aZ+*QQ8q zZgVDi92v1QPCTRHZJJ zsZDk2Q>k_Vs7`gNn%k*XKp2Q-eKCHm8IfC3^Og<$sXrDPXlC%#pg*b=LWqp$AoGOE zBr0(zs`39NeSn!il5*9UB#IpB*u~Okx^!VnD=al{w<<^66jwRD>SI0FQ}FEZG;X!* zTtrdUECqlcg5U>dtHX$OLRMM#bPqogL852Lr+@ehkv~0Dt+5tMKzwZIf>g;ZJNXB< z6zU^eC5j>6zSW_ptk7I(36znNlx3{JA6H=`y34J!jE)<|>tg3pd9A9Zie+rZ97|g9 z9#67O`Ke39Qy$OqYQ4!D?Rcec>x178*YuDnw^ zZxsLAtDP8YX~tO*ZHiY66#1rhP+}6Ph`>r3v1$k{{f#9d6FkZhC}@>!8nA93q{>#l zQp%x>WrZHB6Qz9UCI0N?a`kG({&^L;gfgJz0{b&(wiICwtKHb*MdI5n7MtPC@tsT7 zV&c8{Lp7cZOp5iAglaY?H5MhH2|bf4RYuV=83AZz;^%?#u_l3@bWCoHXC0eXWp`kP zy6P(mABR z!7TGJQ_8vy|4gtBfwN&}ci8Qc7*>_qTb*&NX>D&z&%+|mOVTS)8t4NC5DJAOM1lVq zew;!OeL{jl1zF{o%(zdgNJJ_@>)EsJI{+L=w;&{?&_6RG08KdZp9MZ|L{s7dRZ>N| z1wLtg&xHn#P$;0^yX~E1)zf39@3Ty!mTBn>XZ$HBT51NG;lkS02%d6*BShuQB)OHL z9Ayz#`6p3Yv`<;SiE6g2%dlqAwPZdvYbtzlw#LEEt8P;^#*CnWCmeAIQQ%@F9FT!6aB&Mps6y^7C_yO#U}9AmJQnBVY!@vhU=RStZ$cEXD7+2yA&5jYzTu~^yJt^vhgknm!WJB` z0BSFw@Feo17#2%}={ZmaxJ* zS%HFCe)q#slanhhD!0tVM_GzADcHdk{o_L&Ttp?`q%#q|$!MUs8eFQTwZX*j(N)?x z)Nwd+Cz@Oi1sipRUA=Z!XQS2=t6%gX5wMN;3@~_rg`LPwps>IK9-$aEArdIz5cB~W z(k>G8AreAB5me#s0$>yLAtW4O6Al3yiXjpxFVMnZ0$TsTRDe()M$iHn zA@?X@6J(|ERKZk&kB^4$02PhXz`_=80doe3wE*a@q-DrZ?USHL<@jiotd9|FhGx1C zPr{E6ZLZ3wOqS*f=Z2z_mSQ!8ZkHC(*xFC8;IDxE>dXqFY8K*v)~ux*B@t-nQ3_^a z0FYHmtRe^y#mw*&tz_)@EZq30_gtVD4q+5%pad8J6+8h2g~R}0!S0SB01jajEa2?& zVG|Y)0?X|sR&WzWKnl^#24qDLIDqnE!6HO~17ZpbagYNtj~{BK7!1G$fHCic5DTNC z1uj4eo4^*Bu=O}76knxPEJh+6K_9wqg1$~5g_1i|@!QaA1rI?aaDfT< zfdp$|0(Bt~4nY@jAs_Ss7eLSguu>mN;1-ZD62`D41g`~j;{t3j^Ekj_!f*xwjuLdk zR4R`HEy(fUw;9PErJ+3FH#< z$c?rFaws_t`M@Y4p^G$54f@O_p#DUND6*qyrZmmv!EFBq=UgedQWMc|qN8TwqhLaR ze(WUq3c6BZG_0BArE>cRB-Lp-2@YJ!T(s3z##^Rs9m-NZvW*Qgd!*{sv;{{;DOLjyFF{Z2T{2Lh*Kp$^s~50F!e$c@#UE z6DC*@sLm?k7){p#ao@^TJ?SP$6E+=Q(~;%2g5EC7NuJH}N>PL?Qc%sDL+RaKP| z&U8dtm8-hQmuMA=ZnjtJRA*rVHq8ZBqev!51Ke0*Ux!xcqDUm)?-5A^bY>P=sS8mQ zby*3kXrvBlK5Naonc5nGsZc(c}I*k&>Q>nbjRlll!&H~kdh&pU3C*agiY&A4#!e!jkWxfor zDvbTI$Z-9NMH98U@DC=hD@DpiMyLOdMQD_oww5O?1#DecY+ZNpvh{3fcPCWQX_Lx4 z#Dl7Mw|9N_cY!x}g?D&~w|I@0bVPv?05=TknBEmTMNGMGl66Ac7MeR%vV!QbHhBEJbX;mM2|T zV_$GcX18_;*e1Gl#Y9yr5?DF2N)+=+@LVx(JJ-Yl4x^P*|9Sm9=2C z#u5)U>KJDKo`!y@?pZytCLfi%?g$8xw5GX;2kNAj*bFlVK;j9%gjaC}E;0+BR8^ zKM`LfVs$4%Vz>5MPo;mmXCibVmvuoObeWfT85@6@m;HE{Gh&!QP&bZw6L0_rh>=H@ z83&ldBcORCn4_AL(m9~RQVV&TU*eE$A{MH1qWUB6(k-C|PP|SbK$~=(u}=}S6Ej8+ zD%M$&ugdJGW_eFyA3Fbm6FQ-v{rR5(I-mu5pb5GYGy$NW0ih4Npc%TM4SJygS`#4J zp((neE&8G{+M+pOqdB^x_qn4%I;2H@vuPdNDH+i!2n|65@rCm;XA(Nd%o$rzUy1Jce{3b8^Qv>6E-juupk7syShnG z0+X@?VDT!!607fMs67E14&ee$&;k-60x2O01lg!t00&SZDWy_KCQy)vBni-)v={*v zJ)su9+P+!5#a;ZxVVu74JHO9%zheTaZ7CS z0QDH*6iEMXo!HG2Mj_p9Z#s9+?21Vp$4l~jWW{6r%fUR%#eB@cOI~SQTWuWBKub#Z zZJx1Dk-6#54z10j;?Yn624I0m=NZoHNt95P%mF>n1%1%tddAPZW7E8)8C=u2WFH*; z(IGw3C4JH6jw>`_9|9rP zWqsCZz1D60)^R=8b$!=)z1MyH*MU9Qg?-qGz1WTY*m->)G=TlWSdx!nOi;02zx-yPnClH2(`;T3-28NT85_HPG1;w66K-MZin9u;qw zZ5@8&IlkjP9^WCJ;zfSsNxsZ4ep@rX*-sw6roH4{{^hUT;#b}PRWY+>-T+%3=5>DO z$6V%b9_(uV=ZOzh_kjS6{^*fD>6L!z34rIF{^{4+=Y?L|f_~~X4pnmj1=L^%xW4PX z{_DZs>(!tLRvPNf{_Me8>aG6Hs($S?4OOL}2zHIL8M#jEfspXL8O?swqs|6ud+-t!y3?mPeg z?j7InBmeYue)2E>u`GY}Nel5o9|bZX15jWI=)U%+K<<}d3TQtAc>nfGAN7UbbHf4pG7?swn~ULXn-fDaU42bLfTqCg2UAPS%W3Z_5+2ml0t|M7=^{3*WplYg6v z^8CeX`RiT)8~_ET016a94fvoP)Bp+yAPNY;_XPkT%49%6a7PAl{t_x&$grWqhY%x5 zoJg^v#fum-YTU@NqsN4n65ZiPvZTqAC{wCj$+D%(moQ_>oJq5$&6_xL>MYr>r_V}v zf(jif=)xUFJCiD1%CxD|r%;(PN@S^_lp;F_q7d+9#}X(C)bMGi21>gnZ)X4actK!b z!Gj;;%AHHMuHCzM<%S#?wXfg5fCCF2Ow#Aip@{DkJxaK-k(qE7YA8)>*4O5tj20N|2YU!o&873oQi(=}j zlaEd+>ZqhvROzRvx|t}3_oeEpk)f6<>#U`o`s%Glt~z6@xb~`Hth5FzETFdfYOIF3 za%xln$2PkkRl`OrEwLgwYb}S#5@po2+_nepwBUxTVzJ$pi(IzEZENnjyCsr|xbViS zAi3<;3mLjhs%!7Qg9!o(CaDB0@W2EYZ1BMdC#>+o3^(lX!w~;REb+t?S8Vac3}XU{ zApCaB8@~4OG!nB-SIr;N`dY2^)=Mh}^^#GGA~M%xCpjP3Ntdnm+Ut4^ zcGzRHE%#$s$36Gmcz^2l+armc_uqll4fx=M!@2j{{PVx z0^t@xraiEN81&c#gTlZJ?(2dc4B@&qcsmh}41^|3p|eQXK^1ljg)WTYtyqXY8FCAT zHq0TWXox!<9t(#)3}T^pD8w6{jZM5Nq7pAf#3eQhh)#^+jhZOMUO};nSlkd5v*@ZT za`B7%*&-M{<;5|Yu{~luW24Hb#y0jQjczOy8{-(gJBZ?rc+8_7_sGXS`tgr|45T3S zs1i8RQB_A&R1y!#$mJNakx-f=Bqv$2uQ9KOlsx~EBs1y35%3N$p2W{5OESumJd%?) z+9WE+$B0&Xk{_>RL;#S|N`5dR7KuPfC~L_}ShkXuw2a9uHvt1$a*SEGWQ-t2P)JKw z50k5Wkt(B!JVr#|5VlaoD42Omeb^!Zj0vVK8KH_u7+{uIz=14Hf)vJ_gq#*&W=sN5 z3`aP^0OZt%BWy_necGZ0o47?OPf1M}C6ZO{EGPkQ=?PJ^pal9j#3nc(j9YNv5R@p! zCN`0XLqJ0io2Udd@OcVPK!YE}h{PcdQ364rA`-ViMI!2Xh)6gh2{NFBBjo84dQyUD zo8SirE&z*ST)+nUu)rNqVT(}`RH4W^=&t_~3f28F)Bw2H#362h1xIYc797Ar31|?8 z5TK$KS{(&04q*UTa3B(%;Ho3AK#3$AViYBf#05|x(H0!S5&9@)OH`o`e%v9jEg)(! zL~)8uSb!0Wb*eMH2hFNVXquLtoh*}})tg>`t{C-%CrZ$QO6Ve`qo9ODBQb&qcw!V< z-D(mN!P!ITV-t4u#3t1GS7^{65j<^4EF6)DuLgj)j<^6nTF?ZaIf4>}m8|VrnAyup zRasQ6Zu=N<3RGBtAGi<%E<~Yo_oVxj+BN(ht&jwohIo~m8_V79`o`{gWu$>9#Sa>K?6 zv4=-IVwwDsBqwG>D90&S3S$^P7k)7p1sf9=%eXx;zHu~dtYfoj3T=z*v5-%~<01DZ z$3~uHk&~<&Br{oiCw59LQOwQ|uVl$jzSniNmEA0R@WjETvMp)COh+_z%vN4;izj=& z%6fS>PJZ+87-55z9-^4QWO0Y*3DD@;AfTS??sv0_;0d!Cel?WyZ?>GSE-M;>s;I;; z)=G)sj&3ypOA!mUW;GI` z@PG_#pi+tcRTM;f$t@ib&shI#;uwi7sx6FdfqF!C)rZbsqGc_aI8$4*r@%E|WpDvq z<029zXl@c}0fS(>B)%XO1wTY>R7P;%7OJpkKUGcSXbW)K*QVR6Lq_9#%deZ++=M^QLzSlK@~^pmYu>E@M%QcoKS`_Ff>q{Y@Bab3DU(CUKORa|d}wxx|K^ z?#4gv>K`L9)+~2ozhA=Ym^W_Uow7M6Yp(O1c)aK3g53@?PC=j_4d+2N`r7Phi>5pM z=}?cl)Td7Ms#|^PqPV)$)tz$Ttz79%`8n8~WxKMQ{p@HrEZRBP^-GRjFk*kZv4kF> z50ldFBnc%lr`+~u${qhOasT`1X3mdNKvH?PqVv#RJ?x+I`suGN05ph3EiS+TQIFQ8x1a$uZb6AK zld=W*i03SSZ;Mmpqp7iIek>wE3Dzoq_ogH|2fuFpnN+|3WupijU;%aJ2#0_L1h@(G z_i4Gb5_D!#w)A_9^?r&Fe+x!`_9p}QM-q?+fG6>P9=J7-g##^s18e12e&q>{01aH1 z5}g-Ur*H`{01N*Sa1Ezb3;du8ci;&)zyY-&2-gq-NdOJ&RBzH3fdW8!ma8VfbTnxv1rBw-|FiyNC128auqL6tqFbuE|X|-^BeMebLs1qRAhE3y2 zdA4UQaSTW$N+~u@u{2K2bcAqd6L0v3P4h}SZNJ^EKdmnajKxQWL@iAdOqp7=YU7=ofWirkZl)P;&Xp@fFWiXK#o9(and7(22E zfV5bPsB??`my5b+I=pCozW9rx6O7Y0jKs(}#t3`Jn2heDiu^Z<&FGAgvy81bjnw!! z)<}8Sn2rC7vyGA0jowH&;3#NK=$JR^D0l4GjsOIWj_8T;D35aUj&FC5 z__#LuICk{&Gy*x01X+*81IsXWD{Me6WGm=V2KO*;vCYg$Un2iDHH3iv{;DeGzCq9fo1KWoRn{ZPy5D6k> zel&?ZHVJe%Ndu9P2&j+*`hZiU_k1X!h=nL-??ja>hGJGGX7xCf$1!-vubIF&2 zX_)^(5CUDml3d9xUa50OnUp-~lVurZ0nnC$2?I1R43{|w{6GT`&;{i%455$+K_HkT z&;<|>hC#rVAz+x9X`1B_0&^JxAz%xQsWgvibCD^Qlo^yLaRPU8Pzrvjn4$2Ox5=2fxkB`aj=hNrU4;cd37jWU4qfn? zwmF-B83eO=3J^e=a4DGOFrCvG1cIQJr%9Z{Fq`Edp9Bg6xEY=!vzsy3n|7rS(U1+5 za1Bt&PPSm1xM`b$FbwB348!1-9m)t58UirT1#X$4i|WV4MFE zhM*mzpe%=zvCss9pb9^uQ}$GTQE7LUH%`bzHG7taDaK1m3Z682EH?UaDhXnA*rcR5 zp5s`OR7x^W%5hklr5a?V-q@vH$}d~$Z(=&8_EM(#1~Lq`glI~XU<#A_b_YrKrqQFO z*9J0*;ih(4r7ua1dI~j6+NZl1r+_-Af=Z~`gQwIMsC=rZvy+LM7^aB&sF2z^d-|u& z=%|BwshpFkjYyuA+Nqw3IiTuxS30Vtiae+4cd6=fY+|XaDmtyohOc@Upp&Sx>N`jw zsjCQ!Aj1!W(1N?#JGI(oq6(|F4MI<3@Nt=4+2*qW`{x~>1*+O62y zte`fNnwpGyIub&03IzFE-ny>r+OF>UuJ9VK@;a~d%B?g|kZU)oa;mIl2a^8!uK*jc z0z0q-Td)Ruun3#50h_P;x0RPzu8N|t5<9UJTd@{~vM?L7GCQ+0TeCKMvpAcxI=izx+p|9Vvp{=xzsiab8?;7y zv`Cw@O1rd7+q6#mv``zWE^8rCTeVhuwOE_ATD!Ge+qEtGvAF8BVmr2ETefCuw03Kc zc$>J6`?!!BxsvOuVEeL@d%2jKxtd$Ji@S+~ySbnnx}rO}OWU~*+qk5gx~jXntQ)hY zE4ZlJy0SaFv`f3M`-q=gySlr(yeql4D~P$yvn=0%-glc3x~n7v25#7u0fl}oiv9K}-Hu|jN)L_Eb#bhkPVZ4uHT*hi#!DkGRX}rd8jKFP7l5ZTxcKp9{oRW2X$9ycm zd3=+5+{c2fzJF|#fjr2F+`WbTm4}?jj!eCa44IAm$dtUik<6QuT*;a&yqCP7nY_uM zT)Uloqn{kgrp&sd45g)f%B(!Psm!IT+{&`7xvy-du{_JT?7K94x+t8>zTCXEyr#GO z%f!sNy9~R%T+GVMyTP2N!@SJUOt;P4sLveD*8H~9ENlNte9heaxY^ul+uY6KY`EY2 zXyH80=-jvEtZ3()&h9MD$Betx{Lb_Ywd*Wr?Of0L%);>uyz{)z06oKjE6>Rs&;||9 z1MSZReb5Yz&HaqL|J=|LZL|0MX8AnP7|pa5?PV98(H)M(?+J#JRQ_!=hH(5)IxpKPQ0%ojnqud zvqUXqM%~m>{nR}c)l$vWRIOuHebq;u)i<`)TpiS2En{FE);m4cFILuOUDIfdVQRhB zFWuG^_SSHn(sHd`bY0gYeb?2M*Lv;Ie4SZ-{n!5(9oUvN*n}<7hFw*No!AV$*ihBj zj&0D8tx%FZ*#KSH1$Eh&t?kuFXlX z9oyVI+nH3`wr$P0O-Z`F+tA$Gll0rbt<1s=NyJ^;#C+V1l-$bg%goJ4&i&lD9NmXB z-PA41)=fv)o!zXw-Eq|2-fha@?MC7~-k@CGZFJt~t;y=GM(o|*l>FXj6yNgg$n%?U~a}(4!#Rr=A(V)=$qzhj@oQ)zi$5KtsUq6JLhyR+jdUChLPtDE#@**A%6bY zd%nPZKIoKP=n{PBh@RPsp23XX=$`%PAROtEzUB!H(G{}koZji4{^_6|>Li_cJk;I) z{@=6Dm@zX%QI;XgSYqruW0%laLb6OkD&0+`B1^MbveZy_A!_VPbWf#_rLmNq$(E#= z5E2^Nr116m{r-Oc@jj1pUXODgujjeWbro4Jlmsu7B`#FlU8rhVsD8ijU~_?|@a2*9 zm)hVjPZPh?-~IBeiSUXmk~S++AuBtttjOG3 z+5LP)?!$`0)(Sy!RoP}$C1h3Y$|~{Rs^;@m?GLMfA|6os4TZ%3TY&aez#AxsSbzcK z7VrnP_`00iD&DhB@QLIV+NTTvC3hhFT>Ef9CMxECK=3-jK22`FSD0P)p0SERGwS~X zf-TWc&z3y8p?ZE{viouQ;5{-+Oy0G&;#INB|A3%RrM?d3hLY{Wl9Qu0QQ2o}yWk%c z?^AE54vFcP${D5@j$EZ>2Bcf6oZWr%59gmwMvS=A_u|tYmZ$ApYN-71unzJf^!nLZ z%!0R`mZq^z2EOV=AyQWB{+n-Q2G2~)UiarNmIYl$ZePZJK1cs@OaDmYwdU;E$-&#Y zKR@qYjkq`L&O$4CG}W*Cj|Ya_jaOntW5yT#SLgaM2%pM|f4X2~wTpgZgr8H1zD@}2g^Hiy=J*98je^hUCRV#LEJ`asjS0lBXt;@y6=0X^PVw%xkJwCT>%)l&;-T)t=-W zoj1N51EctuV>c3FwlSiKD(lG6AdpDyn5q8U+%^x?oaeH4o{S8PDiIDA&1a;56c`~3f>Zy%#0>pX6swSQndSKt*#>r)r&>Ts2fiJ=C$$~~BzEwx zNeq;Tu$EdGo-!0vE)njC0Voj5^CkYL%w@$7RLKZ4?hMFC=MgVPfFN(C?c+5?Eeani$9^-DA@e6^K#6C!X1^Wk zss{Yj0pv)aQQto|F?)nGz3UdsIi@LT-QI)_In0RMU)y)D=CP10oJb2ceuv1m5ZDaz zQ!r!&UJ#0blmDew<{i5#%Q$Gk6RzFIADBSviLObN>}}Pwn39975;70fhAQ)2J2lnd zcZ@2!W#62KL%1dg5z5wahoQvkf+}=*KRa%8{r&kOzm}w!B{tEmP|UB(u4c(GisQ0J zOrH!aY9B@5_P>@}2d?X}ssGFr7J|2oU);SeD3pmH*~#}&Q_M$>A}{hF^2*s)%~j^j zq~$)y@KTzi2?vAOxz3*qO{_%;)d>ocZK3OgXUDD11iY%+Ntb)X5XaC@CguQpB3mJs zQl~EhF?_KH~g0i4%*IA01p8Z3ua4~2#yj!b0E1+xO;h=dz$Do~T7;8SjMJin(@LwCJVC^gTLQ981=uy`R!Y4PxvQmwiAqzSp!AuW-&8` zjFaaiR`sRLj)PAfRZVM^VbgVwZ^xqXnISEb8iNCue?I1lpXN&HKb8z?Rh*`{DG`DB&4X+ z7lVJ8uR%(~#Alt*J7+Q&;BpeIJ+ZTK?FH%D!-JYPKJ0dRpd=O^{#)VJ^zAgL(wZkj zzK@jr9(x;Wx+0$VC3UL7(92M5@~cbWWmVJ>GaczedykQNYsI4x@liDRP}S)4P8907 zoxXV9j{Mmh6~DLoHh;V4k1l4Z{P(;6#7|s-YTw6O@mIxDehfwZl~XgW1*7)(4(H8P z9}f<9I9PV#@m<-C5ZNQ^LpcM{=rfXgp*W;wpi64Gb9VMA@+%Ce9;8hLX&E}N_q8xC z+&%R7aj(+!0)4uUWP-b*Iue-u?cyIWT zKNI5vPoLgyW}J?pW9{of5>yiSn6~p^5j+}~*e zuHl|2C_gvOjx4VD-&XG;7%}0BD zFWR#)?{e_j(CvZmWqS+I9)9K{#s33>8w>t}&&KKoemscV_(H`sj(2+e{2vgc?kcDo z8~FLOabt;gy>W8ROs{owB&`{3x%-lkcT!QTUMo8P#&=6UCX>qB=ozgHY=Uho@SA8XwF!MonPc>Lg> ziMN|S>j#^cFAe^A|7Y{p!%j<4%E7-=d$!iP4z{e`9{f9NvGrSUz2$qk?%&Txw${f7 zTYlCJZY;-b{So4>Z2h{gySaL2>+k%*=j*QrH-9$X`!jRp`QN#NTkCJPHrEE9Z^kNa zZT#8V0%Yi5Q##b2-tzhiJclk;PsfbYv1{}Xudn1%-~<}Ly^ZeY#exZF4hd3GhrUH+ zq!)?j3$`E4;ad184FZ}tj>;2?ZSnw3Bx_Ry%A+xx_^4WdVL8sSUSpAE*zLQnG*O@g zAs|Zwn)%E>0E@vvZwk;MLI^1bO_@hK0x%94NY6&A*Q2LI?DR)CFo7A`jvnPR^;|F- zbij;*HW8pqM3_HZ$RH`Dg(FtLg``d4kQA|g8n}##>JT#QVp3CcQq$^FZCw%@x9GTd z3M&K;8^>P_$HSULFj)ZX?+@)4V6j4gLIYa>+mY(vMk-F01M;LNVJT2g5h$F_mL(dG zi!jIi#aDzlKPt)r&l=(ZIYKcsLHq+1tLFlJAViyU#7g*RurQ^*D|N&_b1Wuvyeo0$ z7wE=3uCfd96MwbH^y;Jx>|;IJfB;m*09XQ`E`&63Ky&!(x)dlvfIUOUIud}-L}M*7 zrm>#b2w*z+s6;-x$3J5`E%pIde29yxuLm3mXe0+E#Agz7#Gd42{(l}wFk|;;$9l=Y z-lyUy_-mUKI8+3i<7GpsI4BRj1c1Xip#CipY#9l56+$+7V65QACJlUuhkFeI?}-KX z5RKz_xE262L`4k&8R*YAY%Eyf1a|v1a4(mr#f9MT*`a2)!VcexKwVyWjg{q~=jk_o z3LyUDK=TLIBOX?n;5J%;WeJSS}d=Q=nP%nI_cK^frhY4QL@_ zYPSg|fRQG^DhU9R0zwNjkRptJ7wSI>NRgTn$3q-%$g6&n_aHZQPGtpxF3wvFSphL0+-tM6vaH@vFLGvU!O^K#5a8 zoSmleA6|*uM2W|GiF-_mmwBm=Sn>V^TmvsH;8|(lMCtv={6o9Twn^aE*itYL5}8+a z@>y9_6h06iZWOIcC&5Dez ziHd6hboS-)6DKKYRb}@-m0w>kYy?ob3RpD*)!f5QLAF){r zL;@KgkYEo3pa;nJp=3aeSDyYXR*?))2*-FEgK;5 z0_^$w2k~0QEhN|+0Z{HmoDpDlZoS2{@UE^_Kwlodu_vd|I`x0SJ6Ac|89U&_NLa1V zVwQ*IQc{srtU0eH|20}t0Ij5n6>%6yKJGaQ-Am2mkTGB`4RN;5j{3y4^u$Q4B1bHT1VQq*O9^tX69N(< zNu2*0xu8KlT9Pj=$-{yP|5WnPyGdvRs(341{Mwt2hBz2Un3>PZYT=+%7h)Myu>xW2 z)^^C~R&QJGuQpOs+S5GHpPLogmz#6T3(KF~`$J8Nh~$#$(FY^zFXz)0h0FqOTQg8t z8DHg|)6-0CyZai=C*R$5nX4#DVoB@hD=yvX7s?H!oGOc)=9Q=W)SOu{ zLBqxg!v+N?^X6g8cf-~j!{nu5Q>ziB0+fUMuv5Z_Yx9WPyAh9#5sLh%M?p!ypc+gY z^)DC=XdVrGHyXS&>PhIq^|StvUX{?sA`8a0QDD@&u}E>0a3cO?Q+%i8*!SBdVA6f- zrq}WBUT>p7y8Jk^9}#-`H7;h%H)lMpc|7CY__dnx5+F&?d9T~=b@E1{&jvhl9kERU z?{2)|%1;zoO>mnJvJ>9e%!{Qija9#!I9-6|P~Y^-AzJ^&J<6Q;;yg;A4m7=c+tLgz z&wOiHF_D!yR+WcFh}b>uV%?dO&^&aZ8@D}U8w@5@J)59ey{TJ@d%JIPZmaxlY{0;Y zb%X`K9B$No)4Xn>`OQKmcvjqD6y4ss^bYGX`8so)!9fW!#}FJ;3BS^h`=Kfi1;U~P z?<#x5Q7@V&?)SuQea8LyjC23ple3t~5F%>jlkQ%win*UBBUaT2All_#$25M-^(%BW zPu{hRYtZJ@M{#LX#(!>a_bm&{>Pn`ZlamU%^XGakm-8AqEwy#HDazZ5y6&#Nu49ki zUNVP4DewdM`_?2FmIv|XT{Vg}X)uSKA!rb|3JA`#Q z!(QavJOOAFfg3pYJw@PtNZH6TWS zfi+ge2tA6thozmFCwVzu^c@ z4n!mMzE%UoR=c?`P5#ovZ0;NyOSn%FLgIx$d?R#92;oY?oG>sf?IA$~JHyL9K>0d; z?Nc#B${n0R%Ho^SmdWMl>r6D>eVkT@TLw^=}15@cNA_6JbH9qp$yTY^7qcmW2;ZV6E z68b0m<7}EPanNytKjL>?;lafp6p>w;Bn%kzePZcq+og*nZTR&!Xks^!G9(3#?o#d zAxz+2x~`Y;p+*Kg%8^u{CA@W7ux*Kd~jy0qeg4JG)urM$Y5ZX;@A2^Xxp?>W3P=OaYk zB9|c_5dUh0k)W-o4m*5TOr;pNC_B%_$cdD+5mGd6M#oNKQHJeSv=9x}7i}F)E-oS? zRBd`mwW-9SHZ_5+l&E!3H(rFu!SsjN3|;xCl>WOl^Y`;eYgcEv54H5qheBPL{~Y* zA|mtp#gUk4D#*$1I6?@`v7@TWB^7<#1tqzdBN8DV^%*g_Q@|}>1+z5$Tc)NOFuT1} z!Z)u_mnxXAle!oJeyvSzQJ=U>mqq3bTzIFLz)raY=K^x#as-pmT;wS*b z!~opn82)~Q96XdtfWfD7i@~RWND7h$q#`=-`xy>BW%?gybIIEK8B!Mw8Qyz9ghEx$ zixY3uci3E0ft?HX5;^ZV5W&;G;ilmKQP$=`%&LY>MKeYj*nu-M@In^owh)+FnGzbG}D`eLzd7KBz{IIy54sYaQR)YVky}-O2Sn49j>{b>EeLsg2I+B!ffP( z7YRKu6}#W}0=fElE;LI~w6n--;Il>?ovnSjwJu?irP(Mv;{B7`oA7r?GjTrLiG4MT zy3D%$Y*AI$Ap1bj`tTC_r2@Q~kbptN2nN`k z{jL+Qb}`qdDAV87RL(ilgW^BRxf1BM@hb?0V6W02N@-xt3xgJ`)rew)+m7*PbyP*+ zI(rWRo+b2QB0nkV;BUJ52yJ9}zBhG4blV1qc!cqZK*^?_@Uy%k-NHQ!1`R)7-UA-L+jJ2kd1Y}s&M@?m6l|J zSFFE}!kA5EpmwMPx_8rI#}@Ao@Ln}MH!Bbyv1>x9&)W2hykME3QS<{5uAA*!6Em!c zAl~<0-L3wZC_K8$^S%w(HYd1a{{yesn;cTn>-0e1Lys^}@5_Y+L4jkB%QL-o?mfa; zfPA0%b$4Kr(f5L=4sveY%Z@!$QfH(6-YT6=``xMpCJIkpMRLePWZhW+3maf$n)*Cyk-5a6|Mc*-*=xdLkEsx;%K|( zv%&FW=^ek5{X6zP%{arQ3NhvWFSH`g#{adT%5<8Z+HCj=N~;v^ob&IrSpJf-^&?po zdbrD8?Oax7e3*)QY^LQ_#JL*<`5zKeU0!-$(^HXLe4U^@o*j^Q?soIvPxsfxE4fPN zbNk~X49gGqpHh2l%KsZ-+W9766Xj5_6o1@u?(ksTQv;2E7GK*;`wy_xqHo-GMOl<* z52i;%7t7ZeIXedo-6)GL-Is8}?RdcOo!RJetBn&Blf3hOgbUj878OV~I?MI0G#SG)KyGa)KW{m2{0n9)6>hNw`RJrmwK zs#l{DPDf2&YHk!>tZUvlP5WgxIjwf7p+DiD=<*})zC>JVe7EsWOy`mJ+X~6%rGzu_ zb4Nb>nKfx>-8e%>1Pb3Rn`}LAI4xqJn`#3GF1E{iblcl|Pwgl-H7x$#n|3^Kde2-; zr`6_JPD><5u$q$72SXH-G$DY?_|D75kpG3S*fdvQ9r_{W=3mhzKjR}JmU{e0@hdSM>cK1N z$K$6>#Mg*#n!j8wkN$K?r2r?13K&ISLfO$j_iofw--{8eKU`**Bi`8neGuYTO|#e;Ic=Z;_b^DTJu^U0;@kxN%Ln)4H{ zBEXVA=dNs>62J0!DDTL&^K;{^fwwK`Knj(}Kh^p?Y{&+lK}JRC12@wW#`oZ|Z8E+z ziskczh8X^Mn6l6^-=B`G0NV9y=Dv|}2FkAUjoNQ*cIMme9{CTOuj=Lkb3?L2@^-i& z$bR%GvFW#)+%&cjx28E0U$@NfI$|C=!6gB!`w_i-(| zcE{Mk&B0Obsn#%P+fYw7eoKT>v%efF9sEPUN;9!8jc0v-K8k|J2@2C5bx0@3ZICA8-nnGb@j5 z+d+h3xAplDY`B6|l?b z>=3u4phZXTF1F7+)F#T_Mfk$Q1?Iu;G^!QbC^o}dI#&r{0U`vHggEREii$}N6oNdE za0L>uC1v4wHbe59gUj{5UH7T=2^6+Zq}CMy)Ha5_hs8Gij+ppp>CV$XK$X8Tey6#c zjn40OL)KOjySgk~I2}6TG09vX-CZN~>BD!50$s~6I%Xdcj>0`Rn;=dyE(Vi#?m6`A ziE_Pb*_m0QdOynbp|*1}8tQ~+`ykmq!W0W(N>!l7y}q8b;^z;m50tw+zq{AAakAG- zs@r!a#X7&^rgoWeZg+*y_SDq_$4X3}%^Ya#=uIC!(3$VHd(r$rJ)|#;t@sfU(}z4D zXp775<`A zqrUw;#=(R4VjAk?F0k|9;x^FG(15XC8Yu2uA(e=i_p4?ys%FO^>U^154jsx}r-bnhtI*w$%LXpS9fYG0w7_v~=Xy z9}u#IeNYNju$3?Q`{sd{@q*0~+pg-z8`Tu?L)K!=sg2vN_&2i6Y+sIc>%XnKK9_%x zJ4yL#+0*b{axu(PR=x%M?vWP7eZ97RcY)_tqd?}9Cn3Q``iQDr&?~||N5v$zTcmd9 zNiX#TFJh*bMuC@Rjh9xlmv+C`zIR?aOJ2GgUL{Ovj)|r%<#(oD zG)vP=Z?gh#^YA8>W^hffx79mu>m_fS4R5lzkFC5h4JY;df z^CkNgM*L7

<)ol(e{EtH(8aQj>P_nURr<5L3`$VztxoZkZh}%$HWIkx>)Gt-6*LmE#6Beg>(;Zi=TopG_9+?&I{Y}0Qa1Id#?6$j{n+4l z)8m211}B(?E_6eSBVMQF{h9m5U8jA|xchS^N9B^#LS7hL;ls^DOgI_3wZ|0ZgM@U7 z=s*|rFyKEw$=X8z`w3zDZo&h&u%oVYFM*_uKsA_85BE=jh*;8uWZ7|upD2lf&koeT z6)t=ksPA92Z=%T2Kgm7de3<{WIR8Xg^3{JKh7}A{1e91mh? z3WyUK$N6w+JPcINxBw&rJTU(-T-lVdJLe6A0}B=c5+Z~G4Fn;jgwNZ1b74_JxIB<_ zoHE9rwp?^GW58uZA_3UFkKOFkjFrfnC2CbXJ$zUWtd9!AiuQ< zX%67YN%oTgZO;@1&)CBU+yo#D2fz^EPC~>M1%NfagNgG2EhOAuCdGLz$!jg?7{4Qg zl;lN%K_cN3eX!Fcx$##Lt%b1ie*;D0A1K9vz571w?g%{FY;dI>WF`V|co>8NGAFT= zDp;2|bQM0#T!slgKZfJJ^Y=&W>H>X~28riz-dcfnQ9uy?l<=G+$i*a>Y0_gum}3sZ zFNS?GhklZu?92hY@r>hag669|0bT6lc>3f=_&=r+D+xzsW(`-3LU!LJfA6pV`VQeQ z0t~ni+f=|u1T`Z;aL6P-K6pePOy$6~Dz9~J?cuZKOhFX7;YJ@@i!T4(?Bk28M=b}Y_uttTvmM)N{Frur zqG>mH-3VgQ#n$6~FeAfoF5rXYAaenIwEuD51>bqho0Bz9{4!$caUri9gDmR9ga3&*r*qsaVK&lZ zZuU;Z)$-36(alLrB_4~`!Z>SuoQ|Duw?BSCC-UR5<0&r;{OUpG z!sE5?<}7o^QOiKnBqWFKhn&-+A;eRY zqy#e7{#n-^oVfF|_B!@N!Ov$|*B)7(Px9liRD{R(2tWGK7(ODn)HrBJG~@R8wfoPR zikgeBO4<^&0a)%DlW&UJm>YCrdHki6AeG_ z-`x!U?=(m^GSaRLBJYwUOUf(_W=7Bzf_O`Y!|``3F>V?Ldh^I z4oHIX?^ZB{;Yx*}Mf+OzCBIu!r!W4AA3nm|v{NXU2_yB$C4!WZ^!*jgbP8j? zDO_Fz_)-^P9EfZegAxg7My4sv1C|7gSSLuCo&={e7M9N%K>dPCBVzhhDK6mR%_IpV z2!v$6i=jEcWjW*7%?}@wD&blG!r=&5z&tdRz--$n*wMwn5t3sBaEgevg(3%rR3t-k z0MDEb?{T&mEy)V`4FV*eoIevnNRHUP)2g6LlagYHUy-`s4@^%7aUrrY*Kqa8k|Kl! zG9^})=@`NwrJlVa6d8z8%mK*Dx~)ThFbtdq!?Cpl*_=A(TtT}ZvOd&_^$px^=wsuYM(7EW0V8QJbNpJ_8i1>( zr`p6_MXV;Pe(q>ou#EHeST%4F+;J1+d2Ji3*tVDic?B@#oc1Qoj||p-fLs*C71_ie zzj!*GwIo%~E9l;rE)Ukl_my9cD~D7+N7k4yr0bJq z{<}2%kYz}q58vDTNh)5-a5t7=GB0?KmY?pr2yhy1dX+zDcr1q=w%k;RP zNH(-vv5T`AAKN;uSt5&kus}CMWM9jGD9%toxq!R$l?y|bfEjxf1mz|kj-A>6QV+Cg z7=53xsxeaGRqj=D@`vVFbwJ&@rG+0_w4Uy>h>(Ne@2e{GME<>Ip5H+ z$_sr_zgsEp=1Hjg)eB{5rIoYS{c-{-L*08S&kv=BzYa6}R!3c{2gDu7M&45;5_YDh zrLN(cNfV0`b?3h>Z&<8}raEu@>Kt2A7?nle`6uTtS21`HOE3O3IA|T*DsuW+{Q4`x z#PYF(uGv~$O33EMZND%?*HpSH9R};c#1;TO^s$V+^pFQ(9lKP<`s#3|vokN!HKZ5y zY>irD#uPI2dQA6bUMMuqa;(~KJnrnJ#C28qcYaFB#Zv0V!F{9oGY575b0~5~S}{5f zpnrD}+On0FLQ{z9`|;gsS*iQC;O9T(#;WC=sA^EVbNXrQ`>@ZI>VBC>+iaArtwtrw zY)4K}x7L?1WvW_1WHwW^654)1Q>Tw33x3?u9;rE=vkK_StQMhECZj`L@BO6}cY~UI zzI_I1;fJqc$MCKDv52sutE#tnGJ^^n7f!p21o1aWZ*Y>}u36yYeYl`ovr+po?%nvo zYiF0ncOL@VK0&J>$S{P4=fmj~pE&v#+$s4JU(}v`u4>e2TzYn2KL1RA11_$2`D}_c zhkOyhnbqstYK}&FiK`8Y+Pe1|%+ndF|COvFiMO=BWoV&u?A&0;8NRaVF2s3z%^@k7 zMe&gr#kx3$RQo=&orsqqiY7?yekh*Xfuc^n)v@ZQ^{?2R=`1 zmIfA6F}Iw?fy?~U`VG`mF=-kN{>Rb`Eq#9Rp(CmZeAH-IsH?$5j${V5(udz}8vjXI zU@|LGMVmTk13g;%K^73cgNPP2{IJ(LF7n`g^&evmUs^1_Hvh2>e*JBz@%uICVTda% zH|H^+&ZiFT*K~*;`fI?SA@`!n=&O9|vG33gjJnKU46X}t4nmxbmc*E9AS=3q#_8E@ zsMebywgmIQ^{t|#|Ey52)o*s9*BMOY+#SWO$Z|eRpF(&#EODyrXCums$K2UO_{ucV zz=q+XbZpHoZSZ$_6vOl*^2fQhWV!j|xUMAh zeo!u4@?olb9Jf|EwN+LB;Z=|L&=|wDCop3*QiAPRi{)OKFn73~y+hy5t*M>5iB9Pu zhRVB#{r9RkxnHHk@0FV-cABL*q%C~p?*3NMX|<|%II0i1JWuShm3+iG{J8j}XuQ)= z|54U8pDsl`Nf&#sN7=WUN@DP`yBw__-MIT#W%u5OylXD_8)cTNn%=q6+ZjMNxbdpm z$GWvWgI{iCRyC>WoIl~}`@s2D%eJcVxI^#$g-1CrE!CuAuS)pAALkClm)RztI1uLb zIB#sSK>ste|Ma;VcZO6x8MSK+oPDZwr~QkX`S9o7Gpnij%kk=#-N!t<1ds3jY*M%W zRymlk`uN`FUv)A>Q^1g{<-)Cqb~~yBNs>1UM$*(B_G)@Q%K7GzTTgT{sCt!ouC`cV zgXpqds9D*yC2Ce0uHIEc|30cM)!A2Rf57Zj?oe%+XRbPKgYS4@wYL0mdZjx{b0lxd zN9m8q`BvaV?|b@BDo-^@i~wf+gJ#~hxvk1_+y%Ds!Dq#eazE~lAUPhDc#QMs3qy8Ryw`W2Xs%x^0^3=F_QiOLiKmixBK*nd zc#>pP>Xhu09=0l&kty3J7RBMQ)$~1O+oafS?ajR5G_)E#n9$Xq5omW1St|( zTR0@Av@)JA_hO~G`?F--;!>O+t~T7Ig}9{+*R77!3-G0LzV z74349g%BSu18Wb!LlILcxW7|7H8^~jsS?OvhP$JX2veiBUcV5n48ZwN;?(^bRJGYI zNnxknt+NQHn@mMBeIAQy74yPpq?gfm=GNa(Q{Y^c4Q!Q^Om+~1(my+v z({p7uqwVChBo$=%l3XF%%p;EJ=fg+V#qcMgB!+WNo7CudyLdH$p49Abi57uWdhoE| zHG-HH5rWKng;gZJFqNeaoW-cj<3cI`>I;dN2g?>)IXjgrG8Oq#| zfeKhEq_94oB{c2p?C!DKp-^9^>8g~eH+~dzKBiOafgaQxO4SY6#Bi>L>>1@HOD7&pI}Ee~_4>8Q6H0dQ;iB2h zGDk6d;Cc5xU{2?mofy_J&E7T?-U>4sDz5yfa&Aq-iMRvoz)yG9W=Y82NirI1MLF`7 zrFk+b=+stZc8cBpnZp1w!{GFJQ||bC3ZSU}5pwzs>mMu!spH&e`iQJ(DAP zkEq-dvQ>X(RgfKWe6MYtZ7}<^CjTwRHz{R0Y-2@i%Pa;!7uA#X9!S6q1h$9{V)DN! zRMcU)K$sblj1A!Rko1T1neATN$yb?(gLBY98VGs2C?nxZ}ycCtomSF$~#!rjd{<>p&;v zFf?P@@Z+ucN#KhFTXnLV6*MBq+G4H|3x5{?CjLHZ+eG%SjLOZoj-E-|S9(W^`UH&Dj=8W){eR>`DCjBf z7gG;wQ}EAg5#`k9zC~W{D7aa)4&eBvh)Vz1-iRbXfHC-B5oz{*bmw7FMa5THRwQ&VYm@cxb zo(on1B*EVcFqox+0JQ3=8=-B!I!XFHF%U1=8YK*Ma4t@H4fUb6XAFnL+AMuL~Of~H{QJ3kmO<+BO zy4WHg+hhxt2S_DtQg(x;G&^-|`)P$6 zH?M2V0Hk@oDb*euFGi%=X->LZHXV;o*03d)F4NmF8Ble0&P8i`f@nL%5b~YYW>8;x zj>+_z!Jpqufvh%PKOZTjaD zrWy^b=fX0p1|B?U7v$Kf&+t(`d@vqT=6X{?hQD`)O#NqCVbRWc4P+5jrc3Xob}?Tr zwu9^GgbY5W8Yq1LXwXkIB>*ZerGBI|GBZYZW>)#Uebmcsn8e+|4r?B_%u^-tfJPJuD#e= z?gA06ZLc0b(c{F7N}3rZU!&T7DD_l*_UAD-;NluMReHbXJTU2SP`!j6pHE-+Pf1?i zuUP_omr7S#V?xI(rX~T#dYe9JYe7)brV|Y|p@BR8m2qF$1x{tERgk+gS(K7%ZHFMb z{5Cy+g(lfyo7!Mfod`A)70D922{x&qBQtW9Ey3;ed_4@|FqwJI_lwv(AF>Gkp+m-s znApjx=8NFFaQj!*FDe3hK{-tEaWWv+ZqCPo92k9A2dxOEHqTxT{OWptlB(28g+P#2 z3kUh)sFuR+A5W$NZ)O@hbaDD$l;(ceSg)xEKNwqV-5;3j5^1lt1}UHFv_>u+{TtQP zI$nH~#|i3i32fb;gNOacmyVj%iJEnc=SvfJxyynu)sUk3HwG2t+-5uV5rA94*PB%9 z{q){6zeA^jY$>zFAXeuq`!nG_bZ8Dsak=JO_KS{_Ov7qEbR6+x%2$mJAx4642Dd_U zARm+diBb+F6Qjztw?ckyh7c_g_vupsZ`4xKDqt zu0$dO`i;g^6uq{N1Z$||sMUj?Tl*7A=xry7Cr%P^F74M~Z72>{7s)pvgGs5^4igs* zy0)0cZgV%AG9Nq5_AZK(qU~NJFX$OOCYxj%*ceFtwrla?T!u^Jd-s$VZAK$)*T{L?u1IDL6budxOfq<#3dAXA?AB@^I#2++{X*Uk} z;Bg?uBy99zV;4rH%kHgPr5eC8A_uCuZ66k;8Y3nrZy_@z>@V&_hb>e@45!H0w0BTx zzayEOH|@m8%u1CsAQH0AAGeTalEiY1x_v3BT>A3kUe;Z55tLa|?zkvSci3cLCEnj+mO_c(4$dlCIJ2^c%A}#f`HgT#QiThS-K2p<=wYCOP32be=JpWEgTX%%Mj@)W6bE|*i-B=Bg zta%-$cl1x*U$^hj`LoL9N0jMBwI(K$PNg|4VSJi~piP{2ttj>E$A!2WKZ_UMJD&g7 zJ$SO$Gm8ZK((7V*TbJCnpR&vC4D@Lj{8eyM^B1$&$4xcqvHM2V`(8I?y=zqY)YyN| z>*d#`!5hSZQ|y7QCeuP#<&yRu)M zX@1@7E%>tX+ArI@jdUmyqSj~lG{09T{=N-z;L>7S$&cNKNPbtBz$TFg)LIU?xcnLS zt{>ZKmaCjb-L%t*`9Ouv8r@*FDez6kJ3+cvb)o)6U=}f~e8ozpCwNN)LbQp^oH^{q zHCrPa#FI&E8S^H(O-y?+ovkYcLc*DnrgWszk*B}gFf&XDoh#fGEBv*&N1_EeN!DQ7 zY0~Y~``YyROleZ15vk3*c3FPyz!l9l^F;=9#9o7Dx9kh~cFv9{1E>RfTp7B+|LlYY z2t=gg==Aj+d<>m#R*_?)O#nfeuyrzt2s{Eo8M5I>JPrRM#4ZUfYaG3X4|TY@L&LW= zM&g)L<{q>E3zRKu(suOt5oAb_BS|g{bR|%rJ$v@Gbop{mppr9b*0gyOXHK0s`}Oom z=_SmVfgnM0cw!bYb4G~h5M*xE3=P#lMW_%+gD6uXTzv>NLjP1J3=dv~GKW+JEe!@F zG@WJc#v>xKLN4$j4qcfH1j;x#w@U$^Kz@6bDdS@X2v_aO%ly({MjT*l`Mn8lnEMjYSpV*)AaeXbjy_~iyp;5tO8R677iHUX9d_SYmC-uQh_0b zKOP3SX;?>0kpWI+*SVl|g5NqzH$qjL5XuT&kiNbs@FBn+0Rc(~4kYM`7l?gI3YyQP zpbX@JAfnil+#0|D1sssT0%9YfkBm>HV!ClDk3 zLFWa3Aeq4xBwzf%4=H94z#jo-@FN#lo|MHGEF~P1%reb9lOqI2TTr&s(0milI5VTL z9}7#vur@jM+>_5f{ftvh1=(!y&q577R3SR;3<^&T5q%WWNF|-rqCiPokWflB-BdtD zF&!#TPDLG+)KU$!l+ArIHI>y?Yx49$P#txZ)>>`7HBHe3#neq)efv_S zWl|B-pIs#AgcI>5;^i4@C#a@g73i&L9|HKJsQ(uwg#4hg9SQJ8NPoIim*R>gJoiFo zE#A0Lb{UkGAp{IqrW8L;7>ATs%mIdzczDPJfgBFtAr)zI;bBF8RJg^DUaX0wngt{f zWd3F^qXiroNC02d>!l!BlmOvKe-2Kwby|5p*607DlWf1{+gASqBti7-6Iu6-00@lxMtF;Sp{S zz(4|1UP)yZZ0_JBlu|Gs!5jnx0p)?HLDZ>pq@&1M^mOZ-o#jh5r{tQaJ?_X0xL9Gh7sI|nh$beyDt!c8)b-s6#N4TADm+a z4j_OJ3?>D0m}3UA?Nb*c0LK6g5MB_#VeG-30wky&dz7&qXguK@>DUkwGH7{q)FWn67(HC+8cWe_bdC5l#Evj7^63GIz*h^y`6GFOFRUVPq z%nAMSQ|@x+G^xoaWv;54*~Ca6rKwGCe)B=sWF|Pt=?`uSvz+NvCuqdEPIsCUnz8EU zJLy?Z4E3v1)x=9V0oAYORH<=oR#N4POQtg9s~2_ZRkI2StMc`#QtfLeqPkW?hBXtI zu!K{kD%HjMl}2f$s3p!SqPkwzS9HZ}9q%eptYYG!Bn7NfEm2aHu2r;!HOfA6I?|l3 zb*+o#L{@2}iMDFtGT$VP8Gi z!yy(`hecc~5SJLmks@)5S#@F-zxYophViIeJYyRJYQl88F|KO7V;_@A#y^%+kA+<1 zQ{`BBMs5|6mE7dk1lh?QyKuBJ9Azsz2+CLH6O*;v<;-N+%W>jzn8|z-FqipE>b-(H zD9~m%zZuSPmh+tB3=dLtFeQ1`^Pc(KXFvZL(18~8p#7YSTxb-{B0O`V$)w&)yyFUy zmh_}4U1>{Sy3+69rBFShIF51-*Qg0wLvxim- zC?z@x#I0jZU;iYRu-8(44KP1e<%Ey|(Kzt~c0ZHroa{Q-A%u0b3pDFw-(=YZayCw& zO>O2)+uNO*axnd=5M(!`7wFb4NV46KYfGdh4TVU&FS6~0Y>VC$frBkg!s~GF_t$v* z_nxfHkOjD)8b{hiy(S<;aV`7<6nGIYQulCcA-dfP=><4akvc>AgB?T(B%;5CfaLh% z2C3+gLaen5YnlOa` zIw1{6O#ej_4?tQNtsxCR@WQ1CkQ@)HkqHTK!tTKEyEd?K#7y{t7QV0sHzt4qQm~BH z3bFStZcqUPV1j$V$Q~(Hu+;^mLg-5aMk+Ef0V^B;0e%;*znN~arPm%cPESYzO5wFv zxF83_Ai@o*@(2SwA_ubgfWZ85gK>m{e~%~yKN?q!y zQbA=jK?jN{{>(uNFhLViU;>`u1fGZkL2zR}P!Kmm1pNU47-1}KAcG!(5h?&2K!Fw} zK#O+a6%3#ntbr3!As2K&6WRh2mf;a9zz3NHI$ZlLfc02H2K0dNBntbrCbvF!-Z;FiG@9>5oHDg~~98~<7{ z6L>Kpz##>=fvmnE1yHWzX0H%!FW`2m9LMAko#aKtg&hKE7c#+?K7gVa>RWt4MCh?0 z-Yy|}A&|Zy2WTx2zGW8%uwF>v=oaDwP9qR>q!+4XGIV4QTww(?=H_HBm9Rx2a%3W? z#Exh$9ThA=@=3=+Qr5<;*wBd~&J8p8aUtNqAUWeA4+JDl(pU)5CUasPm5tdvVp`=9GA%{s|_Xf#@PIUB`;$sRii0w!VmauDu0D2 z!;&QWDHC#G&vHSLGQ$s8iqPH?F5mJB+%hif@+9ceF7r|^_mVIB(l7rKF#iKnFb9(` z3)3+7Y%WK#yONSD=cFp3hc;-6&)y9w5A!dV%`)>0Gc%JjJJT~i6Es6pG)I#&i$XC8 ztT6#(%u=(<#*#HZVl`jW%AoQz8B8`)BQ_gCBbnzRYp%Gw=^@Vq4r&rfz|v59VcjA^ zlPJP9Z*wDhO!88pm>NRo9Ac1+g%@7q|lF29P5Y;$I?S8ilSooiihP z3<2%{8~EWF`tKMYU>B?*0<0((Tx0=x;S_`jSav}Jj^PymW&$ceIsZ`47l?rk_XquM zKpL(f7IFX>;(-_DZUJPJIN@diLSY>u=SJ2_?Dk>x_)rvvY8ebb8c5+Arn5Cf<^x`V z0aJk%I{_B_h8K`P8bZPIo-h-L?g2i)XdYr05Fi#xfg7yhDridxQ(zbBu17IrEmH1A zcmW%XVeX7T6d)l*SKt(?VegE<3L;_wj6sVU)Il!-Lhm4cumS5-02Cg97}jBP9w8Vq z=MhXn8myvN?1cb6U<8&y5g6h5{6_*nA?ike6A}k=s=+KYfCye;Qh&h;LV*ZEXnOpi z@-QG1RNxtIfDwow6lMVfZlDx^p%rexebxb31!Q_i6cj??7ys5l2Q&v@7GOgap;N~} z0#e}@I5mmx07@A`1I&R$DbxsV;Tbf55ftGDvIFKogBM!C92P(YQeY}-;Bc6A8D`-X zh_wQM!3C_q8UO|&7N7=FM^P8GA|TWTh#(#k00S1F6g0sFMBy3M?iD)W6%;`PGJzLV zK#qRJUdG`Bj^P(Zz!b~@8&n__fHe~W))y3E8A?Y4exW%)!G8jW8;k&9n`b$K!3f5o z20CFCh+r9jv<7C@9z@^-Y5*8S01|A#0E{y=mV*~)bru%j5kMgamLXSp!3L_~0TzG} z?hX`ul@}u57(k(16~Yp;t`#DH2oPWt9zX?-!4x_ne*f^(Gj@RoJ`n?4pc6Cz6huH1 zYC!!07HA~^E`FgDD%DUQfnlT4yByXrhb@{^vLX;*9TMUM)2G)Ggx^DqEDYJeWR<`M30WBI`x zc%VDl*C9ysUisk|f-ejiMZAT4sfox0)ZDoA#PbCM0BKQI8B64V;4@ildiLaB7!B5BoKxZ zNk9&2v|&y&LmQ03gdOUWs>K(e<{|fi9sFQ79b!R|WP>}nGjel}c%d2BX#x6$y&6`I zgXJ+*sE=KZj{~_O=$MdSY>*E*QT|v~SYlT`B~>C>k|&vxE7_7S8IvJ7lQ)@@JK2*z zIa)wjlr8y@y9;_o8I>iuls|cuQ`wa@8Aoc9!W3C2%(5tM8JBZemv@<$d)b$N8JL4v zn1`8|i`kfu8JUw=nU|TFo7tJ48JeS6n*XPnnx8on+_IGgj+Segkt6dh_W%w^Q=CV0 zD8|{GI};AV`JC&roCgh@*O{FMvz_62FB5Z3P;;AkqML~#6I89!49TBK4WI*>pbOfd z589uX3!ynpp%>br9~z<~TB0YKqAS{>FB+pqO_CtmH1F9q^Vul(84|95BqMo7gsxs% z;^M?5-r{W+qJ-X7z(w-Sl2wV4GwPLd+7~oIJY3@EK2DONOO@)yjtNOzkaLn*B3zQ% z9&_5MpE{H4ML`nckf<7}ubQeSa-&%qr?1+pVfT2eO*FNzPhyQsY7w|EYu33kQi5EH{mAr-%5`rBL+a7`1ALIe# zbi@}p0jBri8#-ZNuI;NOIZ9&2uR4L&v>~f-j;?nE*?Pee4&Vwhfg&xz4|rf5+7Yky zMH>@o-K?b-I;mU2dPkBYTvh-WxZ&2gTB0`FxIsCg4y}_;z&=+1v~BvhN0}F3Y9CgB zx_bc_Rz$ShF}lBcM^wNZ7U=^l;n2M1+dEo6&KtUqz(h`lh|c9C)D` zW{=* z=L%GNA8bVKK2ZQ=4iwB``~UtEOA1>Sw1FFLCI#rCyI(?jWpo6Ti>Wc%|3QsD-;0UNltYiiofV;twCE+Jy5v%xS0 zZU7UAKuA*As@YuTB;Xl1Vd7vxay}pcRP+O6)D=^qOmq7s+`FWKExui2zGZwO7C;)@ z&m2yT=vay9{$hU=;QHI0 z6`3^Fg^ zOd%BpuL5>q0yYs7q`|*&iqWrCk6UFQ5Wwdo-Z7RT2hJ{uAA}c#=o^HOm2?0{TlNE% zVLjo5@MPVP`f%fjL4bTA2V9|WQqh7{DUq(G+`&lD>D1FRtx%)w@`ffxe5?v7*u)&Ub3Jo%nLs+&814n4Z`>C~%Rzuqsqc1p>WFAoIi%5lTmKnb{F z36jcQywv-bi7OxM@j)gJUWXV0)dZ5shAORK$%7^4gx?AZ9+x2;d+<;V zWxMbaUx~Tw0ZE9()fd$jIb8^0AQ39K3p>Q^!Qnpe?V(d9OI@K}Ag-{;A&O#NXJ0Ql z0jQscW1^_wO8e~bpppv(xMrO$t-wi`@`bsJf(P`XW|1!a7Tj>fb=Tc;b}q_jqmDib z>7v?ghv;#|4Hw>cg$<}@Y9*c)X{a!jm|t_+80R_rzx+-9*b+(c({}I8ci*bYJ+sw*4}LM;mg-G- z;)*Z+9NJ9t)@c-K2d98Zv zvNvsdx2VsKJBpxJo_p`Uvs`Y{`la-o__o8S7$!e+`sSr`t;wA|8wz|J%9eu+wZ>s3Xm}S z+n((PxI6$NaDfagVBi>7JOx59ZjEIH)=ef^dY^^I-o-NIDUs zaD~M);Q?7VIu*ijhO={_@M!2c8RBq1TI^!juxKeHdhu*r9HSYb2F7Wf(Qaj2qyHO&mPVSrk&LV} z8SmzZN2JA3jCp)o8~X^zl`MvOyLF*(bPx&fMqVjH(T$&|U3Cm=uGL|hfB`t5cs9EANWwzXD+x0|XE%2$X<=bF>2r?RWzSpg_`4@^6$W%@#fL z_R6ZB@dFBYLlk%cf?X(p03h&(0-*YWDI~P3HjTnh-!KEA!quoRSOOoEzz3S5qoMhf zssV4PRjW>_by(eIV9#h%1%O}yVZ~`#%K+6}2!H^5P;6U&It3^+;{_Rjf&gA{R06c4 zvu|idQ%5S3k{b`2a^4%nK>pLd;;#ZRQ-7j{odbq6mmzw<@Fm?26;6oNT!O=l5g8{kV2Rp~X z62@bME1Vh%W7v%s-mqmf>|rx@IK+nmF^Ri4;uA{`z?2iPiX-=(;mCN#G_J9YZ;ay{ z>v+dJzHz5klHwQ3#Kb}l+Q5#C8moET9x-@rMQ~0FyBLW27gT zfuIGmj|oU-DNjj>KW?CqvxsE{HyB5mne5jGw*R@oEDqhKN2iTb2w(yjz{DeRFaZv5 z0|B6z!2~eD5gk;66cY%A0Vv}O8&E+OH+aNVayn+a!Ac6`cPz?l>LJ<$p04V6P4h;}Nj)T$04Jr^A#jHRY zZ_!B({E-z}Ea2nd&h!Pzt(tM8{AM30IKo{(3kgU=1)5Mn05HG<4pd_TqNv6Vtbl-9 zuOI?e2*50AfR3WP0u(#9f(s1JbhPMT9sl+u44yIpiat-kE5vxkI&$HQRA`$MobYy< zP5!}^f4I|kR6FE&@ro4$!85Rt3bJd$8j!%oWLQ1tq_{#G%OC0`iC11p+V->9eF{7bl=aCYr$uVx(XX6CgsLTN3UltK98a%k!g<*o%>( zc^9C3s2&h?dfzKWwS zeXOnEHfp*K0@e|x?V}b@j1K78Z~w#WuXy*BG_3lQ$BR&0;1~~p#6I94i#^C8Orj zqYcgG8!WL0OBM)$u?x?`juqyP@Axz1=n~oh3l>lTsKpBiw-N{-3g)*9H(&!+;0L`R z0T%!m*LZS{*pL30F}u(Sm~aCss1thf4YTlLEwKxAPzu0s0Rhzu8o&VtFj5Pk3Zvj? zyub{c5CA!#key%y^7w%0mqomoks5h1mKO`Q@C@Fz53gVafxrn5zyqZ)i85gX7w`J za8QV9puh;J@NP08ku%^6)8HR|W&l@c3a{V@IRGFhzzj1GnTyE_Ht=mfxr2x(iWs4GEW=>NgQ;U=vEAd}E;lhM^g1Hyi3-9qOT1WR78o zj_b)jBRWAKx?duyqHV*X_~oK6dNwgyUo%RhUsR&JiIFIpqZ?$S@`a;6nl(X6T|-Kw zS7W5ng``P}Mmw6Gz3HP)%0Nr%T1`r&v;(D;DU?&1r2}N8tA(XsYBXVbSYt}2Kx3wX zg{EohGi$0;oR8z^8rcr+*5lfhwqjN~ncusE3NEiK?iJ%BYR% zsE-P%kt(T^N~x7Fep1S}GInW6z016Ud0Mif) zqmY`yN<6h{Qn%^?IRFl?UQA@&3*73h;2Hq8;D9UP3sXQ=FW>_pFa-y& z04NXzy-);vumUu-3l0DR4iE*q@CC#bTMEDj!&O_}a8oh$QXn7z63bTvTc*Scfa-^^ z3j3|45Ux$|uqxpTJ=F{~D+P*0SyRhhXC+pA zQ2$nBHMPNNvp-|7`?Ry*@C)C%3gPOoE&)(Vuv>f}4!Lk!Q{W9CFasIz2HWKTd{72a z&{QN#08A?df9nd6a8_JJR^mWb4&Yg1d$W{jr|NmE0ak{)u&tf2u%*xhv4EN`u>el> z1{7Pd1fW)Z3j*h04;jF>Akb5eTT~#RTzrsLQ@{rT-~%`13o$EGd;kRl3%M;*w)mv2 zJj<}-`VzTtu9}lj*d-qVkPEWV3+`pF0UIBS`* zx)QM8EZmG57mU`K!Mc!@un0zyC`y0h~?)O#i@f zqdnLtrIkxLeo%%9oIKzmxy34myR#hZDZ#?Hz!!O<4xEe;yurUi!F~XSJo>?uqBF&z z!6WQD;GrWY9Hl)9!pYdeE}T2yp^OYn!z#SOH;luxqr=I_!zuhL2U8py6T}k?2}E4P z#_GdMlfg^O!A|VKP<+I8G{sa*!c8p0Gi=1$GBXO2qFk&xxj+h(GcFb^gp*?_WNgO1 zlM7gRh$f1~Vtg%*Tw($*j!FoXo5|iJy@PToN3RFeK&@$QD@2 z^eHT-TqMx!&EE{p;VjPMOwQ$O&gYEI>8#G{%+BrX&hHG*@hs2tOwaXf&-aYa`K-_2 zJk7Hb2r+Cc<#NpuSjvYJ!Zg;;39Zlz&Cm_)&<_pK5iQXZP0IONIZe|jjV>y!vn-~? z%Ba&rP1Hqg)JKifNv+gNtz*roETlRejoeWy`u&6KU#o6Xss?b)9_*p^MXm@UwtZQ7@e z+NrJDtIdp}-N2*`$gC~fvrXHzZQF9~+C7}bJ$>7~?c2W%+`;XPxgExY72Cp%+{vxn z%e~peeaFVV#>_3<(@ovgUD@lB*3Gxp-eKL{?cLuE-s0%o7u?q?9Ny=R-s$b#5d4dC2e;0w;+4c^x8 zlHJI+-2v|46>i}dPSx-d;lnrK3Xb6)4&ouc!w|mL+MVF|E#fJz;sYMa2forLPT?yq z<1-H5^0MK+*Wocv<2%md)@|b@F5xil;XO{|MV{P0uGp~6+eXghP2Sr`e%ZT?)=p04 zRj%6ea^ty|<0x+BUGC+OZ7*5QdRwmJUvB1S9@t?H61?Bm2T;mp3-&v z)N798ZJsEY4(g#U>Z4BTrEco1`o-xY=59ykpML7E4*%=1F6*;S>$QHx%H#lzn-eAu6C^s?8R>E$ByjD9_zxsa>TCe&kpU;F74AkFwBl}&Q9&wuI<~-?bB}U z-(>`k@D1AFFZ4tI?>}#R zK~MBauk`J1^vj3zOAqx?zwJ#AeNQj-SC93{PXG1SXZ2a{^0)1tYwz}RPxq?|_qr(eb+7k(AF6l%i+RuYfiL)2p7yK`_=Au5iJ#Ji zKkSFE_>T|yb}aLa9{H7T`GimBeSZ0y&-pI?(>mYzp)dMi{M@5&`lm1XIY0BL&-#_` z_r&PB5U`!&D&1KRt)Py8(({0KVy#jpGzfBX%a{L2sh z7vKC6`ux#v{SH6<7h3(-&;13T{T#ae-7o(5{{0~u{^O7S?_T~bdj9F}{^q{^GTQ#{ zPygK>|2I1S^{@Zbe*XaBPvAg;1q~iVnEz1WLWT_;K7<%i;zWuSEnZC6Pvb^P`#gRG z8B*j(k|j-^M43|MN|r5MzJwW5=1iJ3ZQjJ0Q|C^eJ!kF-gi+{FqD74!MVeIU(u*58 z`h*%)>Qt&#tzN~NRqIx+ErBux8&>RCvSrOKb*iyrSGH~4zJ(iC?p(Tczn;aLSMOfF zeJ7^vx3=zJ!i5bVMx0nN&AWabKZYDxvQWT+7hlGlS@UMjoxKK~99r~f(vB;8Mx9#q zYSyi%HZC1o_H5c1PrJsQTla3>sA1Oz9$a|v+r5n+N1j|c)!)ONKZkBQt>xv_tzXBU zeP8qF-MxQDJ6-#D^5xBU<_=!{djIwji=T%dU;g~9>D%AOpZ`65{{8*`hsnPD1|+b% z{QyKTK?VI2us{bNr0u{3C#0}K>l%bGLk%U9&_WMC1aUPCHzcvdygCdqMHN>xY(x`Z zgpnx}S){Q>8?|yVMjdygOuQR^1Tsjea^$f{BOjVkNF|qK5+x#!gfhy4l5Da{E0=sy zN-dA1@=7niWHHMv$JDV)FwaDjLNUo?vqUq~gfmY5)@-v*2;Y=5Pd&$@(@sAJ#B)zU z2Su*WKM!RuP(l}Fv^7H!h15Gm8>O^T%^r<3Q|BhNv{O$D!&FmIYvc4&Q%`j()KOP0 ztyENBh1DumS*3L{S7XIB*Z-Ynt+iL_oT5%wVTWZ7G+&Q}?p9)#W!6b!k%g8xADgAN zTE?D@He1=0wYJ-3dDS-D@PPHUTyswXS6p?C;`Us3Pfd4Sd2LJUU3=Y)cV2z}s`p-h zyUllBfgJ+uUxTR)cwmJy>i1xWg-v*2i3uwBVT*B%c;bmGzPMv}vDG-_q5vbgWRp)u zIc1esX1QgTUxqnmnP;ZCW}9!uIcJ@B=DBB|e+D{ep@$~AXrqrtI%%bsX1ZyopN2YW zsi&s8YOAltI%}=B=DKUIzXm&OvBxI6Y_rcsJ8iYsX1i^---bJGx#y<4ZoBWsJ8!-B z=DTm98vs0T!3QV2a7DupM?7)G7iYY2#~+70a>*yBymHGg$2@b*H|M-_&p!t}bkRpA ky>!!0M?H1bS7*I-*I$P{cG+jAy>{Dg$31u5O%DhFI~qx8h5!Hn literal 0 HcmV?d00001 diff --git a/barcode_capturing_sale_purchase/static/description/assets/screenshots/image_1.png b/barcode_capturing_sale_purchase/static/description/assets/screenshots/image_1.png new file mode 100644 index 0000000000000000000000000000000000000000..8eafe82229f43bfe5a58c5e52e19ef0050a7c49e GIT binary patch literal 101966 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�r98cK>|GScE& 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�z0OfK+t66R1eE8 zpBlUSxY5DxgGDe^I;bXmYu1v7FrJRNa_;7bd=&M_qae+(+IjBD_IHbuvdgWzeH%!S z!75s2Hp`qmcWNQUPPdq?W)&lF6-Vy1v;~ZU)TLQv@25~cE|%)|)miw^@6%oZCG~58 z&f}}n+@SfTq)%3gUf|V_1}zpo{&Jb4!q1hEXB-aya1VYzMSl%ZeP@Yq72UQ&fWpMi zt>6d7_QMNIMre)bQr81EE`2I4`iQ5k2ZD&@NW*q7Ags%9)eKIo-zYao2K@m+*lP2P zGP)GVX>;rn+;&p$0rGI3F2vKFCjwD92Qa6yc$PP~=uWwgxAKX- z-?3Sa;CEZq;n#+$M}6-DJL%o2!uSc|^z8km*M>s-RerP*&jNu>g*)f=l|K>#`sJp| zGH4OyckCL5*4-@jD;S^3^fVaXy)*bgKTPk9MS-^WoxIUMgJP^%kipuqk|XXttMvGBiY(;*fjIBOb5LziKz4So zXTQ3W0uZ^W6MHWL_>YUqC~MEf6N4{YxNryM4hml7>+|VgYAb_T5`UrP9|`F1hxB!* zynm=Ue`e>Ft~%dCK$_0Di(R-EH^4u`RwWNL%M|)`!5voyO@)I9YCl1|&EM4iV(0y< z2&kkJ@(KMhH06hyO!51P&wgCp;%wo3;+Ip9``eE{{xp*OW4g0@EA+>Y>8j!n0*&y{ zkJ@lDZOs{SAFHgiuY3yJ?IGjat&qNTxpxg!#%sto$x2d4O;@-)Aj0=$|LW_Thfl6g zU(72E(#$My1~1f;+r6RuFWtsCiLHLOIXSb&^|*7}{bFi$r*pfUU-ItpV77`NSUW!F z_P1TuOer5Q*{qvC&6zk*6&$-$W?xw!L>W&ajpshBfGWV3=2)p{be1qiB?;||_TFB< zcj5@7o%gQUHKN@C4QjhtiD=^4EW-4?JIWzEI z-4o1uWuYuEGyz0p@lJ zso6glukd69>Gt#bNhk0p5a*e9O>z8?l}_*QpXR)`jps~e^Sv|w0C%2IWna6uei(vJ z$*P1@Pxk8+mgPSIGz@n3#_osU%gpu)8QUj7P1uUe#5xZoxH&WMpV~_L;s3~f_@J8~ zqMu`O_JPhI`2C=qbnnamE<5tW zg!KFM)Jv!Tpg|zdkiC1j?P^(lmU7k0=aeL L&h=vL`+xlpp>qjD literal 0 HcmV?d00001 diff --git a/barcode_capturing_sale_purchase/static/description/assets/screenshots/image_2.png b/barcode_capturing_sale_purchase/static/description/assets/screenshots/image_2.png new file mode 100644 index 0000000000000000000000000000000000000000..06f01e873ed3f3dd9ac6210a41e744d50ee5bf13 GIT binary patch literal 28393 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 literal 0 HcmV?d00001 diff --git a/barcode_capturing_sale_purchase/static/description/assets/screenshots/image_3.png b/barcode_capturing_sale_purchase/static/description/assets/screenshots/image_3.png new file mode 100644 index 0000000000000000000000000000000000000000..0d36c9ee92307448aee333e97730eddaac0c2498 GIT binary patch literal 91122 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 O^;lC+1M&OwKmIQ^$?j_a literal 0 HcmV?d00001 diff --git a/barcode_capturing_sale_purchase/static/description/assets/screenshots/image_4.png b/barcode_capturing_sale_purchase/static/description/assets/screenshots/image_4.png new file mode 100644 index 0000000000000000000000000000000000000000..4aade540d934c2b773bcbdba128959407a4fb6f9 GIT binary patch literal 340740 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%0D^ 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

N1#M_;KUIZlHd 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 literal 0 HcmV?d00001 diff --git a/barcode_capturing_sale_purchase/static/description/assets/screenshots/image_5.png b/barcode_capturing_sale_purchase/static/description/assets/screenshots/image_5.png new file mode 100644 index 0000000000000000000000000000000000000000..6fdf8ce20f18f987643c93acdfdea130d8405e45 GIT binary patch literal 109763 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

%S0CC&tnZvXt=Bog%al)+*D>G4 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 literal 0 HcmV?d00001 diff --git a/barcode_capturing_sale_purchase/static/description/banner.jpg b/barcode_capturing_sale_purchase/static/description/banner.jpg new file mode 100644 index 0000000000000000000000000000000000000000..05c23782e1aa10a79c725acece8ea922cdb1ae2e GIT binary patch literal 94497 zcmce-2UOF`wlI#z-cWi6={1Dj%aNv`N(~T-Kmt+{B%vdCR1lC7fe<=K?^Tk}QK_M7 z=%GpPAib&|=e~Q-eeb?|?*G2;d+R@IWo2g9nb~{Vp85S8{W(LysOjtMNI?Mt2~k|5 z_2Z^ae?B}IT%Vo@pI;4RT;V+bI~d4y?=K{tuF72Zf7g1?T<_66b$2A} zp1i0yz(Gt*{GP15sGS^CN>*A@N?zoigqVaRP)rgiAqfzdR1lL^kdnUl*Ti+M5D9fu zFw)TatGe@&GS^?*<>TWc>LV%Yj&uTw%gf6H#Uy|d5`c3G0Ll;HY3B<-pt%1gK?8z!X28aLNw7*cJJdI#~uf{*6Mw$3M zg#nFVD0eTU1MHlf`)|zW-S@8*{Z4pZ8wCTT^SNE@+%()Byx=f|CrCq?>l`Brb%rWP zN~pgN_0m%1kac1A$meNckGo9I7UtN}whd&8hwNO$$xp3*1ix>Vrzg)j^_1cZg zH!obgbgqno;_A8Pza!6~m(TIPT)%Obg5t_~MJ`^vbcK@U=H=VhDb5RjK~hn3(p(p( zrMqv)MQ`^4&mec>n@5ZUx7U!2Hx}%}$dp<6@r#<#d!Fh+X*1abg1N6e^UStAvWg^W zJP=>=GRpzQ8>`+TrHSJU73c(6Bn9W>Y7IYd8VNhE_l1iWE?vHS{Tk)ftG`^ic&?J_ zTqmbE^_BaEb~IN#Uc_+G{w`j^2uXKMEw+kV5+x=5ZN~m(mhpQNPYk^b!}U)jbske$ z#%+gJaV^ze1H9Q9nz?)rps@I#WQtqo{ctXkib9p5EvB+BsI0kI20tTX}{ULu)b8AMGv1HGd& z?Dff>tSu@t_O7j4&)K!ev&%La`3tMHH(4m9GjvW9%W73ZHXDgDE(VNBPV>M^ep*{{ zs7?EhPf-qzgU%w6#nnZXQ7(lOH7C}l^&Tagee?sd^-_$3LNccV-%-k~dqJ+@qPyJN zGNT6Q*nZo$4W>IuN1o$kAaG`RcFxI$7s5sjV%n2Hr;tb5fg}NK3 zR{v11^y+5N#mQ{6#~aqi0l{RX^C423esw6t`zUY8=;n4eY?M@|_yozIQZ!tbK$j5@ zqkpqYI|z+4-KXpHz%N)&lNHBrBx4zpGi20PwF591{@S+88-!K=JW6!9$fVjV!CpCF zd^ytW7_`T`Fp(n3t}##Pwk@2vzC+-fndliRhv#^!P0(nA-K~O3iw%orQ^}?-LRA?1 zgKuB+^P-Dq={#BMj>TkT4&rEXqrD{fy=;VP0nEIEYopX(rY#uX;-nTL!iBGgNk9KA zG1G3KvDzLjSkQ7iK`bR5{&+ zOiWCHuPB}(@bJ=ys&S*wR)n8XlPw@enb!Nq)Z8tRDHUpy3T8{z-l zuo<>!Ta6~8Vt(|cR_?zh@Fw-vK1!%q8D5NE+kq%{quo(a*Mp4qvJU0QQQhg8enmxg z#+th3dfxmW_3O&s_^YQWu$0$+j&fD4*08yxVRO-Ag^b`!h_0;Ue(2ehq*AMrun8dY z1bLoWZ=*Am5Q}RKbN#i*&c66_Z+B&V1~DyhbFeHn+vv!5O(UB5I4MREckCO6+O4*) zzE*TiJl?h+y#)-h9};ax$&U_KX4uGvjx=OT@ZY}jW!$z0e&bMR*eoGOAWFwrmvdyi zqc$SR^9Q7LYiFA782pkPR6YHXZh*hiyNYCut?r}8kJ+=;pa!-I*ojy zQfJ)I$ZNCOYKfT|o`LJn`v}c$(d^%$mfmILE6wG3h)LX$=xOi0r5eA8@4@Fh(>nNw zAOC(i&I88G!ZYzO%rd;18aq4Ed$QSFuuJLC-H&bCx!0t@U;=KM8X+ATZ!!coQSR8j zQX;V1EU?hlDkw!JeVK<@=`2hp>)026B``zqDKl>n`W7N0uLu9pEO0pzSYQZz9 zy#Wbl7oOzAG8oh-cklSwtx@#INB2VhxeXqwebu+o$M2TqnTJm5T5bS`Gfu?U5^Cvi zd;FcYE*ZGz!hvb>s2akg(@{){bAt#wAO>PzRdr+;-|z&az%$en-ZoxM0wcy6pFVCY zdow8KmYcYqpYbO*siV2%+9d1 zjMZRXqmI`P+LNqCi2w#2Yt94zQ+bqZwEwhk&9_<>`dJH$GR3L(?d>>|+8CZ8pHDrO zXS*Ztn*eJ$St|7a{&=~2?-e=zcS@harn=#s&2{~bZWeyg+b-JOp$vB$rL z7#{D&9jMBF|4>BtU^x|Z_D%>r#>7!^E&bPj!uUS|c~D#IBn&pol~bQy-O1meP~l`Gt^1$L*Zf#qSp`&WY?nI@4Zi%v2QyrzajK$$smEs6`jTm?_ZvE+Vkx79 z4sunEB}Tlos~S`|oxE9Elk2@vJW0v=gep0lDyNby_&|oN9BeZnDY@!m8F^CpU~tfB z@Jws5y}dHjUT*ZuqxY9J64uGnI#W}_LCD&URKJ9b;{?f6`4)*yA8{vZAD~Um>ikq2 zWA4LG6I>X;_{&JZC-Goz#x~yl>x&W(NAgGV7hyd;pEpYTI_SP6=DyNftj&hgAj^2~ zrM&e;uom7f4Y#<2r;m%dN1CIH6iM^M&W_rh$)+6FvtYOD>pg3WtZZ@=sE>D7-z-Ds z4*>D5`Axmkj^9xo0H1NmfC<$*-!^&UG4Z@eZS+`Wik|jfoE0iNBurYqP}^){VxrjE zwS?c;&itT$#C*eB@b&D_#xTinSPI?|!FDCLW-S_^69ipBml`~b-I)l|S%Z|7A^_Sd zh@PIVK?$d%Bv};STuIJJ5D$R|&s!&dS7xw6&?>jAf0_VpeFSmFyAb8+}d zt9-tRe0f><-Y!&J9DFz{vFW$}V)g$h{Mj0O;mDGBPu&Aq-5yVF2=8B$#-_Hc?<(O3 ziu37jP!9?fEl$7-Wx)qkv_oEWJkm-py-gBWo?xoqMNU}WEtK6Ncf6|g%cVP&@xsWT zMDwLZ@1XcHVg8U+oq)iwG21AcSN?H~-BjQ2824UEiENMN0KD!Z`=!NRf4dH-Hy5r*hNaLsoG+8;7g<9gBeh%%-pPh~9eJ z&}p^0f;dGOZtst$!$*9mzKhnVUsn0k~as|!aUZ4w2gU=!#a{?S3fm>K1T z>@4U*Kag5EWAZ$7P$J>xako#JyN%27t?36#Yd+8tmv3hC2R%fk^$y4ZHje~#UG5-V5)zWs->g^lHfuXw`ozI_K_*8lW zt`)+d&i#|Zw|kxO;?94PwO<;TyRrQPeERO!8NMDqQjjX=`6(bD5PB72Ey-JXD7Tn5 zCj+gms`JwI*8Lu`BY3F5#HlKHbb77FY7fr-1D7xXDXL_a?_Vr`ZIJ1A$cJ(wLpJET zeo{CgG&00p8km&2G5PNLpJsD*+;bY8jfY=LC%0QL1TDyYlCDQizyk068eu_|_=wDx z2vaTu`6i>u`K(|ZLavY;Uf)2L$pjzRx&5O>WR%oS5=i z(k)!rz2Y^Z7#F}zS4Us^z^h&+`=KR)!|X0d^!+*=AFI>S1v%a%l)8f-CF_~H{;b4o zedYVSBrXeH>vBT4!_7bfw{|yR^nf`QUp!Yl#jf3a-(HKiw_zx%+uX|}J=a5JlVhbj z_r5>$KonaiyS{V~FrwtS7_@1<2;{NT2g(8fjjrr%#*tN`qSbSbcN&v}a_dvF*V0hI ztGfJbBbICIFCy$}a#5xjOnhlFW7J=!oU)qS&LjnBNa>1%4FpXLY^z%xoE^+wEa~Yf zRTuJ0it~{`D0CU*&*~s`>>>0mn;9a=_E*F@N}vd`Pr5mHQv*LB~0~chCB{r<8j`8!{A$woX3!n=LEr z;)}+?LB={=L?2NyPXE9#%EvT!E7dJ*hqE(?2hScMB;3~#$E>bnuij?Lob)quhV{q>|xYYviQjUq~H7X5z>`&)gkE<7Mx|N5futFH_MFFEnR;;|`W za#6nTJ|xOvD2l_q!NL-x;f*}lWMMSW#o$03cPc(<0p8EH!#nndpGKmi$7pz!f zb0DYT%2N-CTadVYJiIJhP-S*iVgSkUj_YrI_kZ_)wVM|$u1o~xWt`0(Hv<=`u2SFo zLz1cx*!jZ6umqmBaofioSRyk1hN(c3*W)2K>P^1|--454w`$uxbRFz?c-&xIa#?e* zC(PvW<9U}PkCt}RT7KM~rYG?L7!D|9E^phSJ2v>3uF<=+`Lyw4p1s;z0)72N#EwB- zdnJRuFacW7v`A%CE6egUHTzki^Q_@V1g*vq!+_rcm0zr_1Q(=_qpvLOT4OkfilG9r z0n}|LRdR<%;sI5G5(&B)9|sF!j^nq>+il#pM=~U8w^BBP6z0BmbVMNf_@p4-+w1v< z;>D+^~)mU^;?t6MKKny9WEVW*EY|i5t?(>)F5l)%{Lszm70her83R$s_)+{t;J@aI<^6xA6Tf`PnQlXqZbX zB45W2RD53PigxCyBP-kll&UI<`w(R^bkl!Q=nq_OTj+Z{oVn3Ojd8;1&lfC^Ycgo8 z>oY74$PQLC``SYZ)T}Q+XLqI_BwCLg8;A>fkOPh&rL|>g{UOK3v)0bZuXYBa*)Djm)N4)_W7e_g-q@)oy5VG4)d$ZXWOA8~D|mGyqKfS|XWhkbto*z^ ztgmx3^*JTJpv}yS(m?clLd1$;VCMTcIf{cHzExK9yGVV@{M#(< zuy7|^16H#=zC}_PYddzU!pKA)(z~bxTbnor4KUp1CFGC0AKC`@#Kl1p0CO^{KPi~b zN_qev_VVV*QJn$iF4ifP*cfML_bXx6%~*c*v~hDryNLdPC4{30QTDof!alaAD2^Y z-ssCBx%oN0cBM2(#J>STgEu49Pl6R#|%te8L!nB^uYCibjv0Ehu$^`&4f z!f%aMk*0@TH-&=(Fbw##*~7E zR5=}90$!nGUROdgHMF(EIy)nS$$3Qtx>Q4qN!CDwsh($+L7;T<`+=GVBF7`v5gJ`P zl(Md80rbOO!yXxNR_y_Vsw?8oNyfcx5DB)ZkhvRyD2PrJ%iH{#SWAV&tbqcf{cdwT zk}S{oj;2|LX(CqZCY3co}s z8Leq=d4*M`ey00?wY}siC~;F7j_HVJJ2NZF46jBSJ}S`9LUKIsc}pT4Gn<4y@nVx@ z?vreU$#qGsAaI^5D=VWG^7-*nskiwoM#a6$$R0(r7|c;l_MzUFjj}EP+R4Os%)j;| zq@%LJF8#i@RO^^-HM&vjE!Y*_G+iMb(W_AblW_GvDUGiL6qWZ5oysyT@gs+#z-U>+S6JFW z^P-weV&?V-=Dx4)Wve_B9R9+s?bPc4 zsXn!Fr7TqLG%`zXeAs!WIpuHm%PW_u!Hh|rIZ3x@{e@2R)VU~-fJ`%!kH5j8XR zqvFj>KN%1vJ?5&BIKCjhr~R$p^V6IUr?hxPbrwkIE_^`!+0uRFR3<=2t1`}G`0&oH zdKkl}@tuK)KDξ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

vllJ54 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

dc+=YoZOjF`A=#ZLMB z04SpiyWyYK<9OA2r6bK*yD|2y z-$PS<_22Ldhs)3Ohei+r4K-uI_DFeR1~1<$8y`Lnv)G*#?q^2E3lhFeHu_F#QC(e` z8fx{4^s(gOlFB+O2|U?;IIwum*!Qq@=5SF$_P(I!g9>+7pdE$8vxhMz#jop|k-FL= z61PnN@%T5#MVny2#Cbj#X-V|yR`JtbbhvW;=V9npvibNb2Tdi+AZa7gq9Lv*#yxcm z#{WQ{ZmHnYR6fXHm;xK+JJks#0=KKov?Q&h<{#841dM&2Cwb$&pa<>hcn%{{Uw0`S za@RK*JkwU2U2IM86uV8?TzLyibT9y~ zoinrt@si-F$+OqLYW~y8ke`X7u$}OPbdROGxFtqUpQmyq@0%*92$6GqyL9F^|S7s+pT0BuxTT7{zx zIC3?Syq?Z6$Q5X~=akc$cuL!jf9m)ARei6mqfJ>yLnF?}J@wL3W30CHNmV=C+Pwkas5MF^6O)9pwf(e zfC2tSk5?CzD+?O83v>_hryX}wJd}3F-N}N9%&ly`-UlewR>Ne<)K-BK)P#F-6+m+R zr2bjXpX*BSQCN;fxXPrnA;gZooiWty+b@|RU;lpQrn9|M)a~Ps-lYzqCe>cKdetT# z!r6~y=VMRL$8_(gXWTFD{m8pLP2^U3dWw#7xSV9Fgy;YM2s~w|+h6Ulo~Azluna{? z=pe7tXnE1iu8l6?b!pexON9%_%GH$m_x~1bO%{Hh0_q&%2%Mt+Dj%rsGhZg5e75s$h z-1_6=x=Dv`yqzoW{=v)u5Lg|gAydFO$fO`QJZ%kp9v0a%Jp7yw4QS-_=T#dy$%5~| zS(Xk!$#d*=bQ&VsoOCGU0)J+Xh?iZ_+9S(ogXzg~@yz64ZtR;(39OCO#;jtVl%)rX z9esgi-+Ch>0z~(d3%-UXO~|1McuRH3qW9pHiCz}D>*lQwcW=j<)n6#UGIqSLL=-I& z9D14gyY6*mHI0t?SkKp%`~h1|lN-HaOm2St50abso&-v>&~~ZjR!y#U4LYkg?Q;9p z8PL`Ra4xcs+2RNC0>$TfMxW`w{QW`ypm|6U%QnoOeg$6KGx_x< zv$Xl4l%=3)Nf_%2Up;I+#Y*X_p4iI5HAIEk$??YzL}%D{X34QuFs+ZB0Z3$2fw}CU zqaQ+L!9(D^Vy=_69FPSCwXw4_*?rf15r&Ib7bpca7xK*>GN;2GMql!A`4dOCqMsNT zMO;VZCbvbg53s+7(Z$^bM`izo?c4FJsAa#SNA!K6kz}|G8}3UU#ssPS`j~?0s0WwI ziU5tjVJ2Gs12fS!_Q@CYvj5$vV&@2FCwj^CUm4&v@I{HUJ+0G)_~kZURw%WKGxq*1TFd7Dg?YEgtXTZt_w&E_@vOWH2}VOG ze0|oKcQ7&Y>bm(&GIbi9$x-?@hWqdj+-!R*dLwQBH5K6)KGSQJTF_l}oa^_8ZPVK9 z!NvkgB|{UWEIK11g_y1V)9w2`uY>+b8l{1*VRV#^&i*nmgU@*dyf5<+YcjwME8!jk zD&ZLk*84Uq^_dM7B2QQ&PW*C_!a-Nijw2OZ5To!LBSuo;s=++@v#YL>Q}1;K=^Z^# z={E+usJg1kRvVEjpk`d?UB>a~6RVt_=a~CF*F<)^c8% z?6`gsk@s--K@J$WKU!fwl^wFZBEprCfG8C!(Fa)+&{_v_;=Xd2s7*qi9B4nF(<(a% zMda!L1`Xv%1zat~j;!8YQOcj$;gnl@5OKRY@ry^48oS~n2S6m+N)<^#hfXZv<+!`P zv$(=Pp}AY}U^w6_diW_;Fd3M>csniL8;kcF1Cf^e;QzpR_u?x4!KoR1k*@h04?G!B{EZ@zi&(t^csv2&3=ce%+V=TK*{Hr*g_{f|_z?6O9{$r#u!*yF_ zo8+C|3CDvVByf8SA*i52<>E$O8}23lqfXhQ?AePQx0G(C)}6!T>b|>yQh7FpeX*>k zqTOJ(9c0KzMk5vgQbU-95qY$ERRE>Y zqPFr-fIeG6fxHIo#|+p>mVAMXsXW8Mqo+(9Q&T}P0(+(KtQgH$frd==Uj#rMMCfuI zrQFK%>AY(Z3{)?BeL!F&EXZ`LAg{xgAaL=gz~-#@{|6o3;;Iyw#Zj>l1_A?jnC(B% zN2LP>B3U0qdaLJWC)N`b>;p>l~X8~Fx| zdi20~Bkq`kRxp##k}pdUl>JRZ9m_Sw0Sm0ZG1R(|f8JS~2h9Kfo-C4FvCVvwY^-0= z?7`k~Pg`>lxNP(73QG$kV(MZFE5MVfu6;ChEK$gVaL&d)pN)R|0bK!WfhHf!FHT?Aq&1^wXNkgql}WYOoR zCoj~QD(0rEhbuEvb8!*OLy8qT`c#h>940Lo=bQ7>0%m~MnY(qnoSTqHRSCD zjFP@f5!UI8IHd=e^H5#i&i6E;1unQ^OeFP=H^*yaicA8wdin-C~ci+*dW^px+0z1n`O;@#h?Sg#Pn6VA?LkI_AB;XD&9 zA_BG@@~$5E9LY>Hk8fEV{>99vBCbUVzHTAS!n_+qsKL~}&*b!Y#&OVn&&k7Ch3JwD zXNoTl0GQ$}#F#Xu3kPylE|WlIFBhSr5;oT#zI=kxLIn-FVQxo6As=v$5riFyQL+oy zhqP^wnwnR(17>HDF*;3rC7GH(dg7L9!lK{LYYy0PG`GW*UO=O$IvgXF>sI7q!sOMLqK6x)QWKIhwKI)IOqUNOyaGt6rivGg+STRZyeY_(8- zU5n*)7P&{#4A8{D${{tT(&w*(KW%o?d_5;ZNv)U^CZq?wTlITpG-o4J52tgj9ewdl zSb8Pg)jYD_A-y^ZS-xkmbFY3jq6J?A_RMzM$==M^6PC1h=51> z-mYI|;DHc8`n#RcrLo+Qxn;DNMwy#(+?MR4iwYfa#qwQ(p410>(d7kw4}Hc-FvTZu zB@z59ifd(g|JTtoD_4t`D+XZpd4rN{O14Z%u>GI?J>20sIhRljRt5N_CUVfot%4 zw6!RVi zF*)m5KE})ETzEF((hS8c$$CnY;qW3*?=$3_6QR!sBlhr7vOX+XsZ2=liK$=8 zN2>0ei{-K!M%h#!u@j{&o7CQYU+1ge;>%ddkQ#8V8OE&V77{vB-q8M&>k(-@op+m) zb)VV0r8Z#W){>$R$a0m7MxFL1?6v)3@+-*ExfN>RD^f7kO2lXR2HBy0%8y^1>0?Zk z)Vna>4%AjUsfnX+7U^56D(uJ+pP-dCO&dy~F)%))`4HCR9BRL8BU>U{5)yabF*ROe z^dQ_+KQcVWj$JyfjgRPVf!RpW60``vV5dVA^fGH9fk^u_w_V0`J8Yp`ISR99{538S ztrD5Y%~324`9Xg)#C%#&=s6izPFaJ}?!K&C|NO=HiJ!G52W9R2^;7wTDS4nL?g%!4 zPAb5%>!zI1bm9@mH}(X`Cy)MePXs)cZ*1x}#*8H4PnZ1&I8X!#9KtdRPiWqz|C-RK zZ0@9#XNRf=5`cap1 zk&Oxrs(^S|1#-JP4KDFbd-y0PQ|#A93OvNtSX)|`8Fjk=!XMM6CQdhRSkV<<9QJ%p zK(-{sjN#*!u_y=;;=E|$gdKVuBb@iS9B>e_^wkI34ZP7RlyL~IGb0O=g*~754!_{3 zQu^!@`o`7lifxlNRBS>35kwu_0FI!8_PZ3D#k+NvIM z=k*Jm%B!L2u_onQX5+#pJm4(H9Rz*V4_|l2sZTPM!Dkh<&N;LTsi4*;@~?b| zDAHTwx17ciqh7;@j@D_5U|ITfp+S@WnKh)hy6Y5<976A^rKG^jDInHHRL|V&MugPb~AWqP3H^C0+BTU%f@W=oH|F z`I~CDL=H_FayVElf1j;lW3g{&K7p0lmo!(mnoqTr;a!r&IwI=T@&=L;)0Q-}LBwqqucQ7Lsy%(n4iTqJWH{j1j(fcLPbdC| zgvT*ye+e=Vs<&{=6Y51%&KZ{D>z;7x5F|QFpMR`>IVA7Kqb8qA{#rhHxPY&6h@V2A z_)fk4nv$hsq9x?sfuFW@5|!M%ct)8Wct*ET1k1Li8?Mh$QVx{w8*nYa?}#Y~brsWg z>J5jTg}0Tbiso=n&9ro@?gzOqIQ+SgBBsj(^rcg?JylqGaUghBdq+<$0o#;_3Xv`~ z_X|h{e{Wl<7T{pboxD_GJ3dP3fQsDbx=DMR6(Jj&@NS4IyWCW(dwFijgr5xzN-4;L zK)E!3YwY=!R=+GQ1u^gG(3NJEeIC8Tz_4?^f-eLp8h`yP{yfNqkB=$QayhJhz;@9` zE(qWprn@WGIK2>+JmG`%CNt-_>86p zigdsXq{*$Z;(BK=wJ76CyQ7h+`)v^ziW$4fVdou3!4F^>Op7&DosO|x&|4<1^GkWj zn>?eNCKdLgYav&LpCXeHlng4&)8b27;>C-m|E62p{FStME`QHI4_qxy+&`;-RUi09 zC;n!j82VPxH6uFPrBpm)Ib{+K8jd$}340fw*fw8R*i{FYQ0(aYQ+E?^k)C@jOWwM< zbvfFm>S?SLrq?I0N`p>4#BZ>-;5wlY>hWvdv+H=I4hYy1o&7C9&&%yOsEmq>uduLHNloOICSIS z3o2~#QECQKb9!ft#Z6z$cupgq<;q%dEi3yAzH})9edE&o_z2LGk!XyQJszoi;t)@M z2ZqJSyV{2k^K3faM_2D&WpWcYcJIUYBUxZCY7UKBnw4zvttXT-b~%+gOY}L;c9Ah( z&{c7y+DvLV1IfAXULV6Q2No#Z2rcv!0epX$vyHHRkrvoJ|=nKk_{r9_)*s|HM9` z`4t!cYQXR@<03^xD*X$PYKq?IpXw!_9W~0g35x4@lTb6B#CYrVP}+LW3mt5^&#+F} zsjWv=1#)je&2Uf$+1xyzxJI{&0~05vYsnMOxCFjoIi6$0`{0}>^78nA@$8_~7%FpJqr_REZQ^lXw(Oz~dhdc^EHH2J)E|Nv^plsNm!B)s zZz*R(BbS|i^++}a2_@nZA~~uRSm&!PciG&Sf-T-y@kV0zeOz^YIT7YUSAfH2TNY}8 z_DRc+KUZL0&S-l&wZ^`>m)FEo1kBU&s+|X8D zqub+Y7nW33Ic?OI$uBC=!w~CuPRHXptRmtf?}_ja_ms3)Q@4gDYQw^rXQM{S5q}4E%9V_4RE4aJaq_k(H_9^Dr&6hBBm5bc3ItvLrk+B&_1a$wcy+B2iW>+Uv<&YIvDE8}P%T6hDLaQP zZg+DBjK14E-1qt*h0`t{_#3&n5HGm`+Sgj6#eCEExF; zdGE!6#VkX-t(v<=5cqB4hT~WleYyGoywfADAtT*W_ox8WZ;Um=`f}5Ali-Q?++jzw zHpp9dXJx8l3>g*UaxhNK+oRu1=ZNI<*}OHlXl>bdy<_>*)1#h}$?7U!;`vdgjFcek zBr-S4a*Z~%vW_{3ei0Ozw+wT+YBnh#H8~2s8pCQZ@rXq#qxuHD^wQr{z#5`M^(-5W zT2ggT_zp8*K|KvN`$9wUr%Dvh>2OX&nsKNU3ar;l`*g!+vdl3?L`PpDwsGdylRBbX+>CQK zo6+22XmbU#u)GK18K6X$u1Q)|Oo}f%+o&mwmiJxh1{;7ZUn=p!i&)~lNE%)MzqNMg z+R-ShM9x5UWNBKtF}QG%S2WWqy1?D*GLF;-O5nI>~*=lN_EB#O!!z z{i{8-DS#7v%n~~AW9Vc#aYw{)YJ$NZ`?P*tZ9}qiH)kN6wRB@Z;FLn z{jV-&cuK|C9k{a~1fyHitXAw8F7D4uAAULslD*GLMbiv(Hq;A7FZ($HE+aQk0iLTf zeaNB@y)H;{*DcH_u;pkSy+wa{XuyW-R@G!QmlXksmZyMmKuA7Oy+Pgs@BV6S!GulR z`19qPATZ+W)VKA_e59s7XL(M(?duCYl#-T8rp9pMSUB#Wou(xsy5Q+LsV|EC8*8#f zen%sJ(L*&#?VJd{+T3@lBop`!g`FwgmpAyPA;`)i+L|{!WqSA(wJU2lcZnSrKMg%W zp|Pr51?gK_ytt3!lHpwlAR!Ix#2ct~bmiB0N~s)RxhmiJdEq*`jiMzp8^%1#OEeqH zG?3JY)wB2P^$4FRc)p*9b1U_IFE|*u1DJX(TUrG-a^Xlu2>V*?`y;sfM5V7TqvvgA zlHJvmKNrvx*OB=eKW9mJfrn5EUgCbEF+pWZPiZGr z%O=l>rv*nalg8b&%vr70ik!lHos{XhawwSe6r*j4N7u-&VD-03v}_as6CH zVAE)!wS+M+l|q$I4It*o?nCBF!|zsYV8rmDl(|?e(P~odGw`a$iED`V5#@!axWQr} zG{Zow!_dR&mhk?7Bh5^%bz*#JlENZ`6fE@=Gq zR?@^6ifio#r~wSOoZcZto2oglgnX84p`{Pa)1Q80=zoHZuFok+vey_3mOdqmxlv!B zjkZo?jFWhN=~FnlOHVWF$J%Xs&m$Q6n0}x-qG8`1m2azkIqTt)S(Qo;^!xlK^r_#D zt7QYdrw@|^LC5>BDY&r$L!<{n3%!G>-gUewNE~5ii7KTiuC2cvgO%skw3L6fv7WXV zp=o3P(;dR5m^Q3Sn^RX_%fzS&L09#REW_pdjq$O8SooAY8E-wA{`8K6COOKa(PN*s9&s&p%1`@Sp3P&N zLzZSd=VX;ij-fk+mIT-CLe^9(!^yF$IpJKN3{x}aJvj|EWu}8KgjDFHB&YKjVI>b;WUd>WWL@-am3pka8y-hv=2Ov$ME?# zlm0b1fE=v^4qk|-Jt0w8tXWR<_BiHbmx_!iu0I$Oa#-9G$5YaeE}!CXZYdjqFmXVO z4;kC%A(LlfmDBsyPEqX4_ry@sPRGerk*h!)0{?eg?2_x6gVQ`M6IEH8i2$#85HNnQ z!CrN+&6&$GDk^MXU;qXo@s5wbMJp;aZ!t1G%lkKVK4&(yc;QFE7wt-TX3ys&jTx7+ zCm!3}yTGLj|Dc!kzn85(eHm6AZ9HT{22<;^Ft{8|=m6R{e&ev&F%B^KJ{G|E>6ZU} zKRe6xKn>B_VGdIKSFx{ZP2eXd$D5)rz7@mIm3;fj={Bx`l(dRw799~9Ir)P6w6vj1EUs+WB00c zl4j=H>!nMjdUhIXeO|v47?g80OxuIx%7} zz2_~_S#`9S`n_BQ;HjKxN^mPoD#S7e8%V7fZXkCj_a&CRc_Go@NCSBwt$EC*Us09m zrD6wQ*ERF*<>Mzor!uvmjsIHRkw+>tZN>!KzOAbLJu=!4lfEJ+C4i8T&-TZ8lCG`3X%N%^8YgS6Jyr6cH)1?t&hxEi44VNgNu$(@(z^>#XnNEX z3p}L8jdnnNb4|5>D$Y!KIj_ExMgrygv}C7mZk5olm@z$iLl(1r5Q0w} zmy?uK0d%8e0re4;nEk&rsm^Qd`C{CQ4+xeR$PUG320Uisy*(abHPmIqxD@cx4-dE) zm749fD)P5=;i7Z#oHUj3PI#<CU| zESR>$55r^Xjrx!9#;$(X- z)~Fe|s=G1YLF!?`5vMJ%RK?C&2IL{agg~$q0nG7g=lqm*TzV3B4Oq6kw9Uz1aN)`N z;HD(vNJmzc+doH`s4VqjRCTG7-~Fgon0vHXXdu$`o-U`ZzJW$;ZNk7WvPtaOuV-mf zb`fM`Q{bR<{hJr5MWno?XD1OMwsx#1i`VmPWeR#DR4J$!gI_f#EhJU*c2EUesyTUD z6AWKCXqQ7L91#$XprmtAKEbJ9|9Zd1zyPXmqyt}f5dFpgWe?p_ev%@GkdWY_(ZFso z+d|&q{I#9^-!>7-*e{PmvgTa1*H0-2@4jw=3M2Ici8})*#W(J%scnC>;GLQA1rqe_ zt!T7lM=bmVPv4Y|giho`WKSWp!bE{5A;+5;N6r&vD^3k&6fb-E(g0J(T&@dM}ChxoxYEcM=&qD|>Bc*5i4lDFuqs(urAoozYjh z>A}aN|7r~Ssnr+w#eC(~Q>ed-}=)wZAW5c-%*s0oYt-kPYT z7=E_z#7PL5@9&!9Q=&lH#_$qo*DY#xqJ$rJh9=h9<|SUo}ZF57D!@__nr z&C|EHj!g%}{bM+(nZP_ke{Q7>b9GIb&2D zNo9JPfAy6pZB;jUZaSq+G)6LhNq1sGOWGBXS(jgErrQ~@rgE7-6j#eLDU^!qAy$}2 z&0c8v;X|&6)8>pHG{#!CguB&CxTqW&uWUyj;z}#5=}hn&L$<8p8`K`CbWS^Hq7{;6 z5SOcun?EotUD%LPj${}z{@#N{6$Qxji?9$34);se{Uu1~q;7eyWt-CH7Dt^n2`4C2 zW)vpv5m4a^B}ke>O#h6s=-IKdhAs=WxM?q~*tZ^$jqWjWy%N#6P!TqtJ__1!KfLDC znvE)|M}ws5j*m2`fi*A_vLIaCukFgWnX(=IpJ^jtFg_Kt*iZA_Za-$50uv0Riy%(G z^i9%s8gOCbwC8H-yFsk@;+6y;#y90d0a2?KUiK{+l{Wn<&Wt^z$wwL@7;fx*1Ltz! zyNHCw1FQ5W^1j@ClY@Zbsd*$$(@PEi50T2w>~AwO0c`$Dev!|$wY96W(k-kkn8MWF zNyY?uNoITkU`H& zK*)ti>Mix01t*@#?7-z;{gP*!xh&85DKr60to1SlX`1jq=r0M|o_>^0oYdY(>Fu?a zj5Y2uAIdsRa(56aRk)U8pi%xRMiwibOtLi`%_5Ni=16!>u=;ah{%L6uI@;aL%0r;s z@Kh6<<-)l*E0cB7$*8# z0(Bt{4K5i5aIy6ku#yiE2OF2JmvW^hN#Bf3c586`=e*LUSJdjM-hU7tle~ZON<6UR zyq=|svCdi%dLqPnOaD1<9Fdd+=!&=DRTjC`cG(n@tGF5tp(zJQX!f#g(2iggw|M#hLM2$P!V9o+ApdfknSu={2+?zFSnUF?AiEJeth=o%KF*%TsM zH&izCT=g9u$xTQ4Q@zoRTcH~!=}VTkQIcI}LxOV=4viUZgsC*^g8o{bC|&nulP(Lo zUxC?Zpv%Xjr~^^^WdD4! zYs$k-&!OyCQ~Djxo@(vVzQEFO>*8Cht)yg9k0LxpK;QDmG@Zq9OG`^@8QJMjI-aS# z`H368;C0uRoAm`w|EOszmT*I||5_B|&y)>IVL#D7nvtA0imafAGwtnK0xe#w`h&!_ zkqb^6RozF-CLST-t_;cm`T{m43E$%TFVfC3tT!4CZIQ*IVvU0k&sAKPiVKy7pPG@@ zZ!#y>+nDPodFwKurvC%LBP{TSWEzRO6&ldc-i?|9cTQpaFqkH=Ja$&jXMa9qd)YbB#DkE zDqXO&&m>;jkgjopEb>jd%bckh$fFmxv^JP-#vqAfW>5X#Euz;K%dZ$!S3f;S>pVgi zw`f7A+7&&8+j}OLv>=)=S4P_#H(kkH|+MH5@cTGQfMMn23;-LB^8%tvjS zo1v|GH+ws0p+T}8RSo@k41hod^w2lQ7OP`0hUh?9H}{aNVt$Ie&y~3(6>s_LGr{lS z8@!hnH-~)=PW*>eZuax+9}E)E*`9I<#)Y3Gu>Shn8{VKO04Z(}w<+(>M~=vN?+%&a zzLG4Rr+S21`h2|$D18HGT{nQF(s|>{vbj3tw^B@7yDfBd6Hk#Il`Rn{F> z*3u}yOX42J!i{Sk#p1K&K(c;^=!B8xmd3t)mOYld3dyK`JJ*5%1;3=)99p2#&1(va zHlpn*7}iML-1ElH%6b(hi=gc*v8?WDqi*~M9{qnYqN4Wc!DIrXnd zvP>`H%1JQ!vD61-;sO+qP8wXl4aT90>lt8G!Uy%%7OG|o&EHi!TPzUn-wsgZtA z(O{!AvlAFhS@2OGUiA@`3ma(02vVp+(pg3&Nadc;P;-e_SxvXKzw_o@i0&;1-!WVS z6l@T`f(9re^kvy;Tx(=cJw`%SOiFw5$avW`_%ozJxv;gPZAep*y6HjK%(PN6Lt^Ypf44NFe_zbr`yOv3xdB9@xW_b$3;cC^c%6l8c}v4}-qZ*YQq<@A2uFbZy&wel)Je~4yO!9TlX+d|K03=PRB9)J|hm^ ze1ut0ZgELxnh+Ql+(a!sFhexbzfxEqYTHRtL69I~$AQBM6`M=jJH;=9$ctB*J7F7- zhzrdEIuf1iu5}g8N-70Q{SA(9RZbMUGab4QRKHu;HxfHScufxXjC45YCimB(TPE(O ziMr|E03k};bl<^I19lAy`hG-H#SCQX!0&WY7C+dGzwfEH+0CMXuCop7AvZWf0d;vu zk+!nU9nxNi-b|IN6Jo7_?czv3qkK8&APNq@3pu4oYpFci?KT#TS4=(fA!1PSg|YAo zZVf1p{<$Dea$VuUZ3OdoX(YlXxk`m0EmE51lx`|hxg2{nMh3mAPK{8R!UTx&#()>rq0Oi`tjV;7 zEb~D507|NGE@`a!>B_o-CRmAY0m>s@ZQB8;y33BgRR9eTW7ud^ke!!j*e0_8@p9Nt zWnuMS?R!Ztz0mF-N45~+e5KqH|MeT=f~FTHM!oCV=uTk^-FA(f2?-Di<{}!2Y_H#6 zQ$ENXG_~_BTVNRv@=c`gT+HxkNMCp*P#jzR{({1-4m#-Kp4&hliu*Po0~Y0KppalD&c%7Fubr~i`aYq?|AfI@I(J@9Gd=&f$#x-IvXh0A!Kup>%W%t0jKsq znD$SGPzvuH%HMdAAMfhK>e;H}Uc#9IEHlwd!S~H`HwyM>yZA_hgwe zG`Hu2GQ_e`*mUfH8|TC(rqk^uGk^{G$(}a(dlF6OBV)QPLAL{kUqdGioywYt#|Mxz zc2;16>O#Zf34(#l;YJ!_+*h%=3K0iI-668zwd2AtT_=S=!Tu`N<_e^xEsVCw?n4na zk+M=^8b~UA*wv^w1Sr>H%Gp>KEwox$U^-Q#LN>donxp7%b-O@&*T2o(t>Qj?Oo7o&2Z{c;ZpUro2cX#muYs&`Chs^%L@?N zaN51rG4q^8oZ2{TXsz=uFb?w0j~XemeE26^{zvzJylbP!pUR+RZXhOFY4H!i*m~og zC2P79*(rSy5IFSyS?j;P&cC2~ql3jiU=#U0sV(i^pfI2vA!@(C*&ZtzrBx=-H8*DS z^Epw_>H-37v^=G}8Xv&%&6G{;K&9cEdho~8tF$=lfQiN?N$s0%B^`F54a6izdH*40 zj`~G!JNT^n;__I=gur{uFQv9rggj^Xa0?K@EU~JKcd_r$#B7|_K>&&ZY)IfZcoPbq#S!Zj~oR;3DCdw%&<~h#sPT!P;}VpjaCSe8&xwCU(JTVm`jcQ~)tmNaZn=6Gxf$X8~7t)-&{X*o#&O zXBe6+L3=YUvr^D&)rO)W_Oz$P=RgG#tltE{?;B)S4 zU5fV))8@Z1+IDN)jRZX{*vXt!-MKz($MW6lT}B|3m%_PBQd?6TqK%3>PstqcA}c*# zFc@tgmcy0aocr(;XTKUSRZp#5(p!}n7K~|GEJ&c0lkoKk;S(3Kg_&&L##JRi0TmZB zd^5cO#mX4Af(c#XaewMtj;qAL&NWg_b_aIv8!@XvyM^OSvlW?*X{|#UQ#ypD41T6A z0ibVRn>@AU*A~r@-2cR$|D*4}Y9ss~UH|;&AD5DTIoAr}k56Rh#S_}+AA|n+*ndNz zz-*3>do5r$?3IsJ|2K1u;vJ7zZZ3h8*&BG45oA>?BhGPt%e><-Q`DxpZx1i!q;E$f zC?R>Y*j}CHfvRYWvrdpj@1jh$&@}LfNVjy!Iq!&Ki~+~)*z2yhee86@#4k3AyvaJF zbeKO4rfyOmt@wS&6{tQEY~>?bz7`@0aQR3!ePiSr+{D(q>{!VvdSq$u8eUP;<+FNS zGXy1lMKnZt$nDWJP<^poHjI@i55L?ldp|990pxIu8`4F1`<9pc zP9j`ohAOsgtUi8ZG5%q_m27O-?2yF+sZLL3Q!gl;A$|eK7V2YZv&nP#)*q^Qn93wq z>1nP$y-WoaEK;c+S%yNZbcvMfRt@$_OxikFwn%_sFR_K_+vX&SsrS`1hTW3c6@dWNt#5VKdsnL4s~*M+b_A=7a`q4x*tN*_P4hzDzyf168!H3xc%YK$Nx`d*BR7=w){mzQL$W+CM7C2C?G|UP=euJ5HM6Jp@a^hCqM{Q5dVsT z5Fqr>xzaJ0qSQzefsg=E1QSStC<38{j!22z$A9L{yf5$h-aVhroZmV7VQ0?lo;|B125#$z2#dG2 z(96gO#@j#~*Qb!e%>Zxu(&9gV6{X#_ffax7P(4dIJ46oBRt5EML^A5>(cwOvZpi=C&*G9c{t4Z`*x zlwt_-lph@)6S838+8?8*%U9nvTiZRRp-3NUu@wfz9D^61G#IT9muM%2g~_HaCGIzp zsEA?DoSvFI)#ZmtKvv{9Xa3&jLdn}r=Hulmk|}(oLE>VrY74iW znFrG@a5>%QJ?;$y*T;cVl2MvJhpqD96ppOU!I!IS_EoNS}k@uTY}irdU=`6DvA zT58i6R%)T_*x|DQXU!ZD%qarUQ@vG6$R$6Z?UTbPI^=hNMO)GP9L}Ikf*>>Q>3B)y zR9x<5!!pX%xdSDD2K$WDyQ*>P`z=pEDt_To3z^$s4?X{2IF^@1+o3nUomWr-yK@+bvls3mojVq0nYuDFZiv za0}Ir&N6`TraQf?1>Gj8;q1tdq_pz~pk}rmVxaPy7Nz9#I`@t7;ZdWm4mMx+L~aF| z>yEQBEL4fcN@LrnUW{J?U#A3dUqHI)!*#HnFLomH1H&tnd}>rE26GShEl`<^1{4>c(9*LxUA>iK{w2S*U(c;5s+m#uEi8u zY>+rDNl`@0CiJtlEN4x0OAeb|%?zak@Hno#y8~bPbBS-1IcklFYQP{Rq7qhxZ z300BawHv@aBi5hO9^ORx&gqm;X6GsWJz!Sfr@{d81XKU0s_sM$`k@tOsHA0QzkDLU4y^!I&A=H1h)! zJ_QOjm!Qje(;0Uxfjz$X=UvzDd?}g>nAo3pXX>h-3iAsiQQn}!L5=;(pqT2~^1_Oj zk>7;GI-x}~97l#;x2gbWUx~EjIsA&&RR{(?v8d3IB%D-!A}}<(pP2E`&qO}JV{5GS zqeN$?)hl%Lb2a^R_m;-(hILM*A3X1K_|o0a zJNRm`ec%$m!4J(eGEUtpY8St(C9Y;obwQyrC>!*K`DYol5Bx4xYsQv$6Hf0YrN%jMD2*ZKcdDPE7X3pAwIfuoT6MLn>1g4x>KKYgmdr6bgi6x z@F}d3cn)%W^wXGGRdZc>hIJ&Z*`hFBOMF2ZTAgd*48Q1P{KDFmA4AxB7)N?Gycf5b zPK<+QE*|LC`7BGm)Zux)*G)!gYzjpnCbhk3wN4bbJZ!S;BR9Lo{n0c>- zT)zB^qF&#?@BJC)6UqjymiZ;r1vOMt&~YtknRHER9Ha8HxcslJ)pcYvbI+!!6Ni^V zMvJ6m)&7=$bBU|tP;xM5Dupg&*s^44 z^R+LxbnGU zm|`TT(|KmB-rbo9swxmheuPn{)CURJZ%uz~+9r&O!>5(gvi0gGgy|YyC4_N}r4Zsu z#T2{IYxTs}>=H`#ggala?@rt~Em+SQrvR)ms`MFmoe^2CGK`h&KrgVmZq~~Ar|=`C zU|;g(v35ngj~Cm?gDI-$WLmu%L?PuP%z5!CTj$|v?x|SOLByEmNsO^*uCK_2)KJ7y zv+o}1k6LE#ueE~r;8PPz-N8xQ+pufupii|Uc(7<)pfE+vp<(NI(ulJA^kLM`rLX<< z^ZF5#OJC7p9SiDiLL%pygPR%jyw1gmkeTDC0>2xv8Tq4*97lg$PyhF8(GM*bk}}Mx z)NMV{r<0O~g(xsMnc5(&a}H2Fq;Qdb+d}x*iJAngh>I1}ulD*y1#kY%YVE3SqF@g4 z(D_Kl07bhX$oV}Fg6h;Twjt?)iWUJ>7AhxF?L4nrn-^ut0%4wriE{~tEq58HqD_Ybh<9U*#`aAR!nqI z?VyoZL5DjyYMxL|J9_qJZD1Jc6CD*cX^JxxRrZ*HEO3ae^p?= z1%LUhcgpL)RlaJUZ-I23nqt0=adj8T9m6*rb4!zbgQ}}xJKlYY(Zx?6cz-wh>qvx4 z@l0e#&G%iOqu>9&B|371Ee&RaoE~Zym(;NVtji~ce{OGng6f<$NAnylu1_?E?mU#< zJ?vnV+uLj#T3oDR-cW}#&pgaNOymfxY#q#Q>yu2U;y4l54An1Zqeaw9eZT59n1=c+ z2~5(9bIL%oNnXqV6O8@#)o7m;LiL4bNCD&Q$o}7mf6U!#l1JANA$UL<{UuMZiM$l3`3 zxb(G4+fsMdgWacNCJGS6dS=N0y~f*t#%xpZLnf8+FnL53srxNI?GrfsYPpzVmi2a} zL7^42A~Ex>;vYXz+~0~Y9LfRQ@z!oJuA8&nGGE?5w=Bw=^Aq9!1v)Xbd8b4t=aByS zn|JmL%djA*ukDB3UgFiF899gClXweFtf)N5Q$L)FLO37y{8DzK9h`@j@wJSx&Q1N6 zobm94j9A3`xGhPm9RS?l!|D1P?r$?@4(r!4F}r|#G~HZjQDdViOuUTHtgbMCd%Rp- zHPNKjEFvwYP{qt2?k@_OYv2lQvfRDY3b3ai=*UFlPPNf8nl(Xf>Jk>fo6A{jdm8>u zdYMGUUUfeMSu3$nIZj`brsg4i!({bjPDjH_td=XtEu&H*uhJpzJAkO%n0E)j*&leW zL7RLYY++(xmcvjKj|5$lH43}R@>9tILKeHQlob6=Swgl%Gv-p&$|3#iKaT&A3G%P= zhe3w-H_NJilyAXyJvV-I`S4Es3;dfi?Wkx0o;9dzrr}tB&xUBMHuR!t6IwwY@;UWK z8PEu*K(?N$=XOcc7@-iiBs()gV|l|P{|lZW@mEa~v}zr!{5hAQ$dOh$Y=mh%q?G}@ z(u*g1)4QM_=gMa^jpW#p~1x{6qwaaNOL;H#n$lSl<}qCshjpN;fT-mO~&eVAW}3-%}99WskCqbK%T zb!?1d*bDGW9&aJ{>6!#1%IraCza8Ydk9xLD4fdtwMlx#FzJlV;c5wQEP5bjwa1s!B z_FA!?Be%2=Uv2}^1V>6xBbx*cCfXwVyB~WtSe{UVc98>j zcnV|QW2J;<7WX>U6WVd24(sBkua=F@R5{R;9j1wu20xT4-@AS_;M8U5Z1CYw_Z)L0h0maQC9c-67BxcMT3L9wbnl5cu*u z?~il7bF)}vC1GaI>}y}MZN6%0DB(Y&dqeP7A;)8Tp68 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 literal 0 HcmV?d00001 diff --git a/barcode_capturing_sale_purchase/static/description/icon.png b/barcode_capturing_sale_purchase/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..dca901a6f743ddef8fb17efa1eeb5776cfeded13 GIT binary patch literal 7678 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 + +

+ + + +
+
+
+

+ Scan Product Barcode for Sale & Purchase +

+

+ Scan Barcode of Products Through Camera in Sale and Purchase.

+
+
+
+ + + + + +
+
+ +
+

+ Explore This + Module

+
+
+ + + +
+
+ +
+

+ Overview +

+
+
+
+ This module captures barcode of products through system camera and add product to order line. +
+
+ + + +
+
+ +
+

+ Features +

+
+
+
+
+ + Products can be effortlessly added to the order line by scanning barcode. +
+
+ + Barcode can be scanned through camera without the help of barcode scanner. +
+
+ + Barcode of product can be set in product form. +
+
+ + 'Scan Barcode' button will be available in sale and purchase order. +
+
+
+ + + +
+
+ +
+

+ Screenshots +

+
+
+
+
+

Sales Form

+ +
+ +
+

+ The label of barcode is printed by clicking the 'Print Label' button.

+ +
+ +
+

A new button is added to Scan Barcode

+ +
+ +
+

+ When the barcode button is clicked a window with a video screen pops out. Show the barcode image on the camera to scan it.

+ +
+ +
+

+ The scanned product will be added to the order line.

+ +
+ +
+
+ + + +
+
+ +
+

+ Related + Products +

+
+
+
+ +
+
+ + + + +
+
+ +
+

+ Our Services +

+
+ +
+
+
+
+ +
+
+ Odoo + Customization
+
+ +
+
+ +
+
+ Odoo + Implementation
+
+ +
+
+ +
+
+ Odoo + Support
+
+ + +
+
+ +
+
+ Hire + Odoo + Developer
+
+ +
+
+ +
+
+ Odoo + Integration
+
+ +
+
+ +
+
+ Odoo + Migration
+
+ + +
+
+ +
+
+ Odoo + Consultancy
+
+ +
+
+ +
+
+ Odoo + Implementation
+
+ +
+
+ +
+
+ Odoo + Licensing Consultancy
+
+
+ +
+ + + + +
+
+ +
+

+ Our + Industries +

+
+ +
+
+
+
+ +
+ Trading +
+

+ Easily procure + and + sell your products

+
+
+ +
+
+ +
+ POS +
+

+ Easy + configuration + and convivial experience

+
+
+ +
+
+ +
+ Education +
+

+ A platform for + educational management

+
+
+ +
+
+ +
+ Manufacturing +
+

+ Plan, track and + schedule your operations

+
+
+ +
+
+ +
+ E-commerce & Website +
+

+ Mobile + friendly, + awe-inspiring product pages

+
+
+ +
+
+ +
+ Service Management +
+

+ Keep track of + services and invoice

+
+
+ +
+
+ +
+ Restaurant +
+

+ Run your bar or + restaurant methodically

+
+
+ +
+
+ +
+ Hotel Management +
+

+ An + all-inclusive + hotel management application

+
+
+
+
+ + + + +
+
+ +
+

+ Support +

+
+
+
+
+
+
+ +
+
+

Need Help?

+

Got questions or need help? + Get in touch.

+ +

+ odoo@cybrosys.com

+
+
+
+
+
+
+
+ +
+
+

WhatsApp

+

Say hi to us on WhatsApp!

+ +

+ +91 86068 + 27707

+
+
+
+
+
+
+
+ +
+
+
+ \ No newline at end of file diff --git a/barcode_capturing_sale_purchase/static/src/audio/beep_scan.mp3 b/barcode_capturing_sale_purchase/static/src/audio/beep_scan.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..2b21436730c0cd970e8a201af1e3afbefa423d1d GIT binary patch literal 8826 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 W1P=VCum6$Ie_F)v_x true + * + * _.isObject([1, 2, 3]); + * // => true + * + * _.isObject(_.noop); + * // => true + * + * _.isObject(null); + * // => false + */ +function isObject(value) { + var type = typeof value; + return value != null && (type == 'object' || type == 'function'); +} + +module.exports = isObject; + + +/***/ }), +/* 1 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__common_array_helper__ = __webpack_require__(3); + + +function BarcodeReader(config, supplements) { + this._row = []; + this.config = config || {}; + this.supplements = supplements; + return this; +} + +BarcodeReader.prototype._nextUnset = function (line, start) { + var i; + + if (start === undefined) { + start = 0; + } + for (i = start; i < line.length; i++) { + if (!line[i]) { + return i; + } + } + return line.length; +}; + +BarcodeReader.prototype._matchPattern = function (counter, code, maxSingleError) { + var i, + error = 0, + singleError = 0, + sum = 0, + modulo = 0, + barWidth, + count, + scaled; + + maxSingleError = maxSingleError || this.SINGLE_CODE_ERROR || 1; + + for (i = 0; i < counter.length; i++) { + sum += counter[i]; + modulo += code[i]; + } + if (sum < modulo) { + return Number.MAX_VALUE; + } + barWidth = sum / modulo; + maxSingleError *= barWidth; + + for (i = 0; i < counter.length; i++) { + count = counter[i]; + scaled = code[i] * barWidth; + singleError = Math.abs(count - scaled) / scaled; + if (singleError > maxSingleError) { + return Number.MAX_VALUE; + } + error += singleError; + } + return error / modulo; +}; + +BarcodeReader.prototype._nextSet = function (line, offset) { + var i; + + offset = offset || 0; + for (i = offset; i < line.length; i++) { + if (line[i]) { + return i; + } + } + return line.length; +}; + +BarcodeReader.prototype._correctBars = function (counter, correction, indices) { + var length = indices.length, + tmp = 0; + while (length--) { + tmp = counter[indices[length]] * (1 - (1 - correction) / 2); + if (tmp > 1) { + counter[indices[length]] = tmp; + } + } +}; + +BarcodeReader.prototype._matchTrace = function (cmpCounter, epsilon) { + var counter = [], + i, + self = this, + offset = self._nextSet(self._row), + isWhite = !self._row[offset], + counterPos = 0, + bestMatch = { + error: Number.MAX_VALUE, + code: -1, + start: 0 + }, + error; + + if (cmpCounter) { + for (i = 0; i < cmpCounter.length; i++) { + counter.push(0); + } + for (i = offset; i < self._row.length; i++) { + if (self._row[i] ^ isWhite) { + counter[counterPos]++; + } else { + if (counterPos === counter.length - 1) { + error = self._matchPattern(counter, cmpCounter); + + if (error < epsilon) { + bestMatch.start = i - offset; + bestMatch.end = i; + bestMatch.counter = counter; + return bestMatch; + } else { + return null; + } + } else { + counterPos++; + } + counter[counterPos] = 1; + isWhite = !isWhite; + } + } + } else { + counter.push(0); + for (i = offset; i < self._row.length; i++) { + if (self._row[i] ^ isWhite) { + counter[counterPos]++; + } else { + counterPos++; + counter.push(0); + counter[counterPos] = 1; + isWhite = !isWhite; + } + } + } + + // if cmpCounter was not given + bestMatch.start = offset; + bestMatch.end = self._row.length - 1; + bestMatch.counter = counter; + return bestMatch; +}; + +BarcodeReader.prototype.decodePattern = function (pattern) { + var self = this, + result; + + self._row = pattern; + result = self._decode(); + if (result === null) { + self._row.reverse(); + result = self._decode(); + if (result) { + result.direction = BarcodeReader.DIRECTION.REVERSE; + result.start = self._row.length - result.start; + result.end = self._row.length - result.end; + } + } else { + result.direction = BarcodeReader.DIRECTION.FORWARD; + } + if (result) { + result.format = self.FORMAT; + } + return result; +}; + +BarcodeReader.prototype._matchRange = function (start, end, value) { + var i; + + start = start < 0 ? 0 : start; + for (i = start; i < end; i++) { + if (this._row[i] !== value) { + return false; + } + } + return true; +}; + +BarcodeReader.prototype._fillCounters = function (offset, end, isWhite) { + var self = this, + counterPos = 0, + i, + counters = []; + + isWhite = typeof isWhite !== 'undefined' ? isWhite : true; + offset = typeof offset !== 'undefined' ? offset : self._nextUnset(self._row); + end = end || self._row.length; + + counters[counterPos] = 0; + for (i = offset; i < end; i++) { + if (self._row[i] ^ isWhite) { + counters[counterPos]++; + } else { + counterPos++; + counters[counterPos] = 1; + isWhite = !isWhite; + } + } + return counters; +}; + +BarcodeReader.prototype._toCounters = function (start, counter) { + var self = this, + numCounters = counter.length, + end = self._row.length, + isWhite = !self._row[start], + i, + counterPos = 0; + + __WEBPACK_IMPORTED_MODULE_0__common_array_helper__["a" /* default */].init(counter, 0); + + for (i = start; i < end; i++) { + if (self._row[i] ^ isWhite) { + counter[counterPos]++; + } else { + counterPos++; + if (counterPos === numCounters) { + break; + } else { + counter[counterPos] = 1; + isWhite = !isWhite; + } + } + } + + return counter; +}; + +Object.defineProperty(BarcodeReader.prototype, "FORMAT", { + value: 'unknown', + writeable: false +}); + +BarcodeReader.DIRECTION = { + FORWARD: 1, + REVERSE: -1 +}; + +BarcodeReader.Exception = { + StartNotFoundException: "Start-Info was not found!", + CodeNotFoundException: "Code could not be found!", + PatternNotFoundException: "Pattern could not be found!" +}; + +BarcodeReader.CONFIG_KEYS = {}; + +/* harmony default export */ __webpack_exports__["a"] = BarcodeReader; + +/***/ }), +/* 2 */ +/***/ (function(module, exports) { + +/** + * Checks if `value` is classified as an `Array` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array, else `false`. + * @example + * + * _.isArray([1, 2, 3]); + * // => true + * + * _.isArray(document.body.children); + * // => false + * + * _.isArray('abc'); + * // => false + * + * _.isArray(_.noop); + * // => false + */ +var isArray = Array.isArray; + +module.exports = isArray; + + +/***/ }), +/* 3 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony default export */ __webpack_exports__["a"] = { + init: function init(arr, val) { + var l = arr.length; + while (l--) { + arr[l] = val; + } + }, + + /** + * Shuffles the content of an array + * @return {Array} the array itself shuffled + */ + shuffle: function shuffle(arr) { + var i = arr.length - 1, + j, + x; + for (i; i >= 0; i--) { + j = Math.floor(Math.random() * i); + x = arr[i]; + arr[i] = arr[j]; + arr[j] = x; + } + return arr; + }, + + toPointList: function toPointList(arr) { + var i, + j, + row = [], + rows = []; + for (i = 0; i < arr.length; i++) { + row = []; + for (j = 0; j < arr[i].length; j++) { + row[j] = arr[i][j]; + } + rows[i] = "[" + row.join(",") + "]"; + } + return "[" + rows.join(",\r\n") + "]"; + }, + + /** + * returns the elements which's score is bigger than the threshold + * @return {Array} the reduced array + */ + threshold: function threshold(arr, _threshold, scoreFunc) { + var i, + queue = []; + for (i = 0; i < arr.length; i++) { + if (scoreFunc.apply(arr, [arr[i]]) >= _threshold) { + queue.push(arr[i]); + } + } + return queue; + }, + + maxIndex: function maxIndex(arr) { + var i, + max = 0; + for (i = 0; i < arr.length; i++) { + if (arr[i] > arr[max]) { + max = i; + } + } + return max; + }, + + max: function max(arr) { + var i, + max = 0; + for (i = 0; i < arr.length; i++) { + if (arr[i] > max) { + max = arr[i]; + } + } + return max; + }, + + sum: function sum(arr) { + var length = arr.length, + sum = 0; + + while (length--) { + sum += arr[length]; + } + return sum; + } +}; + +/***/ }), +/* 4 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_merge__ = __webpack_require__(28); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_merge___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_lodash_merge__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__barcode_reader__ = __webpack_require__(1); + + +var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + + + + +function EANReader(opts, supplements) { + opts = __WEBPACK_IMPORTED_MODULE_0_lodash_merge___default()(getDefaulConfig(), opts); + __WEBPACK_IMPORTED_MODULE_1__barcode_reader__["a" /* default */].call(this, opts, supplements); +} + +function getDefaulConfig() { + var config = {}; + + Object.keys(EANReader.CONFIG_KEYS).forEach(function (key) { + config[key] = EANReader.CONFIG_KEYS[key].default; + }); + return config; +} + +var properties = { + CODE_L_START: { value: 0 }, + CODE_G_START: { value: 10 }, + START_PATTERN: { value: [1, 1, 1] }, + STOP_PATTERN: { value: [1, 1, 1] }, + MIDDLE_PATTERN: { value: [1, 1, 1, 1, 1] }, + EXTENSION_START_PATTERN: { value: [1, 1, 2] }, + CODE_PATTERN: { value: [[3, 2, 1, 1], [2, 2, 2, 1], [2, 1, 2, 2], [1, 4, 1, 1], [1, 1, 3, 2], [1, 2, 3, 1], [1, 1, 1, 4], [1, 3, 1, 2], [1, 2, 1, 3], [3, 1, 1, 2], [1, 1, 2, 3], [1, 2, 2, 2], [2, 2, 1, 2], [1, 1, 4, 1], [2, 3, 1, 1], [1, 3, 2, 1], [4, 1, 1, 1], [2, 1, 3, 1], [3, 1, 2, 1], [2, 1, 1, 3]] }, + CODE_FREQUENCY: { value: [0, 11, 13, 14, 19, 25, 28, 21, 22, 26] }, + SINGLE_CODE_ERROR: { value: 0.70 }, + AVG_CODE_ERROR: { value: 0.48 }, + FORMAT: { value: "ean_13", writeable: false } +}; + +EANReader.prototype = Object.create(__WEBPACK_IMPORTED_MODULE_1__barcode_reader__["a" /* default */].prototype, properties); +EANReader.prototype.constructor = EANReader; + +EANReader.prototype._decodeCode = function (start, coderange) { + var counter = [0, 0, 0, 0], + i, + self = this, + offset = start, + isWhite = !self._row[offset], + counterPos = 0, + bestMatch = { + error: Number.MAX_VALUE, + code: -1, + start: start, + end: start + }, + code, + error; + + if (!coderange) { + coderange = self.CODE_PATTERN.length; + } + + for (i = offset; i < self._row.length; i++) { + if (self._row[i] ^ isWhite) { + counter[counterPos]++; + } else { + if (counterPos === counter.length - 1) { + for (code = 0; code < coderange; code++) { + error = self._matchPattern(counter, self.CODE_PATTERN[code]); + if (error < bestMatch.error) { + bestMatch.code = code; + bestMatch.error = error; + } + } + bestMatch.end = i; + if (bestMatch.error > self.AVG_CODE_ERROR) { + return null; + } + return bestMatch; + } else { + counterPos++; + } + counter[counterPos] = 1; + isWhite = !isWhite; + } + } + return null; +}; + +EANReader.prototype._findPattern = function (pattern, offset, isWhite, tryHarder, epsilon) { + var counter = [], + self = this, + i, + counterPos = 0, + bestMatch = { + error: Number.MAX_VALUE, + code: -1, + start: 0, + end: 0 + }, + error, + j, + sum; + + if (!offset) { + offset = self._nextSet(self._row); + } + + if (isWhite === undefined) { + isWhite = false; + } + + if (tryHarder === undefined) { + tryHarder = true; + } + + if (epsilon === undefined) { + epsilon = self.AVG_CODE_ERROR; + } + + for (i = 0; i < pattern.length; i++) { + counter[i] = 0; + } + + for (i = offset; i < self._row.length; i++) { + if (self._row[i] ^ isWhite) { + counter[counterPos]++; + } else { + if (counterPos === counter.length - 1) { + sum = 0; + for (j = 0; j < counter.length; j++) { + sum += counter[j]; + } + error = self._matchPattern(counter, pattern); + + if (error < epsilon) { + bestMatch.error = error; + bestMatch.start = i - sum; + bestMatch.end = i; + return bestMatch; + } + if (tryHarder) { + for (j = 0; j < counter.length - 2; j++) { + counter[j] = counter[j + 2]; + } + counter[counter.length - 2] = 0; + counter[counter.length - 1] = 0; + counterPos--; + } else { + return null; + } + } else { + counterPos++; + } + counter[counterPos] = 1; + isWhite = !isWhite; + } + } + return null; +}; + +EANReader.prototype._findStart = function () { + var self = this, + leadingWhitespaceStart, + offset = self._nextSet(self._row), + startInfo; + + while (!startInfo) { + startInfo = self._findPattern(self.START_PATTERN, offset); + if (!startInfo) { + return null; + } + leadingWhitespaceStart = startInfo.start - (startInfo.end - startInfo.start); + if (leadingWhitespaceStart >= 0) { + if (self._matchRange(leadingWhitespaceStart, startInfo.start, 0)) { + return startInfo; + } + } + offset = startInfo.end; + startInfo = null; + } +}; + +EANReader.prototype._verifyTrailingWhitespace = function (endInfo) { + var self = this, + trailingWhitespaceEnd; + + trailingWhitespaceEnd = endInfo.end + (endInfo.end - endInfo.start); + if (trailingWhitespaceEnd < self._row.length) { + if (self._matchRange(endInfo.end, trailingWhitespaceEnd, 0)) { + return endInfo; + } + } + return null; +}; + +EANReader.prototype._findEnd = function (offset, isWhite) { + var self = this, + endInfo = self._findPattern(self.STOP_PATTERN, offset, isWhite, false); + + return endInfo !== null ? self._verifyTrailingWhitespace(endInfo) : null; +}; + +EANReader.prototype._calculateFirstDigit = function (codeFrequency) { + var i, + self = this; + + for (i = 0; i < self.CODE_FREQUENCY.length; i++) { + if (codeFrequency === self.CODE_FREQUENCY[i]) { + return i; + } + } + return null; +}; + +EANReader.prototype._decodePayload = function (code, result, decodedCodes) { + var i, + self = this, + codeFrequency = 0x0, + firstDigit; + + for (i = 0; i < 6; i++) { + code = self._decodeCode(code.end); + if (!code) { + return null; + } + if (code.code >= self.CODE_G_START) { + code.code = code.code - self.CODE_G_START; + codeFrequency |= 1 << 5 - i; + } else { + codeFrequency |= 0 << 5 - i; + } + result.push(code.code); + decodedCodes.push(code); + } + + firstDigit = self._calculateFirstDigit(codeFrequency); + if (firstDigit === null) { + return null; + } + result.unshift(firstDigit); + + code = self._findPattern(self.MIDDLE_PATTERN, code.end, true, false); + if (code === null) { + return null; + } + decodedCodes.push(code); + + for (i = 0; i < 6; i++) { + code = self._decodeCode(code.end, self.CODE_G_START); + if (!code) { + return null; + } + decodedCodes.push(code); + result.push(code.code); + } + + return code; +}; + +EANReader.prototype._decode = function () { + var startInfo, + self = this, + code, + result = [], + decodedCodes = [], + resultInfo = {}; + + startInfo = self._findStart(); + if (!startInfo) { + return null; + } + code = { + code: startInfo.code, + start: startInfo.start, + end: startInfo.end + }; + decodedCodes.push(code); + code = self._decodePayload(code, result, decodedCodes); + if (!code) { + return null; + } + code = self._findEnd(code.end, false); + if (!code) { + return null; + } + + decodedCodes.push(code); + + // Checksum + if (!self._checksum(result)) { + return null; + } + + if (this.supplements.length > 0) { + var ext = this._decodeExtensions(code.end); + if (!ext) { + return null; + } + var lastCode = ext.decodedCodes[ext.decodedCodes.length - 1], + endInfo = { + start: lastCode.start + ((lastCode.end - lastCode.start) / 2 | 0), + end: lastCode.end + }; + if (!self._verifyTrailingWhitespace(endInfo)) { + return null; + } + resultInfo = { + supplement: ext, + code: result.join("") + ext.code + }; + } + + return _extends({ + code: result.join(""), + start: startInfo.start, + end: code.end, + codeset: "", + startInfo: startInfo, + decodedCodes: decodedCodes + }, resultInfo); +}; + +EANReader.prototype._decodeExtensions = function (offset) { + var i, + start = this._nextSet(this._row, offset), + startInfo = this._findPattern(this.EXTENSION_START_PATTERN, start, false, false), + result; + + if (startInfo === null) { + return null; + } + + for (i = 0; i < this.supplements.length; i++) { + result = this.supplements[i].decode(this._row, startInfo.end); + if (result !== null) { + return { + code: result.code, + start: start, + startInfo: startInfo, + end: result.end, + codeset: "", + decodedCodes: result.decodedCodes + }; + } + } + return null; +}; + +EANReader.prototype._checksum = function (result) { + var sum = 0, + i; + + for (i = result.length - 2; i >= 0; i -= 2) { + sum += result[i]; + } + sum *= 3; + for (i = result.length - 1; i >= 0; i -= 2) { + sum += result[i]; + } + return sum % 10 === 0; +}; + +EANReader.CONFIG_KEYS = { + supplements: { + 'type': 'arrayOf(string)', + 'default': [], + 'description': 'Allowed extensions to be decoded (2 and/or 5)' + } +}; + +/* harmony default export */ __webpack_exports__["a"] = EANReader; + +/***/ }), +/* 5 */ +/***/ (function(module, exports, __webpack_require__) { + +var freeGlobal = __webpack_require__(38); + +/** Detect free variable `self`. */ +var freeSelf = typeof self == 'object' && self && self.Object === Object && self; + +/** Used as a reference to the global object. */ +var root = freeGlobal || freeSelf || Function('return this')(); + +module.exports = root; + + +/***/ }), +/* 6 */ +/***/ (function(module, exports) { + +/** + * Checks if `value` is object-like. A value is object-like if it's not `null` + * and has a `typeof` result of "object". + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is object-like, else `false`. + * @example + * + * _.isObjectLike({}); + * // => true + * + * _.isObjectLike([1, 2, 3]); + * // => true + * + * _.isObjectLike(_.noop); + * // => false + * + * _.isObjectLike(null); + * // => false + */ +function isObjectLike(value) { + return value != null && typeof value == 'object'; +} + +module.exports = isObjectLike; + + +/***/ }), +/* 7 */ +/***/ (function(module, exports) { + +module.exports = clone + +/** + * Creates a new vec2 initialized with values from an existing vector + * + * @param {vec2} a vector to clone + * @returns {vec2} a new 2D vector + */ +function clone(a) { + var out = new Float32Array(2) + out[0] = a[0] + out[1] = a[1] + return out +} + +/***/ }), +/* 8 */ +/***/ (function(module, exports, __webpack_require__) { + +var Symbol = __webpack_require__(11), + getRawTag = __webpack_require__(119), + objectToString = __webpack_require__(146); + +/** `Object#toString` result references. */ +var nullTag = '[object Null]', + undefinedTag = '[object Undefined]'; + +/** Built-in value references. */ +var symToStringTag = Symbol ? Symbol.toStringTag : undefined; + +/** + * The base implementation of `getTag` without fallbacks for buggy environments. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the `toStringTag`. + */ +function baseGetTag(value) { + if (value == null) { + return value === undefined ? undefinedTag : nullTag; + } + return (symToStringTag && symToStringTag in Object(value)) + ? getRawTag(value) + : objectToString(value); +} + +module.exports = baseGetTag; + + +/***/ }), +/* 9 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony default export */ __webpack_exports__["a"] = { + drawRect: function drawRect(pos, size, ctx, style) { + ctx.strokeStyle = style.color; + ctx.fillStyle = style.color; + ctx.lineWidth = 1; + ctx.beginPath(); + ctx.strokeRect(pos.x, pos.y, size.x, size.y); + }, + drawPath: function drawPath(path, def, ctx, style) { + ctx.strokeStyle = style.color; + ctx.fillStyle = style.color; + ctx.lineWidth = style.lineWidth; + ctx.beginPath(); + ctx.moveTo(path[0][def.x], path[0][def.y]); + for (var j = 1; j < path.length; j++) { + ctx.lineTo(path[j][def.x], path[j][def.y]); + } + ctx.closePath(); + ctx.stroke(); + }, + drawImage: function drawImage(imageData, size, ctx) { + var canvasData = ctx.getImageData(0, 0, size.x, size.y), + data = canvasData.data, + imageDataPos = imageData.length, + canvasDataPos = data.length, + value; + + if (canvasDataPos / imageDataPos !== 4) { + return false; + } + while (imageDataPos--) { + value = imageData[imageDataPos]; + data[--canvasDataPos] = 255; + data[--canvasDataPos] = value; + data[--canvasDataPos] = value; + data[--canvasDataPos] = value; + } + ctx.putImageData(canvasData, 0, 0); + return true; + } +}; + +/***/ }), +/* 10 */ +/***/ (function(module, exports, __webpack_require__) { + +var listCacheClear = __webpack_require__(133), + listCacheDelete = __webpack_require__(134), + listCacheGet = __webpack_require__(135), + listCacheHas = __webpack_require__(136), + listCacheSet = __webpack_require__(137); + +/** + * Creates an list cache object. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function ListCache(entries) { + var index = -1, + length = entries == null ? 0 : entries.length; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} + +// Add methods to `ListCache`. +ListCache.prototype.clear = listCacheClear; +ListCache.prototype['delete'] = listCacheDelete; +ListCache.prototype.get = listCacheGet; +ListCache.prototype.has = listCacheHas; +ListCache.prototype.set = listCacheSet; + +module.exports = ListCache; + + +/***/ }), +/* 11 */ +/***/ (function(module, exports, __webpack_require__) { + +var root = __webpack_require__(5); + +/** Built-in value references. */ +var Symbol = root.Symbol; + +module.exports = Symbol; + + +/***/ }), +/* 12 */ +/***/ (function(module, exports, __webpack_require__) { + +var eq = __webpack_require__(17); + +/** + * Gets the index at which the `key` is found in `array` of key-value pairs. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} key The key to search for. + * @returns {number} Returns the index of the matched value, else `-1`. + */ +function assocIndexOf(array, key) { + var length = array.length; + while (length--) { + if (eq(array[length][0], key)) { + return length; + } + } + return -1; +} + +module.exports = assocIndexOf; + + +/***/ }), +/* 13 */ +/***/ (function(module, exports, __webpack_require__) { + +var isArray = __webpack_require__(2), + isKey = __webpack_require__(130), + stringToPath = __webpack_require__(154), + toString = __webpack_require__(165); + +/** + * Casts `value` to a path array if it's not one. + * + * @private + * @param {*} value The value to inspect. + * @param {Object} [object] The object to query keys on. + * @returns {Array} Returns the cast property path array. + */ +function castPath(value, object) { + if (isArray(value)) { + return value; + } + return isKey(value, object) ? [value] : stringToPath(toString(value)); +} + +module.exports = castPath; + + +/***/ }), +/* 14 */ +/***/ (function(module, exports, __webpack_require__) { + +var isKeyable = __webpack_require__(131); + +/** + * Gets the data for `map`. + * + * @private + * @param {Object} map The map to query. + * @param {string} key The reference key. + * @returns {*} Returns the map data. + */ +function getMapData(map, key) { + var data = map.__data__; + return isKeyable(key) + ? data[typeof key == 'string' ? 'string' : 'hash'] + : data.map; +} + +module.exports = getMapData; + + +/***/ }), +/* 15 */ +/***/ (function(module, exports) { + +/** Used as references for various `Number` constants. */ +var MAX_SAFE_INTEGER = 9007199254740991; + +/** Used to detect unsigned integer values. */ +var reIsUint = /^(?:0|[1-9]\d*)$/; + +/** + * Checks if `value` is a valid array-like index. + * + * @private + * @param {*} value The value to check. + * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. + * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. + */ +function isIndex(value, length) { + length = length == null ? MAX_SAFE_INTEGER : length; + return !!length && + (typeof value == 'number' || reIsUint.test(value)) && + (value > -1 && value % 1 == 0 && value < length); +} + +module.exports = isIndex; + + +/***/ }), +/* 16 */ +/***/ (function(module, exports, __webpack_require__) { + +var getNative = __webpack_require__(22); + +/* Built-in method references that are verified to be native. */ +var nativeCreate = getNative(Object, 'create'); + +module.exports = nativeCreate; + + +/***/ }), +/* 17 */ +/***/ (function(module, exports) { + +/** + * Performs a + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * comparison between two values to determine if they are equivalent. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + * @example + * + * var object = { 'a': 1 }; + * var other = { 'a': 1 }; + * + * _.eq(object, object); + * // => true + * + * _.eq(object, other); + * // => false + * + * _.eq('a', 'a'); + * // => true + * + * _.eq('a', Object('a')); + * // => false + * + * _.eq(NaN, NaN); + * // => true + */ +function eq(value, other) { + return value === other || (value !== value && other !== other); +} + +module.exports = eq; + + +/***/ }), +/* 18 */ +/***/ (function(module, exports, __webpack_require__) { + +var baseIsArguments = __webpack_require__(96), + isObjectLike = __webpack_require__(6); + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** Built-in value references. */ +var propertyIsEnumerable = objectProto.propertyIsEnumerable; + +/** + * Checks if `value` is likely an `arguments` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an `arguments` object, + * else `false`. + * @example + * + * _.isArguments(function() { return arguments; }()); + * // => true + * + * _.isArguments([1, 2, 3]); + * // => false + */ +var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) { + return isObjectLike(value) && hasOwnProperty.call(value, 'callee') && + !propertyIsEnumerable.call(value, 'callee'); +}; + +module.exports = isArguments; + + +/***/ }), +/* 19 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__cluster__ = __webpack_require__(50); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__array_helper__ = __webpack_require__(3); +/* harmony export (immutable) */ __webpack_exports__["b"] = imageRef; +/* unused harmony export computeIntegralImage2 */ +/* unused harmony export computeIntegralImage */ +/* unused harmony export thresholdImage */ +/* unused harmony export computeHistogram */ +/* unused harmony export sharpenLine */ +/* unused harmony export determineOtsuThreshold */ +/* harmony export (immutable) */ __webpack_exports__["f"] = otsuThreshold; +/* unused harmony export computeBinaryImage */ +/* harmony export (immutable) */ __webpack_exports__["g"] = cluster; +/* unused harmony export Tracer */ +/* unused harmony export DILATE */ +/* unused harmony export ERODE */ +/* unused harmony export dilate */ +/* unused harmony export erode */ +/* unused harmony export subtract */ +/* unused harmony export bitwiseOr */ +/* unused harmony export countNonZero */ +/* harmony export (immutable) */ __webpack_exports__["h"] = topGeneric; +/* unused harmony export grayArrayFromImage */ +/* unused harmony export grayArrayFromContext */ +/* harmony export (immutable) */ __webpack_exports__["c"] = grayAndHalfSampleFromCanvasData; +/* harmony export (immutable) */ __webpack_exports__["d"] = computeGray; +/* unused harmony export loadImageArray */ +/* harmony export (immutable) */ __webpack_exports__["i"] = halfSample; +/* harmony export (immutable) */ __webpack_exports__["a"] = hsv2rgb; +/* unused harmony export _computeDivisors */ +/* harmony export (immutable) */ __webpack_exports__["e"] = calculatePatchSize; +/* unused harmony export _parseCSSDimensionValues */ +/* unused harmony export _dimensionsConverters */ +/* harmony export (immutable) */ __webpack_exports__["j"] = computeImageArea; + + +var vec2 = { + clone: __webpack_require__(7) +}; +var vec3 = { + clone: __webpack_require__(83) +}; + +/** + * @param x x-coordinate + * @param y y-coordinate + * @return ImageReference {x,y} Coordinate + */ +function imageRef(x, y) { + var that = { + x: x, + y: y, + toVec2: function toVec2() { + return vec2.clone([this.x, this.y]); + }, + toVec3: function toVec3() { + return vec3.clone([this.x, this.y, 1]); + }, + round: function round() { + this.x = this.x > 0.0 ? Math.floor(this.x + 0.5) : Math.floor(this.x - 0.5); + this.y = this.y > 0.0 ? Math.floor(this.y + 0.5) : Math.floor(this.y - 0.5); + return this; + } + }; + return that; +}; + +/** + * Computes an integral image of a given grayscale image. + * @param imageDataContainer {ImageDataContainer} the image to be integrated + */ +function computeIntegralImage2(imageWrapper, integralWrapper) { + var imageData = imageWrapper.data; + var width = imageWrapper.size.x; + var height = imageWrapper.size.y; + var integralImageData = integralWrapper.data; + var sum = 0, + posA = 0, + posB = 0, + posC = 0, + posD = 0, + x, + y; + + // sum up first column + posB = width; + sum = 0; + for (y = 1; y < height; y++) { + sum += imageData[posA]; + integralImageData[posB] += sum; + posA += width; + posB += width; + } + + posA = 0; + posB = 1; + sum = 0; + for (x = 1; x < width; x++) { + sum += imageData[posA]; + integralImageData[posB] += sum; + posA++; + posB++; + } + + for (y = 1; y < height; y++) { + posA = y * width + 1; + posB = (y - 1) * width + 1; + posC = y * width; + posD = (y - 1) * width; + for (x = 1; x < width; x++) { + integralImageData[posA] += imageData[posA] + integralImageData[posB] + integralImageData[posC] - integralImageData[posD]; + posA++; + posB++; + posC++; + posD++; + } + } +}; + +function computeIntegralImage(imageWrapper, integralWrapper) { + var imageData = imageWrapper.data; + var width = imageWrapper.size.x; + var height = imageWrapper.size.y; + var integralImageData = integralWrapper.data; + var sum = 0; + + // sum up first row + for (var i = 0; i < width; i++) { + sum += imageData[i]; + integralImageData[i] = sum; + } + + for (var v = 1; v < height; v++) { + sum = 0; + for (var u = 0; u < width; u++) { + sum += imageData[v * width + u]; + integralImageData[v * width + u] = sum + integralImageData[(v - 1) * width + u]; + } + } +}; + +function thresholdImage(imageWrapper, threshold, targetWrapper) { + if (!targetWrapper) { + targetWrapper = imageWrapper; + } + var imageData = imageWrapper.data, + length = imageData.length, + targetData = targetWrapper.data; + + while (length--) { + targetData[length] = imageData[length] < threshold ? 1 : 0; + } +}; + +function computeHistogram(imageWrapper, bitsPerPixel) { + if (!bitsPerPixel) { + bitsPerPixel = 8; + } + var imageData = imageWrapper.data, + length = imageData.length, + bitShift = 8 - bitsPerPixel, + bucketCnt = 1 << bitsPerPixel, + hist = new Int32Array(bucketCnt); + + while (length--) { + hist[imageData[length] >> bitShift]++; + } + return hist; +}; + +function sharpenLine(line) { + var i, + length = line.length, + left = line[0], + center = line[1], + right; + + for (i = 1; i < length - 1; i++) { + right = line[i + 1]; + // -1 4 -1 kernel + line[i - 1] = center * 2 - left - right & 255; + left = center; + center = right; + } + return line; +}; + +function determineOtsuThreshold(imageWrapper, bitsPerPixel) { + if (!bitsPerPixel) { + bitsPerPixel = 8; + } + var hist, + threshold, + bitShift = 8 - bitsPerPixel; + + function px(init, end) { + var sum = 0, + i; + for (i = init; i <= end; i++) { + sum += hist[i]; + } + return sum; + } + + function mx(init, end) { + var i, + sum = 0; + + for (i = init; i <= end; i++) { + sum += i * hist[i]; + } + + return sum; + } + + function determineThreshold() { + var vet = [0], + p1, + p2, + p12, + k, + m1, + m2, + m12, + max = (1 << bitsPerPixel) - 1; + + hist = computeHistogram(imageWrapper, bitsPerPixel); + for (k = 1; k < max; k++) { + p1 = px(0, k); + p2 = px(k + 1, max); + p12 = p1 * p2; + if (p12 === 0) { + p12 = 1; + } + m1 = mx(0, k) * p2; + m2 = mx(k + 1, max) * p1; + m12 = m1 - m2; + vet[k] = m12 * m12 / p12; + } + return __WEBPACK_IMPORTED_MODULE_1__array_helper__["a" /* default */].maxIndex(vet); + } + + threshold = determineThreshold(); + return threshold << bitShift; +}; + +function otsuThreshold(imageWrapper, targetWrapper) { + var threshold = determineOtsuThreshold(imageWrapper); + + thresholdImage(imageWrapper, threshold, targetWrapper); + return threshold; +}; + +// local thresholding +function computeBinaryImage(imageWrapper, integralWrapper, targetWrapper) { + computeIntegralImage(imageWrapper, integralWrapper); + + if (!targetWrapper) { + targetWrapper = imageWrapper; + } + var imageData = imageWrapper.data; + var targetData = targetWrapper.data; + var width = imageWrapper.size.x; + var height = imageWrapper.size.y; + var integralImageData = integralWrapper.data; + var sum = 0, + v, + u, + kernel = 3, + A, + B, + C, + D, + avg, + size = (kernel * 2 + 1) * (kernel * 2 + 1); + + // clear out top & bottom-border + for (v = 0; v <= kernel; v++) { + for (u = 0; u < width; u++) { + targetData[v * width + u] = 0; + targetData[(height - 1 - v) * width + u] = 0; + } + } + + // clear out left & right border + for (v = kernel; v < height - kernel; v++) { + for (u = 0; u <= kernel; u++) { + targetData[v * width + u] = 0; + targetData[v * width + (width - 1 - u)] = 0; + } + } + + for (v = kernel + 1; v < height - kernel - 1; v++) { + for (u = kernel + 1; u < width - kernel; u++) { + A = integralImageData[(v - kernel - 1) * width + (u - kernel - 1)]; + B = integralImageData[(v - kernel - 1) * width + (u + kernel)]; + C = integralImageData[(v + kernel) * width + (u - kernel - 1)]; + D = integralImageData[(v + kernel) * width + (u + kernel)]; + sum = D - C - B + A; + avg = sum / size; + targetData[v * width + u] = imageData[v * width + u] > avg + 5 ? 0 : 1; + } + } +}; + +function cluster(points, threshold, property) { + var i, + k, + cluster, + point, + clusters = []; + + if (!property) { + property = "rad"; + } + + function addToCluster(newPoint) { + var found = false; + for (k = 0; k < clusters.length; k++) { + cluster = clusters[k]; + if (cluster.fits(newPoint)) { + cluster.add(newPoint); + found = true; + } + } + return found; + } + + // iterate over each cloud + for (i = 0; i < points.length; i++) { + point = __WEBPACK_IMPORTED_MODULE_0__cluster__["a" /* default */].createPoint(points[i], i, property); + if (!addToCluster(point)) { + clusters.push(__WEBPACK_IMPORTED_MODULE_0__cluster__["a" /* default */].create(point, threshold)); + } + } + return clusters; +}; + +var Tracer = { + trace: function trace(points, vec) { + var iteration, + maxIterations = 10, + top = [], + result = [], + centerPos = 0, + currentPos = 0; + + function trace(idx, forward) { + var from, + to, + toIdx, + predictedPos, + thresholdX = 1, + thresholdY = Math.abs(vec[1] / 10), + found = false; + + function match(pos, predicted) { + if (pos.x > predicted.x - thresholdX && pos.x < predicted.x + thresholdX && pos.y > predicted.y - thresholdY && pos.y < predicted.y + thresholdY) { + return true; + } else { + return false; + } + } + + // check if the next index is within the vec specifications + // if not, check as long as the threshold is met + + from = points[idx]; + if (forward) { + predictedPos = { + x: from.x + vec[0], + y: from.y + vec[1] + }; + } else { + predictedPos = { + x: from.x - vec[0], + y: from.y - vec[1] + }; + } + + toIdx = forward ? idx + 1 : idx - 1; + to = points[toIdx]; + while (to && (found = match(to, predictedPos)) !== true && Math.abs(to.y - from.y) < vec[1]) { + toIdx = forward ? toIdx + 1 : toIdx - 1; + to = points[toIdx]; + } + + return found ? toIdx : null; + } + + for (iteration = 0; iteration < maxIterations; iteration++) { + // randomly select point to start with + centerPos = Math.floor(Math.random() * points.length); + + // trace forward + top = []; + currentPos = centerPos; + top.push(points[currentPos]); + while ((currentPos = trace(currentPos, true)) !== null) { + top.push(points[currentPos]); + } + if (centerPos > 0) { + currentPos = centerPos; + while ((currentPos = trace(currentPos, false)) !== null) { + top.push(points[currentPos]); + } + } + + if (top.length > result.length) { + result = top; + } + } + return result; + } +}; + +var DILATE = 1; +var ERODE = 2; + +function dilate(inImageWrapper, outImageWrapper) { + var v, + u, + inImageData = inImageWrapper.data, + outImageData = outImageWrapper.data, + height = inImageWrapper.size.y, + width = inImageWrapper.size.x, + sum, + yStart1, + yStart2, + xStart1, + xStart2; + + for (v = 1; v < height - 1; v++) { + for (u = 1; u < width - 1; u++) { + yStart1 = v - 1; + yStart2 = v + 1; + xStart1 = u - 1; + xStart2 = u + 1; + sum = inImageData[yStart1 * width + xStart1] + inImageData[yStart1 * width + xStart2] + inImageData[v * width + u] + inImageData[yStart2 * width + xStart1] + inImageData[yStart2 * width + xStart2]; + outImageData[v * width + u] = sum > 0 ? 1 : 0; + } + } +}; + +function erode(inImageWrapper, outImageWrapper) { + var v, + u, + inImageData = inImageWrapper.data, + outImageData = outImageWrapper.data, + height = inImageWrapper.size.y, + width = inImageWrapper.size.x, + sum, + yStart1, + yStart2, + xStart1, + xStart2; + + for (v = 1; v < height - 1; v++) { + for (u = 1; u < width - 1; u++) { + yStart1 = v - 1; + yStart2 = v + 1; + xStart1 = u - 1; + xStart2 = u + 1; + sum = inImageData[yStart1 * width + xStart1] + inImageData[yStart1 * width + xStart2] + inImageData[v * width + u] + inImageData[yStart2 * width + xStart1] + inImageData[yStart2 * width + xStart2]; + outImageData[v * width + u] = sum === 5 ? 1 : 0; + } + } +}; + +function subtract(aImageWrapper, bImageWrapper, resultImageWrapper) { + if (!resultImageWrapper) { + resultImageWrapper = aImageWrapper; + } + var length = aImageWrapper.data.length, + aImageData = aImageWrapper.data, + bImageData = bImageWrapper.data, + cImageData = resultImageWrapper.data; + + while (length--) { + cImageData[length] = aImageData[length] - bImageData[length]; + } +}; + +function bitwiseOr(aImageWrapper, bImageWrapper, resultImageWrapper) { + if (!resultImageWrapper) { + resultImageWrapper = aImageWrapper; + } + var length = aImageWrapper.data.length, + aImageData = aImageWrapper.data, + bImageData = bImageWrapper.data, + cImageData = resultImageWrapper.data; + + while (length--) { + cImageData[length] = aImageData[length] || bImageData[length]; + } +}; + +function countNonZero(imageWrapper) { + var length = imageWrapper.data.length, + data = imageWrapper.data, + sum = 0; + + while (length--) { + sum += data[length]; + } + return sum; +}; + +function topGeneric(list, top, scoreFunc) { + var i, + minIdx = 0, + min = 0, + queue = [], + score, + hit, + pos; + + for (i = 0; i < top; i++) { + queue[i] = { + score: 0, + item: null + }; + } + + for (i = 0; i < list.length; i++) { + score = scoreFunc.apply(this, [list[i]]); + if (score > min) { + hit = queue[minIdx]; + hit.score = score; + hit.item = list[i]; + min = Number.MAX_VALUE; + for (pos = 0; pos < top; pos++) { + if (queue[pos].score < min) { + min = queue[pos].score; + minIdx = pos; + } + } + } + } + + return queue; +}; + +function grayArrayFromImage(htmlImage, offsetX, ctx, array) { + ctx.drawImage(htmlImage, offsetX, 0, htmlImage.width, htmlImage.height); + var ctxData = ctx.getImageData(offsetX, 0, htmlImage.width, htmlImage.height).data; + computeGray(ctxData, array); +}; + +function grayArrayFromContext(ctx, size, offset, array) { + var ctxData = ctx.getImageData(offset.x, offset.y, size.x, size.y).data; + computeGray(ctxData, array); +}; + +function grayAndHalfSampleFromCanvasData(canvasData, size, outArray) { + var topRowIdx = 0; + var bottomRowIdx = size.x; + var endIdx = Math.floor(canvasData.length / 4); + var outWidth = size.x / 2; + var outImgIdx = 0; + var inWidth = size.x; + var i; + + while (bottomRowIdx < endIdx) { + for (i = 0; i < outWidth; i++) { + outArray[outImgIdx] = (0.299 * canvasData[topRowIdx * 4 + 0] + 0.587 * canvasData[topRowIdx * 4 + 1] + 0.114 * canvasData[topRowIdx * 4 + 2] + (0.299 * canvasData[(topRowIdx + 1) * 4 + 0] + 0.587 * canvasData[(topRowIdx + 1) * 4 + 1] + 0.114 * canvasData[(topRowIdx + 1) * 4 + 2]) + (0.299 * canvasData[bottomRowIdx * 4 + 0] + 0.587 * canvasData[bottomRowIdx * 4 + 1] + 0.114 * canvasData[bottomRowIdx * 4 + 2]) + (0.299 * canvasData[(bottomRowIdx + 1) * 4 + 0] + 0.587 * canvasData[(bottomRowIdx + 1) * 4 + 1] + 0.114 * canvasData[(bottomRowIdx + 1) * 4 + 2])) / 4; + outImgIdx++; + topRowIdx = topRowIdx + 2; + bottomRowIdx = bottomRowIdx + 2; + } + topRowIdx = topRowIdx + inWidth; + bottomRowIdx = bottomRowIdx + inWidth; + } +}; + +function computeGray(imageData, outArray, config) { + var l = imageData.length / 4 | 0, + i, + singleChannel = config && config.singleChannel === true; + + if (singleChannel) { + for (i = 0; i < l; i++) { + outArray[i] = imageData[i * 4 + 0]; + } + } else { + for (i = 0; i < l; i++) { + outArray[i] = 0.299 * imageData[i * 4 + 0] + 0.587 * imageData[i * 4 + 1] + 0.114 * imageData[i * 4 + 2]; + } + } +}; + +function loadImageArray(src, callback, canvas) { + if (!canvas) { + canvas = document.createElement('canvas'); + } + var img = new Image(); + img.callback = callback; + img.onload = function () { + canvas.width = this.width; + canvas.height = this.height; + var ctx = canvas.getContext('2d'); + ctx.drawImage(this, 0, 0); + var array = new Uint8Array(this.width * this.height); + ctx.drawImage(this, 0, 0); + var data = ctx.getImageData(0, 0, this.width, this.height).data; + computeGray(data, array); + this.callback(array, { + x: this.width, + y: this.height + }, this); + }; + img.src = src; +}; + +/** + * @param inImg {ImageWrapper} input image to be sampled + * @param outImg {ImageWrapper} to be stored in + */ +function halfSample(inImgWrapper, outImgWrapper) { + var inImg = inImgWrapper.data; + var inWidth = inImgWrapper.size.x; + var outImg = outImgWrapper.data; + var topRowIdx = 0; + var bottomRowIdx = inWidth; + var endIdx = inImg.length; + var outWidth = inWidth / 2; + var outImgIdx = 0; + while (bottomRowIdx < endIdx) { + for (var i = 0; i < outWidth; i++) { + outImg[outImgIdx] = Math.floor((inImg[topRowIdx] + inImg[topRowIdx + 1] + inImg[bottomRowIdx] + inImg[bottomRowIdx + 1]) / 4); + outImgIdx++; + topRowIdx = topRowIdx + 2; + bottomRowIdx = bottomRowIdx + 2; + } + topRowIdx = topRowIdx + inWidth; + bottomRowIdx = bottomRowIdx + inWidth; + } +}; + +function hsv2rgb(hsv, rgb) { + var h = hsv[0], + s = hsv[1], + v = hsv[2], + c = v * s, + x = c * (1 - Math.abs(h / 60 % 2 - 1)), + m = v - c, + r = 0, + g = 0, + b = 0; + + rgb = rgb || [0, 0, 0]; + + if (h < 60) { + r = c; + g = x; + } else if (h < 120) { + r = x; + g = c; + } else if (h < 180) { + g = c; + b = x; + } else if (h < 240) { + g = x; + b = c; + } else if (h < 300) { + r = x; + b = c; + } else if (h < 360) { + r = c; + b = x; + } + rgb[0] = (r + m) * 255 | 0; + rgb[1] = (g + m) * 255 | 0; + rgb[2] = (b + m) * 255 | 0; + return rgb; +}; + +function _computeDivisors(n) { + var largeDivisors = [], + divisors = [], + i; + + for (i = 1; i < Math.sqrt(n) + 1; i++) { + if (n % i === 0) { + divisors.push(i); + if (i !== n / i) { + largeDivisors.unshift(Math.floor(n / i)); + } + } + } + return divisors.concat(largeDivisors); +}; + +function _computeIntersection(arr1, arr2) { + var i = 0, + j = 0, + result = []; + + while (i < arr1.length && j < arr2.length) { + if (arr1[i] === arr2[j]) { + result.push(arr1[i]); + i++; + j++; + } else if (arr1[i] > arr2[j]) { + j++; + } else { + i++; + } + } + return result; +}; + +function calculatePatchSize(patchSize, imgSize) { + var divisorsX = _computeDivisors(imgSize.x), + divisorsY = _computeDivisors(imgSize.y), + wideSide = Math.max(imgSize.x, imgSize.y), + common = _computeIntersection(divisorsX, divisorsY), + nrOfPatchesList = [8, 10, 15, 20, 32, 60, 80], + nrOfPatchesMap = { + "x-small": 5, + "small": 4, + "medium": 3, + "large": 2, + "x-large": 1 + }, + nrOfPatchesIdx = nrOfPatchesMap[patchSize] || nrOfPatchesMap.medium, + nrOfPatches = nrOfPatchesList[nrOfPatchesIdx], + desiredPatchSize = Math.floor(wideSide / nrOfPatches), + optimalPatchSize; + + function findPatchSizeForDivisors(divisors) { + var i = 0, + found = divisors[Math.floor(divisors.length / 2)]; + + while (i < divisors.length - 1 && divisors[i] < desiredPatchSize) { + i++; + } + if (i > 0) { + if (Math.abs(divisors[i] - desiredPatchSize) > Math.abs(divisors[i - 1] - desiredPatchSize)) { + found = divisors[i - 1]; + } else { + found = divisors[i]; + } + } + if (desiredPatchSize / found < nrOfPatchesList[nrOfPatchesIdx + 1] / nrOfPatchesList[nrOfPatchesIdx] && desiredPatchSize / found > nrOfPatchesList[nrOfPatchesIdx - 1] / nrOfPatchesList[nrOfPatchesIdx]) { + return { x: found, y: found }; + } + return null; + } + + optimalPatchSize = findPatchSizeForDivisors(common); + if (!optimalPatchSize) { + optimalPatchSize = findPatchSizeForDivisors(_computeDivisors(wideSide)); + if (!optimalPatchSize) { + optimalPatchSize = findPatchSizeForDivisors(_computeDivisors(desiredPatchSize * nrOfPatches)); + } + } + return optimalPatchSize; +}; + +function _parseCSSDimensionValues(value) { + var dimension = { + value: parseFloat(value), + unit: value.indexOf("%") === value.length - 1 ? "%" : "%" + }; + + return dimension; +}; + +var _dimensionsConverters = { + top: function top(dimension, context) { + if (dimension.unit === "%") { + return Math.floor(context.height * (dimension.value / 100)); + } + }, + right: function right(dimension, context) { + if (dimension.unit === "%") { + return Math.floor(context.width - context.width * (dimension.value / 100)); + } + }, + bottom: function bottom(dimension, context) { + if (dimension.unit === "%") { + return Math.floor(context.height - context.height * (dimension.value / 100)); + } + }, + left: function left(dimension, context) { + if (dimension.unit === "%") { + return Math.floor(context.width * (dimension.value / 100)); + } + } +}; + +function computeImageArea(inputWidth, inputHeight, area) { + var context = { width: inputWidth, height: inputHeight }; + + var parsedArea = Object.keys(area).reduce(function (result, key) { + var value = area[key], + parsed = _parseCSSDimensionValues(value), + calculated = _dimensionsConverters[key](parsed, context); + + result[key] = calculated; + return result; + }, {}); + + return { + sx: parsedArea.left, + sy: parsedArea.top, + sw: parsedArea.right - parsedArea.left, + sh: parsedArea.bottom - parsedArea.top + }; +}; + +/***/ }), +/* 20 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__subImage__ = __webpack_require__(53); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__common_cv_utils__ = __webpack_require__(19); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__common_array_helper__ = __webpack_require__(3); + + + +var vec2 = { + clone: __webpack_require__(7) +}; + +/** + * Represents a basic image combining the data and size. + * In addition, some methods for manipulation are contained. + * @param size {x,y} The size of the image in pixel + * @param data {Array} If given, a flat array containing the pixel data + * @param ArrayType {Type} If given, the desired DataType of the Array (may be typed/non-typed) + * @param initialize {Boolean} Indicating if the array should be initialized on creation. + * @returns {ImageWrapper} + */ +function ImageWrapper(size, data, ArrayType, initialize) { + if (!data) { + if (ArrayType) { + this.data = new ArrayType(size.x * size.y); + if (ArrayType === Array && initialize) { + __WEBPACK_IMPORTED_MODULE_2__common_array_helper__["a" /* default */].init(this.data, 0); + } + } else { + this.data = new Uint8Array(size.x * size.y); + if (Uint8Array === Array && initialize) { + __WEBPACK_IMPORTED_MODULE_2__common_array_helper__["a" /* default */].init(this.data, 0); + } + } + } else { + this.data = data; + } + this.size = size; +} + +/** + * tests if a position is within the image with a given offset + * @param imgRef {x, y} The location to test + * @param border Number the padding value in pixel + * @returns {Boolean} true if location inside the image's border, false otherwise + * @see cvd/image.h + */ +ImageWrapper.prototype.inImageWithBorder = function (imgRef, border) { + return imgRef.x >= border && imgRef.y >= border && imgRef.x < this.size.x - border && imgRef.y < this.size.y - border; +}; + +/** + * Performs bilinear sampling + * @param inImg Image to extract sample from + * @param x the x-coordinate + * @param y the y-coordinate + * @returns the sampled value + * @see cvd/vision.h + */ +ImageWrapper.sample = function (inImg, x, y) { + var lx = Math.floor(x); + var ly = Math.floor(y); + var w = inImg.size.x; + var base = ly * inImg.size.x + lx; + var a = inImg.data[base + 0]; + var b = inImg.data[base + 1]; + var c = inImg.data[base + w]; + var d = inImg.data[base + w + 1]; + var e = a - b; + x -= lx; + y -= ly; + + var result = Math.floor(x * (y * (e - c + d) - e) + y * (c - a) + a); + return result; +}; + +/** + * Initializes a given array. Sets each element to zero. + * @param array {Array} The array to initialize + */ +ImageWrapper.clearArray = function (array) { + var l = array.length; + while (l--) { + array[l] = 0; + } +}; + +/** + * Creates a {SubImage} from the current image ({this}). + * @param from {ImageRef} The position where to start the {SubImage} from. (top-left corner) + * @param size {ImageRef} The size of the resulting image + * @returns {SubImage} A shared part of the original image + */ +ImageWrapper.prototype.subImage = function (from, size) { + return new __WEBPACK_IMPORTED_MODULE_0__subImage__["a" /* default */](from, size, this); +}; + +/** + * Creates an {ImageWrapper) and copies the needed underlying image-data area + * @param imageWrapper {ImageWrapper} The target {ImageWrapper} where the data should be copied + * @param from {ImageRef} The location where to copy from (top-left location) + */ +ImageWrapper.prototype.subImageAsCopy = function (imageWrapper, from) { + var sizeY = imageWrapper.size.y, + sizeX = imageWrapper.size.x; + var x, y; + for (x = 0; x < sizeX; x++) { + for (y = 0; y < sizeY; y++) { + imageWrapper.data[y * sizeX + x] = this.data[(from.y + y) * this.size.x + from.x + x]; + } + } +}; + +ImageWrapper.prototype.copyTo = function (imageWrapper) { + var length = this.data.length, + srcData = this.data, + dstData = imageWrapper.data; + + while (length--) { + dstData[length] = srcData[length]; + } +}; + +/** + * Retrieves a given pixel position from the image + * @param x {Number} The x-position + * @param y {Number} The y-position + * @returns {Number} The grayscale value at the pixel-position + */ +ImageWrapper.prototype.get = function (x, y) { + return this.data[y * this.size.x + x]; +}; + +/** + * Retrieves a given pixel position from the image + * @param x {Number} The x-position + * @param y {Number} The y-position + * @returns {Number} The grayscale value at the pixel-position + */ +ImageWrapper.prototype.getSafe = function (x, y) { + var i; + + if (!this.indexMapping) { + this.indexMapping = { + x: [], + y: [] + }; + for (i = 0; i < this.size.x; i++) { + this.indexMapping.x[i] = i; + this.indexMapping.x[i + this.size.x] = i; + } + for (i = 0; i < this.size.y; i++) { + this.indexMapping.y[i] = i; + this.indexMapping.y[i + this.size.y] = i; + } + } + return this.data[this.indexMapping.y[y + this.size.y] * this.size.x + this.indexMapping.x[x + this.size.x]]; +}; + +/** + * Sets a given pixel position in the image + * @param x {Number} The x-position + * @param y {Number} The y-position + * @param value {Number} The grayscale value to set + * @returns {ImageWrapper} The Image itself (for possible chaining) + */ +ImageWrapper.prototype.set = function (x, y, value) { + this.data[y * this.size.x + x] = value; + return this; +}; + +/** + * Sets the border of the image (1 pixel) to zero + */ +ImageWrapper.prototype.zeroBorder = function () { + var i, + width = this.size.x, + height = this.size.y, + data = this.data; + for (i = 0; i < width; i++) { + data[i] = data[(height - 1) * width + i] = 0; + } + for (i = 1; i < height - 1; i++) { + data[i * width] = data[i * width + (width - 1)] = 0; + } +}; + +/** + * Inverts a binary image in place + */ +ImageWrapper.prototype.invert = function () { + var data = this.data, + length = data.length; + + while (length--) { + data[length] = data[length] ? 0 : 1; + } +}; + +ImageWrapper.prototype.convolve = function (kernel) { + var x, + y, + kx, + ky, + kSize = kernel.length / 2 | 0, + accu = 0; + for (y = 0; y < this.size.y; y++) { + for (x = 0; x < this.size.x; x++) { + accu = 0; + for (ky = -kSize; ky <= kSize; ky++) { + for (kx = -kSize; kx <= kSize; kx++) { + accu += kernel[ky + kSize][kx + kSize] * this.getSafe(x + kx, y + ky); + } + } + this.data[y * this.size.x + x] = accu; + } + } +}; + +ImageWrapper.prototype.moments = function (labelcount) { + var data = this.data, + x, + y, + height = this.size.y, + width = this.size.x, + val, + ysq, + labelsum = [], + i, + label, + mu11, + mu02, + mu20, + x_, + y_, + tmp, + result = [], + PI = Math.PI, + PI_4 = PI / 4; + + if (labelcount <= 0) { + return result; + } + + for (i = 0; i < labelcount; i++) { + labelsum[i] = { + m00: 0, + m01: 0, + m10: 0, + m11: 0, + m02: 0, + m20: 0, + theta: 0, + rad: 0 + }; + } + + for (y = 0; y < height; y++) { + ysq = y * y; + for (x = 0; x < width; x++) { + val = data[y * width + x]; + if (val > 0) { + label = labelsum[val - 1]; + label.m00 += 1; + label.m01 += y; + label.m10 += x; + label.m11 += x * y; + label.m02 += ysq; + label.m20 += x * x; + } + } + } + + for (i = 0; i < labelcount; i++) { + label = labelsum[i]; + if (!isNaN(label.m00) && label.m00 !== 0) { + x_ = label.m10 / label.m00; + y_ = label.m01 / label.m00; + mu11 = label.m11 / label.m00 - x_ * y_; + mu02 = label.m02 / label.m00 - y_ * y_; + mu20 = label.m20 / label.m00 - x_ * x_; + tmp = (mu02 - mu20) / (2 * mu11); + tmp = 0.5 * Math.atan(tmp) + (mu11 >= 0 ? PI_4 : -PI_4) + PI; + label.theta = (tmp * 180 / PI + 90) % 180 - 90; + if (label.theta < 0) { + label.theta += 180; + } + label.rad = tmp > PI ? tmp - PI : tmp; + label.vec = vec2.clone([Math.cos(tmp), Math.sin(tmp)]); + result.push(label); + } + } + + return result; +}; + +/** + * Displays the {ImageWrapper} in a given canvas + * @param canvas {Canvas} The canvas element to write to + * @param scale {Number} Scale which is applied to each pixel-value + */ +ImageWrapper.prototype.show = function (canvas, scale) { + var ctx, frame, data, current, pixel, x, y; + + if (!scale) { + scale = 1.0; + } + ctx = canvas.getContext('2d'); + canvas.width = this.size.x; + canvas.height = this.size.y; + frame = ctx.getImageData(0, 0, canvas.width, canvas.height); + data = frame.data; + current = 0; + for (y = 0; y < this.size.y; y++) { + for (x = 0; x < this.size.x; x++) { + pixel = y * this.size.x + x; + current = this.get(x, y) * scale; + data[pixel * 4 + 0] = current; + data[pixel * 4 + 1] = current; + data[pixel * 4 + 2] = current; + data[pixel * 4 + 3] = 255; + } + } + //frame.data = data; + ctx.putImageData(frame, 0, 0); +}; + +/** + * Displays the {SubImage} in a given canvas + * @param canvas {Canvas} The canvas element to write to + * @param scale {Number} Scale which is applied to each pixel-value + */ +ImageWrapper.prototype.overlay = function (canvas, scale, from) { + if (!scale || scale < 0 || scale > 360) { + scale = 360; + } + var hsv = [0, 1, 1]; + var rgb = [0, 0, 0]; + var whiteRgb = [255, 255, 255]; + var blackRgb = [0, 0, 0]; + var result = []; + var ctx = canvas.getContext('2d'); + var frame = ctx.getImageData(from.x, from.y, this.size.x, this.size.y); + var data = frame.data; + var length = this.data.length; + while (length--) { + hsv[0] = this.data[length] * scale; + result = hsv[0] <= 0 ? whiteRgb : hsv[0] >= 360 ? blackRgb : __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__common_cv_utils__["a" /* hsv2rgb */])(hsv, rgb); + data[length * 4 + 0] = result[0]; + data[length * 4 + 1] = result[1]; + data[length * 4 + 2] = result[2]; + data[length * 4 + 3] = 255; + } + ctx.putImageData(frame, from.x, from.y); +}; + +/* harmony default export */ __webpack_exports__["a"] = ImageWrapper; + +/***/ }), +/* 21 */ +/***/ (function(module, exports, __webpack_require__) { + +var defineProperty = __webpack_require__(37); + +/** + * The base implementation of `assignValue` and `assignMergeValue` without + * value checks. + * + * @private + * @param {Object} object The object to modify. + * @param {string} key The key of the property to assign. + * @param {*} value The value to assign. + */ +function baseAssignValue(object, key, value) { + if (key == '__proto__' && defineProperty) { + defineProperty(object, key, { + 'configurable': true, + 'enumerable': true, + 'value': value, + 'writable': true + }); + } else { + object[key] = value; + } +} + +module.exports = baseAssignValue; + + +/***/ }), +/* 22 */ +/***/ (function(module, exports, __webpack_require__) { + +var baseIsNative = __webpack_require__(97), + getValue = __webpack_require__(120); + +/** + * Gets the native function at `key` of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {string} key The key of the method to get. + * @returns {*} Returns the function if it's native, else `undefined`. + */ +function getNative(object, key) { + var value = getValue(object, key); + return baseIsNative(value) ? value : undefined; +} + +module.exports = getNative; + + +/***/ }), +/* 23 */ +/***/ (function(module, exports, __webpack_require__) { + +var isSymbol = __webpack_require__(27); + +/** Used as references for various `Number` constants. */ +var INFINITY = 1 / 0; + +/** + * Converts `value` to a string key if it's not a string or symbol. + * + * @private + * @param {*} value The value to inspect. + * @returns {string|symbol} Returns the key. + */ +function toKey(value) { + if (typeof value == 'string' || isSymbol(value)) { + return value; + } + var result = (value + ''); + return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; +} + +module.exports = toKey; + + +/***/ }), +/* 24 */ +/***/ (function(module, exports, __webpack_require__) { + +var isFunction = __webpack_require__(25), + isLength = __webpack_require__(26); + +/** + * Checks if `value` is array-like. A value is considered array-like if it's + * not a function and has a `value.length` that's an integer greater than or + * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is array-like, else `false`. + * @example + * + * _.isArrayLike([1, 2, 3]); + * // => true + * + * _.isArrayLike(document.body.children); + * // => true + * + * _.isArrayLike('abc'); + * // => true + * + * _.isArrayLike(_.noop); + * // => false + */ +function isArrayLike(value) { + return value != null && isLength(value.length) && !isFunction(value); +} + +module.exports = isArrayLike; + + +/***/ }), +/* 25 */ +/***/ (function(module, exports, __webpack_require__) { + +var baseGetTag = __webpack_require__(8), + isObject = __webpack_require__(0); + +/** `Object#toString` result references. */ +var asyncTag = '[object AsyncFunction]', + funcTag = '[object Function]', + genTag = '[object GeneratorFunction]', + proxyTag = '[object Proxy]'; + +/** + * Checks if `value` is classified as a `Function` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a function, else `false`. + * @example + * + * _.isFunction(_); + * // => true + * + * _.isFunction(/abc/); + * // => false + */ +function isFunction(value) { + if (!isObject(value)) { + return false; + } + // The use of `Object#toString` avoids issues with the `typeof` operator + // in Safari 9 which returns 'object' for typed arrays and other constructors. + var tag = baseGetTag(value); + return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag; +} + +module.exports = isFunction; + + +/***/ }), +/* 26 */ +/***/ (function(module, exports) { + +/** Used as references for various `Number` constants. */ +var MAX_SAFE_INTEGER = 9007199254740991; + +/** + * Checks if `value` is a valid array-like length. + * + * **Note:** This method is loosely based on + * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. + * @example + * + * _.isLength(3); + * // => true + * + * _.isLength(Number.MIN_VALUE); + * // => false + * + * _.isLength(Infinity); + * // => false + * + * _.isLength('3'); + * // => false + */ +function isLength(value) { + return typeof value == 'number' && + value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; +} + +module.exports = isLength; + + +/***/ }), +/* 27 */ +/***/ (function(module, exports, __webpack_require__) { + +var baseGetTag = __webpack_require__(8), + isObjectLike = __webpack_require__(6); + +/** `Object#toString` result references. */ +var symbolTag = '[object Symbol]'; + +/** + * Checks if `value` is classified as a `Symbol` primitive or object. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. + * @example + * + * _.isSymbol(Symbol.iterator); + * // => true + * + * _.isSymbol('abc'); + * // => false + */ +function isSymbol(value) { + return typeof value == 'symbol' || + (isObjectLike(value) && baseGetTag(value) == symbolTag); +} + +module.exports = isSymbol; + + +/***/ }), +/* 28 */ +/***/ (function(module, exports, __webpack_require__) { + +var baseMerge = __webpack_require__(100), + createAssigner = __webpack_require__(116); + +/** + * This method is like `_.assign` except that it recursively merges own and + * inherited enumerable string keyed properties of source objects into the + * destination object. Source properties that resolve to `undefined` are + * skipped if a destination value exists. Array and plain object properties + * are merged recursively. Other objects and value types are overridden by + * assignment. Source objects are applied from left to right. Subsequent + * sources overwrite property assignments of previous sources. + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 0.5.0 + * @category Object + * @param {Object} object The destination object. + * @param {...Object} [sources] The source objects. + * @returns {Object} Returns `object`. + * @example + * + * var object = { + * 'a': [{ 'b': 2 }, { 'd': 4 }] + * }; + * + * var other = { + * 'a': [{ 'c': 3 }, { 'e': 5 }] + * }; + * + * _.merge(object, other); + * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] } + */ +var merge = createAssigner(function(object, source, srcIndex) { + baseMerge(object, source, srcIndex); +}); + +module.exports = merge; + + +/***/ }), +/* 29 */ +/***/ (function(module, exports) { + +module.exports = function(module) { + if(!module.webpackPolyfill) { + module.deprecate = function() {}; + module.paths = []; + // module.parent = undefined by default + if(!module.children) module.children = []; + Object.defineProperty(module, "loaded", { + enumerable: true, + get: function() { + return module.l; + } + }); + Object.defineProperty(module, "id", { + enumerable: true, + get: function() { + return module.i; + } + }); + module.webpackPolyfill = 1; + } + return module; +}; + + +/***/ }), +/* 30 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/** + * http://www.codeproject.com/Tips/407172/Connected-Component-Labeling-and-Vectorization + */ +var Tracer = { + searchDirections: [[0, 1], [1, 1], [1, 0], [1, -1], [0, -1], [-1, -1], [-1, 0], [-1, 1]], + create: function create(imageWrapper, labelWrapper) { + var imageData = imageWrapper.data, + labelData = labelWrapper.data, + searchDirections = this.searchDirections, + width = imageWrapper.size.x, + pos; + + function _trace(current, color, label, edgelabel) { + var i, y, x; + + for (i = 0; i < 7; i++) { + y = current.cy + searchDirections[current.dir][0]; + x = current.cx + searchDirections[current.dir][1]; + pos = y * width + x; + if (imageData[pos] === color && (labelData[pos] === 0 || labelData[pos] === label)) { + labelData[pos] = label; + current.cy = y; + current.cx = x; + return true; + } else { + if (labelData[pos] === 0) { + labelData[pos] = edgelabel; + } + current.dir = (current.dir + 1) % 8; + } + } + return false; + } + + function vertex2D(x, y, dir) { + return { + dir: dir, + x: x, + y: y, + next: null, + prev: null + }; + } + + function _contourTracing(sy, sx, label, color, edgelabel) { + var Fv = null, + Cv, + P, + ldir, + current = { + cx: sx, + cy: sy, + dir: 0 + }; + + if (_trace(current, color, label, edgelabel)) { + Fv = vertex2D(sx, sy, current.dir); + Cv = Fv; + ldir = current.dir; + P = vertex2D(current.cx, current.cy, 0); + P.prev = Cv; + Cv.next = P; + P.next = null; + Cv = P; + do { + current.dir = (current.dir + 6) % 8; + _trace(current, color, label, edgelabel); + if (ldir !== current.dir) { + Cv.dir = current.dir; + P = vertex2D(current.cx, current.cy, 0); + P.prev = Cv; + Cv.next = P; + P.next = null; + Cv = P; + } else { + Cv.dir = ldir; + Cv.x = current.cx; + Cv.y = current.cy; + } + ldir = current.dir; + } while (current.cx !== sx || current.cy !== sy); + Fv.prev = Cv.prev; + Cv.prev.next = Fv; + } + return Fv; + } + + return { + trace: function trace(current, color, label, edgelabel) { + return _trace(current, color, label, edgelabel); + }, + contourTracing: function contourTracing(sy, sx, label, color, edgelabel) { + return _contourTracing(sy, sx, label, color, edgelabel); + } + }; + } +}; + +/* harmony default export */ __webpack_exports__["a"] = Tracer; + +/***/ }), +/* 31 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__barcode_reader__ = __webpack_require__(1); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__common_array_helper__ = __webpack_require__(3); + + + +function Code39Reader() { + __WEBPACK_IMPORTED_MODULE_0__barcode_reader__["a" /* default */].call(this); +} + +var properties = { + ALPHABETH_STRING: { value: "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. *$/+%" }, + ALPHABET: { value: [48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 45, 46, 32, 42, 36, 47, 43, 37] }, + CHARACTER_ENCODINGS: { value: [0x034, 0x121, 0x061, 0x160, 0x031, 0x130, 0x070, 0x025, 0x124, 0x064, 0x109, 0x049, 0x148, 0x019, 0x118, 0x058, 0x00D, 0x10C, 0x04C, 0x01C, 0x103, 0x043, 0x142, 0x013, 0x112, 0x052, 0x007, 0x106, 0x046, 0x016, 0x181, 0x0C1, 0x1C0, 0x091, 0x190, 0x0D0, 0x085, 0x184, 0x0C4, 0x094, 0x0A8, 0x0A2, 0x08A, 0x02A] }, + ASTERISK: { value: 0x094 }, + FORMAT: { value: "code_39", writeable: false } +}; + +Code39Reader.prototype = Object.create(__WEBPACK_IMPORTED_MODULE_0__barcode_reader__["a" /* default */].prototype, properties); +Code39Reader.prototype.constructor = Code39Reader; + +Code39Reader.prototype._decode = function () { + var self = this, + counters = [0, 0, 0, 0, 0, 0, 0, 0, 0], + result = [], + start = self._findStart(), + decodedChar, + lastStart, + pattern, + nextStart; + + if (!start) { + return null; + } + nextStart = self._nextSet(self._row, start.end); + + do { + counters = self._toCounters(nextStart, counters); + pattern = self._toPattern(counters); + if (pattern < 0) { + return null; + } + decodedChar = self._patternToChar(pattern); + if (decodedChar < 0) { + return null; + } + result.push(decodedChar); + lastStart = nextStart; + nextStart += __WEBPACK_IMPORTED_MODULE_1__common_array_helper__["a" /* default */].sum(counters); + nextStart = self._nextSet(self._row, nextStart); + } while (decodedChar !== '*'); + result.pop(); + + if (!result.length) { + return null; + } + + if (!self._verifyTrailingWhitespace(lastStart, nextStart, counters)) { + return null; + } + + return { + code: result.join(""), + start: start.start, + end: nextStart, + startInfo: start, + decodedCodes: result + }; +}; + +Code39Reader.prototype._verifyTrailingWhitespace = function (lastStart, nextStart, counters) { + var trailingWhitespaceEnd, + patternSize = __WEBPACK_IMPORTED_MODULE_1__common_array_helper__["a" /* default */].sum(counters); + + trailingWhitespaceEnd = nextStart - lastStart - patternSize; + if (trailingWhitespaceEnd * 3 >= patternSize) { + return true; + } + return false; +}; + +Code39Reader.prototype._patternToChar = function (pattern) { + var i, + self = this; + + for (i = 0; i < self.CHARACTER_ENCODINGS.length; i++) { + if (self.CHARACTER_ENCODINGS[i] === pattern) { + return String.fromCharCode(self.ALPHABET[i]); + } + } + return -1; +}; + +Code39Reader.prototype._findNextWidth = function (counters, current) { + var i, + minWidth = Number.MAX_VALUE; + + for (i = 0; i < counters.length; i++) { + if (counters[i] < minWidth && counters[i] > current) { + minWidth = counters[i]; + } + } + + return minWidth; +}; + +Code39Reader.prototype._toPattern = function (counters) { + var numCounters = counters.length, + maxNarrowWidth = 0, + numWideBars = numCounters, + wideBarWidth = 0, + self = this, + pattern, + i; + + while (numWideBars > 3) { + maxNarrowWidth = self._findNextWidth(counters, maxNarrowWidth); + numWideBars = 0; + pattern = 0; + for (i = 0; i < numCounters; i++) { + if (counters[i] > maxNarrowWidth) { + pattern |= 1 << numCounters - 1 - i; + numWideBars++; + wideBarWidth += counters[i]; + } + } + + if (numWideBars === 3) { + for (i = 0; i < numCounters && numWideBars > 0; i++) { + if (counters[i] > maxNarrowWidth) { + numWideBars--; + if (counters[i] * 2 >= wideBarWidth) { + return -1; + } + } + } + return pattern; + } + } + return -1; +}; + +Code39Reader.prototype._findStart = function () { + var self = this, + offset = self._nextSet(self._row), + patternStart = offset, + counter = [0, 0, 0, 0, 0, 0, 0, 0, 0], + counterPos = 0, + isWhite = false, + i, + j, + whiteSpaceMustStart; + + for (i = offset; i < self._row.length; i++) { + if (self._row[i] ^ isWhite) { + counter[counterPos]++; + } else { + if (counterPos === counter.length - 1) { + // find start pattern + if (self._toPattern(counter) === self.ASTERISK) { + whiteSpaceMustStart = Math.floor(Math.max(0, patternStart - (i - patternStart) / 4)); + if (self._matchRange(whiteSpaceMustStart, patternStart, 0)) { + return { + start: patternStart, + end: i + }; + } + } + + patternStart += counter[0] + counter[1]; + for (j = 0; j < 7; j++) { + counter[j] = counter[j + 2]; + } + counter[7] = 0; + counter[8] = 0; + counterPos--; + } else { + counterPos++; + } + counter[counterPos] = 1; + isWhite = !isWhite; + } + } + return null; +}; + +/* harmony default export */ __webpack_exports__["a"] = Code39Reader; + +/***/ }), +/* 32 */ +/***/ (function(module, exports) { + +module.exports = dot + +/** + * Calculates the dot product of two vec2's + * + * @param {vec2} a the first operand + * @param {vec2} b the second operand + * @returns {Number} dot product of a and b + */ +function dot(a, b) { + return a[0] * b[0] + a[1] * b[1] +} + +/***/ }), +/* 33 */ +/***/ (function(module, exports, __webpack_require__) { + +var getNative = __webpack_require__(22), + root = __webpack_require__(5); + +/* Built-in method references that are verified to be native. */ +var Map = getNative(root, 'Map'); + +module.exports = Map; + + +/***/ }), +/* 34 */ +/***/ (function(module, exports, __webpack_require__) { + +var mapCacheClear = __webpack_require__(138), + mapCacheDelete = __webpack_require__(139), + mapCacheGet = __webpack_require__(140), + mapCacheHas = __webpack_require__(141), + mapCacheSet = __webpack_require__(142); + +/** + * Creates a map cache object to store key-value pairs. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function MapCache(entries) { + var index = -1, + length = entries == null ? 0 : entries.length; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} + +// Add methods to `MapCache`. +MapCache.prototype.clear = mapCacheClear; +MapCache.prototype['delete'] = mapCacheDelete; +MapCache.prototype.get = mapCacheGet; +MapCache.prototype.has = mapCacheHas; +MapCache.prototype.set = mapCacheSet; + +module.exports = MapCache; + + +/***/ }), +/* 35 */ +/***/ (function(module, exports, __webpack_require__) { + +var baseAssignValue = __webpack_require__(21), + eq = __webpack_require__(17); + +/** + * This function is like `assignValue` except that it doesn't assign + * `undefined` values. + * + * @private + * @param {Object} object The object to modify. + * @param {string} key The key of the property to assign. + * @param {*} value The value to assign. + */ +function assignMergeValue(object, key, value) { + if ((value !== undefined && !eq(object[key], value)) || + (value === undefined && !(key in object))) { + baseAssignValue(object, key, value); + } +} + +module.exports = assignMergeValue; + + +/***/ }), +/* 36 */ +/***/ (function(module, exports, __webpack_require__) { + +var baseAssignValue = __webpack_require__(21), + eq = __webpack_require__(17); + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Assigns `value` to `key` of `object` if the existing value is not equivalent + * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. + * + * @private + * @param {Object} object The object to modify. + * @param {string} key The key of the property to assign. + * @param {*} value The value to assign. + */ +function assignValue(object, key, value) { + var objValue = object[key]; + if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) || + (value === undefined && !(key in object))) { + baseAssignValue(object, key, value); + } +} + +module.exports = assignValue; + + +/***/ }), +/* 37 */ +/***/ (function(module, exports, __webpack_require__) { + +var getNative = __webpack_require__(22); + +var defineProperty = (function() { + try { + var func = getNative(Object, 'defineProperty'); + func({}, '', {}); + return func; + } catch (e) {} +}()); + +module.exports = defineProperty; + + +/***/ }), +/* 38 */ +/***/ (function(module, exports, __webpack_require__) { + +/* WEBPACK VAR INJECTION */(function(global) {/** Detect free variable `global` from Node.js. */ +var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; + +module.exports = freeGlobal; + +/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(47))) + +/***/ }), +/* 39 */ +/***/ (function(module, exports, __webpack_require__) { + +var overArg = __webpack_require__(147); + +/** Built-in value references. */ +var getPrototype = overArg(Object.getPrototypeOf, Object); + +module.exports = getPrototype; + + +/***/ }), +/* 40 */ +/***/ (function(module, exports) { + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** + * Checks if `value` is likely a prototype object. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a prototype, else `false`. + */ +function isPrototype(value) { + var Ctor = value && value.constructor, + proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto; + + return value === proto; +} + +module.exports = isPrototype; + + +/***/ }), +/* 41 */ +/***/ (function(module, exports, __webpack_require__) { + +var apply = __webpack_require__(87); + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMax = Math.max; + +/** + * A specialized version of `baseRest` which transforms the rest array. + * + * @private + * @param {Function} func The function to apply a rest parameter to. + * @param {number} [start=func.length-1] The start position of the rest parameter. + * @param {Function} transform The rest array transform. + * @returns {Function} Returns the new function. + */ +function overRest(func, start, transform) { + start = nativeMax(start === undefined ? (func.length - 1) : start, 0); + return function() { + var args = arguments, + index = -1, + length = nativeMax(args.length - start, 0), + array = Array(length); + + while (++index < length) { + array[index] = args[start + index]; + } + index = -1; + var otherArgs = Array(start + 1); + while (++index < start) { + otherArgs[index] = args[index]; + } + otherArgs[start] = transform(array); + return apply(func, this, otherArgs); + }; +} + +module.exports = overRest; + + +/***/ }), +/* 42 */ +/***/ (function(module, exports, __webpack_require__) { + +var baseSetToString = __webpack_require__(106), + shortOut = __webpack_require__(148); + +/** + * Sets the `toString` method of `func` to return `string`. + * + * @private + * @param {Function} func The function to modify. + * @param {Function} string The `toString` result. + * @returns {Function} Returns `func`. + */ +var setToString = shortOut(baseSetToString); + +module.exports = setToString; + + +/***/ }), +/* 43 */ +/***/ (function(module, exports) { + +/** + * This method returns the first argument it receives. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Util + * @param {*} value Any value. + * @returns {*} Returns `value`. + * @example + * + * var object = { 'a': 1 }; + * + * console.log(_.identity(object) === object); + * // => true + */ +function identity(value) { + return value; +} + +module.exports = identity; + + +/***/ }), +/* 44 */ +/***/ (function(module, exports, __webpack_require__) { + +/* WEBPACK VAR INJECTION */(function(module) {var root = __webpack_require__(5), + stubFalse = __webpack_require__(163); + +/** Detect free variable `exports`. */ +var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports; + +/** Detect free variable `module`. */ +var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; + +/** Detect the popular CommonJS extension `module.exports`. */ +var moduleExports = freeModule && freeModule.exports === freeExports; + +/** Built-in value references. */ +var Buffer = moduleExports ? root.Buffer : undefined; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined; + +/** + * Checks if `value` is a buffer. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a buffer, else `false`. + * @example + * + * _.isBuffer(new Buffer(2)); + * // => true + * + * _.isBuffer(new Uint8Array(2)); + * // => false + */ +var isBuffer = nativeIsBuffer || stubFalse; + +module.exports = isBuffer; + +/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(29)(module))) + +/***/ }), +/* 45 */ +/***/ (function(module, exports, __webpack_require__) { + +var baseIsTypedArray = __webpack_require__(98), + baseUnary = __webpack_require__(109), + nodeUtil = __webpack_require__(145); + +/* Node.js helper references. */ +var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray; + +/** + * Checks if `value` is classified as a typed array. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. + * @example + * + * _.isTypedArray(new Uint8Array); + * // => true + * + * _.isTypedArray([]); + * // => false + */ +var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray; + +module.exports = isTypedArray; + + +/***/ }), +/* 46 */ +/***/ (function(module, exports, __webpack_require__) { + +var arrayLikeKeys = __webpack_require__(88), + baseKeysIn = __webpack_require__(99), + isArrayLike = __webpack_require__(24); + +/** + * Creates an array of the own and inherited enumerable property names of `object`. + * + * **Note:** Non-object values are coerced to objects. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.keysIn(new Foo); + * // => ['a', 'b', 'c'] (iteration order is not guaranteed) + */ +function keysIn(object) { + return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object); +} + +module.exports = keysIn; + + +/***/ }), +/* 47 */ +/***/ (function(module, exports) { + +var g; + +// This works in non-strict mode +g = (function() { + return this; +})(); + +try { + // This works if eval is allowed (see CSP) + g = g || Function("return this")() || (1,eval)("this"); +} catch(e) { + // This works if the window reference is available + if(typeof window === "object") + g = window; +} + +// g can still be undefined, but nothing to do about it... +// We return undefined, instead of nothing here, so it's +// easier to handle this case. if(!global) { ...} + +module.exports = g; + + +/***/ }), +/* 48 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_merge__ = __webpack_require__(28); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_merge___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_lodash_merge__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__common_typedefs__ = __webpack_require__(54); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__common_typedefs___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__common_typedefs__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__common_image_wrapper__ = __webpack_require__(20); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__locator_barcode_locator__ = __webpack_require__(64); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__decoder_barcode_decoder__ = __webpack_require__(57); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__common_events__ = __webpack_require__(51); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__input_camera_access__ = __webpack_require__(59); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__common_image_debug__ = __webpack_require__(9); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__analytics_result_collector__ = __webpack_require__(49); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__config_config__ = __webpack_require__(56); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_input_stream__ = __webpack_require__(63); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_frame_grabber__ = __webpack_require__(61); + + +var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + + // eslint-disable-line no-unused-vars + + + + + + + + + + + +var vec2 = { + clone: __webpack_require__(7) +}; + +var _inputStream, + _framegrabber, + _stopped, + _canvasContainer = { + ctx: { + image: null, + overlay: null + }, + dom: { + image: null, + overlay: null + } +}, + _inputImageWrapper, + _boxSize, + _decoder, + _workerPool = [], + _onUIThread = true, + _resultCollector, + _config = {}; + +function initializeData(imageWrapper) { + initBuffers(imageWrapper); + _decoder = __WEBPACK_IMPORTED_MODULE_4__decoder_barcode_decoder__["a" /* default */].create(_config.decoder, _inputImageWrapper); +} + +function initInputStream(cb) { + var video; + if (_config.inputStream.type === "VideoStream") { + video = document.createElement("video"); + _inputStream = __WEBPACK_IMPORTED_MODULE_10_input_stream__["a" /* default */].createVideoStream(video); + } else if (_config.inputStream.type === "ImageStream") { + _inputStream = __WEBPACK_IMPORTED_MODULE_10_input_stream__["a" /* default */].createImageStream(); + } else if (_config.inputStream.type === "LiveStream") { + var $viewport = getViewPort(); + if ($viewport) { + video = $viewport.querySelector("video"); + if (!video) { + video = document.createElement("video"); + $viewport.appendChild(video); + } + } + _inputStream = __WEBPACK_IMPORTED_MODULE_10_input_stream__["a" /* default */].createLiveStream(video); + __WEBPACK_IMPORTED_MODULE_6__input_camera_access__["a" /* default */].request(video, _config.inputStream.constraints).then(function () { + _inputStream.trigger("canrecord"); + }).catch(function (err) { + return cb(err); + }); + } + + _inputStream.setAttribute("preload", "auto"); + _inputStream.setInputStream(_config.inputStream); + _inputStream.addEventListener("canrecord", canRecord.bind(undefined, cb)); +} + +function getViewPort() { + var target = _config.inputStream.target; + // Check if target is already a DOM element + if (target && target.nodeName && target.nodeType === 1) { + return target; + } else { + // Use '#interactive.viewport' as a fallback selector (backwards compatibility) + var selector = typeof target === 'string' ? target : '#interactive.viewport'; + return document.querySelector(selector); + } +} + +function canRecord(cb) { + __WEBPACK_IMPORTED_MODULE_3__locator_barcode_locator__["a" /* default */].checkImageConstraints(_inputStream, _config.locator); + initCanvas(_config); + _framegrabber = __WEBPACK_IMPORTED_MODULE_11_frame_grabber__["a" /* default */].create(_inputStream, _canvasContainer.dom.image); + + adjustWorkerPool(_config.numOfWorkers, function () { + if (_config.numOfWorkers === 0) { + initializeData(); + } + ready(cb); + }); +} + +function ready(cb) { + _inputStream.play(); + cb(); +} + +function initCanvas() { + if (typeof document !== "undefined") { + var $viewport = getViewPort(); + _canvasContainer.dom.image = document.querySelector("canvas.imgBuffer"); + if (!_canvasContainer.dom.image) { + _canvasContainer.dom.image = document.createElement("canvas"); + _canvasContainer.dom.image.className = "imgBuffer"; + if ($viewport && _config.inputStream.type === "ImageStream") { + $viewport.appendChild(_canvasContainer.dom.image); + } + } + _canvasContainer.ctx.image = _canvasContainer.dom.image.getContext("2d"); + _canvasContainer.dom.image.width = _inputStream.getCanvasSize().x; + _canvasContainer.dom.image.height = _inputStream.getCanvasSize().y; + + _canvasContainer.dom.overlay = document.querySelector("canvas.drawingBuffer"); + if (!_canvasContainer.dom.overlay) { + _canvasContainer.dom.overlay = document.createElement("canvas"); + _canvasContainer.dom.overlay.className = "drawingBuffer"; + if ($viewport) { + $viewport.appendChild(_canvasContainer.dom.overlay); + } + var clearFix = document.createElement("br"); + clearFix.setAttribute("clear", "all"); + if ($viewport) { + $viewport.appendChild(clearFix); + } + } + _canvasContainer.ctx.overlay = _canvasContainer.dom.overlay.getContext("2d"); + _canvasContainer.dom.overlay.width = _inputStream.getCanvasSize().x; + _canvasContainer.dom.overlay.height = _inputStream.getCanvasSize().y; + } +} + +function initBuffers(imageWrapper) { + if (imageWrapper) { + _inputImageWrapper = imageWrapper; + } else { + _inputImageWrapper = new __WEBPACK_IMPORTED_MODULE_2__common_image_wrapper__["a" /* default */]({ + x: _inputStream.getWidth(), + y: _inputStream.getHeight() + }); + } + + if (true) { + console.log(_inputImageWrapper.size); + } + _boxSize = [vec2.clone([0, 0]), vec2.clone([0, _inputImageWrapper.size.y]), vec2.clone([_inputImageWrapper.size.x, _inputImageWrapper.size.y]), vec2.clone([_inputImageWrapper.size.x, 0])]; + __WEBPACK_IMPORTED_MODULE_3__locator_barcode_locator__["a" /* default */].init(_inputImageWrapper, _config.locator); +} + +function getBoundingBoxes() { + if (_config.locate) { + return __WEBPACK_IMPORTED_MODULE_3__locator_barcode_locator__["a" /* default */].locate(); + } else { + return [[vec2.clone(_boxSize[0]), vec2.clone(_boxSize[1]), vec2.clone(_boxSize[2]), vec2.clone(_boxSize[3])]]; + } +} + +function transformResult(result) { + var topRight = _inputStream.getTopRight(), + xOffset = topRight.x, + yOffset = topRight.y, + i; + + if (xOffset === 0 && yOffset === 0) { + return; + } + + if (result.barcodes) { + for (i = 0; i < result.barcodes.length; i++) { + transformResult(result.barcodes[i]); + } + } + + if (result.line && result.line.length === 2) { + moveLine(result.line); + } + + if (result.box) { + moveBox(result.box); + } + + if (result.boxes && result.boxes.length > 0) { + for (i = 0; i < result.boxes.length; i++) { + moveBox(result.boxes[i]); + } + } + + function moveBox(box) { + var corner = box.length; + + while (corner--) { + box[corner][0] += xOffset; + box[corner][1] += yOffset; + } + } + + function moveLine(line) { + line[0].x += xOffset; + line[0].y += yOffset; + line[1].x += xOffset; + line[1].y += yOffset; + } +} + +function addResult(result, imageData) { + if (!imageData || !_resultCollector) { + return; + } + + if (result.barcodes) { + result.barcodes.filter(function (barcode) { + return barcode.codeResult; + }).forEach(function (barcode) { + return addResult(barcode, imageData); + }); + } else if (result.codeResult) { + _resultCollector.addResult(imageData, _inputStream.getCanvasSize(), result.codeResult); + } +} + +function hasCodeResult(result) { + return result && (result.barcodes ? result.barcodes.some(function (barcode) { + return barcode.codeResult; + }) : result.codeResult); +} + +function publishResult(result, imageData) { + var resultToPublish = result; + + if (result && _onUIThread) { + transformResult(result); + addResult(result, imageData); + resultToPublish = result.barcodes || result; + } + + __WEBPACK_IMPORTED_MODULE_5__common_events__["a" /* default */].publish("processed", resultToPublish); + if (hasCodeResult(result)) { + __WEBPACK_IMPORTED_MODULE_5__common_events__["a" /* default */].publish("detected", resultToPublish); + } +} + +function locateAndDecode() { + var result, boxes; + + boxes = getBoundingBoxes(); + if (boxes) { + result = _decoder.decodeFromBoundingBoxes(boxes); + result = result || {}; + result.boxes = boxes; + publishResult(result, _inputImageWrapper.data); + } else { + publishResult(); + } +} + +function update() { + var availableWorker; + + if (_onUIThread) { + if (_workerPool.length > 0) { + availableWorker = _workerPool.filter(function (workerThread) { + return !workerThread.busy; + })[0]; + if (availableWorker) { + _framegrabber.attachData(availableWorker.imageData); + } else { + return; // all workers are busy + } + } else { + _framegrabber.attachData(_inputImageWrapper.data); + } + if (_framegrabber.grab()) { + if (availableWorker) { + availableWorker.busy = true; + availableWorker.worker.postMessage({ + cmd: 'process', + imageData: availableWorker.imageData + }, [availableWorker.imageData.buffer]); + } else { + locateAndDecode(); + } + } + } else { + locateAndDecode(); + } +} + +function startContinuousUpdate() { + var next = null, + delay = 1000 / (_config.frequency || 60); + + _stopped = false; + (function frame(timestamp) { + next = next || timestamp; + if (!_stopped) { + if (timestamp >= next) { + next += delay; + update(); + } + window.requestAnimFrame(frame); + } + })(performance.now()); +} + +function _start() { + if (_onUIThread && _config.inputStream.type === "LiveStream") { + startContinuousUpdate(); + } else { + update(); + } +} + +function initWorker(cb) { + var blobURL, + workerThread = { + worker: undefined, + imageData: new Uint8Array(_inputStream.getWidth() * _inputStream.getHeight()), + busy: true + }; + + blobURL = generateWorkerBlob(); + workerThread.worker = new Worker(blobURL); + + workerThread.worker.onmessage = function (e) { + if (e.data.event === 'initialized') { + URL.revokeObjectURL(blobURL); + workerThread.busy = false; + workerThread.imageData = new Uint8Array(e.data.imageData); + if (true) { + console.log("Worker initialized"); + } + return cb(workerThread); + } else if (e.data.event === 'processed') { + workerThread.imageData = new Uint8Array(e.data.imageData); + workerThread.busy = false; + publishResult(e.data.result, workerThread.imageData); + } else if (e.data.event === 'error') { + if (true) { + console.log("Worker error: " + e.data.message); + } + } + }; + + workerThread.worker.postMessage({ + cmd: 'init', + size: { x: _inputStream.getWidth(), y: _inputStream.getHeight() }, + imageData: workerThread.imageData, + config: configForWorker(_config) + }, [workerThread.imageData.buffer]); +} + +function configForWorker(config) { + return _extends({}, config, { + inputStream: _extends({}, config.inputStream, { + target: null + }) + }); +} + +function workerInterface(factory) { + /* eslint-disable no-undef*/ + if (factory) { + var Quagga = factory().default; + if (!Quagga) { + self.postMessage({ 'event': 'error', message: 'Quagga could not be created' }); + return; + } + } + var imageWrapper; + + self.onmessage = function (e) { + if (e.data.cmd === 'init') { + var config = e.data.config; + config.numOfWorkers = 0; + imageWrapper = new Quagga.ImageWrapper({ + x: e.data.size.x, + y: e.data.size.y + }, new Uint8Array(e.data.imageData)); + Quagga.init(config, ready, imageWrapper); + Quagga.onProcessed(onProcessed); + } else if (e.data.cmd === 'process') { + imageWrapper.data = new Uint8Array(e.data.imageData); + Quagga.start(); + } else if (e.data.cmd === 'setReaders') { + Quagga.setReaders(e.data.readers); + } + }; + + function onProcessed(result) { + self.postMessage({ + 'event': 'processed', + imageData: imageWrapper.data, + result: result + }, [imageWrapper.data.buffer]); + } + + function ready() { + // eslint-disable-line + self.postMessage({ 'event': 'initialized', imageData: imageWrapper.data }, [imageWrapper.data.buffer]); + } + + /* eslint-enable */ +} + +function generateWorkerBlob() { + var blob, factorySource; + + /* jshint ignore:start */ + if (typeof __factorySource__ !== 'undefined') { + factorySource = __factorySource__; // eslint-disable-line no-undef + } + /* jshint ignore:end */ + + blob = new Blob(['(' + workerInterface.toString() + ')(' + factorySource + ');'], { type: 'text/javascript' }); + + return window.URL.createObjectURL(blob); +} + +function _setReaders(readers) { + if (_decoder) { + _decoder.setReaders(readers); + } else if (_onUIThread && _workerPool.length > 0) { + _workerPool.forEach(function (workerThread) { + workerThread.worker.postMessage({ cmd: 'setReaders', readers: readers }); + }); + } +} + +function adjustWorkerPool(capacity, cb) { + var increaseBy = capacity - _workerPool.length; + if (increaseBy === 0) { + return cb && cb(); + } + if (increaseBy < 0) { + var workersToTerminate = _workerPool.slice(increaseBy); + workersToTerminate.forEach(function (workerThread) { + workerThread.worker.terminate(); + if (true) { + console.log("Worker terminated!"); + } + }); + _workerPool = _workerPool.slice(0, increaseBy); + return cb && cb(); + } else { + var workerInitialized = function workerInitialized(workerThread) { + _workerPool.push(workerThread); + if (_workerPool.length >= capacity) { + cb && cb(); + } + }; + + for (var i = 0; i < increaseBy; i++) { + initWorker(workerInitialized); + } + } +} + +/* harmony default export */ __webpack_exports__["default"] = { + init: function init(config, cb, imageWrapper) { + _config = __WEBPACK_IMPORTED_MODULE_0_lodash_merge___default()({}, __WEBPACK_IMPORTED_MODULE_9__config_config__["a" /* default */], config); + if (imageWrapper) { + _onUIThread = false; + initializeData(imageWrapper); + return cb(); + } else { + initInputStream(cb); + } + }, + start: function start() { + _start(); + }, + stop: function stop() { + _stopped = true; + adjustWorkerPool(0); + if (_config.inputStream.type === "LiveStream") { + __WEBPACK_IMPORTED_MODULE_6__input_camera_access__["a" /* default */].release(); + _inputStream.clearEventHandlers(); + } + }, + pause: function pause() { + _stopped = true; + }, + onDetected: function onDetected(callback) { + __WEBPACK_IMPORTED_MODULE_5__common_events__["a" /* default */].subscribe("detected", callback); + }, + offDetected: function offDetected(callback) { + __WEBPACK_IMPORTED_MODULE_5__common_events__["a" /* default */].unsubscribe("detected", callback); + }, + onProcessed: function onProcessed(callback) { + __WEBPACK_IMPORTED_MODULE_5__common_events__["a" /* default */].subscribe("processed", callback); + }, + offProcessed: function offProcessed(callback) { + __WEBPACK_IMPORTED_MODULE_5__common_events__["a" /* default */].unsubscribe("processed", callback); + }, + setReaders: function setReaders(readers) { + _setReaders(readers); + }, + registerResultCollector: function registerResultCollector(resultCollector) { + if (resultCollector && typeof resultCollector.addResult === 'function') { + _resultCollector = resultCollector; + } + }, + canvas: _canvasContainer, + decodeSingle: function decodeSingle(config, resultCallback) { + var _this = this; + + config = __WEBPACK_IMPORTED_MODULE_0_lodash_merge___default()({ + inputStream: { + type: "ImageStream", + sequence: false, + size: 800, + src: config.src + }, + numOfWorkers: true && config.debug ? 0 : 1, + locator: { + halfSample: false + } + }, config); + this.init(config, function () { + __WEBPACK_IMPORTED_MODULE_5__common_events__["a" /* default */].once("processed", function (result) { + _this.stop(); + resultCallback.call(null, result); + }, true); + _start(); + }); + }, + ImageWrapper: __WEBPACK_IMPORTED_MODULE_2__common_image_wrapper__["a" /* default */], + ImageDebug: __WEBPACK_IMPORTED_MODULE_7__common_image_debug__["a" /* default */], + ResultCollector: __WEBPACK_IMPORTED_MODULE_8__analytics_result_collector__["a" /* default */], + CameraAccess: __WEBPACK_IMPORTED_MODULE_6__input_camera_access__["a" /* default */] +}; + +/***/ }), +/* 49 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__common_image_debug__ = __webpack_require__(9); + + +function contains(codeResult, list) { + if (list) { + return list.some(function (item) { + return Object.keys(item).every(function (key) { + return item[key] === codeResult[key]; + }); + }); + } + return false; +} + +function passesFilter(codeResult, filter) { + if (typeof filter === 'function') { + return filter(codeResult); + } + return true; +} + +/* harmony default export */ __webpack_exports__["a"] = { + create: function create(config) { + var canvas = document.createElement("canvas"), + ctx = canvas.getContext("2d"), + results = [], + capacity = config.capacity || 20, + capture = config.capture === true; + + function matchesConstraints(codeResult) { + return capacity && codeResult && !contains(codeResult, config.blacklist) && passesFilter(codeResult, config.filter); + } + + return { + addResult: function addResult(data, imageSize, codeResult) { + var result = {}; + + if (matchesConstraints(codeResult)) { + capacity--; + result.codeResult = codeResult; + if (capture) { + canvas.width = imageSize.x; + canvas.height = imageSize.y; + __WEBPACK_IMPORTED_MODULE_0__common_image_debug__["a" /* default */].drawImage(data, imageSize, ctx); + result.frame = canvas.toDataURL(); + } + results.push(result); + } + }, + getResults: function getResults() { + return results; + } + }; + } +}; + +/***/ }), +/* 50 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +var vec2 = { + clone: __webpack_require__(7), + dot: __webpack_require__(32) +}; +/** + * Creates a cluster for grouping similar orientations of datapoints + */ +/* harmony default export */ __webpack_exports__["a"] = { + create: function create(point, threshold) { + var points = [], + center = { + rad: 0, + vec: vec2.clone([0, 0]) + }, + pointMap = {}; + + function init() { + _add(point); + updateCenter(); + } + + function _add(pointToAdd) { + pointMap[pointToAdd.id] = pointToAdd; + points.push(pointToAdd); + } + + function updateCenter() { + var i, + sum = 0; + for (i = 0; i < points.length; i++) { + sum += points[i].rad; + } + center.rad = sum / points.length; + center.vec = vec2.clone([Math.cos(center.rad), Math.sin(center.rad)]); + } + + init(); + + return { + add: function add(pointToAdd) { + if (!pointMap[pointToAdd.id]) { + _add(pointToAdd); + updateCenter(); + } + }, + fits: function fits(otherPoint) { + // check cosine similarity to center-angle + var similarity = Math.abs(vec2.dot(otherPoint.point.vec, center.vec)); + if (similarity > threshold) { + return true; + } + return false; + }, + getPoints: function getPoints() { + return points; + }, + getCenter: function getCenter() { + return center; + } + }; + }, + createPoint: function createPoint(newPoint, id, property) { + return { + rad: newPoint[property], + point: newPoint, + id: id + }; + } +}; + +/***/ }), +/* 51 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony default export */ __webpack_exports__["a"] = (function () { + var events = {}; + + function getEvent(eventName) { + if (!events[eventName]) { + events[eventName] = { + subscribers: [] + }; + } + return events[eventName]; + } + + function clearEvents() { + events = {}; + } + + function publishSubscription(subscription, data) { + if (subscription.async) { + setTimeout(function () { + subscription.callback(data); + }, 4); + } else { + subscription.callback(data); + } + } + + function _subscribe(event, callback, async) { + var subscription; + + if (typeof callback === "function") { + subscription = { + callback: callback, + async: async + }; + } else { + subscription = callback; + if (!subscription.callback) { + throw "Callback was not specified on options"; + } + } + + getEvent(event).subscribers.push(subscription); + } + + return { + subscribe: function subscribe(event, callback, async) { + return _subscribe(event, callback, async); + }, + publish: function publish(eventName, data) { + var event = getEvent(eventName), + subscribers = event.subscribers; + + // Publish one-time subscriptions + subscribers.filter(function (subscriber) { + return !!subscriber.once; + }).forEach(function (subscriber) { + publishSubscription(subscriber, data); + }); + + // remove them from the subscriber + event.subscribers = subscribers.filter(function (subscriber) { + return !subscriber.once; + }); + + // publish the rest + event.subscribers.forEach(function (subscriber) { + publishSubscription(subscriber, data); + }); + }, + once: function once(event, callback, async) { + _subscribe(event, { + callback: callback, + async: async, + once: true + }); + }, + unsubscribe: function unsubscribe(eventName, callback) { + var event; + + if (eventName) { + event = getEvent(eventName); + if (event && callback) { + event.subscribers = event.subscribers.filter(function (subscriber) { + return subscriber.callback !== callback; + }); + } else { + event.subscribers = []; + } + } else { + clearEvents(); + } + } + }; +})(); + +/***/ }), +/* 52 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (immutable) */ __webpack_exports__["b"] = enumerateDevices; +/* harmony export (immutable) */ __webpack_exports__["a"] = getUserMedia; + +function enumerateDevices() { + if (navigator.mediaDevices && typeof navigator.mediaDevices.enumerateDevices === 'function') { + return navigator.mediaDevices.enumerateDevices(); + } + return Promise.reject(new Error('enumerateDevices is not defined')); +}; + +function getUserMedia(constraints) { + if (navigator.mediaDevices && typeof navigator.mediaDevices.getUserMedia === 'function') { + return navigator.mediaDevices.getUserMedia(constraints); + } + return Promise.reject(new Error('getUserMedia is not defined')); +} + +/***/ }), +/* 53 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/** + * Construct representing a part of another {ImageWrapper}. Shares data + * between the parent and the child. + * @param from {ImageRef} The position where to start the {SubImage} from. (top-left corner) + * @param size {ImageRef} The size of the resulting image + * @param I {ImageWrapper} The {ImageWrapper} to share from + * @returns {SubImage} A shared part of the original image + */ +function SubImage(from, size, I) { + if (!I) { + I = { + data: null, + size: size + }; + } + this.data = I.data; + this.originalSize = I.size; + this.I = I; + + this.from = from; + this.size = size; +} + +/** + * Displays the {SubImage} in a given canvas + * @param canvas {Canvas} The canvas element to write to + * @param scale {Number} Scale which is applied to each pixel-value + */ +SubImage.prototype.show = function (canvas, scale) { + var ctx, frame, data, current, y, x, pixel; + + if (!scale) { + scale = 1.0; + } + ctx = canvas.getContext('2d'); + canvas.width = this.size.x; + canvas.height = this.size.y; + frame = ctx.getImageData(0, 0, canvas.width, canvas.height); + data = frame.data; + current = 0; + for (y = 0; y < this.size.y; y++) { + for (x = 0; x < this.size.x; x++) { + pixel = y * this.size.x + x; + current = this.get(x, y) * scale; + data[pixel * 4 + 0] = current; + data[pixel * 4 + 1] = current; + data[pixel * 4 + 2] = current; + data[pixel * 4 + 3] = 255; + } + } + frame.data = data; + ctx.putImageData(frame, 0, 0); +}; + +/** + * Retrieves a given pixel position from the {SubImage} + * @param x {Number} The x-position + * @param y {Number} The y-position + * @returns {Number} The grayscale value at the pixel-position + */ +SubImage.prototype.get = function (x, y) { + return this.data[(this.from.y + y) * this.originalSize.x + this.from.x + x]; +}; + +/** + * Updates the underlying data from a given {ImageWrapper} + * @param image {ImageWrapper} The updated image + */ +SubImage.prototype.updateData = function (image) { + this.originalSize = image.size; + this.data = image.data; +}; + +/** + * Updates the position of the shared area + * @param from {x,y} The new location + * @returns {SubImage} returns {this} for possible chaining + */ +SubImage.prototype.updateFrom = function (from) { + this.from = from; + return this; +}; + +/* harmony default export */ __webpack_exports__["a"] = SubImage; + +/***/ }), +/* 54 */ +/***/ (function(module, exports) { + +/* + * typedefs.js + * Normalizes browser-specific prefixes + */ + +if (typeof window !== 'undefined') { + window.requestAnimFrame = function () { + return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function ( /* function FrameRequestCallback */callback) { + window.setTimeout(callback, 1000 / 60); + }; + }(); +} +Math.imul = Math.imul || function (a, b) { + var ah = a >>> 16 & 0xffff, + al = a & 0xffff, + bh = b >>> 16 & 0xffff, + bl = b & 0xffff; + // the shift by 0 fixes the sign on the high part + // the final |0 converts the unsigned value into a signed value + return al * bl + (ah * bl + al * bh << 16 >>> 0) | 0; +}; + +if (typeof Object.assign !== 'function') { + Object.assign = function (target) { + // .length of function is 2 + 'use strict'; + + if (target === null) { + // TypeError if undefined or null + throw new TypeError('Cannot convert undefined or null to object'); + } + + var to = Object(target); + + for (var index = 1; index < arguments.length; index++) { + var nextSource = arguments[index]; + + if (nextSource !== null) { + // Skip over if undefined or null + for (var nextKey in nextSource) { + // Avoid bugs when hasOwnProperty is shadowed + if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) { + to[nextKey] = nextSource[nextKey]; + } + } + } + } + return to; + }; +} + +/***/ }), +/* 55 */ +/***/ (function(module, exports) { + +module.exports = { + inputStream: { + name: "Live", + type: "LiveStream", + constraints: { + width: 640, + height: 480, + // aspectRatio: 640/480, // optional + facingMode: "environment" }, + area: { + top: "0%", + right: "0%", + left: "0%", + bottom: "0%" + }, + singleChannel: false // true: only the red color-channel is read + }, + locate: true, + numOfWorkers: 0, + decoder: { + readers: ['code_128_reader'], + debug: { + drawBoundingBox: false, + showFrequency: false, + drawScanline: false, + showPattern: false + } + }, + locator: { + halfSample: true, + patchSize: "medium", // x-small, small, medium, large, x-large + debug: { + showCanvas: false, + showPatches: false, + showFoundPatches: false, + showSkeleton: false, + showLabels: false, + showPatchLabels: false, + showRemainingPatchLabels: false, + boxFromPatches: { + showTransformed: false, + showTransformedBox: false, + showBB: false + } + } + } +}; + +/***/ }), +/* 56 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +var config = void 0; + +if (true) { + config = __webpack_require__(55); +} else if (ENV.node) { + config = require('./config.node.js'); +} else { + config = require('./config.prod.js'); +} + +/* harmony default export */ __webpack_exports__["a"] = config; + +/***/ }), +/* 57 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__bresenham__ = __webpack_require__(58); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__common_image_debug__ = __webpack_require__(9); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__reader_code_128_reader__ = __webpack_require__(69); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__reader_ean_reader__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__reader_code_39_reader__ = __webpack_require__(31); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__reader_code_39_vin_reader__ = __webpack_require__(70); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__reader_codabar_reader__ = __webpack_require__(68); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__reader_upc_reader__ = __webpack_require__(77); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__reader_ean_8_reader__ = __webpack_require__(74); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__reader_ean_2_reader__ = __webpack_require__(72); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__reader_ean_5_reader__ = __webpack_require__(73); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__reader_upc_e_reader__ = __webpack_require__(76); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__reader_i2of5_reader__ = __webpack_require__(75); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__reader_2of5_reader__ = __webpack_require__(67); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__reader_code_93_reader__ = __webpack_require__(71); +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; + + + + + + + + + + + + + + + + + +var READERS = { + code_128_reader: __WEBPACK_IMPORTED_MODULE_2__reader_code_128_reader__["a" /* default */], + ean_reader: __WEBPACK_IMPORTED_MODULE_3__reader_ean_reader__["a" /* default */], + ean_5_reader: __WEBPACK_IMPORTED_MODULE_10__reader_ean_5_reader__["a" /* default */], + ean_2_reader: __WEBPACK_IMPORTED_MODULE_9__reader_ean_2_reader__["a" /* default */], + ean_8_reader: __WEBPACK_IMPORTED_MODULE_8__reader_ean_8_reader__["a" /* default */], + code_39_reader: __WEBPACK_IMPORTED_MODULE_4__reader_code_39_reader__["a" /* default */], + code_39_vin_reader: __WEBPACK_IMPORTED_MODULE_5__reader_code_39_vin_reader__["a" /* default */], + codabar_reader: __WEBPACK_IMPORTED_MODULE_6__reader_codabar_reader__["a" /* default */], + upc_reader: __WEBPACK_IMPORTED_MODULE_7__reader_upc_reader__["a" /* default */], + upc_e_reader: __WEBPACK_IMPORTED_MODULE_11__reader_upc_e_reader__["a" /* default */], + i2of5_reader: __WEBPACK_IMPORTED_MODULE_12__reader_i2of5_reader__["a" /* default */], + '2of5_reader': __WEBPACK_IMPORTED_MODULE_13__reader_2of5_reader__["a" /* default */], + code_93_reader: __WEBPACK_IMPORTED_MODULE_14__reader_code_93_reader__["a" /* default */] +}; +/* harmony default export */ __webpack_exports__["a"] = { + create: function create(config, inputImageWrapper) { + var _canvas = { + ctx: { + frequency: null, + pattern: null, + overlay: null + }, + dom: { + frequency: null, + pattern: null, + overlay: null + } + }, + _barcodeReaders = []; + + initCanvas(); + initReaders(); + initConfig(); + + function initCanvas() { + if (true && typeof document !== 'undefined') { + var $debug = document.querySelector("#debug.detection"); + _canvas.dom.frequency = document.querySelector("canvas.frequency"); + if (!_canvas.dom.frequency) { + _canvas.dom.frequency = document.createElement("canvas"); + _canvas.dom.frequency.className = "frequency"; + if ($debug) { + $debug.appendChild(_canvas.dom.frequency); + } + } + _canvas.ctx.frequency = _canvas.dom.frequency.getContext("2d"); + + _canvas.dom.pattern = document.querySelector("canvas.patternBuffer"); + if (!_canvas.dom.pattern) { + _canvas.dom.pattern = document.createElement("canvas"); + _canvas.dom.pattern.className = "patternBuffer"; + if ($debug) { + $debug.appendChild(_canvas.dom.pattern); + } + } + _canvas.ctx.pattern = _canvas.dom.pattern.getContext("2d"); + + _canvas.dom.overlay = document.querySelector("canvas.drawingBuffer"); + if (_canvas.dom.overlay) { + _canvas.ctx.overlay = _canvas.dom.overlay.getContext("2d"); + } + } + } + + function initReaders() { + config.readers.forEach(function (readerConfig) { + var reader, + configuration = {}, + supplements = []; + + if ((typeof readerConfig === 'undefined' ? 'undefined' : _typeof(readerConfig)) === 'object') { + reader = readerConfig.format; + configuration = readerConfig.config; + } else if (typeof readerConfig === 'string') { + reader = readerConfig; + } + if (true) { + console.log("Before registering reader: ", reader); + } + if (configuration.supplements) { + supplements = configuration.supplements.map(function (supplement) { + return new READERS[supplement](); + }); + } + _barcodeReaders.push(new READERS[reader](configuration, supplements)); + }); + if (true) { + console.log("Registered Readers: " + _barcodeReaders.map(function (reader) { + return JSON.stringify({ format: reader.FORMAT, config: reader.config }); + }).join(', ')); + } + } + + function initConfig() { + if (true && typeof document !== 'undefined') { + var i, + vis = [{ + node: _canvas.dom.frequency, + prop: config.debug.showFrequency + }, { + node: _canvas.dom.pattern, + prop: config.debug.showPattern + }]; + + for (i = 0; i < vis.length; i++) { + if (vis[i].prop === true) { + vis[i].node.style.display = "block"; + } else { + vis[i].node.style.display = "none"; + } + } + } + } + + /** + * extend the line on both ends + * @param {Array} line + * @param {Number} angle + */ + function getExtendedLine(line, angle, ext) { + function extendLine(amount) { + var extension = { + y: amount * Math.sin(angle), + x: amount * Math.cos(angle) + }; + + line[0].y -= extension.y; + line[0].x -= extension.x; + line[1].y += extension.y; + line[1].x += extension.x; + } + + // check if inside image + extendLine(ext); + while (ext > 1 && (!inputImageWrapper.inImageWithBorder(line[0], 0) || !inputImageWrapper.inImageWithBorder(line[1], 0))) { + ext -= Math.ceil(ext / 2); + extendLine(-ext); + } + return line; + } + + function getLine(box) { + return [{ + x: (box[1][0] - box[0][0]) / 2 + box[0][0], + y: (box[1][1] - box[0][1]) / 2 + box[0][1] + }, { + x: (box[3][0] - box[2][0]) / 2 + box[2][0], + y: (box[3][1] - box[2][1]) / 2 + box[2][1] + }]; + } + + function tryDecode(line) { + var result = null, + i, + barcodeLine = __WEBPACK_IMPORTED_MODULE_0__bresenham__["a" /* default */].getBarcodeLine(inputImageWrapper, line[0], line[1]); + + if (true && config.debug.showFrequency) { + __WEBPACK_IMPORTED_MODULE_1__common_image_debug__["a" /* default */].drawPath(line, { x: 'x', y: 'y' }, _canvas.ctx.overlay, { color: 'red', lineWidth: 3 }); + __WEBPACK_IMPORTED_MODULE_0__bresenham__["a" /* default */].debug.printFrequency(barcodeLine.line, _canvas.dom.frequency); + } + + __WEBPACK_IMPORTED_MODULE_0__bresenham__["a" /* default */].toBinaryLine(barcodeLine); + + if (true && config.debug.showPattern) { + __WEBPACK_IMPORTED_MODULE_0__bresenham__["a" /* default */].debug.printPattern(barcodeLine.line, _canvas.dom.pattern); + } + + for (i = 0; i < _barcodeReaders.length && result === null; i++) { + result = _barcodeReaders[i].decodePattern(barcodeLine.line); + } + if (result === null) { + return null; + } + return { + codeResult: result, + barcodeLine: barcodeLine + }; + } + + /** + * This method slices the given area apart and tries to detect a barcode-pattern + * for each slice. It returns the decoded barcode, or null if nothing was found + * @param {Array} box + * @param {Array} line + * @param {Number} lineAngle + */ + function tryDecodeBruteForce(box, line, lineAngle) { + var sideLength = Math.sqrt(Math.pow(box[1][0] - box[0][0], 2) + Math.pow(box[1][1] - box[0][1], 2)), + i, + slices = 16, + result = null, + dir, + extension, + xdir = Math.sin(lineAngle), + ydir = Math.cos(lineAngle); + + for (i = 1; i < slices && result === null; i++) { + // move line perpendicular to angle + dir = sideLength / slices * i * (i % 2 === 0 ? -1 : 1); + extension = { + y: dir * xdir, + x: dir * ydir + }; + line[0].y += extension.x; + line[0].x -= extension.y; + line[1].y += extension.x; + line[1].x -= extension.y; + + result = tryDecode(line); + } + return result; + } + + function getLineLength(line) { + return Math.sqrt(Math.pow(Math.abs(line[1].y - line[0].y), 2) + Math.pow(Math.abs(line[1].x - line[0].x), 2)); + } + + /** + * With the help of the configured readers (Code128 or EAN) this function tries to detect a + * valid barcode pattern within the given area. + * @param {Object} box The area to search in + * @returns {Object} the result {codeResult, line, angle, pattern, threshold} + */ + function _decodeFromBoundingBox(box) { + var line, + lineAngle, + ctx = _canvas.ctx.overlay, + result, + lineLength; + + if (true) { + if (config.debug.drawBoundingBox && ctx) { + __WEBPACK_IMPORTED_MODULE_1__common_image_debug__["a" /* default */].drawPath(box, { x: 0, y: 1 }, ctx, { color: "blue", lineWidth: 2 }); + } + } + + line = getLine(box); + lineLength = getLineLength(line); + lineAngle = Math.atan2(line[1].y - line[0].y, line[1].x - line[0].x); + line = getExtendedLine(line, lineAngle, Math.floor(lineLength * 0.1)); + if (line === null) { + return null; + } + + result = tryDecode(line); + if (result === null) { + result = tryDecodeBruteForce(box, line, lineAngle); + } + + if (result === null) { + return null; + } + + if (true && result && config.debug.drawScanline && ctx) { + __WEBPACK_IMPORTED_MODULE_1__common_image_debug__["a" /* default */].drawPath(line, { x: 'x', y: 'y' }, ctx, { color: 'red', lineWidth: 3 }); + } + + return { + codeResult: result.codeResult, + line: line, + angle: lineAngle, + pattern: result.barcodeLine.line, + threshold: result.barcodeLine.threshold + }; + } + + return { + decodeFromBoundingBox: function decodeFromBoundingBox(box) { + return _decodeFromBoundingBox(box); + }, + decodeFromBoundingBoxes: function decodeFromBoundingBoxes(boxes) { + var i, + result, + barcodes = [], + multiple = config.multiple; + + for (i = 0; i < boxes.length; i++) { + var box = boxes[i]; + result = _decodeFromBoundingBox(box) || {}; + result.box = box; + + if (multiple) { + barcodes.push(result); + } else if (result.codeResult) { + return result; + } + } + + if (multiple) { + return { + barcodes: barcodes + }; + } + }, + setReaders: function setReaders(readers) { + config.readers = readers; + _barcodeReaders.length = 0; + initReaders(); + } + }; + } +}; + +/***/ }), +/* 58 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__common_image_wrapper__ = __webpack_require__(20); + + +var Bresenham = {}; + +var Slope = { + DIR: { + UP: 1, + DOWN: -1 + } +}; +/** + * Scans a line of the given image from point p1 to p2 and returns a result object containing + * gray-scale values (0-255) of the underlying pixels in addition to the min + * and max values. + * @param {Object} imageWrapper + * @param {Object} p1 The start point {x,y} + * @param {Object} p2 The end point {x,y} + * @returns {line, min, max} + */ +Bresenham.getBarcodeLine = function (imageWrapper, p1, p2) { + var x0 = p1.x | 0, + y0 = p1.y | 0, + x1 = p2.x | 0, + y1 = p2.y | 0, + steep = Math.abs(y1 - y0) > Math.abs(x1 - x0), + deltax, + deltay, + error, + ystep, + y, + tmp, + x, + line = [], + imageData = imageWrapper.data, + width = imageWrapper.size.x, + sum = 0, + val, + min = 255, + max = 0; + + function read(a, b) { + val = imageData[b * width + a]; + sum += val; + min = val < min ? val : min; + max = val > max ? val : max; + line.push(val); + } + + if (steep) { + tmp = x0; + x0 = y0; + y0 = tmp; + + tmp = x1; + x1 = y1; + y1 = tmp; + } + if (x0 > x1) { + tmp = x0; + x0 = x1; + x1 = tmp; + + tmp = y0; + y0 = y1; + y1 = tmp; + } + deltax = x1 - x0; + deltay = Math.abs(y1 - y0); + error = deltax / 2 | 0; + y = y0; + ystep = y0 < y1 ? 1 : -1; + for (x = x0; x < x1; x++) { + if (steep) { + read(y, x); + } else { + read(x, y); + } + error = error - deltay; + if (error < 0) { + y = y + ystep; + error = error + deltax; + } + } + + return { + line: line, + min: min, + max: max + }; +}; + +/** + * Converts the result from getBarcodeLine into a binary representation + * also considering the frequency and slope of the signal for more robust results + * @param {Object} result {line, min, max} + */ +Bresenham.toBinaryLine = function (result) { + var min = result.min, + max = result.max, + line = result.line, + slope, + slope2, + center = min + (max - min) / 2, + extrema = [], + currentDir, + dir, + threshold = (max - min) / 12, + rThreshold = -threshold, + i, + j; + + // 1. find extrema + currentDir = line[0] > center ? Slope.DIR.UP : Slope.DIR.DOWN; + extrema.push({ + pos: 0, + val: line[0] + }); + for (i = 0; i < line.length - 2; i++) { + slope = line[i + 1] - line[i]; + slope2 = line[i + 2] - line[i + 1]; + if (slope + slope2 < rThreshold && line[i + 1] < center * 1.5) { + dir = Slope.DIR.DOWN; + } else if (slope + slope2 > threshold && line[i + 1] > center * 0.5) { + dir = Slope.DIR.UP; + } else { + dir = currentDir; + } + + if (currentDir !== dir) { + extrema.push({ + pos: i, + val: line[i] + }); + currentDir = dir; + } + } + extrema.push({ + pos: line.length, + val: line[line.length - 1] + }); + + for (j = extrema[0].pos; j < extrema[1].pos; j++) { + line[j] = line[j] > center ? 0 : 1; + } + + // iterate over extrema and convert to binary based on avg between minmax + for (i = 1; i < extrema.length - 1; i++) { + if (extrema[i + 1].val > extrema[i].val) { + threshold = extrema[i].val + (extrema[i + 1].val - extrema[i].val) / 3 * 2 | 0; + } else { + threshold = extrema[i + 1].val + (extrema[i].val - extrema[i + 1].val) / 3 | 0; + } + + for (j = extrema[i].pos; j < extrema[i + 1].pos; j++) { + line[j] = line[j] > threshold ? 0 : 1; + } + } + + return { + line: line, + threshold: threshold + }; +}; + +/** + * Used for development only + */ +Bresenham.debug = { + printFrequency: function printFrequency(line, canvas) { + var i, + ctx = canvas.getContext("2d"); + canvas.width = line.length; + canvas.height = 256; + + ctx.beginPath(); + ctx.strokeStyle = "blue"; + for (i = 0; i < line.length; i++) { + ctx.moveTo(i, 255); + ctx.lineTo(i, 255 - line[i]); + } + ctx.stroke(); + ctx.closePath(); + }, + + printPattern: function printPattern(line, canvas) { + var ctx = canvas.getContext("2d"), + i; + + canvas.width = line.length; + ctx.fillColor = "black"; + for (i = 0; i < line.length; i++) { + if (line[i] === 1) { + ctx.fillRect(i, 0, 1, 100); + } + } + } +}; + +/* harmony default export */ __webpack_exports__["a"] = Bresenham; + +/***/ }), +/* 59 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_pick__ = __webpack_require__(162); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_pick___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_lodash_pick__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_mediaDevices__ = __webpack_require__(52); +/* unused harmony export pickConstraints */ + + + + +var facingMatching = { + "user": /front/i, + "environment": /back/i +}; + +var streamRef; + +function waitForVideo(video) { + return new Promise(function (resolve, reject) { + var attempts = 10; + + function checkVideo() { + if (attempts > 0) { + if (video.videoWidth > 10 && video.videoHeight > 10) { + if (true) { + console.log(video.videoWidth + "px x " + video.videoHeight + "px"); + } + resolve(); + } else { + window.setTimeout(checkVideo, 500); + } + } else { + reject('Unable to play video stream. Is webcam working?'); + } + attempts--; + } + checkVideo(); + }); +} + +/** + * Tries to attach the camera-stream to a given video-element + * and calls the callback function when the content is ready + * @param {Object} constraints + * @param {Object} video + */ +function initCamera(video, constraints) { + return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1_mediaDevices__["a" /* getUserMedia */])(constraints).then(function (stream) { + return new Promise(function (resolve) { + streamRef = stream; + video.setAttribute("autoplay", true); + video.setAttribute('muted', true); + video.setAttribute('playsinline', true); + video.srcObject = stream; + video.addEventListener('loadedmetadata', function () { + video.play(); + resolve(); + }); + }); + }).then(waitForVideo.bind(null, video)); +} + +function deprecatedConstraints(videoConstraints) { + var normalized = __WEBPACK_IMPORTED_MODULE_0_lodash_pick___default()(videoConstraints, ["width", "height", "facingMode", "aspectRatio", "deviceId"]); + + if (typeof videoConstraints.minAspectRatio !== 'undefined' && videoConstraints.minAspectRatio > 0) { + normalized.aspectRatio = videoConstraints.minAspectRatio; + console.log("WARNING: Constraint 'minAspectRatio' is deprecated; Use 'aspectRatio' instead"); + } + if (typeof videoConstraints.facing !== 'undefined') { + normalized.facingMode = videoConstraints.facing; + console.log("WARNING: Constraint 'facing' is deprecated. Use 'facingMode' instead'"); + } + return normalized; +} + +function pickConstraints(videoConstraints) { + var normalizedConstraints = { + audio: false, + video: deprecatedConstraints(videoConstraints) + }; + + if (normalizedConstraints.video.deviceId && normalizedConstraints.video.facingMode) { + delete normalizedConstraints.video.facingMode; + } + return Promise.resolve(normalizedConstraints); +} + +function enumerateVideoDevices() { + return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1_mediaDevices__["b" /* enumerateDevices */])().then(function (devices) { + return devices.filter(function (device) { + return device.kind === 'videoinput'; + }); + }); +} + +function getActiveTrack() { + if (streamRef) { + var tracks = streamRef.getVideoTracks(); + if (tracks && tracks.length) { + return tracks[0]; + } + } +} + +/* harmony default export */ __webpack_exports__["a"] = { + request: function request(video, videoConstraints) { + return pickConstraints(videoConstraints).then(initCamera.bind(null, video)); + }, + release: function release() { + var tracks = streamRef && streamRef.getVideoTracks(); + if (tracks && tracks.length) { + tracks[0].stop(); + } + streamRef = null; + }, + enumerateVideoDevices: enumerateVideoDevices, + getActiveStreamLabel: function getActiveStreamLabel() { + var track = getActiveTrack(); + return track ? track.label : ''; + }, + getActiveTrack: getActiveTrack +}; + +/***/ }), +/* 60 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* unused harmony export AvailableTags */ +/* harmony export (immutable) */ __webpack_exports__["a"] = findTagsInObjectURL; +/* unused harmony export base64ToArrayBuffer */ +/* unused harmony export findTagsInBuffer */ +// Scraped from https://github.com/exif-js/exif-js + +var ExifTags = { 0x0112: "orientation" }; +var AvailableTags = Object.keys(ExifTags).map(function (key) { + return ExifTags[key]; +}); + +function findTagsInObjectURL(src) { + var tags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : AvailableTags; + + if (/^blob\:/i.test(src)) { + return objectURLToBlob(src).then(readToBuffer).then(function (buffer) { + return findTagsInBuffer(buffer, tags); + }); + } + return Promise.resolve(null); +} + +function base64ToArrayBuffer(dataUrl) { + var base64 = dataUrl.replace(/^data\:([^\;]+)\;base64,/gmi, ''), + binary = atob(base64), + len = binary.length, + buffer = new ArrayBuffer(len), + view = new Uint8Array(buffer); + + for (var i = 0; i < len; i++) { + view[i] = binary.charCodeAt(i); + } + return buffer; +} + +function readToBuffer(blob) { + return new Promise(function (resolve) { + var fileReader = new FileReader(); + fileReader.onload = function (e) { + return resolve(e.target.result); + }; + fileReader.readAsArrayBuffer(blob); + }); +} + +function objectURLToBlob(url) { + return new Promise(function (resolve, reject) { + var http = new XMLHttpRequest(); + http.open("GET", url, true); + http.responseType = "blob"; + http.onreadystatechange = function () { + if (http.readyState === XMLHttpRequest.DONE && (http.status === 200 || http.status === 0)) { + resolve(this.response); + } + }; + http.onerror = reject; + http.send(); + }); +} + +function findTagsInBuffer(file) { + var selectedTags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : AvailableTags; + + var dataView = new DataView(file), + length = file.byteLength, + exifTags = selectedTags.reduce(function (result, selectedTag) { + var exifTag = Object.keys(ExifTags).filter(function (tag) { + return ExifTags[tag] === selectedTag; + })[0]; + if (exifTag) { + result[exifTag] = selectedTag; + } + return result; + }, {}); + var offset = 2, + marker = void 0; + + if (dataView.getUint8(0) !== 0xFF || dataView.getUint8(1) !== 0xD8) { + return false; + } + + while (offset < length) { + if (dataView.getUint8(offset) !== 0xFF) { + return false; + } + + marker = dataView.getUint8(offset + 1); + if (marker === 0xE1) { + return readEXIFData(dataView, offset + 4, exifTags); + } else { + offset += 2 + dataView.getUint16(offset + 2); + } + } +} + +function readEXIFData(file, start, exifTags) { + if (getStringFromBuffer(file, start, 4) !== "Exif") { + return false; + } + + var tiffOffset = start + 6; + var bigEnd = void 0, + tags = void 0; + + if (file.getUint16(tiffOffset) === 0x4949) { + bigEnd = false; + } else if (file.getUint16(tiffOffset) === 0x4D4D) { + bigEnd = true; + } else { + return false; + } + + if (file.getUint16(tiffOffset + 2, !bigEnd) !== 0x002A) { + return false; + } + + var firstIFDOffset = file.getUint32(tiffOffset + 4, !bigEnd); + if (firstIFDOffset < 0x00000008) { + return false; + } + + tags = readTags(file, tiffOffset, tiffOffset + firstIFDOffset, exifTags, bigEnd); + return tags; +} + +function readTags(file, tiffStart, dirStart, strings, bigEnd) { + var entries = file.getUint16(dirStart, !bigEnd), + tags = {}; + + for (var i = 0; i < entries; i++) { + var entryOffset = dirStart + i * 12 + 2, + tag = strings[file.getUint16(entryOffset, !bigEnd)]; + if (tag) { + tags[tag] = readTagValue(file, entryOffset, tiffStart, dirStart, bigEnd); + } + } + return tags; +} + +function readTagValue(file, entryOffset, tiffStart, dirStart, bigEnd) { + var type = file.getUint16(entryOffset + 2, !bigEnd), + numValues = file.getUint32(entryOffset + 4, !bigEnd); + + switch (type) { + case 3: + if (numValues === 1) { + return file.getUint16(entryOffset + 8, !bigEnd); + } + } +} + +function getStringFromBuffer(buffer, start, length) { + var outstr = ""; + for (var n = start; n < start + length; n++) { + outstr += String.fromCharCode(buffer.getUint8(n)); + } + return outstr; +} + +/***/ }), +/* 61 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__common_cv_utils__ = __webpack_require__(19); + + +var TO_RADIANS = Math.PI / 180; + +function adjustCanvasSize(canvas, targetSize) { + if (canvas.width !== targetSize.x) { + if (true) { + console.log("WARNING: canvas-size needs to be adjusted"); + } + canvas.width = targetSize.x; + } + if (canvas.height !== targetSize.y) { + if (true) { + console.log("WARNING: canvas-size needs to be adjusted"); + } + canvas.height = targetSize.y; + } +} + +var FrameGrabber = {}; + +FrameGrabber.create = function (inputStream, canvas) { + var _that = {}, + _streamConfig = inputStream.getConfig(), + _video_size = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__common_cv_utils__["b" /* imageRef */])(inputStream.getRealWidth(), inputStream.getRealHeight()), + _canvasSize = inputStream.getCanvasSize(), + _size = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__common_cv_utils__["b" /* imageRef */])(inputStream.getWidth(), inputStream.getHeight()), + topRight = inputStream.getTopRight(), + _sx = topRight.x, + _sy = topRight.y, + _canvas, + _ctx = null, + _data = null; + + _canvas = canvas ? canvas : document.createElement("canvas"); + _canvas.width = _canvasSize.x; + _canvas.height = _canvasSize.y; + _ctx = _canvas.getContext("2d"); + _data = new Uint8Array(_size.x * _size.y); + if (true) { + console.log("FrameGrabber", JSON.stringify({ + size: _size, + topRight: topRight, + videoSize: _video_size, + canvasSize: _canvasSize + })); + } + + /** + * Uses the given array as frame-buffer + */ + _that.attachData = function (data) { + _data = data; + }; + + /** + * Returns the used frame-buffer + */ + _that.getData = function () { + return _data; + }; + + /** + * Fetches a frame from the input-stream and puts into the frame-buffer. + * The image-data is converted to gray-scale and then half-sampled if configured. + */ + _that.grab = function () { + var doHalfSample = _streamConfig.halfSample, + frame = inputStream.getFrame(), + drawable = frame, + drawAngle = 0, + ctxData; + if (drawable) { + adjustCanvasSize(_canvas, _canvasSize); + if (_streamConfig.type === 'ImageStream') { + drawable = frame.img; + if (frame.tags && frame.tags.orientation) { + switch (frame.tags.orientation) { + case 6: + drawAngle = 90 * TO_RADIANS; + break; + case 8: + drawAngle = -90 * TO_RADIANS; + break; + } + } + } + + if (drawAngle !== 0) { + _ctx.translate(_canvasSize.x / 2, _canvasSize.y / 2); + _ctx.rotate(drawAngle); + _ctx.drawImage(drawable, -_canvasSize.y / 2, -_canvasSize.x / 2, _canvasSize.y, _canvasSize.x); + _ctx.rotate(-drawAngle); + _ctx.translate(-_canvasSize.x / 2, -_canvasSize.y / 2); + } else { + _ctx.drawImage(drawable, 0, 0, _canvasSize.x, _canvasSize.y); + } + + ctxData = _ctx.getImageData(_sx, _sy, _size.x, _size.y).data; + if (doHalfSample) { + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__common_cv_utils__["c" /* grayAndHalfSampleFromCanvasData */])(ctxData, _size, _data); + } else { + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__common_cv_utils__["d" /* computeGray */])(ctxData, _data, _streamConfig); + } + return true; + } else { + return false; + } + }; + + _that.getSize = function () { + return _size; + }; + + return _that; +}; + +/* harmony default export */ __webpack_exports__["a"] = FrameGrabber; + +/***/ }), +/* 62 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__exif_helper__ = __webpack_require__(60); + + +var ImageLoader = {}; +ImageLoader.load = function (directory, callback, offset, size, sequence) { + var htmlImagesSrcArray = new Array(size), + htmlImagesArray = new Array(htmlImagesSrcArray.length), + i, + img, + num; + + if (sequence === false) { + htmlImagesSrcArray[0] = directory; + } else { + for (i = 0; i < htmlImagesSrcArray.length; i++) { + num = offset + i; + htmlImagesSrcArray[i] = directory + "image-" + ("00" + num).slice(-3) + ".jpg"; + } + } + htmlImagesArray.notLoaded = []; + htmlImagesArray.addImage = function (image) { + htmlImagesArray.notLoaded.push(image); + }; + htmlImagesArray.loaded = function (loadedImg) { + var notloadedImgs = htmlImagesArray.notLoaded; + for (var x = 0; x < notloadedImgs.length; x++) { + if (notloadedImgs[x] === loadedImg) { + notloadedImgs.splice(x, 1); + for (var y = 0; y < htmlImagesSrcArray.length; y++) { + var imgName = htmlImagesSrcArray[y].substr(htmlImagesSrcArray[y].lastIndexOf("/")); + if (loadedImg.src.lastIndexOf(imgName) !== -1) { + htmlImagesArray[y] = { img: loadedImg }; + break; + } + } + break; + } + } + if (notloadedImgs.length === 0) { + if (true) { + console.log("Images loaded"); + } + if (sequence === false) { + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__exif_helper__["a" /* findTagsInObjectURL */])(directory, ['orientation']).then(function (tags) { + htmlImagesArray[0].tags = tags; + callback(htmlImagesArray); + }).catch(function (e) { + console.log(e); + callback(htmlImagesArray); + }); + } else { + callback(htmlImagesArray); + } + } + }; + + for (i = 0; i < htmlImagesSrcArray.length; i++) { + img = new Image(); + htmlImagesArray.addImage(img); + addOnloadHandler(img, htmlImagesArray); + img.src = htmlImagesSrcArray[i]; + } +}; + +function addOnloadHandler(img, htmlImagesArray) { + img.onload = function () { + htmlImagesArray.loaded(this); + }; +} + +/* harmony default export */ __webpack_exports__["a"] = ImageLoader; + +/***/ }), +/* 63 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__image_loader__ = __webpack_require__(62); + + +var InputStream = {}; +InputStream.createVideoStream = function (video) { + var that = {}, + _config = null, + _eventNames = ['canrecord', 'ended'], + _eventHandlers = {}, + _calculatedWidth, + _calculatedHeight, + _topRight = { x: 0, y: 0 }, + _canvasSize = { x: 0, y: 0 }; + + function initSize() { + var width = video.videoWidth, + height = video.videoHeight; + + _calculatedWidth = _config.size ? width / height > 1 ? _config.size : Math.floor(width / height * _config.size) : width; + _calculatedHeight = _config.size ? width / height > 1 ? Math.floor(height / width * _config.size) : _config.size : height; + + _canvasSize.x = _calculatedWidth; + _canvasSize.y = _calculatedHeight; + } + + that.getRealWidth = function () { + return video.videoWidth; + }; + + that.getRealHeight = function () { + return video.videoHeight; + }; + + that.getWidth = function () { + return _calculatedWidth; + }; + + that.getHeight = function () { + return _calculatedHeight; + }; + + that.setWidth = function (width) { + _calculatedWidth = width; + }; + + that.setHeight = function (height) { + _calculatedHeight = height; + }; + + that.setInputStream = function (config) { + _config = config; + video.src = typeof config.src !== 'undefined' ? config.src : ''; + }; + + that.ended = function () { + return video.ended; + }; + + that.getConfig = function () { + return _config; + }; + + that.setAttribute = function (name, value) { + video.setAttribute(name, value); + }; + + that.pause = function () { + video.pause(); + }; + + that.play = function () { + video.play(); + }; + + that.setCurrentTime = function (time) { + if (_config.type !== "LiveStream") { + video.currentTime = time; + } + }; + + that.addEventListener = function (event, f, bool) { + if (_eventNames.indexOf(event) !== -1) { + if (!_eventHandlers[event]) { + _eventHandlers[event] = []; + } + _eventHandlers[event].push(f); + } else { + video.addEventListener(event, f, bool); + } + }; + + that.clearEventHandlers = function () { + _eventNames.forEach(function (eventName) { + var handlers = _eventHandlers[eventName]; + if (handlers && handlers.length > 0) { + handlers.forEach(function (handler) { + video.removeEventListener(eventName, handler); + }); + } + }); + }; + + that.trigger = function (eventName, args) { + var j, + handlers = _eventHandlers[eventName]; + + if (eventName === 'canrecord') { + initSize(); + } + if (handlers && handlers.length > 0) { + for (j = 0; j < handlers.length; j++) { + handlers[j].apply(that, args); + } + } + }; + + that.setTopRight = function (topRight) { + _topRight.x = topRight.x; + _topRight.y = topRight.y; + }; + + that.getTopRight = function () { + return _topRight; + }; + + that.setCanvasSize = function (size) { + _canvasSize.x = size.x; + _canvasSize.y = size.y; + }; + + that.getCanvasSize = function () { + return _canvasSize; + }; + + that.getFrame = function () { + return video; + }; + + return that; +}; + +InputStream.createLiveStream = function (video) { + video.setAttribute("autoplay", true); + var that = InputStream.createVideoStream(video); + + that.ended = function () { + return false; + }; + + return that; +}; + +InputStream.createImageStream = function () { + var that = {}; + var _config = null; + + var width = 0, + height = 0, + frameIdx = 0, + paused = true, + loaded = false, + imgArray = null, + size = 0, + offset = 1, + baseUrl = null, + ended = false, + calculatedWidth, + calculatedHeight, + _eventNames = ['canrecord', 'ended'], + _eventHandlers = {}, + _topRight = { x: 0, y: 0 }, + _canvasSize = { x: 0, y: 0 }; + + function loadImages() { + loaded = false; + __WEBPACK_IMPORTED_MODULE_0__image_loader__["a" /* default */].load(baseUrl, function (imgs) { + imgArray = imgs; + if (imgs[0].tags && imgs[0].tags.orientation) { + switch (imgs[0].tags.orientation) { + case 6: + case 8: + width = imgs[0].img.height; + height = imgs[0].img.width; + break; + default: + width = imgs[0].img.width; + height = imgs[0].img.height; + } + } else { + width = imgs[0].img.width; + height = imgs[0].img.height; + } + calculatedWidth = _config.size ? width / height > 1 ? _config.size : Math.floor(width / height * _config.size) : width; + calculatedHeight = _config.size ? width / height > 1 ? Math.floor(height / width * _config.size) : _config.size : height; + _canvasSize.x = calculatedWidth; + _canvasSize.y = calculatedHeight; + loaded = true; + frameIdx = 0; + setTimeout(function () { + publishEvent("canrecord", []); + }, 0); + }, offset, size, _config.sequence); + } + + function publishEvent(eventName, args) { + var j, + handlers = _eventHandlers[eventName]; + + if (handlers && handlers.length > 0) { + for (j = 0; j < handlers.length; j++) { + handlers[j].apply(that, args); + } + } + } + + that.trigger = publishEvent; + + that.getWidth = function () { + return calculatedWidth; + }; + + that.getHeight = function () { + return calculatedHeight; + }; + + that.setWidth = function (newWidth) { + calculatedWidth = newWidth; + }; + + that.setHeight = function (newHeight) { + calculatedHeight = newHeight; + }; + + that.getRealWidth = function () { + return width; + }; + + that.getRealHeight = function () { + return height; + }; + + that.setInputStream = function (stream) { + _config = stream; + if (stream.sequence === false) { + baseUrl = stream.src; + size = 1; + } else { + baseUrl = stream.src; + size = stream.length; + } + loadImages(); + }; + + that.ended = function () { + return ended; + }; + + that.setAttribute = function () {}; + + that.getConfig = function () { + return _config; + }; + + that.pause = function () { + paused = true; + }; + + that.play = function () { + paused = false; + }; + + that.setCurrentTime = function (time) { + frameIdx = time; + }; + + that.addEventListener = function (event, f) { + if (_eventNames.indexOf(event) !== -1) { + if (!_eventHandlers[event]) { + _eventHandlers[event] = []; + } + _eventHandlers[event].push(f); + } + }; + + that.setTopRight = function (topRight) { + _topRight.x = topRight.x; + _topRight.y = topRight.y; + }; + + that.getTopRight = function () { + return _topRight; + }; + + that.setCanvasSize = function (canvasSize) { + _canvasSize.x = canvasSize.x; + _canvasSize.y = canvasSize.y; + }; + + that.getCanvasSize = function () { + return _canvasSize; + }; + + that.getFrame = function () { + var frame; + + if (!loaded) { + return null; + } + if (!paused) { + frame = imgArray[frameIdx]; + if (frameIdx < size - 1) { + frameIdx++; + } else { + setTimeout(function () { + ended = true; + publishEvent("ended", []); + }, 0); + } + } + return frame; + }; + + return that; +}; + +/* harmony default export */ __webpack_exports__["a"] = InputStream; + +/***/ }), +/* 64 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* WEBPACK VAR INJECTION */(function(global) {/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__common_image_wrapper__ = __webpack_require__(20); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__common_cv_utils__ = __webpack_require__(19); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__common_array_helper__ = __webpack_require__(3); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__common_image_debug__ = __webpack_require__(9); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__rasterizer__ = __webpack_require__(65); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__tracer__ = __webpack_require__(30); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__skeletonizer__ = __webpack_require__(66); + + + + + + + +var vec2 = { + clone: __webpack_require__(7), + dot: __webpack_require__(32), + scale: __webpack_require__(81), + transformMat2: __webpack_require__(82) +}; +var mat2 = { + copy: __webpack_require__(78), + create: __webpack_require__(79), + invert: __webpack_require__(80) +}; + +var _config, + _currentImageWrapper, + _skelImageWrapper, + _subImageWrapper, + _labelImageWrapper, + _patchGrid, + _patchLabelGrid, + _imageToPatchGrid, + _binaryImageWrapper, + _patchSize, + _canvasContainer = { + ctx: { + binary: null + }, + dom: { + binary: null + } +}, + _numPatches = { x: 0, y: 0 }, + _inputImageWrapper, + _skeletonizer; + +function initBuffers() { + var skeletonImageData; + + if (_config.halfSample) { + _currentImageWrapper = new __WEBPACK_IMPORTED_MODULE_0__common_image_wrapper__["a" /* default */]({ + x: _inputImageWrapper.size.x / 2 | 0, + y: _inputImageWrapper.size.y / 2 | 0 + }); + } else { + _currentImageWrapper = _inputImageWrapper; + } + + _patchSize = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__common_cv_utils__["e" /* calculatePatchSize */])(_config.patchSize, _currentImageWrapper.size); + + _numPatches.x = _currentImageWrapper.size.x / _patchSize.x | 0; + _numPatches.y = _currentImageWrapper.size.y / _patchSize.y | 0; + + _binaryImageWrapper = new __WEBPACK_IMPORTED_MODULE_0__common_image_wrapper__["a" /* default */](_currentImageWrapper.size, undefined, Uint8Array, false); + + _labelImageWrapper = new __WEBPACK_IMPORTED_MODULE_0__common_image_wrapper__["a" /* default */](_patchSize, undefined, Array, true); + + skeletonImageData = new ArrayBuffer(64 * 1024); + _subImageWrapper = new __WEBPACK_IMPORTED_MODULE_0__common_image_wrapper__["a" /* default */](_patchSize, new Uint8Array(skeletonImageData, 0, _patchSize.x * _patchSize.y)); + _skelImageWrapper = new __WEBPACK_IMPORTED_MODULE_0__common_image_wrapper__["a" /* default */](_patchSize, new Uint8Array(skeletonImageData, _patchSize.x * _patchSize.y * 3, _patchSize.x * _patchSize.y), undefined, true); + _skeletonizer = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__skeletonizer__["a" /* default */])(typeof window !== 'undefined' ? window : typeof self !== 'undefined' ? self : global, { + size: _patchSize.x + }, skeletonImageData); + + _imageToPatchGrid = new __WEBPACK_IMPORTED_MODULE_0__common_image_wrapper__["a" /* default */]({ + x: _currentImageWrapper.size.x / _subImageWrapper.size.x | 0, + y: _currentImageWrapper.size.y / _subImageWrapper.size.y | 0 + }, undefined, Array, true); + _patchGrid = new __WEBPACK_IMPORTED_MODULE_0__common_image_wrapper__["a" /* default */](_imageToPatchGrid.size, undefined, undefined, true); + _patchLabelGrid = new __WEBPACK_IMPORTED_MODULE_0__common_image_wrapper__["a" /* default */](_imageToPatchGrid.size, undefined, Int32Array, true); +} + +function initCanvas() { + if (_config.useWorker || typeof document === 'undefined') { + return; + } + _canvasContainer.dom.binary = document.createElement("canvas"); + _canvasContainer.dom.binary.className = "binaryBuffer"; + if (true && _config.debug.showCanvas === true) { + document.querySelector("#debug").appendChild(_canvasContainer.dom.binary); + } + _canvasContainer.ctx.binary = _canvasContainer.dom.binary.getContext("2d"); + _canvasContainer.dom.binary.width = _binaryImageWrapper.size.x; + _canvasContainer.dom.binary.height = _binaryImageWrapper.size.y; +} + +/** + * Creates a bounding box which encloses all the given patches + * @returns {Array} The minimal bounding box + */ +function boxFromPatches(patches) { + var overAvg, + i, + j, + patch, + transMat, + minx = _binaryImageWrapper.size.x, + miny = _binaryImageWrapper.size.y, + maxx = -_binaryImageWrapper.size.x, + maxy = -_binaryImageWrapper.size.y, + box, + scale; + + // draw all patches which are to be taken into consideration + overAvg = 0; + for (i = 0; i < patches.length; i++) { + patch = patches[i]; + overAvg += patch.rad; + if (true && _config.debug.showPatches) { + __WEBPACK_IMPORTED_MODULE_3__common_image_debug__["a" /* default */].drawRect(patch.pos, _subImageWrapper.size, _canvasContainer.ctx.binary, { color: "red" }); + } + } + + overAvg /= patches.length; + overAvg = (overAvg * 180 / Math.PI + 90) % 180 - 90; + if (overAvg < 0) { + overAvg += 180; + } + + overAvg = (180 - overAvg) * Math.PI / 180; + transMat = mat2.copy(mat2.create(), [Math.cos(overAvg), Math.sin(overAvg), -Math.sin(overAvg), Math.cos(overAvg)]); + + // iterate over patches and rotate by angle + for (i = 0; i < patches.length; i++) { + patch = patches[i]; + for (j = 0; j < 4; j++) { + vec2.transformMat2(patch.box[j], patch.box[j], transMat); + } + + if (true && _config.debug.boxFromPatches.showTransformed) { + __WEBPACK_IMPORTED_MODULE_3__common_image_debug__["a" /* default */].drawPath(patch.box, { x: 0, y: 1 }, _canvasContainer.ctx.binary, { color: '#99ff00', lineWidth: 2 }); + } + } + + // find bounding box + for (i = 0; i < patches.length; i++) { + patch = patches[i]; + for (j = 0; j < 4; j++) { + if (patch.box[j][0] < minx) { + minx = patch.box[j][0]; + } + if (patch.box[j][0] > maxx) { + maxx = patch.box[j][0]; + } + if (patch.box[j][1] < miny) { + miny = patch.box[j][1]; + } + if (patch.box[j][1] > maxy) { + maxy = patch.box[j][1]; + } + } + } + + box = [[minx, miny], [maxx, miny], [maxx, maxy], [minx, maxy]]; + + if (true && _config.debug.boxFromPatches.showTransformedBox) { + __WEBPACK_IMPORTED_MODULE_3__common_image_debug__["a" /* default */].drawPath(box, { x: 0, y: 1 }, _canvasContainer.ctx.binary, { color: '#ff0000', lineWidth: 2 }); + } + + scale = _config.halfSample ? 2 : 1; + // reverse rotation; + transMat = mat2.invert(transMat, transMat); + for (j = 0; j < 4; j++) { + vec2.transformMat2(box[j], box[j], transMat); + } + + if (true && _config.debug.boxFromPatches.showBB) { + __WEBPACK_IMPORTED_MODULE_3__common_image_debug__["a" /* default */].drawPath(box, { x: 0, y: 1 }, _canvasContainer.ctx.binary, { color: '#ff0000', lineWidth: 2 }); + } + + for (j = 0; j < 4; j++) { + vec2.scale(box[j], box[j], scale); + } + + return box; +} + +/** + * Creates a binary image of the current image + */ +function binarizeImage() { + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__common_cv_utils__["f" /* otsuThreshold */])(_currentImageWrapper, _binaryImageWrapper); + _binaryImageWrapper.zeroBorder(); + if (true && _config.debug.showCanvas) { + _binaryImageWrapper.show(_canvasContainer.dom.binary, 255); + } +} + +/** + * Iterate over the entire image + * extract patches + */ +function findPatches() { + var i, + j, + x, + y, + moments, + patchesFound = [], + rasterizer, + rasterResult, + patch; + for (i = 0; i < _numPatches.x; i++) { + for (j = 0; j < _numPatches.y; j++) { + x = _subImageWrapper.size.x * i; + y = _subImageWrapper.size.y * j; + + // seperate parts + skeletonize(x, y); + + // Rasterize, find individual bars + _skelImageWrapper.zeroBorder(); + __WEBPACK_IMPORTED_MODULE_2__common_array_helper__["a" /* default */].init(_labelImageWrapper.data, 0); + rasterizer = __WEBPACK_IMPORTED_MODULE_4__rasterizer__["a" /* default */].create(_skelImageWrapper, _labelImageWrapper); + rasterResult = rasterizer.rasterize(0); + + if (true && _config.debug.showLabels) { + _labelImageWrapper.overlay(_canvasContainer.dom.binary, Math.floor(360 / rasterResult.count), { x: x, y: y }); + } + + // calculate moments from the skeletonized patch + moments = _labelImageWrapper.moments(rasterResult.count); + + // extract eligible patches + patchesFound = patchesFound.concat(describePatch(moments, [i, j], x, y)); + } + } + + if (true && _config.debug.showFoundPatches) { + for (i = 0; i < patchesFound.length; i++) { + patch = patchesFound[i]; + __WEBPACK_IMPORTED_MODULE_3__common_image_debug__["a" /* default */].drawRect(patch.pos, _subImageWrapper.size, _canvasContainer.ctx.binary, { color: "#99ff00", lineWidth: 2 }); + } + } + + return patchesFound; +} + +/** + * Finds those connected areas which contain at least 6 patches + * and returns them ordered DESC by the number of contained patches + * @param {Number} maxLabel + */ +function findBiggestConnectedAreas(maxLabel) { + var i, + sum, + labelHist = [], + topLabels = []; + + for (i = 0; i < maxLabel; i++) { + labelHist.push(0); + } + sum = _patchLabelGrid.data.length; + while (sum--) { + if (_patchLabelGrid.data[sum] > 0) { + labelHist[_patchLabelGrid.data[sum] - 1]++; + } + } + + labelHist = labelHist.map(function (val, idx) { + return { + val: val, + label: idx + 1 + }; + }); + + labelHist.sort(function (a, b) { + return b.val - a.val; + }); + + // extract top areas with at least 6 patches present + topLabels = labelHist.filter(function (el) { + return el.val >= 5; + }); + + return topLabels; +} + +/** + * + */ +function findBoxes(topLabels, maxLabel) { + var i, + j, + sum, + patches = [], + patch, + box, + boxes = [], + hsv = [0, 1, 1], + rgb = [0, 0, 0]; + + for (i = 0; i < topLabels.length; i++) { + sum = _patchLabelGrid.data.length; + patches.length = 0; + while (sum--) { + if (_patchLabelGrid.data[sum] === topLabels[i].label) { + patch = _imageToPatchGrid.data[sum]; + patches.push(patch); + } + } + box = boxFromPatches(patches); + if (box) { + boxes.push(box); + + // draw patch-labels if requested + if (true && _config.debug.showRemainingPatchLabels) { + for (j = 0; j < patches.length; j++) { + patch = patches[j]; + hsv[0] = topLabels[i].label / (maxLabel + 1) * 360; + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__common_cv_utils__["a" /* hsv2rgb */])(hsv, rgb); + __WEBPACK_IMPORTED_MODULE_3__common_image_debug__["a" /* default */].drawRect(patch.pos, _subImageWrapper.size, _canvasContainer.ctx.binary, { color: "rgb(" + rgb.join(",") + ")", lineWidth: 2 }); + } + } + } + } + return boxes; +} + +/** + * Find similar moments (via cluster) + * @param {Object} moments + */ +function similarMoments(moments) { + var clusters = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__common_cv_utils__["g" /* cluster */])(moments, 0.90); + var topCluster = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__common_cv_utils__["h" /* topGeneric */])(clusters, 1, function (e) { + return e.getPoints().length; + }); + var points = [], + result = []; + if (topCluster.length === 1) { + points = topCluster[0].item.getPoints(); + for (var i = 0; i < points.length; i++) { + result.push(points[i].point); + } + } + return result; +} + +function skeletonize(x, y) { + _binaryImageWrapper.subImageAsCopy(_subImageWrapper, __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__common_cv_utils__["b" /* imageRef */])(x, y)); + _skeletonizer.skeletonize(); + + // Show skeleton if requested + if (true && _config.debug.showSkeleton) { + _skelImageWrapper.overlay(_canvasContainer.dom.binary, 360, __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__common_cv_utils__["b" /* imageRef */])(x, y)); + } +} + +/** + * Extracts and describes those patches which seem to contain a barcode pattern + * @param {Array} moments + * @param {Object} patchPos, + * @param {Number} x + * @param {Number} y + * @returns {Array} list of patches + */ +function describePatch(moments, patchPos, x, y) { + var k, + avg, + eligibleMoments = [], + matchingMoments, + patch, + patchesFound = [], + minComponentWeight = Math.ceil(_patchSize.x / 3); + + if (moments.length >= 2) { + // only collect moments which's area covers at least minComponentWeight pixels. + for (k = 0; k < moments.length; k++) { + if (moments[k].m00 > minComponentWeight) { + eligibleMoments.push(moments[k]); + } + } + + // if at least 2 moments are found which have at least minComponentWeights covered + if (eligibleMoments.length >= 2) { + matchingMoments = similarMoments(eligibleMoments); + avg = 0; + // determine the similarity of the moments + for (k = 0; k < matchingMoments.length; k++) { + avg += matchingMoments[k].rad; + } + + // Only two of the moments are allowed not to fit into the equation + // add the patch to the set + if (matchingMoments.length > 1 && matchingMoments.length >= eligibleMoments.length / 4 * 3 && matchingMoments.length > moments.length / 4) { + avg /= matchingMoments.length; + patch = { + index: patchPos[1] * _numPatches.x + patchPos[0], + pos: { + x: x, + y: y + }, + box: [vec2.clone([x, y]), vec2.clone([x + _subImageWrapper.size.x, y]), vec2.clone([x + _subImageWrapper.size.x, y + _subImageWrapper.size.y]), vec2.clone([x, y + _subImageWrapper.size.y])], + moments: matchingMoments, + rad: avg, + vec: vec2.clone([Math.cos(avg), Math.sin(avg)]) + }; + patchesFound.push(patch); + } + } + } + return patchesFound; +} + +/** + * finds patches which are connected and share the same orientation + * @param {Object} patchesFound + */ +function rasterizeAngularSimilarity(patchesFound) { + var label = 0, + threshold = 0.95, + currIdx = 0, + j, + patch, + hsv = [0, 1, 1], + rgb = [0, 0, 0]; + + function notYetProcessed() { + var i; + for (i = 0; i < _patchLabelGrid.data.length; i++) { + if (_patchLabelGrid.data[i] === 0 && _patchGrid.data[i] === 1) { + return i; + } + } + return _patchLabelGrid.length; + } + + function trace(currentIdx) { + var x, + y, + currentPatch, + idx, + dir, + current = { + x: currentIdx % _patchLabelGrid.size.x, + y: currentIdx / _patchLabelGrid.size.x | 0 + }, + similarity; + + if (currentIdx < _patchLabelGrid.data.length) { + currentPatch = _imageToPatchGrid.data[currentIdx]; + // assign label + _patchLabelGrid.data[currentIdx] = label; + for (dir = 0; dir < __WEBPACK_IMPORTED_MODULE_5__tracer__["a" /* default */].searchDirections.length; dir++) { + y = current.y + __WEBPACK_IMPORTED_MODULE_5__tracer__["a" /* default */].searchDirections[dir][0]; + x = current.x + __WEBPACK_IMPORTED_MODULE_5__tracer__["a" /* default */].searchDirections[dir][1]; + idx = y * _patchLabelGrid.size.x + x; + + // continue if patch empty + if (_patchGrid.data[idx] === 0) { + _patchLabelGrid.data[idx] = Number.MAX_VALUE; + continue; + } + + if (_patchLabelGrid.data[idx] === 0) { + similarity = Math.abs(vec2.dot(_imageToPatchGrid.data[idx].vec, currentPatch.vec)); + if (similarity > threshold) { + trace(idx); + } + } + } + } + } + + // prepare for finding the right patches + __WEBPACK_IMPORTED_MODULE_2__common_array_helper__["a" /* default */].init(_patchGrid.data, 0); + __WEBPACK_IMPORTED_MODULE_2__common_array_helper__["a" /* default */].init(_patchLabelGrid.data, 0); + __WEBPACK_IMPORTED_MODULE_2__common_array_helper__["a" /* default */].init(_imageToPatchGrid.data, null); + + for (j = 0; j < patchesFound.length; j++) { + patch = patchesFound[j]; + _imageToPatchGrid.data[patch.index] = patch; + _patchGrid.data[patch.index] = 1; + } + + // rasterize the patches found to determine area + _patchGrid.zeroBorder(); + + while ((currIdx = notYetProcessed()) < _patchLabelGrid.data.length) { + label++; + trace(currIdx); + } + + // draw patch-labels if requested + if (true && _config.debug.showPatchLabels) { + for (j = 0; j < _patchLabelGrid.data.length; j++) { + if (_patchLabelGrid.data[j] > 0 && _patchLabelGrid.data[j] <= label) { + patch = _imageToPatchGrid.data[j]; + hsv[0] = _patchLabelGrid.data[j] / (label + 1) * 360; + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__common_cv_utils__["a" /* hsv2rgb */])(hsv, rgb); + __WEBPACK_IMPORTED_MODULE_3__common_image_debug__["a" /* default */].drawRect(patch.pos, _subImageWrapper.size, _canvasContainer.ctx.binary, { color: "rgb(" + rgb.join(",") + ")", lineWidth: 2 }); + } + } + } + + return label; +} + +/* harmony default export */ __webpack_exports__["a"] = { + init: function init(inputImageWrapper, config) { + _config = config; + _inputImageWrapper = inputImageWrapper; + + initBuffers(); + initCanvas(); + }, + + locate: function locate() { + var patchesFound, topLabels, boxes; + + if (_config.halfSample) { + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__common_cv_utils__["i" /* halfSample */])(_inputImageWrapper, _currentImageWrapper); + } + + binarizeImage(); + patchesFound = findPatches(); + // return unless 5% or more patches are found + if (patchesFound.length < _numPatches.x * _numPatches.y * 0.05) { + return null; + } + + // rasterrize area by comparing angular similarity; + var maxLabel = rasterizeAngularSimilarity(patchesFound); + if (maxLabel < 1) { + return null; + } + + // search for area with the most patches (biggest connected area) + topLabels = findBiggestConnectedAreas(maxLabel); + if (topLabels.length === 0) { + return null; + } + + boxes = findBoxes(topLabels, maxLabel); + return boxes; + }, + + checkImageConstraints: function checkImageConstraints(inputStream, config) { + var patchSize, + width = inputStream.getWidth(), + height = inputStream.getHeight(), + halfSample = config.halfSample ? 0.5 : 1, + size, + area; + + // calculate width and height based on area + if (inputStream.getConfig().area) { + area = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__common_cv_utils__["j" /* computeImageArea */])(width, height, inputStream.getConfig().area); + inputStream.setTopRight({ x: area.sx, y: area.sy }); + inputStream.setCanvasSize({ x: width, y: height }); + width = area.sw; + height = area.sh; + } + + size = { + x: Math.floor(width * halfSample), + y: Math.floor(height * halfSample) + }; + + patchSize = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__common_cv_utils__["e" /* calculatePatchSize */])(config.patchSize, size); + if (true) { + console.log("Patch-Size: " + JSON.stringify(patchSize)); + } + + inputStream.setWidth(Math.floor(Math.floor(size.x / patchSize.x) * (1 / halfSample) * patchSize.x)); + inputStream.setHeight(Math.floor(Math.floor(size.y / patchSize.y) * (1 / halfSample) * patchSize.y)); + + if (inputStream.getWidth() % patchSize.x === 0 && inputStream.getHeight() % patchSize.y === 0) { + return true; + } + + throw new Error("Image dimensions do not comply with the current settings: Width (" + width + " )and height (" + height + ") must a multiple of " + patchSize.x); + } +}; +/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(47))) + +/***/ }), +/* 65 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__tracer__ = __webpack_require__(30); + + +/** + * http://www.codeproject.com/Tips/407172/Connected-Component-Labeling-and-Vectorization + */ +var Rasterizer = { + createContour2D: function createContour2D() { + return { + dir: null, + index: null, + firstVertex: null, + insideContours: null, + nextpeer: null, + prevpeer: null + }; + }, + CONTOUR_DIR: { + CW_DIR: 0, + CCW_DIR: 1, + UNKNOWN_DIR: 2 + }, + DIR: { + OUTSIDE_EDGE: -32767, + INSIDE_EDGE: -32766 + }, + create: function create(imageWrapper, labelWrapper) { + var imageData = imageWrapper.data, + labelData = labelWrapper.data, + width = imageWrapper.size.x, + height = imageWrapper.size.y, + tracer = __WEBPACK_IMPORTED_MODULE_0__tracer__["a" /* default */].create(imageWrapper, labelWrapper); + + return { + rasterize: function rasterize(depthlabel) { + var color, + bc, + lc, + labelindex, + cx, + cy, + colorMap = [], + vertex, + p, + cc, + sc, + pos, + connectedCount = 0, + i; + + for (i = 0; i < 400; i++) { + colorMap[i] = 0; + } + + colorMap[0] = imageData[0]; + cc = null; + for (cy = 1; cy < height - 1; cy++) { + labelindex = 0; + bc = colorMap[0]; + for (cx = 1; cx < width - 1; cx++) { + pos = cy * width + cx; + if (labelData[pos] === 0) { + color = imageData[pos]; + if (color !== bc) { + if (labelindex === 0) { + lc = connectedCount + 1; + colorMap[lc] = color; + bc = color; + vertex = tracer.contourTracing(cy, cx, lc, color, Rasterizer.DIR.OUTSIDE_EDGE); + if (vertex !== null) { + connectedCount++; + labelindex = lc; + p = Rasterizer.createContour2D(); + p.dir = Rasterizer.CONTOUR_DIR.CW_DIR; + p.index = labelindex; + p.firstVertex = vertex; + p.nextpeer = cc; + p.insideContours = null; + if (cc !== null) { + cc.prevpeer = p; + } + cc = p; + } + } else { + vertex = tracer.contourTracing(cy, cx, Rasterizer.DIR.INSIDE_EDGE, color, labelindex); + if (vertex !== null) { + p = Rasterizer.createContour2D(); + p.firstVertex = vertex; + p.insideContours = null; + if (depthlabel === 0) { + p.dir = Rasterizer.CONTOUR_DIR.CCW_DIR; + } else { + p.dir = Rasterizer.CONTOUR_DIR.CW_DIR; + } + p.index = depthlabel; + sc = cc; + while (sc !== null && sc.index !== labelindex) { + sc = sc.nextpeer; + } + if (sc !== null) { + p.nextpeer = sc.insideContours; + if (sc.insideContours !== null) { + sc.insideContours.prevpeer = p; + } + sc.insideContours = p; + } + } + } + } else { + labelData[pos] = labelindex; + } + } else if (labelData[pos] === Rasterizer.DIR.OUTSIDE_EDGE || labelData[pos] === Rasterizer.DIR.INSIDE_EDGE) { + labelindex = 0; + if (labelData[pos] === Rasterizer.DIR.INSIDE_EDGE) { + bc = imageData[pos]; + } else { + bc = colorMap[0]; + } + } else { + labelindex = labelData[pos]; + bc = colorMap[labelindex]; + } + } + } + sc = cc; + while (sc !== null) { + sc.index = depthlabel; + sc = sc.nextpeer; + } + return { + cc: cc, + count: connectedCount + }; + }, + debug: { + drawContour: function drawContour(canvas, firstContour) { + var ctx = canvas.getContext("2d"), + pq = firstContour, + iq, + q, + p; + + ctx.strokeStyle = "red"; + ctx.fillStyle = "red"; + ctx.lineWidth = 1; + + if (pq !== null) { + iq = pq.insideContours; + } else { + iq = null; + } + + while (pq !== null) { + if (iq !== null) { + q = iq; + iq = iq.nextpeer; + } else { + q = pq; + pq = pq.nextpeer; + if (pq !== null) { + iq = pq.insideContours; + } else { + iq = null; + } + } + + switch (q.dir) { + case Rasterizer.CONTOUR_DIR.CW_DIR: + ctx.strokeStyle = "red"; + break; + case Rasterizer.CONTOUR_DIR.CCW_DIR: + ctx.strokeStyle = "blue"; + break; + case Rasterizer.CONTOUR_DIR.UNKNOWN_DIR: + ctx.strokeStyle = "green"; + break; + } + + p = q.firstVertex; + ctx.beginPath(); + ctx.moveTo(p.x, p.y); + do { + p = p.next; + ctx.lineTo(p.x, p.y); + } while (p !== q.firstVertex); + ctx.stroke(); + } + } + } + }; + } +}; + +/* harmony default export */ __webpack_exports__["a"] = Rasterizer; + +/***/ }), +/* 66 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* @preserve ASM BEGIN */ +/* eslint-disable eqeqeq*/ +function Skeletonizer(stdlib, foreign, buffer) { + "use asm"; + + var images = new stdlib.Uint8Array(buffer), + size = foreign.size | 0, + imul = stdlib.Math.imul; + + function erode(inImagePtr, outImagePtr) { + inImagePtr = inImagePtr | 0; + outImagePtr = outImagePtr | 0; + + var v = 0, + u = 0, + sum = 0, + yStart1 = 0, + yStart2 = 0, + xStart1 = 0, + xStart2 = 0, + offset = 0; + + for (v = 1; (v | 0) < (size - 1 | 0); v = v + 1 | 0) { + offset = offset + size | 0; + for (u = 1; (u | 0) < (size - 1 | 0); u = u + 1 | 0) { + yStart1 = offset - size | 0; + yStart2 = offset + size | 0; + xStart1 = u - 1 | 0; + xStart2 = u + 1 | 0; + sum = (images[inImagePtr + yStart1 + xStart1 | 0] | 0) + (images[inImagePtr + yStart1 + xStart2 | 0] | 0) + (images[inImagePtr + offset + u | 0] | 0) + (images[inImagePtr + yStart2 + xStart1 | 0] | 0) + (images[inImagePtr + yStart2 + xStart2 | 0] | 0) | 0; + if ((sum | 0) == (5 | 0)) { + images[outImagePtr + offset + u | 0] = 1; + } else { + images[outImagePtr + offset + u | 0] = 0; + } + } + } + return; + } + + function subtract(aImagePtr, bImagePtr, outImagePtr) { + aImagePtr = aImagePtr | 0; + bImagePtr = bImagePtr | 0; + outImagePtr = outImagePtr | 0; + + var length = 0; + + length = imul(size, size) | 0; + + while ((length | 0) > 0) { + length = length - 1 | 0; + images[outImagePtr + length | 0] = (images[aImagePtr + length | 0] | 0) - (images[bImagePtr + length | 0] | 0) | 0; + } + } + + function bitwiseOr(aImagePtr, bImagePtr, outImagePtr) { + aImagePtr = aImagePtr | 0; + bImagePtr = bImagePtr | 0; + outImagePtr = outImagePtr | 0; + + var length = 0; + + length = imul(size, size) | 0; + + while ((length | 0) > 0) { + length = length - 1 | 0; + images[outImagePtr + length | 0] = images[aImagePtr + length | 0] | 0 | (images[bImagePtr + length | 0] | 0) | 0; + } + } + + function countNonZero(imagePtr) { + imagePtr = imagePtr | 0; + + var sum = 0, + length = 0; + + length = imul(size, size) | 0; + + while ((length | 0) > 0) { + length = length - 1 | 0; + sum = (sum | 0) + (images[imagePtr + length | 0] | 0) | 0; + } + + return sum | 0; + } + + function init(imagePtr, value) { + imagePtr = imagePtr | 0; + value = value | 0; + + var length = 0; + + length = imul(size, size) | 0; + + while ((length | 0) > 0) { + length = length - 1 | 0; + images[imagePtr + length | 0] = value; + } + } + + function dilate(inImagePtr, outImagePtr) { + inImagePtr = inImagePtr | 0; + outImagePtr = outImagePtr | 0; + + var v = 0, + u = 0, + sum = 0, + yStart1 = 0, + yStart2 = 0, + xStart1 = 0, + xStart2 = 0, + offset = 0; + + for (v = 1; (v | 0) < (size - 1 | 0); v = v + 1 | 0) { + offset = offset + size | 0; + for (u = 1; (u | 0) < (size - 1 | 0); u = u + 1 | 0) { + yStart1 = offset - size | 0; + yStart2 = offset + size | 0; + xStart1 = u - 1 | 0; + xStart2 = u + 1 | 0; + sum = (images[inImagePtr + yStart1 + xStart1 | 0] | 0) + (images[inImagePtr + yStart1 + xStart2 | 0] | 0) + (images[inImagePtr + offset + u | 0] | 0) + (images[inImagePtr + yStart2 + xStart1 | 0] | 0) + (images[inImagePtr + yStart2 + xStart2 | 0] | 0) | 0; + if ((sum | 0) > (0 | 0)) { + images[outImagePtr + offset + u | 0] = 1; + } else { + images[outImagePtr + offset + u | 0] = 0; + } + } + } + return; + } + + function memcpy(srcImagePtr, dstImagePtr) { + srcImagePtr = srcImagePtr | 0; + dstImagePtr = dstImagePtr | 0; + + var length = 0; + + length = imul(size, size) | 0; + + while ((length | 0) > 0) { + length = length - 1 | 0; + images[dstImagePtr + length | 0] = images[srcImagePtr + length | 0] | 0; + } + } + + function zeroBorder(imagePtr) { + imagePtr = imagePtr | 0; + + var x = 0, + y = 0; + + for (x = 0; (x | 0) < (size - 1 | 0); x = x + 1 | 0) { + images[imagePtr + x | 0] = 0; + images[imagePtr + y | 0] = 0; + y = y + size - 1 | 0; + images[imagePtr + y | 0] = 0; + y = y + 1 | 0; + } + for (x = 0; (x | 0) < (size | 0); x = x + 1 | 0) { + images[imagePtr + y | 0] = 0; + y = y + 1 | 0; + } + } + + function skeletonize() { + var subImagePtr = 0, + erodedImagePtr = 0, + tempImagePtr = 0, + skelImagePtr = 0, + sum = 0, + done = 0; + + erodedImagePtr = imul(size, size) | 0; + tempImagePtr = erodedImagePtr + erodedImagePtr | 0; + skelImagePtr = tempImagePtr + erodedImagePtr | 0; + + // init skel-image + init(skelImagePtr, 0); + zeroBorder(subImagePtr); + + do { + erode(subImagePtr, erodedImagePtr); + dilate(erodedImagePtr, tempImagePtr); + subtract(subImagePtr, tempImagePtr, tempImagePtr); + bitwiseOr(skelImagePtr, tempImagePtr, skelImagePtr); + memcpy(erodedImagePtr, subImagePtr); + sum = countNonZero(subImagePtr) | 0; + done = (sum | 0) == 0 | 0; + } while (!done); + } + return { + skeletonize: skeletonize + }; +} +/* @preserve ASM END */ +/* harmony default export */ __webpack_exports__["a"] = Skeletonizer; +/* eslint-enable eqeqeq*/ + +/***/ }), +/* 67 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__barcode_reader__ = __webpack_require__(1); + + +function TwoOfFiveReader(opts) { + __WEBPACK_IMPORTED_MODULE_0__barcode_reader__["a" /* default */].call(this, opts); + this.barSpaceRatio = [1, 1]; +} + +var N = 1, + W = 3, + properties = { + START_PATTERN: { value: [W, N, W, N, N, N] }, + STOP_PATTERN: { value: [W, N, N, N, W] }, + CODE_PATTERN: { value: [[N, N, W, W, N], [W, N, N, N, W], [N, W, N, N, W], [W, W, N, N, N], [N, N, W, N, W], [W, N, W, N, N], [N, W, W, N, N], [N, N, N, W, W], [W, N, N, W, N], [N, W, N, W, N]] }, + SINGLE_CODE_ERROR: { value: 0.78, writable: true }, + AVG_CODE_ERROR: { value: 0.30, writable: true }, + FORMAT: { value: "2of5" } +}; + +var startPatternLength = properties.START_PATTERN.value.reduce(function (sum, val) { + return sum + val; +}, 0); + +TwoOfFiveReader.prototype = Object.create(__WEBPACK_IMPORTED_MODULE_0__barcode_reader__["a" /* default */].prototype, properties); +TwoOfFiveReader.prototype.constructor = TwoOfFiveReader; + +TwoOfFiveReader.prototype._findPattern = function (pattern, offset, isWhite, tryHarder) { + var counter = [], + self = this, + i, + counterPos = 0, + bestMatch = { + error: Number.MAX_VALUE, + code: -1, + start: 0, + end: 0 + }, + error, + j, + sum, + epsilon = self.AVG_CODE_ERROR; + + isWhite = isWhite || false; + tryHarder = tryHarder || false; + + if (!offset) { + offset = self._nextSet(self._row); + } + + for (i = 0; i < pattern.length; i++) { + counter[i] = 0; + } + + for (i = offset; i < self._row.length; i++) { + if (self._row[i] ^ isWhite) { + counter[counterPos]++; + } else { + if (counterPos === counter.length - 1) { + sum = 0; + for (j = 0; j < counter.length; j++) { + sum += counter[j]; + } + error = self._matchPattern(counter, pattern); + if (error < epsilon) { + bestMatch.error = error; + bestMatch.start = i - sum; + bestMatch.end = i; + return bestMatch; + } + if (tryHarder) { + for (j = 0; j < counter.length - 2; j++) { + counter[j] = counter[j + 2]; + } + counter[counter.length - 2] = 0; + counter[counter.length - 1] = 0; + counterPos--; + } else { + return null; + } + } else { + counterPos++; + } + counter[counterPos] = 1; + isWhite = !isWhite; + } + } + return null; +}; + +TwoOfFiveReader.prototype._findStart = function () { + var self = this, + leadingWhitespaceStart, + offset = self._nextSet(self._row), + startInfo, + narrowBarWidth = 1; + + while (!startInfo) { + startInfo = self._findPattern(self.START_PATTERN, offset, false, true); + if (!startInfo) { + return null; + } + narrowBarWidth = Math.floor((startInfo.end - startInfo.start) / startPatternLength); + leadingWhitespaceStart = startInfo.start - narrowBarWidth * 5; + if (leadingWhitespaceStart >= 0) { + if (self._matchRange(leadingWhitespaceStart, startInfo.start, 0)) { + return startInfo; + } + } + offset = startInfo.end; + startInfo = null; + } +}; + +TwoOfFiveReader.prototype._verifyTrailingWhitespace = function (endInfo) { + var self = this, + trailingWhitespaceEnd; + + trailingWhitespaceEnd = endInfo.end + (endInfo.end - endInfo.start) / 2; + if (trailingWhitespaceEnd < self._row.length) { + if (self._matchRange(endInfo.end, trailingWhitespaceEnd, 0)) { + return endInfo; + } + } + return null; +}; + +TwoOfFiveReader.prototype._findEnd = function () { + var self = this, + endInfo, + tmp, + offset; + + self._row.reverse(); + offset = self._nextSet(self._row); + endInfo = self._findPattern(self.STOP_PATTERN, offset, false, true); + self._row.reverse(); + + if (endInfo === null) { + return null; + } + + // reverse numbers + tmp = endInfo.start; + endInfo.start = self._row.length - endInfo.end; + endInfo.end = self._row.length - tmp; + + return endInfo !== null ? self._verifyTrailingWhitespace(endInfo) : null; +}; + +TwoOfFiveReader.prototype._decodeCode = function (counter) { + var j, + self = this, + sum = 0, + normalized, + error, + epsilon = self.AVG_CODE_ERROR, + code, + bestMatch = { + error: Number.MAX_VALUE, + code: -1, + start: 0, + end: 0 + }; + + for (j = 0; j < counter.length; j++) { + sum += counter[j]; + } + for (code = 0; code < self.CODE_PATTERN.length; code++) { + error = self._matchPattern(counter, self.CODE_PATTERN[code]); + if (error < bestMatch.error) { + bestMatch.code = code; + bestMatch.error = error; + } + } + if (bestMatch.error < epsilon) { + return bestMatch; + } +}; + +TwoOfFiveReader.prototype._decodePayload = function (counters, result, decodedCodes) { + var i, + self = this, + pos = 0, + counterLength = counters.length, + counter = [0, 0, 0, 0, 0], + code; + + while (pos < counterLength) { + for (i = 0; i < 5; i++) { + counter[i] = counters[pos] * this.barSpaceRatio[0]; + pos += 2; + } + code = self._decodeCode(counter); + if (!code) { + return null; + } + result.push(code.code + ""); + decodedCodes.push(code); + } + return code; +}; + +TwoOfFiveReader.prototype._verifyCounterLength = function (counters) { + return counters.length % 10 === 0; +}; + +TwoOfFiveReader.prototype._decode = function () { + var startInfo, + endInfo, + self = this, + code, + result = [], + decodedCodes = [], + counters; + + startInfo = self._findStart(); + if (!startInfo) { + return null; + } + decodedCodes.push(startInfo); + + endInfo = self._findEnd(); + if (!endInfo) { + return null; + } + + counters = self._fillCounters(startInfo.end, endInfo.start, false); + if (!self._verifyCounterLength(counters)) { + return null; + } + code = self._decodePayload(counters, result, decodedCodes); + if (!code) { + return null; + } + if (result.length < 5) { + return null; + } + + decodedCodes.push(endInfo); + return { + code: result.join(""), + start: startInfo.start, + end: endInfo.end, + startInfo: startInfo, + decodedCodes: decodedCodes + }; +}; + +/* harmony default export */ __webpack_exports__["a"] = TwoOfFiveReader; + +/***/ }), +/* 68 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__barcode_reader__ = __webpack_require__(1); + + +function CodabarReader() { + __WEBPACK_IMPORTED_MODULE_0__barcode_reader__["a" /* default */].call(this); + this._counters = []; +} + +var properties = { + ALPHABETH_STRING: { value: "0123456789-$:/.+ABCD" }, + ALPHABET: { value: [48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 45, 36, 58, 47, 46, 43, 65, 66, 67, 68] }, + CHARACTER_ENCODINGS: { value: [0x003, 0x006, 0x009, 0x060, 0x012, 0x042, 0x021, 0x024, 0x030, 0x048, 0x00c, 0x018, 0x045, 0x051, 0x054, 0x015, 0x01A, 0x029, 0x00B, 0x00E] }, + START_END: { value: [0x01A, 0x029, 0x00B, 0x00E] }, + MIN_ENCODED_CHARS: { value: 4 }, + MAX_ACCEPTABLE: { value: 2.0 }, + PADDING: { value: 1.5 }, + FORMAT: { value: "codabar", writeable: false } +}; + +CodabarReader.prototype = Object.create(__WEBPACK_IMPORTED_MODULE_0__barcode_reader__["a" /* default */].prototype, properties); +CodabarReader.prototype.constructor = CodabarReader; + +CodabarReader.prototype._decode = function () { + var self = this, + result = [], + start, + decodedChar, + pattern, + nextStart, + end; + + this._counters = self._fillCounters(); + start = self._findStart(); + if (!start) { + return null; + } + nextStart = start.startCounter; + + do { + pattern = self._toPattern(nextStart); + if (pattern < 0) { + return null; + } + decodedChar = self._patternToChar(pattern); + if (decodedChar < 0) { + return null; + } + result.push(decodedChar); + nextStart += 8; + if (result.length > 1 && self._isStartEnd(pattern)) { + break; + } + } while (nextStart < self._counters.length); + + // verify end + if (result.length - 2 < self.MIN_ENCODED_CHARS || !self._isStartEnd(pattern)) { + return null; + } + + // verify end white space + if (!self._verifyWhitespace(start.startCounter, nextStart - 8)) { + return null; + } + + if (!self._validateResult(result, start.startCounter)) { + return null; + } + + nextStart = nextStart > self._counters.length ? self._counters.length : nextStart; + end = start.start + self._sumCounters(start.startCounter, nextStart - 8); + + return { + code: result.join(""), + start: start.start, + end: end, + startInfo: start, + decodedCodes: result + }; +}; + +CodabarReader.prototype._verifyWhitespace = function (startCounter, endCounter) { + if (startCounter - 1 <= 0 || this._counters[startCounter - 1] >= this._calculatePatternLength(startCounter) / 2.0) { + if (endCounter + 8 >= this._counters.length || this._counters[endCounter + 7] >= this._calculatePatternLength(endCounter) / 2.0) { + return true; + } + } + return false; +}; + +CodabarReader.prototype._calculatePatternLength = function (offset) { + var i, + sum = 0; + + for (i = offset; i < offset + 7; i++) { + sum += this._counters[i]; + } + + return sum; +}; + +CodabarReader.prototype._thresholdResultPattern = function (result, startCounter) { + var self = this, + categorization = { + space: { + narrow: { size: 0, counts: 0, min: 0, max: Number.MAX_VALUE }, + wide: { size: 0, counts: 0, min: 0, max: Number.MAX_VALUE } + }, + bar: { + narrow: { size: 0, counts: 0, min: 0, max: Number.MAX_VALUE }, + wide: { size: 0, counts: 0, min: 0, max: Number.MAX_VALUE } + } + }, + kind, + cat, + i, + j, + pos = startCounter, + pattern; + + for (i = 0; i < result.length; i++) { + pattern = self._charToPattern(result[i]); + for (j = 6; j >= 0; j--) { + kind = (j & 1) === 2 ? categorization.bar : categorization.space; + cat = (pattern & 1) === 1 ? kind.wide : kind.narrow; + cat.size += self._counters[pos + j]; + cat.counts++; + pattern >>= 1; + } + pos += 8; + } + + ["space", "bar"].forEach(function (key) { + var newkind = categorization[key]; + newkind.wide.min = Math.floor((newkind.narrow.size / newkind.narrow.counts + newkind.wide.size / newkind.wide.counts) / 2); + newkind.narrow.max = Math.ceil(newkind.wide.min); + newkind.wide.max = Math.ceil((newkind.wide.size * self.MAX_ACCEPTABLE + self.PADDING) / newkind.wide.counts); + }); + + return categorization; +}; + +CodabarReader.prototype._charToPattern = function (char) { + var self = this, + charCode = char.charCodeAt(0), + i; + + for (i = 0; i < self.ALPHABET.length; i++) { + if (self.ALPHABET[i] === charCode) { + return self.CHARACTER_ENCODINGS[i]; + } + } + return 0x0; +}; + +CodabarReader.prototype._validateResult = function (result, startCounter) { + var self = this, + thresholds = self._thresholdResultPattern(result, startCounter), + i, + j, + kind, + cat, + size, + pos = startCounter, + pattern; + + for (i = 0; i < result.length; i++) { + pattern = self._charToPattern(result[i]); + for (j = 6; j >= 0; j--) { + kind = (j & 1) === 0 ? thresholds.bar : thresholds.space; + cat = (pattern & 1) === 1 ? kind.wide : kind.narrow; + size = self._counters[pos + j]; + if (size < cat.min || size > cat.max) { + return false; + } + pattern >>= 1; + } + pos += 8; + } + return true; +}; + +CodabarReader.prototype._patternToChar = function (pattern) { + var i, + self = this; + + for (i = 0; i < self.CHARACTER_ENCODINGS.length; i++) { + if (self.CHARACTER_ENCODINGS[i] === pattern) { + return String.fromCharCode(self.ALPHABET[i]); + } + } + return -1; +}; + +CodabarReader.prototype._computeAlternatingThreshold = function (offset, end) { + var i, + min = Number.MAX_VALUE, + max = 0, + counter; + + for (i = offset; i < end; i += 2) { + counter = this._counters[i]; + if (counter > max) { + max = counter; + } + if (counter < min) { + min = counter; + } + } + + return (min + max) / 2.0 | 0; +}; + +CodabarReader.prototype._toPattern = function (offset) { + var numCounters = 7, + end = offset + numCounters, + barThreshold, + spaceThreshold, + bitmask = 1 << numCounters - 1, + pattern = 0, + i, + threshold; + + if (end > this._counters.length) { + return -1; + } + + barThreshold = this._computeAlternatingThreshold(offset, end); + spaceThreshold = this._computeAlternatingThreshold(offset + 1, end); + + for (i = 0; i < numCounters; i++) { + threshold = (i & 1) === 0 ? barThreshold : spaceThreshold; + if (this._counters[offset + i] > threshold) { + pattern |= bitmask; + } + bitmask >>= 1; + } + + return pattern; +}; + +CodabarReader.prototype._isStartEnd = function (pattern) { + var i; + + for (i = 0; i < this.START_END.length; i++) { + if (this.START_END[i] === pattern) { + return true; + } + } + return false; +}; + +CodabarReader.prototype._sumCounters = function (start, end) { + var i, + sum = 0; + + for (i = start; i < end; i++) { + sum += this._counters[i]; + } + return sum; +}; + +CodabarReader.prototype._findStart = function () { + var self = this, + i, + pattern, + start = self._nextUnset(self._row), + end; + + for (i = 1; i < this._counters.length; i++) { + pattern = self._toPattern(i); + if (pattern !== -1 && self._isStartEnd(pattern)) { + // TODO: Look for whitespace ahead + start += self._sumCounters(0, i); + end = start + self._sumCounters(i, i + 8); + return { + start: start, + end: end, + startCounter: i, + endCounter: i + 8 + }; + } + } +}; + +/* harmony default export */ __webpack_exports__["a"] = CodabarReader; + +/***/ }), +/* 69 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__barcode_reader__ = __webpack_require__(1); + + +function Code128Reader() { + __WEBPACK_IMPORTED_MODULE_0__barcode_reader__["a" /* default */].call(this); +} + +var properties = { + CODE_SHIFT: { value: 98 }, + CODE_C: { value: 99 }, + CODE_B: { value: 100 }, + CODE_A: { value: 101 }, + START_CODE_A: { value: 103 }, + START_CODE_B: { value: 104 }, + START_CODE_C: { value: 105 }, + STOP_CODE: { value: 106 }, + CODE_PATTERN: { value: [[2, 1, 2, 2, 2, 2], [2, 2, 2, 1, 2, 2], [2, 2, 2, 2, 2, 1], [1, 2, 1, 2, 2, 3], [1, 2, 1, 3, 2, 2], [1, 3, 1, 2, 2, 2], [1, 2, 2, 2, 1, 3], [1, 2, 2, 3, 1, 2], [1, 3, 2, 2, 1, 2], [2, 2, 1, 2, 1, 3], [2, 2, 1, 3, 1, 2], [2, 3, 1, 2, 1, 2], [1, 1, 2, 2, 3, 2], [1, 2, 2, 1, 3, 2], [1, 2, 2, 2, 3, 1], [1, 1, 3, 2, 2, 2], [1, 2, 3, 1, 2, 2], [1, 2, 3, 2, 2, 1], [2, 2, 3, 2, 1, 1], [2, 2, 1, 1, 3, 2], [2, 2, 1, 2, 3, 1], [2, 1, 3, 2, 1, 2], [2, 2, 3, 1, 1, 2], [3, 1, 2, 1, 3, 1], [3, 1, 1, 2, 2, 2], [3, 2, 1, 1, 2, 2], [3, 2, 1, 2, 2, 1], [3, 1, 2, 2, 1, 2], [3, 2, 2, 1, 1, 2], [3, 2, 2, 2, 1, 1], [2, 1, 2, 1, 2, 3], [2, 1, 2, 3, 2, 1], [2, 3, 2, 1, 2, 1], [1, 1, 1, 3, 2, 3], [1, 3, 1, 1, 2, 3], [1, 3, 1, 3, 2, 1], [1, 1, 2, 3, 1, 3], [1, 3, 2, 1, 1, 3], [1, 3, 2, 3, 1, 1], [2, 1, 1, 3, 1, 3], [2, 3, 1, 1, 1, 3], [2, 3, 1, 3, 1, 1], [1, 1, 2, 1, 3, 3], [1, 1, 2, 3, 3, 1], [1, 3, 2, 1, 3, 1], [1, 1, 3, 1, 2, 3], [1, 1, 3, 3, 2, 1], [1, 3, 3, 1, 2, 1], [3, 1, 3, 1, 2, 1], [2, 1, 1, 3, 3, 1], [2, 3, 1, 1, 3, 1], [2, 1, 3, 1, 1, 3], [2, 1, 3, 3, 1, 1], [2, 1, 3, 1, 3, 1], [3, 1, 1, 1, 2, 3], [3, 1, 1, 3, 2, 1], [3, 3, 1, 1, 2, 1], [3, 1, 2, 1, 1, 3], [3, 1, 2, 3, 1, 1], [3, 3, 2, 1, 1, 1], [3, 1, 4, 1, 1, 1], [2, 2, 1, 4, 1, 1], [4, 3, 1, 1, 1, 1], [1, 1, 1, 2, 2, 4], [1, 1, 1, 4, 2, 2], [1, 2, 1, 1, 2, 4], [1, 2, 1, 4, 2, 1], [1, 4, 1, 1, 2, 2], [1, 4, 1, 2, 2, 1], [1, 1, 2, 2, 1, 4], [1, 1, 2, 4, 1, 2], [1, 2, 2, 1, 1, 4], [1, 2, 2, 4, 1, 1], [1, 4, 2, 1, 1, 2], [1, 4, 2, 2, 1, 1], [2, 4, 1, 2, 1, 1], [2, 2, 1, 1, 1, 4], [4, 1, 3, 1, 1, 1], [2, 4, 1, 1, 1, 2], [1, 3, 4, 1, 1, 1], [1, 1, 1, 2, 4, 2], [1, 2, 1, 1, 4, 2], [1, 2, 1, 2, 4, 1], [1, 1, 4, 2, 1, 2], [1, 2, 4, 1, 1, 2], [1, 2, 4, 2, 1, 1], [4, 1, 1, 2, 1, 2], [4, 2, 1, 1, 1, 2], [4, 2, 1, 2, 1, 1], [2, 1, 2, 1, 4, 1], [2, 1, 4, 1, 2, 1], [4, 1, 2, 1, 2, 1], [1, 1, 1, 1, 4, 3], [1, 1, 1, 3, 4, 1], [1, 3, 1, 1, 4, 1], [1, 1, 4, 1, 1, 3], [1, 1, 4, 3, 1, 1], [4, 1, 1, 1, 1, 3], [4, 1, 1, 3, 1, 1], [1, 1, 3, 1, 4, 1], [1, 1, 4, 1, 3, 1], [3, 1, 1, 1, 4, 1], [4, 1, 1, 1, 3, 1], [2, 1, 1, 4, 1, 2], [2, 1, 1, 2, 1, 4], [2, 1, 1, 2, 3, 2], [2, 3, 3, 1, 1, 1, 2]] }, + SINGLE_CODE_ERROR: { value: 0.64 }, + AVG_CODE_ERROR: { value: 0.30 }, + FORMAT: { value: "code_128", writeable: false }, + MODULE_INDICES: { value: { bar: [0, 2, 4], space: [1, 3, 5] } } +}; + +Code128Reader.prototype = Object.create(__WEBPACK_IMPORTED_MODULE_0__barcode_reader__["a" /* default */].prototype, properties); +Code128Reader.prototype.constructor = Code128Reader; + +Code128Reader.prototype._decodeCode = function (start, correction) { + var counter = [0, 0, 0, 0, 0, 0], + i, + self = this, + offset = start, + isWhite = !self._row[offset], + counterPos = 0, + bestMatch = { + error: Number.MAX_VALUE, + code: -1, + start: start, + end: start, + correction: { + bar: 1, + space: 1 + } + }, + code, + error; + + for (i = offset; i < self._row.length; i++) { + if (self._row[i] ^ isWhite) { + counter[counterPos]++; + } else { + if (counterPos === counter.length - 1) { + if (correction) { + self._correct(counter, correction); + } + for (code = 0; code < self.CODE_PATTERN.length; code++) { + error = self._matchPattern(counter, self.CODE_PATTERN[code]); + if (error < bestMatch.error) { + bestMatch.code = code; + bestMatch.error = error; + } + } + bestMatch.end = i; + if (bestMatch.code === -1 || bestMatch.error > self.AVG_CODE_ERROR) { + return null; + } + if (self.CODE_PATTERN[bestMatch.code]) { + bestMatch.correction.bar = calculateCorrection(self.CODE_PATTERN[bestMatch.code], counter, this.MODULE_INDICES.bar); + bestMatch.correction.space = calculateCorrection(self.CODE_PATTERN[bestMatch.code], counter, this.MODULE_INDICES.space); + } + return bestMatch; + } else { + counterPos++; + } + counter[counterPos] = 1; + isWhite = !isWhite; + } + } + return null; +}; + +Code128Reader.prototype._correct = function (counter, correction) { + this._correctBars(counter, correction.bar, this.MODULE_INDICES.bar); + this._correctBars(counter, correction.space, this.MODULE_INDICES.space); +}; + +Code128Reader.prototype._findStart = function () { + var counter = [0, 0, 0, 0, 0, 0], + i, + self = this, + offset = self._nextSet(self._row), + isWhite = false, + counterPos = 0, + bestMatch = { + error: Number.MAX_VALUE, + code: -1, + start: 0, + end: 0, + correction: { + bar: 1, + space: 1 + } + }, + code, + error, + j, + sum; + + for (i = offset; i < self._row.length; i++) { + if (self._row[i] ^ isWhite) { + counter[counterPos]++; + } else { + if (counterPos === counter.length - 1) { + sum = 0; + for (j = 0; j < counter.length; j++) { + sum += counter[j]; + } + for (code = self.START_CODE_A; code <= self.START_CODE_C; code++) { + error = self._matchPattern(counter, self.CODE_PATTERN[code]); + if (error < bestMatch.error) { + bestMatch.code = code; + bestMatch.error = error; + } + } + if (bestMatch.error < self.AVG_CODE_ERROR) { + bestMatch.start = i - sum; + bestMatch.end = i; + bestMatch.correction.bar = calculateCorrection(self.CODE_PATTERN[bestMatch.code], counter, this.MODULE_INDICES.bar); + bestMatch.correction.space = calculateCorrection(self.CODE_PATTERN[bestMatch.code], counter, this.MODULE_INDICES.space); + return bestMatch; + } + + for (j = 0; j < 4; j++) { + counter[j] = counter[j + 2]; + } + counter[4] = 0; + counter[5] = 0; + counterPos--; + } else { + counterPos++; + } + counter[counterPos] = 1; + isWhite = !isWhite; + } + } + return null; +}; + +Code128Reader.prototype._decode = function () { + var self = this, + startInfo = self._findStart(), + code = null, + done = false, + result = [], + multiplier = 0, + checksum = 0, + codeset, + rawResult = [], + decodedCodes = [], + shiftNext = false, + unshift, + removeLastCharacter = true; + + if (startInfo === null) { + return null; + } + code = { + code: startInfo.code, + start: startInfo.start, + end: startInfo.end, + correction: { + bar: startInfo.correction.bar, + space: startInfo.correction.space + } + }; + decodedCodes.push(code); + checksum = code.code; + switch (code.code) { + case self.START_CODE_A: + codeset = self.CODE_A; + break; + case self.START_CODE_B: + codeset = self.CODE_B; + break; + case self.START_CODE_C: + codeset = self.CODE_C; + break; + default: + return null; + } + + while (!done) { + unshift = shiftNext; + shiftNext = false; + code = self._decodeCode(code.end, code.correction); + if (code !== null) { + if (code.code !== self.STOP_CODE) { + removeLastCharacter = true; + } + + if (code.code !== self.STOP_CODE) { + rawResult.push(code.code); + multiplier++; + checksum += multiplier * code.code; + } + decodedCodes.push(code); + + switch (codeset) { + case self.CODE_A: + if (code.code < 64) { + result.push(String.fromCharCode(32 + code.code)); + } else if (code.code < 96) { + result.push(String.fromCharCode(code.code - 64)); + } else { + if (code.code !== self.STOP_CODE) { + removeLastCharacter = false; + } + switch (code.code) { + case self.CODE_SHIFT: + shiftNext = true; + codeset = self.CODE_B; + break; + case self.CODE_B: + codeset = self.CODE_B; + break; + case self.CODE_C: + codeset = self.CODE_C; + break; + case self.STOP_CODE: + done = true; + break; + } + } + break; + case self.CODE_B: + if (code.code < 96) { + result.push(String.fromCharCode(32 + code.code)); + } else { + if (code.code !== self.STOP_CODE) { + removeLastCharacter = false; + } + switch (code.code) { + case self.CODE_SHIFT: + shiftNext = true; + codeset = self.CODE_A; + break; + case self.CODE_A: + codeset = self.CODE_A; + break; + case self.CODE_C: + codeset = self.CODE_C; + break; + case self.STOP_CODE: + done = true; + break; + } + } + break; + case self.CODE_C: + if (code.code < 100) { + result.push(code.code < 10 ? "0" + code.code : code.code); + } else { + if (code.code !== self.STOP_CODE) { + removeLastCharacter = false; + } + switch (code.code) { + case self.CODE_A: + codeset = self.CODE_A; + break; + case self.CODE_B: + codeset = self.CODE_B; + break; + case self.STOP_CODE: + done = true; + break; + } + } + break; + } + } else { + done = true; + } + if (unshift) { + codeset = codeset === self.CODE_A ? self.CODE_B : self.CODE_A; + } + } + + if (code === null) { + return null; + } + + code.end = self._nextUnset(self._row, code.end); + if (!self._verifyTrailingWhitespace(code)) { + return null; + } + + checksum -= multiplier * rawResult[rawResult.length - 1]; + if (checksum % 103 !== rawResult[rawResult.length - 1]) { + return null; + } + + if (!result.length) { + return null; + } + + // remove last code from result (checksum) + if (removeLastCharacter) { + result.splice(result.length - 1, 1); + } + + return { + code: result.join(""), + start: startInfo.start, + end: code.end, + codeset: codeset, + startInfo: startInfo, + decodedCodes: decodedCodes, + endInfo: code + }; +}; + +__WEBPACK_IMPORTED_MODULE_0__barcode_reader__["a" /* default */].prototype._verifyTrailingWhitespace = function (endInfo) { + var self = this, + trailingWhitespaceEnd; + + trailingWhitespaceEnd = endInfo.end + (endInfo.end - endInfo.start) / 2; + if (trailingWhitespaceEnd < self._row.length) { + if (self._matchRange(endInfo.end, trailingWhitespaceEnd, 0)) { + return endInfo; + } + } + return null; +}; + +function calculateCorrection(expected, normalized, indices) { + var length = indices.length, + sumNormalized = 0, + sumExpected = 0; + + while (length--) { + sumExpected += expected[indices[length]]; + sumNormalized += normalized[indices[length]]; + } + return sumExpected / sumNormalized; +} + +/* harmony default export */ __webpack_exports__["a"] = Code128Reader; + +/***/ }), +/* 70 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__code_39_reader__ = __webpack_require__(31); + + +function Code39VINReader() { + __WEBPACK_IMPORTED_MODULE_0__code_39_reader__["a" /* default */].call(this); +} + +var patterns = { + IOQ: /[IOQ]/g, + AZ09: /[A-Z0-9]{17}/ +}; + +Code39VINReader.prototype = Object.create(__WEBPACK_IMPORTED_MODULE_0__code_39_reader__["a" /* default */].prototype); +Code39VINReader.prototype.constructor = Code39VINReader; + +// Cribbed from: +// https://github.com/zxing/zxing/blob/master/core/src/main/java/com/google/zxing/client/result/VINResultParser.java +Code39VINReader.prototype._decode = function () { + var result = __WEBPACK_IMPORTED_MODULE_0__code_39_reader__["a" /* default */].prototype._decode.apply(this); + if (!result) { + return null; + } + + var code = result.code; + + if (!code) { + return null; + } + + code = code.replace(patterns.IOQ, ''); + + if (!code.match(patterns.AZ09)) { + if (true) { + console.log('Failed AZ09 pattern code:', code); + } + return null; + } + + if (!this._checkChecksum(code)) { + return null; + } + + result.code = code; + return result; +}; + +Code39VINReader.prototype._checkChecksum = function (code) { + // TODO + return !!code; +}; + +/* harmony default export */ __webpack_exports__["a"] = Code39VINReader; + +/***/ }), +/* 71 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__barcode_reader__ = __webpack_require__(1); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__common_array_helper__ = __webpack_require__(3); + + + +function Code93Reader() { + __WEBPACK_IMPORTED_MODULE_0__barcode_reader__["a" /* default */].call(this); +} + +var ALPHABETH_STRING = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%abcd*"; + +var properties = { + ALPHABETH_STRING: { value: ALPHABETH_STRING }, + ALPHABET: { value: ALPHABETH_STRING.split('').map(function (char) { + return char.charCodeAt(0); + }) }, + CHARACTER_ENCODINGS: { value: [0x114, 0x148, 0x144, 0x142, 0x128, 0x124, 0x122, 0x150, 0x112, 0x10A, 0x1A8, 0x1A4, 0x1A2, 0x194, 0x192, 0x18A, 0x168, 0x164, 0x162, 0x134, 0x11A, 0x158, 0x14C, 0x146, 0x12C, 0x116, 0x1B4, 0x1B2, 0x1AC, 0x1A6, 0x196, 0x19A, 0x16C, 0x166, 0x136, 0x13A, 0x12E, 0x1D4, 0x1D2, 0x1CA, 0x16E, 0x176, 0x1AE, 0x126, 0x1DA, 0x1D6, 0x132, 0x15E] }, + ASTERISK: { value: 0x15E }, + FORMAT: { value: "code_93", writeable: false } +}; + +Code93Reader.prototype = Object.create(__WEBPACK_IMPORTED_MODULE_0__barcode_reader__["a" /* default */].prototype, properties); +Code93Reader.prototype.constructor = Code93Reader; + +Code93Reader.prototype._decode = function () { + var self = this, + counters = [0, 0, 0, 0, 0, 0], + result = [], + start = self._findStart(), + decodedChar, + lastStart, + pattern, + nextStart; + + if (!start) { + return null; + } + nextStart = self._nextSet(self._row, start.end); + + do { + counters = self._toCounters(nextStart, counters); + pattern = self._toPattern(counters); + if (pattern < 0) { + return null; + } + decodedChar = self._patternToChar(pattern); + if (decodedChar < 0) { + return null; + } + result.push(decodedChar); + lastStart = nextStart; + nextStart += __WEBPACK_IMPORTED_MODULE_1__common_array_helper__["a" /* default */].sum(counters); + nextStart = self._nextSet(self._row, nextStart); + } while (decodedChar !== '*'); + result.pop(); + + if (!result.length) { + return null; + } + + if (!self._verifyEnd(lastStart, nextStart, counters)) { + return null; + } + + if (!self._verifyChecksums(result)) { + return null; + } + + result = result.slice(0, result.length - 2); + if ((result = self._decodeExtended(result)) === null) { + return null; + }; + + return { + code: result.join(""), + start: start.start, + end: nextStart, + startInfo: start, + decodedCodes: result + }; +}; + +Code93Reader.prototype._verifyEnd = function (lastStart, nextStart) { + if (lastStart === nextStart || !this._row[nextStart]) { + return false; + } + return true; +}; + +Code93Reader.prototype._patternToChar = function (pattern) { + var i, + self = this; + + for (i = 0; i < self.CHARACTER_ENCODINGS.length; i++) { + if (self.CHARACTER_ENCODINGS[i] === pattern) { + return String.fromCharCode(self.ALPHABET[i]); + } + } + return -1; +}; + +Code93Reader.prototype._toPattern = function (counters) { + var numCounters = counters.length; + var pattern = 0; + var sum = 0; + for (var i = 0; i < numCounters; i++) { + sum += counters[i]; + } + + for (var _i = 0; _i < numCounters; _i++) { + var normalized = Math.round(counters[_i] * 9 / sum); + if (normalized < 1 || normalized > 4) { + return -1; + } + if ((_i & 1) === 0) { + for (var j = 0; j < normalized; j++) { + pattern = pattern << 1 | 1; + } + } else { + pattern <<= normalized; + } + } + + return pattern; +}; + +Code93Reader.prototype._findStart = function () { + var self = this, + offset = self._nextSet(self._row), + patternStart = offset, + counter = [0, 0, 0, 0, 0, 0], + counterPos = 0, + isWhite = false, + i, + j, + whiteSpaceMustStart; + + for (i = offset; i < self._row.length; i++) { + if (self._row[i] ^ isWhite) { + counter[counterPos]++; + } else { + if (counterPos === counter.length - 1) { + // find start pattern + if (self._toPattern(counter) === self.ASTERISK) { + whiteSpaceMustStart = Math.floor(Math.max(0, patternStart - (i - patternStart) / 4)); + if (self._matchRange(whiteSpaceMustStart, patternStart, 0)) { + return { + start: patternStart, + end: i + }; + } + } + + patternStart += counter[0] + counter[1]; + for (j = 0; j < 4; j++) { + counter[j] = counter[j + 2]; + } + counter[4] = 0; + counter[5] = 0; + counterPos--; + } else { + counterPos++; + } + counter[counterPos] = 1; + isWhite = !isWhite; + } + } + return null; +}; + +Code93Reader.prototype._decodeExtended = function (charArray) { + var length = charArray.length; + var result = []; + for (var i = 0; i < length; i++) { + var char = charArray[i]; + if (char >= 'a' && char <= 'd') { + if (i > length - 2) { + return null; + } + var nextChar = charArray[++i]; + var nextCharCode = nextChar.charCodeAt(0); + var decodedChar = void 0; + switch (char) { + case 'a': + if (nextChar >= 'A' && nextChar <= 'Z') { + decodedChar = String.fromCharCode(nextCharCode - 64); + } else { + return null; + } + break; + case 'b': + if (nextChar >= 'A' && nextChar <= 'E') { + decodedChar = String.fromCharCode(nextCharCode - 38); + } else if (nextChar >= 'F' && nextChar <= 'J') { + decodedChar = String.fromCharCode(nextCharCode - 11); + } else if (nextChar >= 'K' && nextChar <= 'O') { + decodedChar = String.fromCharCode(nextCharCode + 16); + } else if (nextChar >= 'P' && nextChar <= 'S') { + decodedChar = String.fromCharCode(nextCharCode + 43); + } else if (nextChar >= 'T' && nextChar <= 'Z') { + decodedChar = String.fromCharCode(127); + } else { + return null; + } + break; + case 'c': + if (nextChar >= 'A' && nextChar <= 'O') { + decodedChar = String.fromCharCode(nextCharCode - 32); + } else if (nextChar === 'Z') { + decodedChar = ':'; + } else { + return null; + } + break; + case 'd': + if (nextChar >= 'A' && nextChar <= 'Z') { + decodedChar = String.fromCharCode(nextCharCode + 32); + } else { + return null; + } + break; + } + result.push(decodedChar); + } else { + result.push(char); + } + } + return result; +}; + +Code93Reader.prototype._verifyChecksums = function (charArray) { + return this._matchCheckChar(charArray, charArray.length - 2, 20) && this._matchCheckChar(charArray, charArray.length - 1, 15); +}; + +Code93Reader.prototype._matchCheckChar = function (charArray, index, maxWeight) { + var _this = this; + + var arrayToCheck = charArray.slice(0, index); + var length = arrayToCheck.length; + var weightedSums = arrayToCheck.reduce(function (sum, char, i) { + var weight = (i * -1 + (length - 1)) % maxWeight + 1; + var value = _this.ALPHABET.indexOf(char.charCodeAt(0)); + return sum + weight * value; + }, 0); + + var checkChar = this.ALPHABET[weightedSums % 47]; + return checkChar === charArray[index].charCodeAt(0); +}; + +/* harmony default export */ __webpack_exports__["a"] = Code93Reader; + +/***/ }), +/* 72 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__ean_reader__ = __webpack_require__(4); + + +function EAN2Reader() { + __WEBPACK_IMPORTED_MODULE_0__ean_reader__["a" /* default */].call(this); +} + +var properties = { + FORMAT: { value: "ean_2", writeable: false } +}; + +EAN2Reader.prototype = Object.create(__WEBPACK_IMPORTED_MODULE_0__ean_reader__["a" /* default */].prototype, properties); +EAN2Reader.prototype.constructor = EAN2Reader; + +EAN2Reader.prototype.decode = function (row, start) { + this._row = row; + var counters = [0, 0, 0, 0], + codeFrequency = 0, + i = 0, + offset = start, + end = this._row.length, + code, + result = [], + decodedCodes = []; + + for (i = 0; i < 2 && offset < end; i++) { + code = this._decodeCode(offset); + if (!code) { + return null; + } + decodedCodes.push(code); + result.push(code.code % 10); + if (code.code >= this.CODE_G_START) { + codeFrequency |= 1 << 1 - i; + } + if (i != 1) { + offset = this._nextSet(this._row, code.end); + offset = this._nextUnset(this._row, offset); + } + } + + if (result.length != 2 || parseInt(result.join("")) % 4 !== codeFrequency) { + return null; + } + return { + code: result.join(""), + decodedCodes: decodedCodes, + end: code.end + }; +}; + +/* harmony default export */ __webpack_exports__["a"] = EAN2Reader; + +/***/ }), +/* 73 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__ean_reader__ = __webpack_require__(4); + + +function EAN5Reader() { + __WEBPACK_IMPORTED_MODULE_0__ean_reader__["a" /* default */].call(this); +} + +var properties = { + FORMAT: { value: "ean_5", writeable: false } +}; + +var CHECK_DIGIT_ENCODINGS = [24, 20, 18, 17, 12, 6, 3, 10, 9, 5]; + +EAN5Reader.prototype = Object.create(__WEBPACK_IMPORTED_MODULE_0__ean_reader__["a" /* default */].prototype, properties); +EAN5Reader.prototype.constructor = EAN5Reader; + +EAN5Reader.prototype.decode = function (row, start) { + this._row = row; + var counters = [0, 0, 0, 0], + codeFrequency = 0, + i = 0, + offset = start, + end = this._row.length, + code, + result = [], + decodedCodes = []; + + for (i = 0; i < 5 && offset < end; i++) { + code = this._decodeCode(offset); + if (!code) { + return null; + } + decodedCodes.push(code); + result.push(code.code % 10); + if (code.code >= this.CODE_G_START) { + codeFrequency |= 1 << 4 - i; + } + if (i != 4) { + offset = this._nextSet(this._row, code.end); + offset = this._nextUnset(this._row, offset); + } + } + + if (result.length != 5) { + return null; + } + + if (extensionChecksum(result) !== determineCheckDigit(codeFrequency)) { + return null; + } + return { + code: result.join(""), + decodedCodes: decodedCodes, + end: code.end + }; +}; + +function determineCheckDigit(codeFrequency) { + var i; + for (i = 0; i < 10; i++) { + if (codeFrequency === CHECK_DIGIT_ENCODINGS[i]) { + return i; + } + } + return null; +} + +function extensionChecksum(result) { + var length = result.length, + sum = 0, + i; + + for (i = length - 2; i >= 0; i -= 2) { + sum += result[i]; + } + sum *= 3; + for (i = length - 1; i >= 0; i -= 2) { + sum += result[i]; + } + sum *= 3; + return sum % 10; +} + +/* harmony default export */ __webpack_exports__["a"] = EAN5Reader; + +/***/ }), +/* 74 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__ean_reader__ = __webpack_require__(4); + + +function EAN8Reader(opts, supplements) { + __WEBPACK_IMPORTED_MODULE_0__ean_reader__["a" /* default */].call(this, opts, supplements); +} + +var properties = { + FORMAT: { value: "ean_8", writeable: false } +}; + +EAN8Reader.prototype = Object.create(__WEBPACK_IMPORTED_MODULE_0__ean_reader__["a" /* default */].prototype, properties); +EAN8Reader.prototype.constructor = EAN8Reader; + +EAN8Reader.prototype._decodePayload = function (code, result, decodedCodes) { + var i, + self = this; + + for (i = 0; i < 4; i++) { + code = self._decodeCode(code.end, self.CODE_G_START); + if (!code) { + return null; + } + result.push(code.code); + decodedCodes.push(code); + } + + code = self._findPattern(self.MIDDLE_PATTERN, code.end, true, false); + if (code === null) { + return null; + } + decodedCodes.push(code); + + for (i = 0; i < 4; i++) { + code = self._decodeCode(code.end, self.CODE_G_START); + if (!code) { + return null; + } + decodedCodes.push(code); + result.push(code.code); + } + + return code; +}; + +/* harmony default export */ __webpack_exports__["a"] = EAN8Reader; + +/***/ }), +/* 75 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_merge__ = __webpack_require__(28); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_merge___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_lodash_merge__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__barcode_reader__ = __webpack_require__(1); + + + + +function I2of5Reader(opts) { + opts = __WEBPACK_IMPORTED_MODULE_0_lodash_merge___default()(getDefaulConfig(), opts); + __WEBPACK_IMPORTED_MODULE_1__barcode_reader__["a" /* default */].call(this, opts); + this.barSpaceRatio = [1, 1]; + if (opts.normalizeBarSpaceWidth) { + this.SINGLE_CODE_ERROR = 0.38; + this.AVG_CODE_ERROR = 0.09; + } +} + +function getDefaulConfig() { + var config = {}; + + Object.keys(I2of5Reader.CONFIG_KEYS).forEach(function (key) { + config[key] = I2of5Reader.CONFIG_KEYS[key].default; + }); + return config; +} + +var N = 1, + W = 3, + properties = { + START_PATTERN: { value: [N, N, N, N] }, + STOP_PATTERN: { value: [N, N, W] }, + CODE_PATTERN: { value: [[N, N, W, W, N], [W, N, N, N, W], [N, W, N, N, W], [W, W, N, N, N], [N, N, W, N, W], [W, N, W, N, N], [N, W, W, N, N], [N, N, N, W, W], [W, N, N, W, N], [N, W, N, W, N]] }, + SINGLE_CODE_ERROR: { value: 0.78, writable: true }, + AVG_CODE_ERROR: { value: 0.38, writable: true }, + MAX_CORRECTION_FACTOR: { value: 5 }, + FORMAT: { value: "i2of5" } +}; + +I2of5Reader.prototype = Object.create(__WEBPACK_IMPORTED_MODULE_1__barcode_reader__["a" /* default */].prototype, properties); +I2of5Reader.prototype.constructor = I2of5Reader; + +I2of5Reader.prototype._matchPattern = function (counter, code) { + if (this.config.normalizeBarSpaceWidth) { + var i, + counterSum = [0, 0], + codeSum = [0, 0], + correction = [0, 0], + correctionRatio = this.MAX_CORRECTION_FACTOR, + correctionRatioInverse = 1 / correctionRatio; + + for (i = 0; i < counter.length; i++) { + counterSum[i % 2] += counter[i]; + codeSum[i % 2] += code[i]; + } + correction[0] = codeSum[0] / counterSum[0]; + correction[1] = codeSum[1] / counterSum[1]; + + correction[0] = Math.max(Math.min(correction[0], correctionRatio), correctionRatioInverse); + correction[1] = Math.max(Math.min(correction[1], correctionRatio), correctionRatioInverse); + this.barSpaceRatio = correction; + for (i = 0; i < counter.length; i++) { + counter[i] *= this.barSpaceRatio[i % 2]; + } + } + return __WEBPACK_IMPORTED_MODULE_1__barcode_reader__["a" /* default */].prototype._matchPattern.call(this, counter, code); +}; + +I2of5Reader.prototype._findPattern = function (pattern, offset, isWhite, tryHarder) { + var counter = [], + self = this, + i, + counterPos = 0, + bestMatch = { + error: Number.MAX_VALUE, + code: -1, + start: 0, + end: 0 + }, + error, + j, + sum, + normalized, + epsilon = self.AVG_CODE_ERROR; + + isWhite = isWhite || false; + tryHarder = tryHarder || false; + + if (!offset) { + offset = self._nextSet(self._row); + } + + for (i = 0; i < pattern.length; i++) { + counter[i] = 0; + } + + for (i = offset; i < self._row.length; i++) { + if (self._row[i] ^ isWhite) { + counter[counterPos]++; + } else { + if (counterPos === counter.length - 1) { + sum = 0; + for (j = 0; j < counter.length; j++) { + sum += counter[j]; + } + error = self._matchPattern(counter, pattern); + if (error < epsilon) { + bestMatch.error = error; + bestMatch.start = i - sum; + bestMatch.end = i; + return bestMatch; + } + if (tryHarder) { + for (j = 0; j < counter.length - 2; j++) { + counter[j] = counter[j + 2]; + } + counter[counter.length - 2] = 0; + counter[counter.length - 1] = 0; + counterPos--; + } else { + return null; + } + } else { + counterPos++; + } + counter[counterPos] = 1; + isWhite = !isWhite; + } + } + return null; +}; + +I2of5Reader.prototype._findStart = function () { + var self = this, + leadingWhitespaceStart, + offset = self._nextSet(self._row), + startInfo, + narrowBarWidth = 1; + + while (!startInfo) { + startInfo = self._findPattern(self.START_PATTERN, offset, false, true); + if (!startInfo) { + return null; + } + narrowBarWidth = Math.floor((startInfo.end - startInfo.start) / 4); + leadingWhitespaceStart = startInfo.start - narrowBarWidth * 10; + if (leadingWhitespaceStart >= 0) { + if (self._matchRange(leadingWhitespaceStart, startInfo.start, 0)) { + return startInfo; + } + } + offset = startInfo.end; + startInfo = null; + } +}; + +I2of5Reader.prototype._verifyTrailingWhitespace = function (endInfo) { + var self = this, + trailingWhitespaceEnd; + + trailingWhitespaceEnd = endInfo.end + (endInfo.end - endInfo.start) / 2; + if (trailingWhitespaceEnd < self._row.length) { + if (self._matchRange(endInfo.end, trailingWhitespaceEnd, 0)) { + return endInfo; + } + } + return null; +}; + +I2of5Reader.prototype._findEnd = function () { + var self = this, + endInfo, + tmp; + + self._row.reverse(); + endInfo = self._findPattern(self.STOP_PATTERN); + self._row.reverse(); + + if (endInfo === null) { + return null; + } + + // reverse numbers + tmp = endInfo.start; + endInfo.start = self._row.length - endInfo.end; + endInfo.end = self._row.length - tmp; + + return endInfo !== null ? self._verifyTrailingWhitespace(endInfo) : null; +}; + +I2of5Reader.prototype._decodePair = function (counterPair) { + var i, + code, + codes = [], + self = this; + + for (i = 0; i < counterPair.length; i++) { + code = self._decodeCode(counterPair[i]); + if (!code) { + return null; + } + codes.push(code); + } + return codes; +}; + +I2of5Reader.prototype._decodeCode = function (counter) { + var j, + self = this, + sum = 0, + normalized, + error, + epsilon = self.AVG_CODE_ERROR, + code, + bestMatch = { + error: Number.MAX_VALUE, + code: -1, + start: 0, + end: 0 + }; + + for (j = 0; j < counter.length; j++) { + sum += counter[j]; + } + for (code = 0; code < self.CODE_PATTERN.length; code++) { + error = self._matchPattern(counter, self.CODE_PATTERN[code]); + if (error < bestMatch.error) { + bestMatch.code = code; + bestMatch.error = error; + } + } + if (bestMatch.error < epsilon) { + return bestMatch; + } +}; + +I2of5Reader.prototype._decodePayload = function (counters, result, decodedCodes) { + var i, + self = this, + pos = 0, + counterLength = counters.length, + counterPair = [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0]], + codes; + + while (pos < counterLength) { + for (i = 0; i < 5; i++) { + counterPair[0][i] = counters[pos] * this.barSpaceRatio[0]; + counterPair[1][i] = counters[pos + 1] * this.barSpaceRatio[1]; + pos += 2; + } + codes = self._decodePair(counterPair); + if (!codes) { + return null; + } + for (i = 0; i < codes.length; i++) { + result.push(codes[i].code + ""); + decodedCodes.push(codes[i]); + } + } + return codes; +}; + +I2of5Reader.prototype._verifyCounterLength = function (counters) { + return counters.length % 10 === 0; +}; + +I2of5Reader.prototype._decode = function () { + var startInfo, + endInfo, + self = this, + code, + result = [], + decodedCodes = [], + counters; + + startInfo = self._findStart(); + if (!startInfo) { + return null; + } + decodedCodes.push(startInfo); + + endInfo = self._findEnd(); + if (!endInfo) { + return null; + } + + counters = self._fillCounters(startInfo.end, endInfo.start, false); + if (!self._verifyCounterLength(counters)) { + return null; + } + code = self._decodePayload(counters, result, decodedCodes); + if (!code) { + return null; + } + if (result.length % 2 !== 0 || result.length < 6) { + return null; + } + + decodedCodes.push(endInfo); + return { + code: result.join(""), + start: startInfo.start, + end: endInfo.end, + startInfo: startInfo, + decodedCodes: decodedCodes + }; +}; + +I2of5Reader.CONFIG_KEYS = { + normalizeBarSpaceWidth: { + 'type': 'boolean', + 'default': false, + 'description': 'If true, the reader tries to normalize the' + 'width-difference between bars and spaces' + } +}; + +/* harmony default export */ __webpack_exports__["a"] = I2of5Reader; + +/***/ }), +/* 76 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__ean_reader__ = __webpack_require__(4); + + +function UPCEReader(opts, supplements) { + __WEBPACK_IMPORTED_MODULE_0__ean_reader__["a" /* default */].call(this, opts, supplements); +} + +var properties = { + CODE_FREQUENCY: { value: [[56, 52, 50, 49, 44, 38, 35, 42, 41, 37], [7, 11, 13, 14, 19, 25, 28, 21, 22, 26]] }, + STOP_PATTERN: { value: [1 / 6 * 7, 1 / 6 * 7, 1 / 6 * 7, 1 / 6 * 7, 1 / 6 * 7, 1 / 6 * 7] }, + FORMAT: { value: "upc_e", writeable: false } +}; + +UPCEReader.prototype = Object.create(__WEBPACK_IMPORTED_MODULE_0__ean_reader__["a" /* default */].prototype, properties); +UPCEReader.prototype.constructor = UPCEReader; + +UPCEReader.prototype._decodePayload = function (code, result, decodedCodes) { + var i, + self = this, + codeFrequency = 0x0; + + for (i = 0; i < 6; i++) { + code = self._decodeCode(code.end); + if (!code) { + return null; + } + if (code.code >= self.CODE_G_START) { + code.code = code.code - self.CODE_G_START; + codeFrequency |= 1 << 5 - i; + } + result.push(code.code); + decodedCodes.push(code); + } + if (!self._determineParity(codeFrequency, result)) { + return null; + } + + return code; +}; + +UPCEReader.prototype._determineParity = function (codeFrequency, result) { + var i, nrSystem; + + for (nrSystem = 0; nrSystem < this.CODE_FREQUENCY.length; nrSystem++) { + for (i = 0; i < this.CODE_FREQUENCY[nrSystem].length; i++) { + if (codeFrequency === this.CODE_FREQUENCY[nrSystem][i]) { + result.unshift(nrSystem); + result.push(i); + return true; + } + } + } + return false; +}; + +UPCEReader.prototype._convertToUPCA = function (result) { + var upca = [result[0]], + lastDigit = result[result.length - 2]; + + if (lastDigit <= 2) { + upca = upca.concat(result.slice(1, 3)).concat([lastDigit, 0, 0, 0, 0]).concat(result.slice(3, 6)); + } else if (lastDigit === 3) { + upca = upca.concat(result.slice(1, 4)).concat([0, 0, 0, 0, 0]).concat(result.slice(4, 6)); + } else if (lastDigit === 4) { + upca = upca.concat(result.slice(1, 5)).concat([0, 0, 0, 0, 0, result[5]]); + } else { + upca = upca.concat(result.slice(1, 6)).concat([0, 0, 0, 0, lastDigit]); + } + + upca.push(result[result.length - 1]); + return upca; +}; + +UPCEReader.prototype._checksum = function (result) { + return __WEBPACK_IMPORTED_MODULE_0__ean_reader__["a" /* default */].prototype._checksum.call(this, this._convertToUPCA(result)); +}; + +UPCEReader.prototype._findEnd = function (offset, isWhite) { + isWhite = true; + return __WEBPACK_IMPORTED_MODULE_0__ean_reader__["a" /* default */].prototype._findEnd.call(this, offset, isWhite); +}; + +UPCEReader.prototype._verifyTrailingWhitespace = function (endInfo) { + var self = this, + trailingWhitespaceEnd; + + trailingWhitespaceEnd = endInfo.end + (endInfo.end - endInfo.start) / 2; + if (trailingWhitespaceEnd < self._row.length) { + if (self._matchRange(endInfo.end, trailingWhitespaceEnd, 0)) { + return endInfo; + } + } +}; + +/* harmony default export */ __webpack_exports__["a"] = UPCEReader; + +/***/ }), +/* 77 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__ean_reader__ = __webpack_require__(4); + + +function UPCReader(opts, supplements) { + __WEBPACK_IMPORTED_MODULE_0__ean_reader__["a" /* default */].call(this, opts, supplements); +} + +var properties = { + FORMAT: { value: "upc_a", writeable: false } +}; + +UPCReader.prototype = Object.create(__WEBPACK_IMPORTED_MODULE_0__ean_reader__["a" /* default */].prototype, properties); +UPCReader.prototype.constructor = UPCReader; + +UPCReader.prototype._decode = function () { + var result = __WEBPACK_IMPORTED_MODULE_0__ean_reader__["a" /* default */].prototype._decode.call(this); + + if (result && result.code && result.code.length === 13 && result.code.charAt(0) === "0") { + result.code = result.code.substring(1); + return result; + } + return null; +}; + +/* harmony default export */ __webpack_exports__["a"] = UPCReader; + +/***/ }), +/* 78 */ +/***/ (function(module, exports) { + +module.exports = copy + +/** + * Copy the values from one mat2 to another + * + * @alias mat2.copy + * @param {mat2} out the receiving matrix + * @param {mat2} a the source matrix + * @returns {mat2} out + */ +function copy(out, a) { + out[0] = a[0] + out[1] = a[1] + out[2] = a[2] + out[3] = a[3] + return out +} + + +/***/ }), +/* 79 */ +/***/ (function(module, exports) { + +module.exports = create + +/** + * Creates a new identity mat2 + * + * @alias mat2.create + * @returns {mat2} a new 2x2 matrix + */ +function create() { + var out = new Float32Array(4) + out[0] = 1 + out[1] = 0 + out[2] = 0 + out[3] = 1 + return out +} + + +/***/ }), +/* 80 */ +/***/ (function(module, exports) { + +module.exports = invert + +/** + * Inverts a mat2 + * + * @alias mat2.invert + * @param {mat2} out the receiving matrix + * @param {mat2} a the source matrix + * @returns {mat2} out + */ +function invert(out, a) { + var a0 = a[0] + var a1 = a[1] + var a2 = a[2] + var a3 = a[3] + var det = a0 * a3 - a2 * a1 + + if (!det) return null + det = 1.0 / det + + out[0] = a3 * det + out[1] = -a1 * det + out[2] = -a2 * det + out[3] = a0 * det + + return out +} + + +/***/ }), +/* 81 */ +/***/ (function(module, exports) { + +module.exports = scale + +/** + * Scales a vec2 by a scalar number + * + * @param {vec2} out the receiving vector + * @param {vec2} a the vector to scale + * @param {Number} b amount to scale the vector by + * @returns {vec2} out + */ +function scale(out, a, b) { + out[0] = a[0] * b + out[1] = a[1] * b + return out +} + +/***/ }), +/* 82 */ +/***/ (function(module, exports) { + +module.exports = transformMat2 + +/** + * Transforms the vec2 with a mat2 + * + * @param {vec2} out the receiving vector + * @param {vec2} a the vector to transform + * @param {mat2} m matrix to transform with + * @returns {vec2} out + */ +function transformMat2(out, a, m) { + var x = a[0], + y = a[1] + out[0] = m[0] * x + m[2] * y + out[1] = m[1] * x + m[3] * y + return out +} + +/***/ }), +/* 83 */ +/***/ (function(module, exports) { + +module.exports = clone; + +/** + * Creates a new vec3 initialized with values from an existing vector + * + * @param {vec3} a vector to clone + * @returns {vec3} a new 3D vector + */ +function clone(a) { + var out = new Float32Array(3) + out[0] = a[0] + out[1] = a[1] + out[2] = a[2] + return out +} + +/***/ }), +/* 84 */ +/***/ (function(module, exports, __webpack_require__) { + +var hashClear = __webpack_require__(122), + hashDelete = __webpack_require__(123), + hashGet = __webpack_require__(124), + hashHas = __webpack_require__(125), + hashSet = __webpack_require__(126); + +/** + * Creates a hash object. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function Hash(entries) { + var index = -1, + length = entries == null ? 0 : entries.length; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} + +// Add methods to `Hash`. +Hash.prototype.clear = hashClear; +Hash.prototype['delete'] = hashDelete; +Hash.prototype.get = hashGet; +Hash.prototype.has = hashHas; +Hash.prototype.set = hashSet; + +module.exports = Hash; + + +/***/ }), +/* 85 */ +/***/ (function(module, exports, __webpack_require__) { + +var ListCache = __webpack_require__(10), + stackClear = __webpack_require__(149), + stackDelete = __webpack_require__(150), + stackGet = __webpack_require__(151), + stackHas = __webpack_require__(152), + stackSet = __webpack_require__(153); + +/** + * Creates a stack cache object to store key-value pairs. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function Stack(entries) { + var data = this.__data__ = new ListCache(entries); + this.size = data.size; +} + +// Add methods to `Stack`. +Stack.prototype.clear = stackClear; +Stack.prototype['delete'] = stackDelete; +Stack.prototype.get = stackGet; +Stack.prototype.has = stackHas; +Stack.prototype.set = stackSet; + +module.exports = Stack; + + +/***/ }), +/* 86 */ +/***/ (function(module, exports, __webpack_require__) { + +var root = __webpack_require__(5); + +/** Built-in value references. */ +var Uint8Array = root.Uint8Array; + +module.exports = Uint8Array; + + +/***/ }), +/* 87 */ +/***/ (function(module, exports) { + +/** + * A faster alternative to `Function#apply`, this function invokes `func` + * with the `this` binding of `thisArg` and the arguments of `args`. + * + * @private + * @param {Function} func The function to invoke. + * @param {*} thisArg The `this` binding of `func`. + * @param {Array} args The arguments to invoke `func` with. + * @returns {*} Returns the result of `func`. + */ +function apply(func, thisArg, args) { + switch (args.length) { + case 0: return func.call(thisArg); + case 1: return func.call(thisArg, args[0]); + case 2: return func.call(thisArg, args[0], args[1]); + case 3: return func.call(thisArg, args[0], args[1], args[2]); + } + return func.apply(thisArg, args); +} + +module.exports = apply; + + +/***/ }), +/* 88 */ +/***/ (function(module, exports, __webpack_require__) { + +var baseTimes = __webpack_require__(107), + isArguments = __webpack_require__(18), + isArray = __webpack_require__(2), + isBuffer = __webpack_require__(44), + isIndex = __webpack_require__(15), + isTypedArray = __webpack_require__(45); + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Creates an array of the enumerable property names of the array-like `value`. + * + * @private + * @param {*} value The value to query. + * @param {boolean} inherited Specify returning inherited property names. + * @returns {Array} Returns the array of property names. + */ +function arrayLikeKeys(value, inherited) { + var isArr = isArray(value), + isArg = !isArr && isArguments(value), + isBuff = !isArr && !isArg && isBuffer(value), + isType = !isArr && !isArg && !isBuff && isTypedArray(value), + skipIndexes = isArr || isArg || isBuff || isType, + result = skipIndexes ? baseTimes(value.length, String) : [], + length = result.length; + + for (var key in value) { + if ((inherited || hasOwnProperty.call(value, key)) && + !(skipIndexes && ( + // Safari 9 has enumerable `arguments.length` in strict mode. + key == 'length' || + // Node.js 0.10 has enumerable non-index properties on buffers. + (isBuff && (key == 'offset' || key == 'parent')) || + // PhantomJS 2 has enumerable non-index properties on typed arrays. + (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) || + // Skip index properties. + isIndex(key, length) + ))) { + result.push(key); + } + } + return result; +} + +module.exports = arrayLikeKeys; + + +/***/ }), +/* 89 */ +/***/ (function(module, exports) { + +/** + * A specialized version of `_.map` for arrays without support for iteratee + * shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the new mapped array. + */ +function arrayMap(array, iteratee) { + var index = -1, + length = array == null ? 0 : array.length, + result = Array(length); + + while (++index < length) { + result[index] = iteratee(array[index], index, array); + } + return result; +} + +module.exports = arrayMap; + + +/***/ }), +/* 90 */ +/***/ (function(module, exports) { + +/** + * Appends the elements of `values` to `array`. + * + * @private + * @param {Array} array The array to modify. + * @param {Array} values The values to append. + * @returns {Array} Returns `array`. + */ +function arrayPush(array, values) { + var index = -1, + length = values.length, + offset = array.length; + + while (++index < length) { + array[offset + index] = values[index]; + } + return array; +} + +module.exports = arrayPush; + + +/***/ }), +/* 91 */ +/***/ (function(module, exports, __webpack_require__) { + +var isObject = __webpack_require__(0); + +/** Built-in value references. */ +var objectCreate = Object.create; + +/** + * The base implementation of `_.create` without support for assigning + * properties to the created object. + * + * @private + * @param {Object} proto The object to inherit from. + * @returns {Object} Returns the new object. + */ +var baseCreate = (function() { + function object() {} + return function(proto) { + if (!isObject(proto)) { + return {}; + } + if (objectCreate) { + return objectCreate(proto); + } + object.prototype = proto; + var result = new object; + object.prototype = undefined; + return result; + }; +}()); + +module.exports = baseCreate; + + +/***/ }), +/* 92 */ +/***/ (function(module, exports, __webpack_require__) { + +var arrayPush = __webpack_require__(90), + isFlattenable = __webpack_require__(128); + +/** + * The base implementation of `_.flatten` with support for restricting flattening. + * + * @private + * @param {Array} array The array to flatten. + * @param {number} depth The maximum recursion depth. + * @param {boolean} [predicate=isFlattenable] The function invoked per iteration. + * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks. + * @param {Array} [result=[]] The initial result value. + * @returns {Array} Returns the new flattened array. + */ +function baseFlatten(array, depth, predicate, isStrict, result) { + var index = -1, + length = array.length; + + predicate || (predicate = isFlattenable); + result || (result = []); + + while (++index < length) { + var value = array[index]; + if (depth > 0 && predicate(value)) { + if (depth > 1) { + // Recursively flatten arrays (susceptible to call stack limits). + baseFlatten(value, depth - 1, predicate, isStrict, result); + } else { + arrayPush(result, value); + } + } else if (!isStrict) { + result[result.length] = value; + } + } + return result; +} + +module.exports = baseFlatten; + + +/***/ }), +/* 93 */ +/***/ (function(module, exports, __webpack_require__) { + +var createBaseFor = __webpack_require__(117); + +/** + * The base implementation of `baseForOwn` which iterates over `object` + * properties returned by `keysFunc` and invokes `iteratee` for each property. + * Iteratee functions may exit iteration early by explicitly returning `false`. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {Function} keysFunc The function to get the keys of `object`. + * @returns {Object} Returns `object`. + */ +var baseFor = createBaseFor(); + +module.exports = baseFor; + + +/***/ }), +/* 94 */ +/***/ (function(module, exports, __webpack_require__) { + +var castPath = __webpack_require__(13), + toKey = __webpack_require__(23); + +/** + * The base implementation of `_.get` without support for default values. + * + * @private + * @param {Object} object The object to query. + * @param {Array|string} path The path of the property to get. + * @returns {*} Returns the resolved value. + */ +function baseGet(object, path) { + path = castPath(path, object); + + var index = 0, + length = path.length; + + while (object != null && index < length) { + object = object[toKey(path[index++])]; + } + return (index && index == length) ? object : undefined; +} + +module.exports = baseGet; + + +/***/ }), +/* 95 */ +/***/ (function(module, exports) { + +/** + * The base implementation of `_.hasIn` without support for deep paths. + * + * @private + * @param {Object} [object] The object to query. + * @param {Array|string} key The key to check. + * @returns {boolean} Returns `true` if `key` exists, else `false`. + */ +function baseHasIn(object, key) { + return object != null && key in Object(object); +} + +module.exports = baseHasIn; + + +/***/ }), +/* 96 */ +/***/ (function(module, exports, __webpack_require__) { + +var baseGetTag = __webpack_require__(8), + isObjectLike = __webpack_require__(6); + +/** `Object#toString` result references. */ +var argsTag = '[object Arguments]'; + +/** + * The base implementation of `_.isArguments`. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an `arguments` object, + */ +function baseIsArguments(value) { + return isObjectLike(value) && baseGetTag(value) == argsTag; +} + +module.exports = baseIsArguments; + + +/***/ }), +/* 97 */ +/***/ (function(module, exports, __webpack_require__) { + +var isFunction = __webpack_require__(25), + isMasked = __webpack_require__(132), + isObject = __webpack_require__(0), + toSource = __webpack_require__(155); + +/** + * Used to match `RegExp` + * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns). + */ +var reRegExpChar = /[\\^$.*+?()[\]{}|]/g; + +/** Used to detect host constructors (Safari). */ +var reIsHostCtor = /^\[object .+?Constructor\]$/; + +/** Used for built-in method references. */ +var funcProto = Function.prototype, + objectProto = Object.prototype; + +/** Used to resolve the decompiled source of functions. */ +var funcToString = funcProto.toString; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** Used to detect if a method is native. */ +var reIsNative = RegExp('^' + + funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&') + .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$' +); + +/** + * The base implementation of `_.isNative` without bad shim checks. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a native function, + * else `false`. + */ +function baseIsNative(value) { + if (!isObject(value) || isMasked(value)) { + return false; + } + var pattern = isFunction(value) ? reIsNative : reIsHostCtor; + return pattern.test(toSource(value)); +} + +module.exports = baseIsNative; + + +/***/ }), +/* 98 */ +/***/ (function(module, exports, __webpack_require__) { + +var baseGetTag = __webpack_require__(8), + isLength = __webpack_require__(26), + isObjectLike = __webpack_require__(6); + +/** `Object#toString` result references. */ +var argsTag = '[object Arguments]', + arrayTag = '[object Array]', + boolTag = '[object Boolean]', + dateTag = '[object Date]', + errorTag = '[object Error]', + funcTag = '[object Function]', + mapTag = '[object Map]', + numberTag = '[object Number]', + objectTag = '[object Object]', + regexpTag = '[object RegExp]', + setTag = '[object Set]', + stringTag = '[object String]', + weakMapTag = '[object WeakMap]'; + +var arrayBufferTag = '[object ArrayBuffer]', + dataViewTag = '[object DataView]', + float32Tag = '[object Float32Array]', + float64Tag = '[object Float64Array]', + int8Tag = '[object Int8Array]', + int16Tag = '[object Int16Array]', + int32Tag = '[object Int32Array]', + uint8Tag = '[object Uint8Array]', + uint8ClampedTag = '[object Uint8ClampedArray]', + uint16Tag = '[object Uint16Array]', + uint32Tag = '[object Uint32Array]'; + +/** Used to identify `toStringTag` values of typed arrays. */ +var typedArrayTags = {}; +typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = +typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = +typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = +typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = +typedArrayTags[uint32Tag] = true; +typedArrayTags[argsTag] = typedArrayTags[arrayTag] = +typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = +typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = +typedArrayTags[errorTag] = typedArrayTags[funcTag] = +typedArrayTags[mapTag] = typedArrayTags[numberTag] = +typedArrayTags[objectTag] = typedArrayTags[regexpTag] = +typedArrayTags[setTag] = typedArrayTags[stringTag] = +typedArrayTags[weakMapTag] = false; + +/** + * The base implementation of `_.isTypedArray` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. + */ +function baseIsTypedArray(value) { + return isObjectLike(value) && + isLength(value.length) && !!typedArrayTags[baseGetTag(value)]; +} + +module.exports = baseIsTypedArray; + + +/***/ }), +/* 99 */ +/***/ (function(module, exports, __webpack_require__) { + +var isObject = __webpack_require__(0), + isPrototype = __webpack_require__(40), + nativeKeysIn = __webpack_require__(144); + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + */ +function baseKeysIn(object) { + if (!isObject(object)) { + return nativeKeysIn(object); + } + var isProto = isPrototype(object), + result = []; + + for (var key in object) { + if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) { + result.push(key); + } + } + return result; +} + +module.exports = baseKeysIn; + + +/***/ }), +/* 100 */ +/***/ (function(module, exports, __webpack_require__) { + +var Stack = __webpack_require__(85), + assignMergeValue = __webpack_require__(35), + baseFor = __webpack_require__(93), + baseMergeDeep = __webpack_require__(101), + isObject = __webpack_require__(0), + keysIn = __webpack_require__(46); + +/** + * The base implementation of `_.merge` without support for multiple sources. + * + * @private + * @param {Object} object The destination object. + * @param {Object} source The source object. + * @param {number} srcIndex The index of `source`. + * @param {Function} [customizer] The function to customize merged values. + * @param {Object} [stack] Tracks traversed source values and their merged + * counterparts. + */ +function baseMerge(object, source, srcIndex, customizer, stack) { + if (object === source) { + return; + } + baseFor(source, function(srcValue, key) { + if (isObject(srcValue)) { + stack || (stack = new Stack); + baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack); + } + else { + var newValue = customizer + ? customizer(object[key], srcValue, (key + ''), object, source, stack) + : undefined; + + if (newValue === undefined) { + newValue = srcValue; + } + assignMergeValue(object, key, newValue); + } + }, keysIn); +} + +module.exports = baseMerge; + + +/***/ }), +/* 101 */ +/***/ (function(module, exports, __webpack_require__) { + +var assignMergeValue = __webpack_require__(35), + cloneBuffer = __webpack_require__(111), + cloneTypedArray = __webpack_require__(112), + copyArray = __webpack_require__(113), + initCloneObject = __webpack_require__(127), + isArguments = __webpack_require__(18), + isArray = __webpack_require__(2), + isArrayLikeObject = __webpack_require__(159), + isBuffer = __webpack_require__(44), + isFunction = __webpack_require__(25), + isObject = __webpack_require__(0), + isPlainObject = __webpack_require__(160), + isTypedArray = __webpack_require__(45), + toPlainObject = __webpack_require__(164); + +/** + * A specialized version of `baseMerge` for arrays and objects which performs + * deep merges and tracks traversed objects enabling objects with circular + * references to be merged. + * + * @private + * @param {Object} object The destination object. + * @param {Object} source The source object. + * @param {string} key The key of the value to merge. + * @param {number} srcIndex The index of `source`. + * @param {Function} mergeFunc The function to merge values. + * @param {Function} [customizer] The function to customize assigned values. + * @param {Object} [stack] Tracks traversed source values and their merged + * counterparts. + */ +function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) { + var objValue = object[key], + srcValue = source[key], + stacked = stack.get(srcValue); + + if (stacked) { + assignMergeValue(object, key, stacked); + return; + } + var newValue = customizer + ? customizer(objValue, srcValue, (key + ''), object, source, stack) + : undefined; + + var isCommon = newValue === undefined; + + if (isCommon) { + var isArr = isArray(srcValue), + isBuff = !isArr && isBuffer(srcValue), + isTyped = !isArr && !isBuff && isTypedArray(srcValue); + + newValue = srcValue; + if (isArr || isBuff || isTyped) { + if (isArray(objValue)) { + newValue = objValue; + } + else if (isArrayLikeObject(objValue)) { + newValue = copyArray(objValue); + } + else if (isBuff) { + isCommon = false; + newValue = cloneBuffer(srcValue, true); + } + else if (isTyped) { + isCommon = false; + newValue = cloneTypedArray(srcValue, true); + } + else { + newValue = []; + } + } + else if (isPlainObject(srcValue) || isArguments(srcValue)) { + newValue = objValue; + if (isArguments(objValue)) { + newValue = toPlainObject(objValue); + } + else if (!isObject(objValue) || (srcIndex && isFunction(objValue))) { + newValue = initCloneObject(srcValue); + } + } + else { + isCommon = false; + } + } + if (isCommon) { + // Recursively merge objects and arrays (susceptible to call stack limits). + stack.set(srcValue, newValue); + mergeFunc(newValue, srcValue, srcIndex, customizer, stack); + stack['delete'](srcValue); + } + assignMergeValue(object, key, newValue); +} + +module.exports = baseMergeDeep; + + +/***/ }), +/* 102 */ +/***/ (function(module, exports, __webpack_require__) { + +var basePickBy = __webpack_require__(103), + hasIn = __webpack_require__(158); + +/** + * The base implementation of `_.pick` without support for individual + * property identifiers. + * + * @private + * @param {Object} object The source object. + * @param {string[]} paths The property paths to pick. + * @returns {Object} Returns the new object. + */ +function basePick(object, paths) { + return basePickBy(object, paths, function(value, path) { + return hasIn(object, path); + }); +} + +module.exports = basePick; + + +/***/ }), +/* 103 */ +/***/ (function(module, exports, __webpack_require__) { + +var baseGet = __webpack_require__(94), + baseSet = __webpack_require__(105), + castPath = __webpack_require__(13); + +/** + * The base implementation of `_.pickBy` without support for iteratee shorthands. + * + * @private + * @param {Object} object The source object. + * @param {string[]} paths The property paths to pick. + * @param {Function} predicate The function invoked per property. + * @returns {Object} Returns the new object. + */ +function basePickBy(object, paths, predicate) { + var index = -1, + length = paths.length, + result = {}; + + while (++index < length) { + var path = paths[index], + value = baseGet(object, path); + + if (predicate(value, path)) { + baseSet(result, castPath(path, object), value); + } + } + return result; +} + +module.exports = basePickBy; + + +/***/ }), +/* 104 */ +/***/ (function(module, exports, __webpack_require__) { + +var identity = __webpack_require__(43), + overRest = __webpack_require__(41), + setToString = __webpack_require__(42); + +/** + * The base implementation of `_.rest` which doesn't validate or coerce arguments. + * + * @private + * @param {Function} func The function to apply a rest parameter to. + * @param {number} [start=func.length-1] The start position of the rest parameter. + * @returns {Function} Returns the new function. + */ +function baseRest(func, start) { + return setToString(overRest(func, start, identity), func + ''); +} + +module.exports = baseRest; + + +/***/ }), +/* 105 */ +/***/ (function(module, exports, __webpack_require__) { + +var assignValue = __webpack_require__(36), + castPath = __webpack_require__(13), + isIndex = __webpack_require__(15), + isObject = __webpack_require__(0), + toKey = __webpack_require__(23); + +/** + * The base implementation of `_.set`. + * + * @private + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to set. + * @param {*} value The value to set. + * @param {Function} [customizer] The function to customize path creation. + * @returns {Object} Returns `object`. + */ +function baseSet(object, path, value, customizer) { + if (!isObject(object)) { + return object; + } + path = castPath(path, object); + + var index = -1, + length = path.length, + lastIndex = length - 1, + nested = object; + + while (nested != null && ++index < length) { + var key = toKey(path[index]), + newValue = value; + + if (index != lastIndex) { + var objValue = nested[key]; + newValue = customizer ? customizer(objValue, key, nested) : undefined; + if (newValue === undefined) { + newValue = isObject(objValue) + ? objValue + : (isIndex(path[index + 1]) ? [] : {}); + } + } + assignValue(nested, key, newValue); + nested = nested[key]; + } + return object; +} + +module.exports = baseSet; + + +/***/ }), +/* 106 */ +/***/ (function(module, exports, __webpack_require__) { + +var constant = __webpack_require__(156), + defineProperty = __webpack_require__(37), + identity = __webpack_require__(43); + +/** + * The base implementation of `setToString` without support for hot loop shorting. + * + * @private + * @param {Function} func The function to modify. + * @param {Function} string The `toString` result. + * @returns {Function} Returns `func`. + */ +var baseSetToString = !defineProperty ? identity : function(func, string) { + return defineProperty(func, 'toString', { + 'configurable': true, + 'enumerable': false, + 'value': constant(string), + 'writable': true + }); +}; + +module.exports = baseSetToString; + + +/***/ }), +/* 107 */ +/***/ (function(module, exports) { + +/** + * The base implementation of `_.times` without support for iteratee shorthands + * or max array length checks. + * + * @private + * @param {number} n The number of times to invoke `iteratee`. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the array of results. + */ +function baseTimes(n, iteratee) { + var index = -1, + result = Array(n); + + while (++index < n) { + result[index] = iteratee(index); + } + return result; +} + +module.exports = baseTimes; + + +/***/ }), +/* 108 */ +/***/ (function(module, exports, __webpack_require__) { + +var Symbol = __webpack_require__(11), + arrayMap = __webpack_require__(89), + isArray = __webpack_require__(2), + isSymbol = __webpack_require__(27); + +/** Used as references for various `Number` constants. */ +var INFINITY = 1 / 0; + +/** Used to convert symbols to primitives and strings. */ +var symbolProto = Symbol ? Symbol.prototype : undefined, + symbolToString = symbolProto ? symbolProto.toString : undefined; + +/** + * The base implementation of `_.toString` which doesn't convert nullish + * values to empty strings. + * + * @private + * @param {*} value The value to process. + * @returns {string} Returns the string. + */ +function baseToString(value) { + // Exit early for strings to avoid a performance hit in some environments. + if (typeof value == 'string') { + return value; + } + if (isArray(value)) { + // Recursively convert values (susceptible to call stack limits). + return arrayMap(value, baseToString) + ''; + } + if (isSymbol(value)) { + return symbolToString ? symbolToString.call(value) : ''; + } + var result = (value + ''); + return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; +} + +module.exports = baseToString; + + +/***/ }), +/* 109 */ +/***/ (function(module, exports) { + +/** + * The base implementation of `_.unary` without support for storing metadata. + * + * @private + * @param {Function} func The function to cap arguments for. + * @returns {Function} Returns the new capped function. + */ +function baseUnary(func) { + return function(value) { + return func(value); + }; +} + +module.exports = baseUnary; + + +/***/ }), +/* 110 */ +/***/ (function(module, exports, __webpack_require__) { + +var Uint8Array = __webpack_require__(86); + +/** + * Creates a clone of `arrayBuffer`. + * + * @private + * @param {ArrayBuffer} arrayBuffer The array buffer to clone. + * @returns {ArrayBuffer} Returns the cloned array buffer. + */ +function cloneArrayBuffer(arrayBuffer) { + var result = new arrayBuffer.constructor(arrayBuffer.byteLength); + new Uint8Array(result).set(new Uint8Array(arrayBuffer)); + return result; +} + +module.exports = cloneArrayBuffer; + + +/***/ }), +/* 111 */ +/***/ (function(module, exports, __webpack_require__) { + +/* WEBPACK VAR INJECTION */(function(module) {var root = __webpack_require__(5); + +/** Detect free variable `exports`. */ +var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports; + +/** Detect free variable `module`. */ +var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; + +/** Detect the popular CommonJS extension `module.exports`. */ +var moduleExports = freeModule && freeModule.exports === freeExports; + +/** Built-in value references. */ +var Buffer = moduleExports ? root.Buffer : undefined, + allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined; + +/** + * Creates a clone of `buffer`. + * + * @private + * @param {Buffer} buffer The buffer to clone. + * @param {boolean} [isDeep] Specify a deep clone. + * @returns {Buffer} Returns the cloned buffer. + */ +function cloneBuffer(buffer, isDeep) { + if (isDeep) { + return buffer.slice(); + } + var length = buffer.length, + result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length); + + buffer.copy(result); + return result; +} + +module.exports = cloneBuffer; + +/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(29)(module))) + +/***/ }), +/* 112 */ +/***/ (function(module, exports, __webpack_require__) { + +var cloneArrayBuffer = __webpack_require__(110); + +/** + * Creates a clone of `typedArray`. + * + * @private + * @param {Object} typedArray The typed array to clone. + * @param {boolean} [isDeep] Specify a deep clone. + * @returns {Object} Returns the cloned typed array. + */ +function cloneTypedArray(typedArray, isDeep) { + var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer; + return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length); +} + +module.exports = cloneTypedArray; + + +/***/ }), +/* 113 */ +/***/ (function(module, exports) { + +/** + * Copies the values of `source` to `array`. + * + * @private + * @param {Array} source The array to copy values from. + * @param {Array} [array=[]] The array to copy values to. + * @returns {Array} Returns `array`. + */ +function copyArray(source, array) { + var index = -1, + length = source.length; + + array || (array = Array(length)); + while (++index < length) { + array[index] = source[index]; + } + return array; +} + +module.exports = copyArray; + + +/***/ }), +/* 114 */ +/***/ (function(module, exports, __webpack_require__) { + +var assignValue = __webpack_require__(36), + baseAssignValue = __webpack_require__(21); + +/** + * Copies properties of `source` to `object`. + * + * @private + * @param {Object} source The object to copy properties from. + * @param {Array} props The property identifiers to copy. + * @param {Object} [object={}] The object to copy properties to. + * @param {Function} [customizer] The function to customize copied values. + * @returns {Object} Returns `object`. + */ +function copyObject(source, props, object, customizer) { + var isNew = !object; + object || (object = {}); + + var index = -1, + length = props.length; + + while (++index < length) { + var key = props[index]; + + var newValue = customizer + ? customizer(object[key], source[key], key, object, source) + : undefined; + + if (newValue === undefined) { + newValue = source[key]; + } + if (isNew) { + baseAssignValue(object, key, newValue); + } else { + assignValue(object, key, newValue); + } + } + return object; +} + +module.exports = copyObject; + + +/***/ }), +/* 115 */ +/***/ (function(module, exports, __webpack_require__) { + +var root = __webpack_require__(5); + +/** Used to detect overreaching core-js shims. */ +var coreJsData = root['__core-js_shared__']; + +module.exports = coreJsData; + + +/***/ }), +/* 116 */ +/***/ (function(module, exports, __webpack_require__) { + +var baseRest = __webpack_require__(104), + isIterateeCall = __webpack_require__(129); + +/** + * Creates a function like `_.assign`. + * + * @private + * @param {Function} assigner The function to assign values. + * @returns {Function} Returns the new assigner function. + */ +function createAssigner(assigner) { + return baseRest(function(object, sources) { + var index = -1, + length = sources.length, + customizer = length > 1 ? sources[length - 1] : undefined, + guard = length > 2 ? sources[2] : undefined; + + customizer = (assigner.length > 3 && typeof customizer == 'function') + ? (length--, customizer) + : undefined; + + if (guard && isIterateeCall(sources[0], sources[1], guard)) { + customizer = length < 3 ? undefined : customizer; + length = 1; + } + object = Object(object); + while (++index < length) { + var source = sources[index]; + if (source) { + assigner(object, source, index, customizer); + } + } + return object; + }); +} + +module.exports = createAssigner; + + +/***/ }), +/* 117 */ +/***/ (function(module, exports) { + +/** + * Creates a base function for methods like `_.forIn` and `_.forOwn`. + * + * @private + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new base function. + */ +function createBaseFor(fromRight) { + return function(object, iteratee, keysFunc) { + var index = -1, + iterable = Object(object), + props = keysFunc(object), + length = props.length; + + while (length--) { + var key = props[fromRight ? length : ++index]; + if (iteratee(iterable[key], key, iterable) === false) { + break; + } + } + return object; + }; +} + +module.exports = createBaseFor; + + +/***/ }), +/* 118 */ +/***/ (function(module, exports, __webpack_require__) { + +var flatten = __webpack_require__(157), + overRest = __webpack_require__(41), + setToString = __webpack_require__(42); + +/** + * A specialized version of `baseRest` which flattens the rest array. + * + * @private + * @param {Function} func The function to apply a rest parameter to. + * @returns {Function} Returns the new function. + */ +function flatRest(func) { + return setToString(overRest(func, undefined, flatten), func + ''); +} + +module.exports = flatRest; + + +/***/ }), +/* 119 */ +/***/ (function(module, exports, __webpack_require__) { + +var Symbol = __webpack_require__(11); + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ +var nativeObjectToString = objectProto.toString; + +/** Built-in value references. */ +var symToStringTag = Symbol ? Symbol.toStringTag : undefined; + +/** + * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the raw `toStringTag`. + */ +function getRawTag(value) { + var isOwn = hasOwnProperty.call(value, symToStringTag), + tag = value[symToStringTag]; + + try { + value[symToStringTag] = undefined; + var unmasked = true; + } catch (e) {} + + var result = nativeObjectToString.call(value); + if (unmasked) { + if (isOwn) { + value[symToStringTag] = tag; + } else { + delete value[symToStringTag]; + } + } + return result; +} + +module.exports = getRawTag; + + +/***/ }), +/* 120 */ +/***/ (function(module, exports) { + +/** + * Gets the value at `key` of `object`. + * + * @private + * @param {Object} [object] The object to query. + * @param {string} key The key of the property to get. + * @returns {*} Returns the property value. + */ +function getValue(object, key) { + return object == null ? undefined : object[key]; +} + +module.exports = getValue; + + +/***/ }), +/* 121 */ +/***/ (function(module, exports, __webpack_require__) { + +var castPath = __webpack_require__(13), + isArguments = __webpack_require__(18), + isArray = __webpack_require__(2), + isIndex = __webpack_require__(15), + isLength = __webpack_require__(26), + toKey = __webpack_require__(23); + +/** + * Checks if `path` exists on `object`. + * + * @private + * @param {Object} object The object to query. + * @param {Array|string} path The path to check. + * @param {Function} hasFunc The function to check properties. + * @returns {boolean} Returns `true` if `path` exists, else `false`. + */ +function hasPath(object, path, hasFunc) { + path = castPath(path, object); + + var index = -1, + length = path.length, + result = false; + + while (++index < length) { + var key = toKey(path[index]); + if (!(result = object != null && hasFunc(object, key))) { + break; + } + object = object[key]; + } + if (result || ++index != length) { + return result; + } + length = object == null ? 0 : object.length; + return !!length && isLength(length) && isIndex(key, length) && + (isArray(object) || isArguments(object)); +} + +module.exports = hasPath; + + +/***/ }), +/* 122 */ +/***/ (function(module, exports, __webpack_require__) { + +var nativeCreate = __webpack_require__(16); + +/** + * Removes all key-value entries from the hash. + * + * @private + * @name clear + * @memberOf Hash + */ +function hashClear() { + this.__data__ = nativeCreate ? nativeCreate(null) : {}; + this.size = 0; +} + +module.exports = hashClear; + + +/***/ }), +/* 123 */ +/***/ (function(module, exports) { + +/** + * Removes `key` and its value from the hash. + * + * @private + * @name delete + * @memberOf Hash + * @param {Object} hash The hash to modify. + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function hashDelete(key) { + var result = this.has(key) && delete this.__data__[key]; + this.size -= result ? 1 : 0; + return result; +} + +module.exports = hashDelete; + + +/***/ }), +/* 124 */ +/***/ (function(module, exports, __webpack_require__) { + +var nativeCreate = __webpack_require__(16); + +/** Used to stand-in for `undefined` hash values. */ +var HASH_UNDEFINED = '__lodash_hash_undefined__'; + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Gets the hash value for `key`. + * + * @private + * @name get + * @memberOf Hash + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function hashGet(key) { + var data = this.__data__; + if (nativeCreate) { + var result = data[key]; + return result === HASH_UNDEFINED ? undefined : result; + } + return hasOwnProperty.call(data, key) ? data[key] : undefined; +} + +module.exports = hashGet; + + +/***/ }), +/* 125 */ +/***/ (function(module, exports, __webpack_require__) { + +var nativeCreate = __webpack_require__(16); + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Checks if a hash value for `key` exists. + * + * @private + * @name has + * @memberOf Hash + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function hashHas(key) { + var data = this.__data__; + return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key); +} + +module.exports = hashHas; + + +/***/ }), +/* 126 */ +/***/ (function(module, exports, __webpack_require__) { + +var nativeCreate = __webpack_require__(16); + +/** Used to stand-in for `undefined` hash values. */ +var HASH_UNDEFINED = '__lodash_hash_undefined__'; + +/** + * Sets the hash `key` to `value`. + * + * @private + * @name set + * @memberOf Hash + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the hash instance. + */ +function hashSet(key, value) { + var data = this.__data__; + this.size += this.has(key) ? 0 : 1; + data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value; + return this; +} + +module.exports = hashSet; + + +/***/ }), +/* 127 */ +/***/ (function(module, exports, __webpack_require__) { + +var baseCreate = __webpack_require__(91), + getPrototype = __webpack_require__(39), + isPrototype = __webpack_require__(40); + +/** + * Initializes an object clone. + * + * @private + * @param {Object} object The object to clone. + * @returns {Object} Returns the initialized clone. + */ +function initCloneObject(object) { + return (typeof object.constructor == 'function' && !isPrototype(object)) + ? baseCreate(getPrototype(object)) + : {}; +} + +module.exports = initCloneObject; + + +/***/ }), +/* 128 */ +/***/ (function(module, exports, __webpack_require__) { + +var Symbol = __webpack_require__(11), + isArguments = __webpack_require__(18), + isArray = __webpack_require__(2); + +/** Built-in value references. */ +var spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined; + +/** + * Checks if `value` is a flattenable `arguments` object or array. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is flattenable, else `false`. + */ +function isFlattenable(value) { + return isArray(value) || isArguments(value) || + !!(spreadableSymbol && value && value[spreadableSymbol]); +} + +module.exports = isFlattenable; + + +/***/ }), +/* 129 */ +/***/ (function(module, exports, __webpack_require__) { + +var eq = __webpack_require__(17), + isArrayLike = __webpack_require__(24), + isIndex = __webpack_require__(15), + isObject = __webpack_require__(0); + +/** + * Checks if the given arguments are from an iteratee call. + * + * @private + * @param {*} value The potential iteratee value argument. + * @param {*} index The potential iteratee index or key argument. + * @param {*} object The potential iteratee object argument. + * @returns {boolean} Returns `true` if the arguments are from an iteratee call, + * else `false`. + */ +function isIterateeCall(value, index, object) { + if (!isObject(object)) { + return false; + } + var type = typeof index; + if (type == 'number' + ? (isArrayLike(object) && isIndex(index, object.length)) + : (type == 'string' && index in object) + ) { + return eq(object[index], value); + } + return false; +} + +module.exports = isIterateeCall; + + +/***/ }), +/* 130 */ +/***/ (function(module, exports, __webpack_require__) { + +var isArray = __webpack_require__(2), + isSymbol = __webpack_require__(27); + +/** Used to match property names within property paths. */ +var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, + reIsPlainProp = /^\w*$/; + +/** + * Checks if `value` is a property name and not a property path. + * + * @private + * @param {*} value The value to check. + * @param {Object} [object] The object to query keys on. + * @returns {boolean} Returns `true` if `value` is a property name, else `false`. + */ +function isKey(value, object) { + if (isArray(value)) { + return false; + } + var type = typeof value; + if (type == 'number' || type == 'symbol' || type == 'boolean' || + value == null || isSymbol(value)) { + return true; + } + return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || + (object != null && value in Object(object)); +} + +module.exports = isKey; + + +/***/ }), +/* 131 */ +/***/ (function(module, exports) { + +/** + * Checks if `value` is suitable for use as unique object key. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is suitable, else `false`. + */ +function isKeyable(value) { + var type = typeof value; + return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean') + ? (value !== '__proto__') + : (value === null); +} + +module.exports = isKeyable; + + +/***/ }), +/* 132 */ +/***/ (function(module, exports, __webpack_require__) { + +var coreJsData = __webpack_require__(115); + +/** Used to detect methods masquerading as native. */ +var maskSrcKey = (function() { + var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || ''); + return uid ? ('Symbol(src)_1.' + uid) : ''; +}()); + +/** + * Checks if `func` has its source masked. + * + * @private + * @param {Function} func The function to check. + * @returns {boolean} Returns `true` if `func` is masked, else `false`. + */ +function isMasked(func) { + return !!maskSrcKey && (maskSrcKey in func); +} + +module.exports = isMasked; + + +/***/ }), +/* 133 */ +/***/ (function(module, exports) { + +/** + * Removes all key-value entries from the list cache. + * + * @private + * @name clear + * @memberOf ListCache + */ +function listCacheClear() { + this.__data__ = []; + this.size = 0; +} + +module.exports = listCacheClear; + + +/***/ }), +/* 134 */ +/***/ (function(module, exports, __webpack_require__) { + +var assocIndexOf = __webpack_require__(12); + +/** Used for built-in method references. */ +var arrayProto = Array.prototype; + +/** Built-in value references. */ +var splice = arrayProto.splice; + +/** + * Removes `key` and its value from the list cache. + * + * @private + * @name delete + * @memberOf ListCache + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function listCacheDelete(key) { + var data = this.__data__, + index = assocIndexOf(data, key); + + if (index < 0) { + return false; + } + var lastIndex = data.length - 1; + if (index == lastIndex) { + data.pop(); + } else { + splice.call(data, index, 1); + } + --this.size; + return true; +} + +module.exports = listCacheDelete; + + +/***/ }), +/* 135 */ +/***/ (function(module, exports, __webpack_require__) { + +var assocIndexOf = __webpack_require__(12); + +/** + * Gets the list cache value for `key`. + * + * @private + * @name get + * @memberOf ListCache + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function listCacheGet(key) { + var data = this.__data__, + index = assocIndexOf(data, key); + + return index < 0 ? undefined : data[index][1]; +} + +module.exports = listCacheGet; + + +/***/ }), +/* 136 */ +/***/ (function(module, exports, __webpack_require__) { + +var assocIndexOf = __webpack_require__(12); + +/** + * Checks if a list cache value for `key` exists. + * + * @private + * @name has + * @memberOf ListCache + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function listCacheHas(key) { + return assocIndexOf(this.__data__, key) > -1; +} + +module.exports = listCacheHas; + + +/***/ }), +/* 137 */ +/***/ (function(module, exports, __webpack_require__) { + +var assocIndexOf = __webpack_require__(12); + +/** + * Sets the list cache `key` to `value`. + * + * @private + * @name set + * @memberOf ListCache + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the list cache instance. + */ +function listCacheSet(key, value) { + var data = this.__data__, + index = assocIndexOf(data, key); + + if (index < 0) { + ++this.size; + data.push([key, value]); + } else { + data[index][1] = value; + } + return this; +} + +module.exports = listCacheSet; + + +/***/ }), +/* 138 */ +/***/ (function(module, exports, __webpack_require__) { + +var Hash = __webpack_require__(84), + ListCache = __webpack_require__(10), + Map = __webpack_require__(33); + +/** + * Removes all key-value entries from the map. + * + * @private + * @name clear + * @memberOf MapCache + */ +function mapCacheClear() { + this.size = 0; + this.__data__ = { + 'hash': new Hash, + 'map': new (Map || ListCache), + 'string': new Hash + }; +} + +module.exports = mapCacheClear; + + +/***/ }), +/* 139 */ +/***/ (function(module, exports, __webpack_require__) { + +var getMapData = __webpack_require__(14); + +/** + * Removes `key` and its value from the map. + * + * @private + * @name delete + * @memberOf MapCache + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function mapCacheDelete(key) { + var result = getMapData(this, key)['delete'](key); + this.size -= result ? 1 : 0; + return result; +} + +module.exports = mapCacheDelete; + + +/***/ }), +/* 140 */ +/***/ (function(module, exports, __webpack_require__) { + +var getMapData = __webpack_require__(14); + +/** + * Gets the map value for `key`. + * + * @private + * @name get + * @memberOf MapCache + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function mapCacheGet(key) { + return getMapData(this, key).get(key); +} + +module.exports = mapCacheGet; + + +/***/ }), +/* 141 */ +/***/ (function(module, exports, __webpack_require__) { + +var getMapData = __webpack_require__(14); + +/** + * Checks if a map value for `key` exists. + * + * @private + * @name has + * @memberOf MapCache + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function mapCacheHas(key) { + return getMapData(this, key).has(key); +} + +module.exports = mapCacheHas; + + +/***/ }), +/* 142 */ +/***/ (function(module, exports, __webpack_require__) { + +var getMapData = __webpack_require__(14); + +/** + * Sets the map `key` to `value`. + * + * @private + * @name set + * @memberOf MapCache + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the map cache instance. + */ +function mapCacheSet(key, value) { + var data = getMapData(this, key), + size = data.size; + + data.set(key, value); + this.size += data.size == size ? 0 : 1; + return this; +} + +module.exports = mapCacheSet; + + +/***/ }), +/* 143 */ +/***/ (function(module, exports, __webpack_require__) { + +var memoize = __webpack_require__(161); + +/** Used as the maximum memoize cache size. */ +var MAX_MEMOIZE_SIZE = 500; + +/** + * A specialized version of `_.memoize` which clears the memoized function's + * cache when it exceeds `MAX_MEMOIZE_SIZE`. + * + * @private + * @param {Function} func The function to have its output memoized. + * @returns {Function} Returns the new memoized function. + */ +function memoizeCapped(func) { + var result = memoize(func, function(key) { + if (cache.size === MAX_MEMOIZE_SIZE) { + cache.clear(); + } + return key; + }); + + var cache = result.cache; + return result; +} + +module.exports = memoizeCapped; + + +/***/ }), +/* 144 */ +/***/ (function(module, exports) { + +/** + * This function is like + * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) + * except that it includes inherited enumerable properties. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + */ +function nativeKeysIn(object) { + var result = []; + if (object != null) { + for (var key in Object(object)) { + result.push(key); + } + } + return result; +} + +module.exports = nativeKeysIn; + + +/***/ }), +/* 145 */ +/***/ (function(module, exports, __webpack_require__) { + +/* WEBPACK VAR INJECTION */(function(module) {var freeGlobal = __webpack_require__(38); + +/** Detect free variable `exports`. */ +var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports; + +/** Detect free variable `module`. */ +var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; + +/** Detect the popular CommonJS extension `module.exports`. */ +var moduleExports = freeModule && freeModule.exports === freeExports; + +/** Detect free variable `process` from Node.js. */ +var freeProcess = moduleExports && freeGlobal.process; + +/** Used to access faster Node.js helpers. */ +var nodeUtil = (function() { + try { + return freeProcess && freeProcess.binding && freeProcess.binding('util'); + } catch (e) {} +}()); + +module.exports = nodeUtil; + +/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(29)(module))) + +/***/ }), +/* 146 */ +/***/ (function(module, exports) { + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ +var nativeObjectToString = objectProto.toString; + +/** + * Converts `value` to a string using `Object.prototype.toString`. + * + * @private + * @param {*} value The value to convert. + * @returns {string} Returns the converted string. + */ +function objectToString(value) { + return nativeObjectToString.call(value); +} + +module.exports = objectToString; + + +/***/ }), +/* 147 */ +/***/ (function(module, exports) { + +/** + * Creates a unary function that invokes `func` with its argument transformed. + * + * @private + * @param {Function} func The function to wrap. + * @param {Function} transform The argument transform. + * @returns {Function} Returns the new function. + */ +function overArg(func, transform) { + return function(arg) { + return func(transform(arg)); + }; +} + +module.exports = overArg; + + +/***/ }), +/* 148 */ +/***/ (function(module, exports) { + +/** Used to detect hot functions by number of calls within a span of milliseconds. */ +var HOT_COUNT = 800, + HOT_SPAN = 16; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeNow = Date.now; + +/** + * Creates a function that'll short out and invoke `identity` instead + * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN` + * milliseconds. + * + * @private + * @param {Function} func The function to restrict. + * @returns {Function} Returns the new shortable function. + */ +function shortOut(func) { + var count = 0, + lastCalled = 0; + + return function() { + var stamp = nativeNow(), + remaining = HOT_SPAN - (stamp - lastCalled); + + lastCalled = stamp; + if (remaining > 0) { + if (++count >= HOT_COUNT) { + return arguments[0]; + } + } else { + count = 0; + } + return func.apply(undefined, arguments); + }; +} + +module.exports = shortOut; + + +/***/ }), +/* 149 */ +/***/ (function(module, exports, __webpack_require__) { + +var ListCache = __webpack_require__(10); + +/** + * Removes all key-value entries from the stack. + * + * @private + * @name clear + * @memberOf Stack + */ +function stackClear() { + this.__data__ = new ListCache; + this.size = 0; +} + +module.exports = stackClear; + + +/***/ }), +/* 150 */ +/***/ (function(module, exports) { + +/** + * Removes `key` and its value from the stack. + * + * @private + * @name delete + * @memberOf Stack + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function stackDelete(key) { + var data = this.__data__, + result = data['delete'](key); + + this.size = data.size; + return result; +} + +module.exports = stackDelete; + + +/***/ }), +/* 151 */ +/***/ (function(module, exports) { + +/** + * Gets the stack value for `key`. + * + * @private + * @name get + * @memberOf Stack + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function stackGet(key) { + return this.__data__.get(key); +} + +module.exports = stackGet; + + +/***/ }), +/* 152 */ +/***/ (function(module, exports) { + +/** + * Checks if a stack value for `key` exists. + * + * @private + * @name has + * @memberOf Stack + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function stackHas(key) { + return this.__data__.has(key); +} + +module.exports = stackHas; + + +/***/ }), +/* 153 */ +/***/ (function(module, exports, __webpack_require__) { + +var ListCache = __webpack_require__(10), + Map = __webpack_require__(33), + MapCache = __webpack_require__(34); + +/** Used as the size to enable large array optimizations. */ +var LARGE_ARRAY_SIZE = 200; + +/** + * Sets the stack `key` to `value`. + * + * @private + * @name set + * @memberOf Stack + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the stack cache instance. + */ +function stackSet(key, value) { + var data = this.__data__; + if (data instanceof ListCache) { + var pairs = data.__data__; + if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) { + pairs.push([key, value]); + this.size = ++data.size; + return this; + } + data = this.__data__ = new MapCache(pairs); + } + data.set(key, value); + this.size = data.size; + return this; +} + +module.exports = stackSet; + + +/***/ }), +/* 154 */ +/***/ (function(module, exports, __webpack_require__) { + +var memoizeCapped = __webpack_require__(143); + +/** Used to match property names within property paths. */ +var reLeadingDot = /^\./, + rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g; + +/** Used to match backslashes in property paths. */ +var reEscapeChar = /\\(\\)?/g; + +/** + * Converts `string` to a property path array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the property path array. + */ +var stringToPath = memoizeCapped(function(string) { + var result = []; + if (reLeadingDot.test(string)) { + result.push(''); + } + string.replace(rePropName, function(match, number, quote, string) { + result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match)); + }); + return result; +}); + +module.exports = stringToPath; + + +/***/ }), +/* 155 */ +/***/ (function(module, exports) { + +/** Used for built-in method references. */ +var funcProto = Function.prototype; + +/** Used to resolve the decompiled source of functions. */ +var funcToString = funcProto.toString; + +/** + * Converts `func` to its source code. + * + * @private + * @param {Function} func The function to convert. + * @returns {string} Returns the source code. + */ +function toSource(func) { + if (func != null) { + try { + return funcToString.call(func); + } catch (e) {} + try { + return (func + ''); + } catch (e) {} + } + return ''; +} + +module.exports = toSource; + + +/***/ }), +/* 156 */ +/***/ (function(module, exports) { + +/** + * Creates a function that returns `value`. + * + * @static + * @memberOf _ + * @since 2.4.0 + * @category Util + * @param {*} value The value to return from the new function. + * @returns {Function} Returns the new constant function. + * @example + * + * var objects = _.times(2, _.constant({ 'a': 1 })); + * + * console.log(objects); + * // => [{ 'a': 1 }, { 'a': 1 }] + * + * console.log(objects[0] === objects[1]); + * // => true + */ +function constant(value) { + return function() { + return value; + }; +} + +module.exports = constant; + + +/***/ }), +/* 157 */ +/***/ (function(module, exports, __webpack_require__) { + +var baseFlatten = __webpack_require__(92); + +/** + * Flattens `array` a single level deep. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to flatten. + * @returns {Array} Returns the new flattened array. + * @example + * + * _.flatten([1, [2, [3, [4]], 5]]); + * // => [1, 2, [3, [4]], 5] + */ +function flatten(array) { + var length = array == null ? 0 : array.length; + return length ? baseFlatten(array, 1) : []; +} + +module.exports = flatten; + + +/***/ }), +/* 158 */ +/***/ (function(module, exports, __webpack_require__) { + +var baseHasIn = __webpack_require__(95), + hasPath = __webpack_require__(121); + +/** + * Checks if `path` is a direct or inherited property of `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path to check. + * @returns {boolean} Returns `true` if `path` exists, else `false`. + * @example + * + * var object = _.create({ 'a': _.create({ 'b': 2 }) }); + * + * _.hasIn(object, 'a'); + * // => true + * + * _.hasIn(object, 'a.b'); + * // => true + * + * _.hasIn(object, ['a', 'b']); + * // => true + * + * _.hasIn(object, 'b'); + * // => false + */ +function hasIn(object, path) { + return object != null && hasPath(object, path, baseHasIn); +} + +module.exports = hasIn; + + +/***/ }), +/* 159 */ +/***/ (function(module, exports, __webpack_require__) { + +var isArrayLike = __webpack_require__(24), + isObjectLike = __webpack_require__(6); + +/** + * This method is like `_.isArrayLike` except that it also checks if `value` + * is an object. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array-like object, + * else `false`. + * @example + * + * _.isArrayLikeObject([1, 2, 3]); + * // => true + * + * _.isArrayLikeObject(document.body.children); + * // => true + * + * _.isArrayLikeObject('abc'); + * // => false + * + * _.isArrayLikeObject(_.noop); + * // => false + */ +function isArrayLikeObject(value) { + return isObjectLike(value) && isArrayLike(value); +} + +module.exports = isArrayLikeObject; + + +/***/ }), +/* 160 */ +/***/ (function(module, exports, __webpack_require__) { + +var baseGetTag = __webpack_require__(8), + getPrototype = __webpack_require__(39), + isObjectLike = __webpack_require__(6); + +/** `Object#toString` result references. */ +var objectTag = '[object Object]'; + +/** Used for built-in method references. */ +var funcProto = Function.prototype, + objectProto = Object.prototype; + +/** Used to resolve the decompiled source of functions. */ +var funcToString = funcProto.toString; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** Used to infer the `Object` constructor. */ +var objectCtorString = funcToString.call(Object); + +/** + * Checks if `value` is a plain object, that is, an object created by the + * `Object` constructor or one with a `[[Prototype]]` of `null`. + * + * @static + * @memberOf _ + * @since 0.8.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a plain object, else `false`. + * @example + * + * function Foo() { + * this.a = 1; + * } + * + * _.isPlainObject(new Foo); + * // => false + * + * _.isPlainObject([1, 2, 3]); + * // => false + * + * _.isPlainObject({ 'x': 0, 'y': 0 }); + * // => true + * + * _.isPlainObject(Object.create(null)); + * // => true + */ +function isPlainObject(value) { + if (!isObjectLike(value) || baseGetTag(value) != objectTag) { + return false; + } + var proto = getPrototype(value); + if (proto === null) { + return true; + } + var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor; + return typeof Ctor == 'function' && Ctor instanceof Ctor && + funcToString.call(Ctor) == objectCtorString; +} + +module.exports = isPlainObject; + + +/***/ }), +/* 161 */ +/***/ (function(module, exports, __webpack_require__) { + +var MapCache = __webpack_require__(34); + +/** Error message constants. */ +var FUNC_ERROR_TEXT = 'Expected a function'; + +/** + * Creates a function that memoizes the result of `func`. If `resolver` is + * provided, it determines the cache key for storing the result based on the + * arguments provided to the memoized function. By default, the first argument + * provided to the memoized function is used as the map cache key. The `func` + * is invoked with the `this` binding of the memoized function. + * + * **Note:** The cache is exposed as the `cache` property on the memoized + * function. Its creation may be customized by replacing the `_.memoize.Cache` + * constructor with one whose instances implement the + * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object) + * method interface of `clear`, `delete`, `get`, `has`, and `set`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to have its output memoized. + * @param {Function} [resolver] The function to resolve the cache key. + * @returns {Function} Returns the new memoized function. + * @example + * + * var object = { 'a': 1, 'b': 2 }; + * var other = { 'c': 3, 'd': 4 }; + * + * var values = _.memoize(_.values); + * values(object); + * // => [1, 2] + * + * values(other); + * // => [3, 4] + * + * object.a = 2; + * values(object); + * // => [1, 2] + * + * // Modify the result cache. + * values.cache.set(object, ['a', 'b']); + * values(object); + * // => ['a', 'b'] + * + * // Replace `_.memoize.Cache`. + * _.memoize.Cache = WeakMap; + */ +function memoize(func, resolver) { + if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) { + throw new TypeError(FUNC_ERROR_TEXT); + } + var memoized = function() { + var args = arguments, + key = resolver ? resolver.apply(this, args) : args[0], + cache = memoized.cache; + + if (cache.has(key)) { + return cache.get(key); + } + var result = func.apply(this, args); + memoized.cache = cache.set(key, result) || cache; + return result; + }; + memoized.cache = new (memoize.Cache || MapCache); + return memoized; +} + +// Expose `MapCache`. +memoize.Cache = MapCache; + +module.exports = memoize; + + +/***/ }), +/* 162 */ +/***/ (function(module, exports, __webpack_require__) { + +var basePick = __webpack_require__(102), + flatRest = __webpack_require__(118); + +/** + * Creates an object composed of the picked `object` properties. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The source object. + * @param {...(string|string[])} [paths] The property paths to pick. + * @returns {Object} Returns the new object. + * @example + * + * var object = { 'a': 1, 'b': '2', 'c': 3 }; + * + * _.pick(object, ['a', 'c']); + * // => { 'a': 1, 'c': 3 } + */ +var pick = flatRest(function(object, paths) { + return object == null ? {} : basePick(object, paths); +}); + +module.exports = pick; + + +/***/ }), +/* 163 */ +/***/ (function(module, exports) { + +/** + * This method returns `false`. + * + * @static + * @memberOf _ + * @since 4.13.0 + * @category Util + * @returns {boolean} Returns `false`. + * @example + * + * _.times(2, _.stubFalse); + * // => [false, false] + */ +function stubFalse() { + return false; +} + +module.exports = stubFalse; + + +/***/ }), +/* 164 */ +/***/ (function(module, exports, __webpack_require__) { + +var copyObject = __webpack_require__(114), + keysIn = __webpack_require__(46); + +/** + * Converts `value` to a plain object flattening inherited enumerable string + * keyed properties of `value` to own properties of the plain object. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {Object} Returns the converted plain object. + * @example + * + * function Foo() { + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.assign({ 'a': 1 }, new Foo); + * // => { 'a': 1, 'b': 2 } + * + * _.assign({ 'a': 1 }, _.toPlainObject(new Foo)); + * // => { 'a': 1, 'b': 2, 'c': 3 } + */ +function toPlainObject(value) { + return copyObject(value, keysIn(value)); +} + +module.exports = toPlainObject; + + +/***/ }), +/* 165 */ +/***/ (function(module, exports, __webpack_require__) { + +var baseToString = __webpack_require__(108); + +/** + * Converts `value` to a string. An empty string is returned for `null` + * and `undefined` values. The sign of `-0` is preserved. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {string} Returns the converted string. + * @example + * + * _.toString(null); + * // => '' + * + * _.toString(-0); + * // => '-0' + * + * _.toString([1, 2, 3]); + * // => '1,2,3' + */ +function toString(value) { + return value == null ? '' : baseToString(value); +} + +module.exports = toString; + + +/***/ }), +/* 166 */ +/***/ (function(module, exports, __webpack_require__) { + +module.exports = __webpack_require__(48); + + +/***/ }) +/******/ ]) +}); +; +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vd2VicGFjay9teU1vZHVsZURlZmluaXRpb24iLCJ3ZWJwYWNrOi8vL3dlYnBhY2svYm9vdHN0cmFwIDc1NjBjYzQ5MjcyMzFiMmUzNzg5Iiwid2VicGFjazovLy8uL34vbG9kYXNoL2lzT2JqZWN0LmpzIiwid2VicGFjazovLy8uL3NyYy9yZWFkZXIvYmFyY29kZV9yZWFkZXIuanMiLCJ3ZWJwYWNrOi8vLy4vfi9sb2Rhc2gvaXNBcnJheS5qcyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tbW9uL2FycmF5X2hlbHBlci5qcyIsIndlYnBhY2s6Ly8vLi9zcmMvcmVhZGVyL2Vhbl9yZWFkZXIuanMiLCJ3ZWJwYWNrOi8vLy4vfi9sb2Rhc2gvX3Jvb3QuanMiLCJ3ZWJwYWNrOi8vLy4vfi9sb2Rhc2gvaXNPYmplY3RMaWtlLmpzIiwid2VicGFjazovLy8uL34vZ2wtdmVjMi9jbG9uZS5qcyIsIndlYnBhY2s6Ly8vLi9+L2xvZGFzaC9fYmFzZUdldFRhZy5qcyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tbW9uL2ltYWdlX2RlYnVnLmpzIiwid2VicGFjazovLy8uL34vbG9kYXNoL19MaXN0Q2FjaGUuanMiLCJ3ZWJwYWNrOi8vLy4vfi9sb2Rhc2gvX1N5bWJvbC5qcyIsIndlYnBhY2s6Ly8vLi9+L2xvZGFzaC9fYXNzb2NJbmRleE9mLmpzIiwid2VicGFjazovLy8uL34vbG9kYXNoL19jYXN0UGF0aC5qcyIsIndlYnBhY2s6Ly8vLi9+L2xvZGFzaC9fZ2V0TWFwRGF0YS5qcyIsIndlYnBhY2s6Ly8vLi9+L2xvZGFzaC9faXNJbmRleC5qcyIsIndlYnBhY2s6Ly8vLi9+L2xvZGFzaC9fbmF0aXZlQ3JlYXRlLmpzIiwid2VicGFjazovLy8uL34vbG9kYXNoL2VxLmpzIiwid2VicGFjazovLy8uL34vbG9kYXNoL2lzQXJndW1lbnRzLmpzIiwid2VicGFjazovLy8uL3NyYy9jb21tb24vY3ZfdXRpbHMuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbW1vbi9pbWFnZV93cmFwcGVyLmpzIiwid2VicGFjazovLy8uL34vbG9kYXNoL19iYXNlQXNzaWduVmFsdWUuanMiLCJ3ZWJwYWNrOi8vLy4vfi9sb2Rhc2gvX2dldE5hdGl2ZS5qcyIsIndlYnBhY2s6Ly8vLi9+L2xvZGFzaC9fdG9LZXkuanMiLCJ3ZWJwYWNrOi8vLy4vfi9sb2Rhc2gvaXNBcnJheUxpa2UuanMiLCJ3ZWJwYWNrOi8vLy4vfi9sb2Rhc2gvaXNGdW5jdGlvbi5qcyIsIndlYnBhY2s6Ly8vLi9+L2xvZGFzaC9pc0xlbmd0aC5qcyIsIndlYnBhY2s6Ly8vLi9+L2xvZGFzaC9pc1N5bWJvbC5qcyIsIndlYnBhY2s6Ly8vLi9+L2xvZGFzaC9tZXJnZS5qcyIsIndlYnBhY2s6Ly8vKHdlYnBhY2spL2J1aWxkaW4vbW9kdWxlLmpzIiwid2VicGFjazovLy8uL3NyYy9sb2NhdG9yL3RyYWNlci5qcyIsIndlYnBhY2s6Ly8vLi9zcmMvcmVhZGVyL2NvZGVfMzlfcmVhZGVyLmpzIiwid2VicGFjazovLy8uL34vZ2wtdmVjMi9kb3QuanMiLCJ3ZWJwYWNrOi8vLy4vfi9sb2Rhc2gvX01hcC5qcyIsIndlYnBhY2s6Ly8vLi9+L2xvZGFzaC9fTWFwQ2FjaGUuanMiLCJ3ZWJwYWNrOi8vLy4vfi9sb2Rhc2gvX2Fzc2lnbk1lcmdlVmFsdWUuanMiLCJ3ZWJwYWNrOi8vLy4vfi9sb2Rhc2gvX2Fzc2lnblZhbHVlLmpzIiwid2VicGFjazovLy8uL34vbG9kYXNoL19kZWZpbmVQcm9wZXJ0eS5qcyIsIndlYnBhY2s6Ly8vLi9+L2xvZGFzaC9fZnJlZUdsb2JhbC5qcyIsIndlYnBhY2s6Ly8vLi9+L2xvZGFzaC9fZ2V0UHJvdG90eXBlLmpzIiwid2VicGFjazovLy8uL34vbG9kYXNoL19pc1Byb3RvdHlwZS5qcyIsIndlYnBhY2s6Ly8vLi9+L2xvZGFzaC9fb3ZlclJlc3QuanMiLCJ3ZWJwYWNrOi8vLy4vfi9sb2Rhc2gvX3NldFRvU3RyaW5nLmpzIiwid2VicGFjazovLy8uL34vbG9kYXNoL2lkZW50aXR5LmpzIiwid2VicGFjazovLy8uL34vbG9kYXNoL2lzQnVmZmVyLmpzIiwid2VicGFjazovLy8uL34vbG9kYXNoL2lzVHlwZWRBcnJheS5qcyIsIndlYnBhY2s6Ly8vLi9+L2xvZGFzaC9rZXlzSW4uanMiLCJ3ZWJwYWNrOi8vLyh3ZWJwYWNrKS9idWlsZGluL2dsb2JhbC5qcyIsIndlYnBhY2s6Ly8vLi9zcmMvcXVhZ2dhLmpzIiwid2VicGFjazovLy8uL3NyYy9hbmFseXRpY3MvcmVzdWx0X2NvbGxlY3Rvci5qcyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tbW9uL2NsdXN0ZXIuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbW1vbi9ldmVudHMuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbW1vbi9tZWRpYURldmljZXMuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbW1vbi9zdWJJbWFnZS5qcyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tbW9uL3R5cGVkZWZzLmpzIiwid2VicGFjazovLy8uL3NyYy9jb25maWcvY29uZmlnLmRldi5qcyIsIndlYnBhY2s6Ly8vLi9zcmMvY29uZmlnL2NvbmZpZy5qcyIsIndlYnBhY2s6Ly8vLi9zcmMvZGVjb2Rlci9iYXJjb2RlX2RlY29kZXIuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2RlY29kZXIvYnJlc2VuaGFtLmpzIiwid2VicGFjazovLy8uL3NyYy9pbnB1dC9jYW1lcmFfYWNjZXNzLmpzIiwid2VicGFjazovLy8uL3NyYy9pbnB1dC9leGlmX2hlbHBlci5qcyIsIndlYnBhY2s6Ly8vLi9zcmMvaW5wdXQvZnJhbWVfZ3JhYmJlci5qcyIsIndlYnBhY2s6Ly8vLi9zcmMvaW5wdXQvaW1hZ2VfbG9hZGVyLmpzIiwid2VicGFjazovLy8uL3NyYy9pbnB1dC9pbnB1dF9zdHJlYW0uanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2xvY2F0b3IvYmFyY29kZV9sb2NhdG9yLmpzIiwid2VicGFjazovLy8uL3NyYy9sb2NhdG9yL3Jhc3Rlcml6ZXIuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2xvY2F0b3Ivc2tlbGV0b25pemVyLmpzIiwid2VicGFjazovLy8uL3NyYy9yZWFkZXIvMm9mNV9yZWFkZXIuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL3JlYWRlci9jb2RhYmFyX3JlYWRlci5qcyIsIndlYnBhY2s6Ly8vLi9zcmMvcmVhZGVyL2NvZGVfMTI4X3JlYWRlci5qcyIsIndlYnBhY2s6Ly8vLi9zcmMvcmVhZGVyL2NvZGVfMzlfdmluX3JlYWRlci5qcyIsIndlYnBhY2s6Ly8vLi9zcmMvcmVhZGVyL2NvZGVfOTNfcmVhZGVyLmpzIiwid2VicGFjazovLy8uL3NyYy9yZWFkZXIvZWFuXzJfcmVhZGVyLmpzIiwid2VicGFjazovLy8uL3NyYy9yZWFkZXIvZWFuXzVfcmVhZGVyLmpzIiwid2VicGFjazovLy8uL3NyYy9yZWFkZXIvZWFuXzhfcmVhZGVyLmpzIiwid2VicGFjazovLy8uL3NyYy9yZWFkZXIvaTJvZjVfcmVhZGVyLmpzIiwid2VicGFjazovLy8uL3NyYy9yZWFkZXIvdXBjX2VfcmVhZGVyLmpzIiwid2VicGFjazovLy8uL3NyYy9yZWFkZXIvdXBjX3JlYWRlci5qcyIsIndlYnBhY2s6Ly8vLi9+L2dsLW1hdDIvY29weS5qcyIsIndlYnBhY2s6Ly8vLi9+L2dsLW1hdDIvY3JlYXRlLmpzIiwid2VicGFjazovLy8uL34vZ2wtbWF0Mi9pbnZlcnQuanMiLCJ3ZWJwYWNrOi8vLy4vfi9nbC12ZWMyL3NjYWxlLmpzIiwid2VicGFjazovLy8uL34vZ2wtdmVjMi90cmFuc2Zvcm1NYXQyLmpzIiwid2VicGFjazovLy8uL34vZ2wtdmVjMy9jbG9uZS5qcyIsIndlYnBhY2s6Ly8vLi9+L2xvZGFzaC9fSGFzaC5qcyIsIndlYnBhY2s6Ly8vLi9+L2xvZGFzaC9fU3RhY2suanMiLCJ3ZWJwYWNrOi8vLy4vfi9sb2Rhc2gvX1VpbnQ4QXJyYXkuanMiLCJ3ZWJwYWNrOi8vLy4vfi9sb2Rhc2gvX2FwcGx5LmpzIiwid2VicGFjazovLy8uL34vbG9kYXNoL19hcnJheUxpa2VLZXlzLmpzIiwid2VicGFjazovLy8uL34vbG9kYXNoL19hcnJheU1hcC5qcyIsIndlYnBhY2s6Ly8vLi9+L2xvZGFzaC9fYXJyYXlQdXNoLmpzIiwid2VicGFjazovLy8uL34vbG9kYXNoL19iYXNlQ3JlYXRlLmpzIiwid2VicGFjazovLy8uL34vbG9kYXNoL19iYXNlRmxhdHRlbi5qcyIsIndlYnBhY2s6Ly8vLi9+L2xvZGFzaC9fYmFzZUZvci5qcyIsIndlYnBhY2s6Ly8vLi9+L2xvZGFzaC9fYmFzZUdldC5qcyIsIndlYnBhY2s6Ly8vLi9+L2xvZGFzaC9fYmFzZUhhc0luLmpzIiwid2VicGFjazovLy8uL34vbG9kYXNoL19iYXNlSXNBcmd1bWVudHMuanMiLCJ3ZWJwYWNrOi8vLy4vfi9sb2Rhc2gvX2Jhc2VJc05hdGl2ZS5qcyIsIndlYnBhY2s6Ly8vLi9+L2xvZGFzaC9fYmFzZUlzVHlwZWRBcnJheS5qcyIsIndlYnBhY2s6Ly8vLi9+L2xvZGFzaC9fYmFzZUtleXNJbi5qcyIsIndlYnBhY2s6Ly8vLi9+L2xvZGFzaC9fYmFzZU1lcmdlLmpzIiwid2VicGFjazovLy8uL34vbG9kYXNoL19iYXNlTWVyZ2VEZWVwLmpzIiwid2VicGFjazovLy8uL34vbG9kYXNoL19iYXNlUGljay5qcyIsIndlYnBhY2s6Ly8vLi9+L2xvZGFzaC9fYmFzZVBpY2tCeS5qcyIsIndlYnBhY2s6Ly8vLi9+L2xvZGFzaC9fYmFzZVJlc3QuanMiLCJ3ZWJwYWNrOi8vLy4vfi9sb2Rhc2gvX2Jhc2VTZXQuanMiLCJ3ZWJwYWNrOi8vLy4vfi9sb2Rhc2gvX2Jhc2VTZXRUb1N0cmluZy5qcyIsIndlYnBhY2s6Ly8vLi9+L2xvZGFzaC9fYmFzZVRpbWVzLmpzIiwid2VicGFjazovLy8uL34vbG9kYXNoL19iYXNlVG9TdHJpbmcuanMiLCJ3ZWJwYWNrOi8vLy4vfi9sb2Rhc2gvX2Jhc2VVbmFyeS5qcyIsIndlYnBhY2s6Ly8vLi9+L2xvZGFzaC9fY2xvbmVBcnJheUJ1ZmZlci5qcyIsIndlYnBhY2s6Ly8vLi9+L2xvZGFzaC9fY2xvbmVCdWZmZXIuanMiLCJ3ZWJwYWNrOi8vLy4vfi9sb2Rhc2gvX2Nsb25lVHlwZWRBcnJheS5qcyIsIndlYnBhY2s6Ly8vLi9+L2xvZGFzaC9fY29weUFycmF5LmpzIiwid2VicGFjazovLy8uL34vbG9kYXNoL19jb3B5T2JqZWN0LmpzIiwid2VicGFjazovLy8uL34vbG9kYXNoL19jb3JlSnNEYXRhLmpzIiwid2VicGFjazovLy8uL34vbG9kYXNoL19jcmVhdGVBc3NpZ25lci5qcyIsIndlYnBhY2s6Ly8vLi9+L2xvZGFzaC9fY3JlYXRlQmFzZUZvci5qcyIsIndlYnBhY2s6Ly8vLi9+L2xvZGFzaC9fZmxhdFJlc3QuanMiLCJ3ZWJwYWNrOi8vLy4vfi9sb2Rhc2gvX2dldFJhd1RhZy5qcyIsIndlYnBhY2s6Ly8vLi9+L2xvZGFzaC9fZ2V0VmFsdWUuanMiLCJ3ZWJwYWNrOi8vLy4vfi9sb2Rhc2gvX2hhc1BhdGguanMiLCJ3ZWJwYWNrOi8vLy4vfi9sb2Rhc2gvX2hhc2hDbGVhci5qcyIsIndlYnBhY2s6Ly8vLi9+L2xvZGFzaC9faGFzaERlbGV0ZS5qcyIsIndlYnBhY2s6Ly8vLi9+L2xvZGFzaC9faGFzaEdldC5qcyIsIndlYnBhY2s6Ly8vLi9+L2xvZGFzaC9faGFzaEhhcy5qcyIsIndlYnBhY2s6Ly8vLi9+L2xvZGFzaC9faGFzaFNldC5qcyIsIndlYnBhY2s6Ly8vLi9+L2xvZGFzaC9faW5pdENsb25lT2JqZWN0LmpzIiwid2VicGFjazovLy8uL34vbG9kYXNoL19pc0ZsYXR0ZW5hYmxlLmpzIiwid2VicGFjazovLy8uL34vbG9kYXNoL19pc0l0ZXJhdGVlQ2FsbC5qcyIsIndlYnBhY2s6Ly8vLi9+L2xvZGFzaC9faXNLZXkuanMiLCJ3ZWJwYWNrOi8vLy4vfi9sb2Rhc2gvX2lzS2V5YWJsZS5qcyIsIndlYnBhY2s6Ly8vLi9+L2xvZGFzaC9faXNNYXNrZWQuanMiLCJ3ZWJwYWNrOi8vLy4vfi9sb2Rhc2gvX2xpc3RDYWNoZUNsZWFyLmpzIiwid2VicGFjazovLy8uL34vbG9kYXNoL19saXN0Q2FjaGVEZWxldGUuanMiLCJ3ZWJwYWNrOi8vLy4vfi9sb2Rhc2gvX2xpc3RDYWNoZUdldC5qcyIsIndlYnBhY2s6Ly8vLi9+L2xvZGFzaC9fbGlzdENhY2hlSGFzLmpzIiwid2VicGFjazovLy8uL34vbG9kYXNoL19saXN0Q2FjaGVTZXQuanMiLCJ3ZWJwYWNrOi8vLy4vfi9sb2Rhc2gvX21hcENhY2hlQ2xlYXIuanMiLCJ3ZWJwYWNrOi8vLy4vfi9sb2Rhc2gvX21hcENhY2hlRGVsZXRlLmpzIiwid2VicGFjazovLy8uL34vbG9kYXNoL19tYXBDYWNoZUdldC5qcyIsIndlYnBhY2s6Ly8vLi9+L2xvZGFzaC9fbWFwQ2FjaGVIYXMuanMiLCJ3ZWJwYWNrOi8vLy4vfi9sb2Rhc2gvX21hcENhY2hlU2V0LmpzIiwid2VicGFjazovLy8uL34vbG9kYXNoL19tZW1vaXplQ2FwcGVkLmpzIiwid2VicGFjazovLy8uL34vbG9kYXNoL19uYXRpdmVLZXlzSW4uanMiLCJ3ZWJwYWNrOi8vLy4vfi9sb2Rhc2gvX25vZGVVdGlsLmpzIiwid2VicGFjazovLy8uL34vbG9kYXNoL19vYmplY3RUb1N0cmluZy5qcyIsIndlYnBhY2s6Ly8vLi9+L2xvZGFzaC9fb3ZlckFyZy5qcyIsIndlYnBhY2s6Ly8vLi9+L2xvZGFzaC9fc2hvcnRPdXQuanMiLCJ3ZWJwYWNrOi8vLy4vfi9sb2Rhc2gvX3N0YWNrQ2xlYXIuanMiLCJ3ZWJwYWNrOi8vLy4vfi9sb2Rhc2gvX3N0YWNrRGVsZXRlLmpzIiwid2VicGFjazovLy8uL34vbG9kYXNoL19zdGFja0dldC5qcyIsIndlYnBhY2s6Ly8vLi9+L2xvZGFzaC9fc3RhY2tIYXMuanMiLCJ3ZWJwYWNrOi8vLy4vfi9sb2Rhc2gvX3N0YWNrU2V0LmpzIiwid2VicGFjazovLy8uL34vbG9kYXNoL19zdHJpbmdUb1BhdGguanMiLCJ3ZWJwYWNrOi8vLy4vfi9sb2Rhc2gvX3RvU291cmNlLmpzIiwid2VicGFjazovLy8uL34vbG9kYXNoL2NvbnN0YW50LmpzIiwid2VicGFjazovLy8uL34vbG9kYXNoL2ZsYXR0ZW4uanMiLCJ3ZWJwYWNrOi8vLy4vfi9sb2Rhc2gvaGFzSW4uanMiLCJ3ZWJwYWNrOi8vLy4vfi9sb2Rhc2gvaXNBcnJheUxpa2VPYmplY3QuanMiLCJ3ZWJwYWNrOi8vLy4vfi9sb2Rhc2gvaXNQbGFpbk9iamVjdC5qcyIsIndlYnBhY2s6Ly8vLi9+L2xvZGFzaC9tZW1vaXplLmpzIiwid2VicGFjazovLy8uL34vbG9kYXNoL3BpY2suanMiLCJ3ZWJwYWNrOi8vLy4vfi9sb2Rhc2gvc3R1YkZhbHNlLmpzIiwid2VicGFjazovLy8uL34vbG9kYXNoL3RvUGxhaW5PYmplY3QuanMiLCJ3ZWJwYWNrOi8vLy4vfi9sb2Rhc2gvdG9TdHJpbmcuanMiXSwibmFtZXMiOlsiQmFyY29kZVJlYWRlciIsImNvbmZpZyIsInN1cHBsZW1lbnRzIiwiX3JvdyIsInByb3RvdHlwZSIsIl9uZXh0VW5zZXQiLCJsaW5lIiwic3RhcnQiLCJpIiwidW5kZWZpbmVkIiwibGVuZ3RoIiwiX21hdGNoUGF0dGVybiIsImNvdW50ZXIiLCJjb2RlIiwibWF4U2luZ2xlRXJyb3IiLCJlcnJvciIsInNpbmdsZUVycm9yIiwic3VtIiwibW9kdWxvIiwiYmFyV2lkdGgiLCJjb3VudCIsInNjYWxlZCIsIlNJTkdMRV9DT0RFX0VSUk9SIiwiTnVtYmVyIiwiTUFYX1ZBTFVFIiwiTWF0aCIsImFicyIsIl9uZXh0U2V0Iiwib2Zmc2V0IiwiX2NvcnJlY3RCYXJzIiwiY29ycmVjdGlvbiIsImluZGljZXMiLCJ0bXAiLCJfbWF0Y2hUcmFjZSIsImNtcENvdW50ZXIiLCJlcHNpbG9uIiwic2VsZiIsImlzV2hpdGUiLCJjb3VudGVyUG9zIiwiYmVzdE1hdGNoIiwicHVzaCIsImVuZCIsImRlY29kZVBhdHRlcm4iLCJwYXR0ZXJuIiwicmVzdWx0IiwiX2RlY29kZSIsInJldmVyc2UiLCJkaXJlY3Rpb24iLCJESVJFQ1RJT04iLCJSRVZFUlNFIiwiRk9SV0FSRCIsImZvcm1hdCIsIkZPUk1BVCIsIl9tYXRjaFJhbmdlIiwidmFsdWUiLCJfZmlsbENvdW50ZXJzIiwiY291bnRlcnMiLCJfdG9Db3VudGVycyIsIm51bUNvdW50ZXJzIiwiQXJyYXlIZWxwZXIiLCJpbml0IiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJ3cml0ZWFibGUiLCJFeGNlcHRpb24iLCJTdGFydE5vdEZvdW5kRXhjZXB0aW9uIiwiQ29kZU5vdEZvdW5kRXhjZXB0aW9uIiwiUGF0dGVybk5vdEZvdW5kRXhjZXB0aW9uIiwiQ09ORklHX0tFWVMiLCJhcnIiLCJ2YWwiLCJsIiwic2h1ZmZsZSIsImoiLCJ4IiwiZmxvb3IiLCJyYW5kb20iLCJ0b1BvaW50TGlzdCIsInJvdyIsInJvd3MiLCJqb2luIiwidGhyZXNob2xkIiwic2NvcmVGdW5jIiwicXVldWUiLCJhcHBseSIsIm1heEluZGV4IiwibWF4IiwiRUFOUmVhZGVyIiwib3B0cyIsImdldERlZmF1bENvbmZpZyIsImNhbGwiLCJrZXlzIiwiZm9yRWFjaCIsImtleSIsImRlZmF1bHQiLCJwcm9wZXJ0aWVzIiwiQ09ERV9MX1NUQVJUIiwiQ09ERV9HX1NUQVJUIiwiU1RBUlRfUEFUVEVSTiIsIlNUT1BfUEFUVEVSTiIsIk1JRERMRV9QQVRURVJOIiwiRVhURU5TSU9OX1NUQVJUX1BBVFRFUk4iLCJDT0RFX1BBVFRFUk4iLCJDT0RFX0ZSRVFVRU5DWSIsIkFWR19DT0RFX0VSUk9SIiwiY3JlYXRlIiwiY29uc3RydWN0b3IiLCJfZGVjb2RlQ29kZSIsImNvZGVyYW5nZSIsIl9maW5kUGF0dGVybiIsInRyeUhhcmRlciIsIl9maW5kU3RhcnQiLCJsZWFkaW5nV2hpdGVzcGFjZVN0YXJ0Iiwic3RhcnRJbmZvIiwiX3ZlcmlmeVRyYWlsaW5nV2hpdGVzcGFjZSIsImVuZEluZm8iLCJ0cmFpbGluZ1doaXRlc3BhY2VFbmQiLCJfZmluZEVuZCIsIl9jYWxjdWxhdGVGaXJzdERpZ2l0IiwiY29kZUZyZXF1ZW5jeSIsIl9kZWNvZGVQYXlsb2FkIiwiZGVjb2RlZENvZGVzIiwiZmlyc3REaWdpdCIsInVuc2hpZnQiLCJyZXN1bHRJbmZvIiwiX2NoZWNrc3VtIiwiZXh0IiwiX2RlY29kZUV4dGVuc2lvbnMiLCJsYXN0Q29kZSIsInN1cHBsZW1lbnQiLCJjb2Rlc2V0IiwiZGVjb2RlIiwiZHJhd1JlY3QiLCJwb3MiLCJzaXplIiwiY3R4Iiwic3R5bGUiLCJzdHJva2VTdHlsZSIsImNvbG9yIiwiZmlsbFN0eWxlIiwibGluZVdpZHRoIiwiYmVnaW5QYXRoIiwic3Ryb2tlUmVjdCIsInkiLCJkcmF3UGF0aCIsInBhdGgiLCJkZWYiLCJtb3ZlVG8iLCJsaW5lVG8iLCJjbG9zZVBhdGgiLCJzdHJva2UiLCJkcmF3SW1hZ2UiLCJpbWFnZURhdGEiLCJjYW52YXNEYXRhIiwiZ2V0SW1hZ2VEYXRhIiwiZGF0YSIsImltYWdlRGF0YVBvcyIsImNhbnZhc0RhdGFQb3MiLCJwdXRJbWFnZURhdGEiLCJ2ZWMyIiwiY2xvbmUiLCJyZXF1aXJlIiwidmVjMyIsImltYWdlUmVmIiwidGhhdCIsInRvVmVjMiIsInRvVmVjMyIsInJvdW5kIiwiY29tcHV0ZUludGVncmFsSW1hZ2UyIiwiaW1hZ2VXcmFwcGVyIiwiaW50ZWdyYWxXcmFwcGVyIiwid2lkdGgiLCJoZWlnaHQiLCJpbnRlZ3JhbEltYWdlRGF0YSIsInBvc0EiLCJwb3NCIiwicG9zQyIsInBvc0QiLCJjb21wdXRlSW50ZWdyYWxJbWFnZSIsInYiLCJ1IiwidGhyZXNob2xkSW1hZ2UiLCJ0YXJnZXRXcmFwcGVyIiwidGFyZ2V0RGF0YSIsImNvbXB1dGVIaXN0b2dyYW0iLCJiaXRzUGVyUGl4ZWwiLCJiaXRTaGlmdCIsImJ1Y2tldENudCIsImhpc3QiLCJJbnQzMkFycmF5Iiwic2hhcnBlbkxpbmUiLCJsZWZ0IiwiY2VudGVyIiwicmlnaHQiLCJkZXRlcm1pbmVPdHN1VGhyZXNob2xkIiwicHgiLCJteCIsImRldGVybWluZVRocmVzaG9sZCIsInZldCIsInAxIiwicDIiLCJwMTIiLCJrIiwibTEiLCJtMiIsIm0xMiIsIm90c3VUaHJlc2hvbGQiLCJjb21wdXRlQmluYXJ5SW1hZ2UiLCJrZXJuZWwiLCJBIiwiQiIsIkMiLCJEIiwiYXZnIiwiY2x1c3RlciIsInBvaW50cyIsInByb3BlcnR5IiwicG9pbnQiLCJjbHVzdGVycyIsImFkZFRvQ2x1c3RlciIsIm5ld1BvaW50IiwiZm91bmQiLCJmaXRzIiwiYWRkIiwiQ2x1c3RlcjIiLCJjcmVhdGVQb2ludCIsIlRyYWNlciIsInRyYWNlIiwidmVjIiwiaXRlcmF0aW9uIiwibWF4SXRlcmF0aW9ucyIsInRvcCIsImNlbnRlclBvcyIsImN1cnJlbnRQb3MiLCJpZHgiLCJmb3J3YXJkIiwiZnJvbSIsInRvIiwidG9JZHgiLCJwcmVkaWN0ZWRQb3MiLCJ0aHJlc2hvbGRYIiwidGhyZXNob2xkWSIsIm1hdGNoIiwicHJlZGljdGVkIiwiRElMQVRFIiwiRVJPREUiLCJkaWxhdGUiLCJpbkltYWdlV3JhcHBlciIsIm91dEltYWdlV3JhcHBlciIsImluSW1hZ2VEYXRhIiwib3V0SW1hZ2VEYXRhIiwieVN0YXJ0MSIsInlTdGFydDIiLCJ4U3RhcnQxIiwieFN0YXJ0MiIsImVyb2RlIiwic3VidHJhY3QiLCJhSW1hZ2VXcmFwcGVyIiwiYkltYWdlV3JhcHBlciIsInJlc3VsdEltYWdlV3JhcHBlciIsImFJbWFnZURhdGEiLCJiSW1hZ2VEYXRhIiwiY0ltYWdlRGF0YSIsImJpdHdpc2VPciIsImNvdW50Tm9uWmVybyIsInRvcEdlbmVyaWMiLCJsaXN0IiwibWluSWR4IiwibWluIiwic2NvcmUiLCJoaXQiLCJpdGVtIiwiZ3JheUFycmF5RnJvbUltYWdlIiwiaHRtbEltYWdlIiwib2Zmc2V0WCIsImFycmF5IiwiY3R4RGF0YSIsImNvbXB1dGVHcmF5IiwiZ3JheUFycmF5RnJvbUNvbnRleHQiLCJncmF5QW5kSGFsZlNhbXBsZUZyb21DYW52YXNEYXRhIiwib3V0QXJyYXkiLCJ0b3BSb3dJZHgiLCJib3R0b21Sb3dJZHgiLCJlbmRJZHgiLCJvdXRXaWR0aCIsIm91dEltZ0lkeCIsImluV2lkdGgiLCJzaW5nbGVDaGFubmVsIiwibG9hZEltYWdlQXJyYXkiLCJzcmMiLCJjYWxsYmFjayIsImNhbnZhcyIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsImltZyIsIkltYWdlIiwib25sb2FkIiwiZ2V0Q29udGV4dCIsIlVpbnQ4QXJyYXkiLCJoYWxmU2FtcGxlIiwiaW5JbWdXcmFwcGVyIiwib3V0SW1nV3JhcHBlciIsImluSW1nIiwib3V0SW1nIiwiaHN2MnJnYiIsImhzdiIsInJnYiIsImgiLCJzIiwiYyIsIm0iLCJyIiwiZyIsImIiLCJfY29tcHV0ZURpdmlzb3JzIiwibiIsImxhcmdlRGl2aXNvcnMiLCJkaXZpc29ycyIsInNxcnQiLCJjb25jYXQiLCJfY29tcHV0ZUludGVyc2VjdGlvbiIsImFycjEiLCJhcnIyIiwiY2FsY3VsYXRlUGF0Y2hTaXplIiwicGF0Y2hTaXplIiwiaW1nU2l6ZSIsImRpdmlzb3JzWCIsImRpdmlzb3JzWSIsIndpZGVTaWRlIiwiY29tbW9uIiwibnJPZlBhdGNoZXNMaXN0IiwibnJPZlBhdGNoZXNNYXAiLCJuck9mUGF0Y2hlc0lkeCIsIm1lZGl1bSIsIm5yT2ZQYXRjaGVzIiwiZGVzaXJlZFBhdGNoU2l6ZSIsIm9wdGltYWxQYXRjaFNpemUiLCJmaW5kUGF0Y2hTaXplRm9yRGl2aXNvcnMiLCJfcGFyc2VDU1NEaW1lbnNpb25WYWx1ZXMiLCJkaW1lbnNpb24iLCJwYXJzZUZsb2F0IiwidW5pdCIsImluZGV4T2YiLCJfZGltZW5zaW9uc0NvbnZlcnRlcnMiLCJjb250ZXh0IiwiYm90dG9tIiwiY29tcHV0ZUltYWdlQXJlYSIsImlucHV0V2lkdGgiLCJpbnB1dEhlaWdodCIsImFyZWEiLCJwYXJzZWRBcmVhIiwicmVkdWNlIiwicGFyc2VkIiwiY2FsY3VsYXRlZCIsInN4Iiwic3kiLCJzdyIsInNoIiwiSW1hZ2VXcmFwcGVyIiwiQXJyYXlUeXBlIiwiaW5pdGlhbGl6ZSIsIkFycmF5IiwiaW5JbWFnZVdpdGhCb3JkZXIiLCJpbWdSZWYiLCJib3JkZXIiLCJzYW1wbGUiLCJseCIsImx5IiwidyIsImJhc2UiLCJhIiwiZCIsImUiLCJjbGVhckFycmF5Iiwic3ViSW1hZ2UiLCJzdWJJbWFnZUFzQ29weSIsInNpemVZIiwic2l6ZVgiLCJjb3B5VG8iLCJzcmNEYXRhIiwiZHN0RGF0YSIsImdldCIsImdldFNhZmUiLCJpbmRleE1hcHBpbmciLCJzZXQiLCJ6ZXJvQm9yZGVyIiwiaW52ZXJ0IiwiY29udm9sdmUiLCJreCIsImt5Iiwia1NpemUiLCJhY2N1IiwibW9tZW50cyIsImxhYmVsY291bnQiLCJ5c3EiLCJsYWJlbHN1bSIsImxhYmVsIiwibXUxMSIsIm11MDIiLCJtdTIwIiwieF8iLCJ5XyIsIlBJIiwiUElfNCIsIm0wMCIsIm0wMSIsIm0xMCIsIm0xMSIsIm0wMiIsIm0yMCIsInRoZXRhIiwicmFkIiwiaXNOYU4iLCJhdGFuIiwiY29zIiwic2luIiwic2hvdyIsInNjYWxlIiwiZnJhbWUiLCJjdXJyZW50IiwicGl4ZWwiLCJvdmVybGF5Iiwid2hpdGVSZ2IiLCJibGFja1JnYiIsInNlYXJjaERpcmVjdGlvbnMiLCJsYWJlbFdyYXBwZXIiLCJsYWJlbERhdGEiLCJlZGdlbGFiZWwiLCJjeSIsImRpciIsImN4IiwidmVydGV4MkQiLCJuZXh0IiwicHJldiIsImNvbnRvdXJUcmFjaW5nIiwiRnYiLCJDdiIsIlAiLCJsZGlyIiwiQ29kZTM5UmVhZGVyIiwiQUxQSEFCRVRIX1NUUklORyIsIkFMUEhBQkVUIiwiQ0hBUkFDVEVSX0VOQ09ESU5HUyIsIkFTVEVSSVNLIiwiZGVjb2RlZENoYXIiLCJsYXN0U3RhcnQiLCJuZXh0U3RhcnQiLCJfdG9QYXR0ZXJuIiwiX3BhdHRlcm5Ub0NoYXIiLCJwb3AiLCJwYXR0ZXJuU2l6ZSIsIlN0cmluZyIsImZyb21DaGFyQ29kZSIsIl9maW5kTmV4dFdpZHRoIiwibWluV2lkdGgiLCJtYXhOYXJyb3dXaWR0aCIsIm51bVdpZGVCYXJzIiwid2lkZUJhcldpZHRoIiwicGF0dGVyblN0YXJ0Iiwid2hpdGVTcGFjZU11c3RTdGFydCIsIl9pbnB1dFN0cmVhbSIsIl9mcmFtZWdyYWJiZXIiLCJfc3RvcHBlZCIsIl9jYW52YXNDb250YWluZXIiLCJpbWFnZSIsImRvbSIsIl9pbnB1dEltYWdlV3JhcHBlciIsIl9ib3hTaXplIiwiX2RlY29kZXIiLCJfd29ya2VyUG9vbCIsIl9vblVJVGhyZWFkIiwiX3Jlc3VsdENvbGxlY3RvciIsIl9jb25maWciLCJpbml0aWFsaXplRGF0YSIsImluaXRCdWZmZXJzIiwiQmFyY29kZURlY29kZXIiLCJkZWNvZGVyIiwiaW5pdElucHV0U3RyZWFtIiwiY2IiLCJ2aWRlbyIsImlucHV0U3RyZWFtIiwidHlwZSIsIklucHV0U3RyZWFtIiwiY3JlYXRlVmlkZW9TdHJlYW0iLCJjcmVhdGVJbWFnZVN0cmVhbSIsIiR2aWV3cG9ydCIsImdldFZpZXdQb3J0IiwicXVlcnlTZWxlY3RvciIsImFwcGVuZENoaWxkIiwiY3JlYXRlTGl2ZVN0cmVhbSIsIkNhbWVyYUFjY2VzcyIsInJlcXVlc3QiLCJjb25zdHJhaW50cyIsInRoZW4iLCJ0cmlnZ2VyIiwiY2F0Y2giLCJlcnIiLCJzZXRBdHRyaWJ1dGUiLCJzZXRJbnB1dFN0cmVhbSIsImFkZEV2ZW50TGlzdGVuZXIiLCJjYW5SZWNvcmQiLCJiaW5kIiwidGFyZ2V0Iiwibm9kZU5hbWUiLCJub2RlVHlwZSIsInNlbGVjdG9yIiwiQmFyY29kZUxvY2F0b3IiLCJjaGVja0ltYWdlQ29uc3RyYWludHMiLCJsb2NhdG9yIiwiaW5pdENhbnZhcyIsIkZyYW1lR3JhYmJlciIsImFkanVzdFdvcmtlclBvb2wiLCJudW1PZldvcmtlcnMiLCJyZWFkeSIsInBsYXkiLCJjbGFzc05hbWUiLCJnZXRDYW52YXNTaXplIiwiY2xlYXJGaXgiLCJnZXRXaWR0aCIsImdldEhlaWdodCIsImNvbnNvbGUiLCJsb2ciLCJnZXRCb3VuZGluZ0JveGVzIiwibG9jYXRlIiwidHJhbnNmb3JtUmVzdWx0IiwidG9wUmlnaHQiLCJnZXRUb3BSaWdodCIsInhPZmZzZXQiLCJ5T2Zmc2V0IiwiYmFyY29kZXMiLCJtb3ZlTGluZSIsImJveCIsIm1vdmVCb3giLCJib3hlcyIsImNvcm5lciIsImFkZFJlc3VsdCIsImZpbHRlciIsImJhcmNvZGUiLCJjb2RlUmVzdWx0IiwiaGFzQ29kZVJlc3VsdCIsInNvbWUiLCJwdWJsaXNoUmVzdWx0IiwicmVzdWx0VG9QdWJsaXNoIiwiRXZlbnRzIiwicHVibGlzaCIsImxvY2F0ZUFuZERlY29kZSIsImRlY29kZUZyb21Cb3VuZGluZ0JveGVzIiwidXBkYXRlIiwiYXZhaWxhYmxlV29ya2VyIiwid29ya2VyVGhyZWFkIiwiYnVzeSIsImF0dGFjaERhdGEiLCJncmFiIiwid29ya2VyIiwicG9zdE1lc3NhZ2UiLCJjbWQiLCJidWZmZXIiLCJzdGFydENvbnRpbnVvdXNVcGRhdGUiLCJkZWxheSIsImZyZXF1ZW5jeSIsInRpbWVzdGFtcCIsIndpbmRvdyIsInJlcXVlc3RBbmltRnJhbWUiLCJwZXJmb3JtYW5jZSIsIm5vdyIsImluaXRXb3JrZXIiLCJibG9iVVJMIiwiZ2VuZXJhdGVXb3JrZXJCbG9iIiwiV29ya2VyIiwib25tZXNzYWdlIiwiZXZlbnQiLCJVUkwiLCJyZXZva2VPYmplY3RVUkwiLCJtZXNzYWdlIiwiY29uZmlnRm9yV29ya2VyIiwid29ya2VySW50ZXJmYWNlIiwiZmFjdG9yeSIsIlF1YWdnYSIsIm9uUHJvY2Vzc2VkIiwic2V0UmVhZGVycyIsInJlYWRlcnMiLCJibG9iIiwiZmFjdG9yeVNvdXJjZSIsIl9fZmFjdG9yeVNvdXJjZV9fIiwiQmxvYiIsInRvU3RyaW5nIiwiY3JlYXRlT2JqZWN0VVJMIiwiY2FwYWNpdHkiLCJpbmNyZWFzZUJ5Iiwid29ya2Vyc1RvVGVybWluYXRlIiwic2xpY2UiLCJ0ZXJtaW5hdGUiLCJ3b3JrZXJJbml0aWFsaXplZCIsInN0b3AiLCJyZWxlYXNlIiwiY2xlYXJFdmVudEhhbmRsZXJzIiwicGF1c2UiLCJvbkRldGVjdGVkIiwic3Vic2NyaWJlIiwib2ZmRGV0ZWN0ZWQiLCJ1bnN1YnNjcmliZSIsIm9mZlByb2Nlc3NlZCIsInJlZ2lzdGVyUmVzdWx0Q29sbGVjdG9yIiwicmVzdWx0Q29sbGVjdG9yIiwiZGVjb2RlU2luZ2xlIiwicmVzdWx0Q2FsbGJhY2siLCJzZXF1ZW5jZSIsImRlYnVnIiwib25jZSIsIkltYWdlRGVidWciLCJSZXN1bHRDb2xsZWN0b3IiLCJjb250YWlucyIsImV2ZXJ5IiwicGFzc2VzRmlsdGVyIiwicmVzdWx0cyIsImNhcHR1cmUiLCJtYXRjaGVzQ29uc3RyYWludHMiLCJibGFja2xpc3QiLCJpbWFnZVNpemUiLCJ0b0RhdGFVUkwiLCJnZXRSZXN1bHRzIiwiZG90IiwicG9pbnRNYXAiLCJ1cGRhdGVDZW50ZXIiLCJwb2ludFRvQWRkIiwiaWQiLCJvdGhlclBvaW50Iiwic2ltaWxhcml0eSIsImdldFBvaW50cyIsImdldENlbnRlciIsImV2ZW50cyIsImdldEV2ZW50IiwiZXZlbnROYW1lIiwic3Vic2NyaWJlcnMiLCJjbGVhckV2ZW50cyIsInB1Ymxpc2hTdWJzY3JpcHRpb24iLCJzdWJzY3JpcHRpb24iLCJhc3luYyIsInNldFRpbWVvdXQiLCJzdWJzY3JpYmVyIiwiZW51bWVyYXRlRGV2aWNlcyIsIm5hdmlnYXRvciIsIm1lZGlhRGV2aWNlcyIsIlByb21pc2UiLCJyZWplY3QiLCJFcnJvciIsImdldFVzZXJNZWRpYSIsIlN1YkltYWdlIiwiSSIsIm9yaWdpbmFsU2l6ZSIsInVwZGF0ZURhdGEiLCJ1cGRhdGVGcm9tIiwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIiwid2Via2l0UmVxdWVzdEFuaW1hdGlvbkZyYW1lIiwibW96UmVxdWVzdEFuaW1hdGlvbkZyYW1lIiwib1JlcXVlc3RBbmltYXRpb25GcmFtZSIsIm1zUmVxdWVzdEFuaW1hdGlvbkZyYW1lIiwiaW11bCIsImFoIiwiYWwiLCJiaCIsImJsIiwiYXNzaWduIiwiVHlwZUVycm9yIiwiaW5kZXgiLCJhcmd1bWVudHMiLCJuZXh0U291cmNlIiwibmV4dEtleSIsImhhc093blByb3BlcnR5IiwibW9kdWxlIiwiZXhwb3J0cyIsIm5hbWUiLCJmYWNpbmdNb2RlIiwiZHJhd0JvdW5kaW5nQm94Iiwic2hvd0ZyZXF1ZW5jeSIsImRyYXdTY2FubGluZSIsInNob3dQYXR0ZXJuIiwic2hvd0NhbnZhcyIsInNob3dQYXRjaGVzIiwic2hvd0ZvdW5kUGF0Y2hlcyIsInNob3dTa2VsZXRvbiIsInNob3dMYWJlbHMiLCJzaG93UGF0Y2hMYWJlbHMiLCJzaG93UmVtYWluaW5nUGF0Y2hMYWJlbHMiLCJib3hGcm9tUGF0Y2hlcyIsInNob3dUcmFuc2Zvcm1lZCIsInNob3dUcmFuc2Zvcm1lZEJveCIsInNob3dCQiIsIkVOViIsIm5vZGUiLCJSRUFERVJTIiwiY29kZV8xMjhfcmVhZGVyIiwiZWFuX3JlYWRlciIsImVhbl81X3JlYWRlciIsImVhbl8yX3JlYWRlciIsImVhbl84X3JlYWRlciIsImNvZGVfMzlfcmVhZGVyIiwiY29kZV8zOV92aW5fcmVhZGVyIiwiY29kYWJhcl9yZWFkZXIiLCJ1cGNfcmVhZGVyIiwidXBjX2VfcmVhZGVyIiwiaTJvZjVfcmVhZGVyIiwiY29kZV85M19yZWFkZXIiLCJDb2RlOTNSZWFkZXIiLCJpbnB1dEltYWdlV3JhcHBlciIsIl9jYW52YXMiLCJfYmFyY29kZVJlYWRlcnMiLCJpbml0UmVhZGVycyIsImluaXRDb25maWciLCIkZGVidWciLCJyZWFkZXJDb25maWciLCJyZWFkZXIiLCJjb25maWd1cmF0aW9uIiwibWFwIiwiSlNPTiIsInN0cmluZ2lmeSIsInZpcyIsInByb3AiLCJkaXNwbGF5IiwiZ2V0RXh0ZW5kZWRMaW5lIiwiYW5nbGUiLCJleHRlbmRMaW5lIiwiYW1vdW50IiwiZXh0ZW5zaW9uIiwiY2VpbCIsImdldExpbmUiLCJ0cnlEZWNvZGUiLCJiYXJjb2RlTGluZSIsIkJyZXNlbmhhbSIsImdldEJhcmNvZGVMaW5lIiwicHJpbnRGcmVxdWVuY3kiLCJ0b0JpbmFyeUxpbmUiLCJwcmludFBhdHRlcm4iLCJ0cnlEZWNvZGVCcnV0ZUZvcmNlIiwibGluZUFuZ2xlIiwic2lkZUxlbmd0aCIsInBvdyIsInNsaWNlcyIsInhkaXIiLCJ5ZGlyIiwiZ2V0TGluZUxlbmd0aCIsImRlY29kZUZyb21Cb3VuZGluZ0JveCIsImxpbmVMZW5ndGgiLCJhdGFuMiIsIm11bHRpcGxlIiwiU2xvcGUiLCJESVIiLCJVUCIsIkRPV04iLCJ4MCIsInkwIiwieDEiLCJ5MSIsInN0ZWVwIiwiZGVsdGF4IiwiZGVsdGF5IiwieXN0ZXAiLCJyZWFkIiwic2xvcGUiLCJzbG9wZTIiLCJleHRyZW1hIiwiY3VycmVudERpciIsInJUaHJlc2hvbGQiLCJmaWxsQ29sb3IiLCJmaWxsUmVjdCIsImZhY2luZ01hdGNoaW5nIiwic3RyZWFtUmVmIiwid2FpdEZvclZpZGVvIiwicmVzb2x2ZSIsImF0dGVtcHRzIiwiY2hlY2tWaWRlbyIsInZpZGVvV2lkdGgiLCJ2aWRlb0hlaWdodCIsImluaXRDYW1lcmEiLCJzdHJlYW0iLCJzcmNPYmplY3QiLCJkZXByZWNhdGVkQ29uc3RyYWludHMiLCJ2aWRlb0NvbnN0cmFpbnRzIiwibm9ybWFsaXplZCIsIm1pbkFzcGVjdFJhdGlvIiwiYXNwZWN0UmF0aW8iLCJmYWNpbmciLCJwaWNrQ29uc3RyYWludHMiLCJub3JtYWxpemVkQ29uc3RyYWludHMiLCJhdWRpbyIsImRldmljZUlkIiwiZW51bWVyYXRlVmlkZW9EZXZpY2VzIiwiZGV2aWNlcyIsImRldmljZSIsImtpbmQiLCJnZXRBY3RpdmVUcmFjayIsInRyYWNrcyIsImdldFZpZGVvVHJhY2tzIiwiZ2V0QWN0aXZlU3RyZWFtTGFiZWwiLCJ0cmFjayIsIkV4aWZUYWdzIiwiQXZhaWxhYmxlVGFncyIsImZpbmRUYWdzSW5PYmplY3RVUkwiLCJ0YWdzIiwidGVzdCIsIm9iamVjdFVSTFRvQmxvYiIsInJlYWRUb0J1ZmZlciIsImZpbmRUYWdzSW5CdWZmZXIiLCJiYXNlNjRUb0FycmF5QnVmZmVyIiwiZGF0YVVybCIsImJhc2U2NCIsInJlcGxhY2UiLCJiaW5hcnkiLCJhdG9iIiwibGVuIiwiQXJyYXlCdWZmZXIiLCJ2aWV3IiwiY2hhckNvZGVBdCIsImZpbGVSZWFkZXIiLCJGaWxlUmVhZGVyIiwicmVhZEFzQXJyYXlCdWZmZXIiLCJ1cmwiLCJodHRwIiwiWE1MSHR0cFJlcXVlc3QiLCJvcGVuIiwicmVzcG9uc2VUeXBlIiwib25yZWFkeXN0YXRlY2hhbmdlIiwicmVhZHlTdGF0ZSIsIkRPTkUiLCJzdGF0dXMiLCJyZXNwb25zZSIsIm9uZXJyb3IiLCJzZW5kIiwiZmlsZSIsInNlbGVjdGVkVGFncyIsImRhdGFWaWV3IiwiRGF0YVZpZXciLCJieXRlTGVuZ3RoIiwiZXhpZlRhZ3MiLCJzZWxlY3RlZFRhZyIsImV4aWZUYWciLCJ0YWciLCJtYXJrZXIiLCJnZXRVaW50OCIsInJlYWRFWElGRGF0YSIsImdldFVpbnQxNiIsImdldFN0cmluZ0Zyb21CdWZmZXIiLCJ0aWZmT2Zmc2V0IiwiYmlnRW5kIiwiZmlyc3RJRkRPZmZzZXQiLCJnZXRVaW50MzIiLCJyZWFkVGFncyIsInRpZmZTdGFydCIsImRpclN0YXJ0Iiwic3RyaW5ncyIsImVudHJpZXMiLCJlbnRyeU9mZnNldCIsInJlYWRUYWdWYWx1ZSIsIm51bVZhbHVlcyIsIm91dHN0ciIsIlRPX1JBRElBTlMiLCJhZGp1c3RDYW52YXNTaXplIiwidGFyZ2V0U2l6ZSIsIl90aGF0IiwiX3N0cmVhbUNvbmZpZyIsImdldENvbmZpZyIsIl92aWRlb19zaXplIiwiZ2V0UmVhbFdpZHRoIiwiZ2V0UmVhbEhlaWdodCIsIl9jYW52YXNTaXplIiwiX3NpemUiLCJfc3giLCJfc3kiLCJfY3R4IiwiX2RhdGEiLCJ2aWRlb1NpemUiLCJjYW52YXNTaXplIiwiZ2V0RGF0YSIsImRvSGFsZlNhbXBsZSIsImdldEZyYW1lIiwiZHJhd2FibGUiLCJkcmF3QW5nbGUiLCJvcmllbnRhdGlvbiIsInRyYW5zbGF0ZSIsInJvdGF0ZSIsImdldFNpemUiLCJJbWFnZUxvYWRlciIsImxvYWQiLCJkaXJlY3RvcnkiLCJodG1sSW1hZ2VzU3JjQXJyYXkiLCJodG1sSW1hZ2VzQXJyYXkiLCJudW0iLCJub3RMb2FkZWQiLCJhZGRJbWFnZSIsImxvYWRlZCIsImxvYWRlZEltZyIsIm5vdGxvYWRlZEltZ3MiLCJzcGxpY2UiLCJpbWdOYW1lIiwic3Vic3RyIiwibGFzdEluZGV4T2YiLCJhZGRPbmxvYWRIYW5kbGVyIiwiX2V2ZW50TmFtZXMiLCJfZXZlbnRIYW5kbGVycyIsIl9jYWxjdWxhdGVkV2lkdGgiLCJfY2FsY3VsYXRlZEhlaWdodCIsIl90b3BSaWdodCIsImluaXRTaXplIiwic2V0V2lkdGgiLCJzZXRIZWlnaHQiLCJlbmRlZCIsInNldEN1cnJlbnRUaW1lIiwidGltZSIsImN1cnJlbnRUaW1lIiwiZiIsImJvb2wiLCJoYW5kbGVycyIsImhhbmRsZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiYXJncyIsInNldFRvcFJpZ2h0Iiwic2V0Q2FudmFzU2l6ZSIsImZyYW1lSWR4IiwicGF1c2VkIiwiaW1nQXJyYXkiLCJiYXNlVXJsIiwiY2FsY3VsYXRlZFdpZHRoIiwiY2FsY3VsYXRlZEhlaWdodCIsImxvYWRJbWFnZXMiLCJpbWdzIiwicHVibGlzaEV2ZW50IiwibmV3V2lkdGgiLCJuZXdIZWlnaHQiLCJ0cmFuc2Zvcm1NYXQyIiwibWF0MiIsImNvcHkiLCJfY3VycmVudEltYWdlV3JhcHBlciIsIl9za2VsSW1hZ2VXcmFwcGVyIiwiX3N1YkltYWdlV3JhcHBlciIsIl9sYWJlbEltYWdlV3JhcHBlciIsIl9wYXRjaEdyaWQiLCJfcGF0Y2hMYWJlbEdyaWQiLCJfaW1hZ2VUb1BhdGNoR3JpZCIsIl9iaW5hcnlJbWFnZVdyYXBwZXIiLCJfcGF0Y2hTaXplIiwiX251bVBhdGNoZXMiLCJfc2tlbGV0b25pemVyIiwic2tlbGV0b25JbWFnZURhdGEiLCJza2VsZXRvbml6ZXIiLCJnbG9iYWwiLCJ1c2VXb3JrZXIiLCJwYXRjaGVzIiwib3ZlckF2ZyIsInBhdGNoIiwidHJhbnNNYXQiLCJtaW54IiwibWlueSIsIm1heHgiLCJtYXh5IiwiYmluYXJpemVJbWFnZSIsImZpbmRQYXRjaGVzIiwicGF0Y2hlc0ZvdW5kIiwicmFzdGVyaXplciIsInJhc3RlclJlc3VsdCIsInNrZWxldG9uaXplIiwiUmFzdGVyaXplciIsInJhc3Rlcml6ZSIsImRlc2NyaWJlUGF0Y2giLCJmaW5kQmlnZ2VzdENvbm5lY3RlZEFyZWFzIiwibWF4TGFiZWwiLCJsYWJlbEhpc3QiLCJ0b3BMYWJlbHMiLCJzb3J0IiwiZWwiLCJmaW5kQm94ZXMiLCJzaW1pbGFyTW9tZW50cyIsInRvcENsdXN0ZXIiLCJwYXRjaFBvcyIsImVsaWdpYmxlTW9tZW50cyIsIm1hdGNoaW5nTW9tZW50cyIsIm1pbkNvbXBvbmVudFdlaWdodCIsInJhc3Rlcml6ZUFuZ3VsYXJTaW1pbGFyaXR5IiwiY3VycklkeCIsIm5vdFlldFByb2Nlc3NlZCIsImN1cnJlbnRJZHgiLCJjdXJyZW50UGF0Y2giLCJjcmVhdGVDb250b3VyMkQiLCJmaXJzdFZlcnRleCIsImluc2lkZUNvbnRvdXJzIiwibmV4dHBlZXIiLCJwcmV2cGVlciIsIkNPTlRPVVJfRElSIiwiQ1dfRElSIiwiQ0NXX0RJUiIsIlVOS05PV05fRElSIiwiT1VUU0lERV9FREdFIiwiSU5TSURFX0VER0UiLCJ0cmFjZXIiLCJkZXB0aGxhYmVsIiwiYmMiLCJsYyIsImxhYmVsaW5kZXgiLCJjb2xvck1hcCIsInZlcnRleCIsInAiLCJjYyIsInNjIiwiY29ubmVjdGVkQ291bnQiLCJkcmF3Q29udG91ciIsImZpcnN0Q29udG91ciIsInBxIiwiaXEiLCJxIiwiU2tlbGV0b25pemVyIiwic3RkbGliIiwiZm9yZWlnbiIsImltYWdlcyIsImluSW1hZ2VQdHIiLCJvdXRJbWFnZVB0ciIsImFJbWFnZVB0ciIsImJJbWFnZVB0ciIsImltYWdlUHRyIiwibWVtY3B5Iiwic3JjSW1hZ2VQdHIiLCJkc3RJbWFnZVB0ciIsInN1YkltYWdlUHRyIiwiZXJvZGVkSW1hZ2VQdHIiLCJ0ZW1wSW1hZ2VQdHIiLCJza2VsSW1hZ2VQdHIiLCJkb25lIiwiVHdvT2ZGaXZlUmVhZGVyIiwiYmFyU3BhY2VSYXRpbyIsIk4iLCJXIiwid3JpdGFibGUiLCJzdGFydFBhdHRlcm5MZW5ndGgiLCJuYXJyb3dCYXJXaWR0aCIsImNvdW50ZXJMZW5ndGgiLCJfdmVyaWZ5Q291bnRlckxlbmd0aCIsIkNvZGFiYXJSZWFkZXIiLCJfY291bnRlcnMiLCJTVEFSVF9FTkQiLCJNSU5fRU5DT0RFRF9DSEFSUyIsIk1BWF9BQ0NFUFRBQkxFIiwiUEFERElORyIsInN0YXJ0Q291bnRlciIsIl9pc1N0YXJ0RW5kIiwiX3ZlcmlmeVdoaXRlc3BhY2UiLCJfdmFsaWRhdGVSZXN1bHQiLCJfc3VtQ291bnRlcnMiLCJlbmRDb3VudGVyIiwiX2NhbGN1bGF0ZVBhdHRlcm5MZW5ndGgiLCJfdGhyZXNob2xkUmVzdWx0UGF0dGVybiIsImNhdGVnb3JpemF0aW9uIiwic3BhY2UiLCJuYXJyb3ciLCJjb3VudHMiLCJ3aWRlIiwiYmFyIiwiY2F0IiwiX2NoYXJUb1BhdHRlcm4iLCJuZXdraW5kIiwiY2hhciIsImNoYXJDb2RlIiwidGhyZXNob2xkcyIsIl9jb21wdXRlQWx0ZXJuYXRpbmdUaHJlc2hvbGQiLCJiYXJUaHJlc2hvbGQiLCJzcGFjZVRocmVzaG9sZCIsImJpdG1hc2siLCJDb2RlMTI4UmVhZGVyIiwiQ09ERV9TSElGVCIsIkNPREVfQyIsIkNPREVfQiIsIkNPREVfQSIsIlNUQVJUX0NPREVfQSIsIlNUQVJUX0NPREVfQiIsIlNUQVJUX0NPREVfQyIsIlNUT1BfQ09ERSIsIk1PRFVMRV9JTkRJQ0VTIiwiX2NvcnJlY3QiLCJjYWxjdWxhdGVDb3JyZWN0aW9uIiwibXVsdGlwbGllciIsImNoZWNrc3VtIiwicmF3UmVzdWx0Iiwic2hpZnROZXh0IiwicmVtb3ZlTGFzdENoYXJhY3RlciIsImV4cGVjdGVkIiwic3VtTm9ybWFsaXplZCIsInN1bUV4cGVjdGVkIiwiQ29kZTM5VklOUmVhZGVyIiwicGF0dGVybnMiLCJJT1EiLCJBWjA5IiwiX2NoZWNrQ2hlY2tzdW0iLCJzcGxpdCIsIl92ZXJpZnlFbmQiLCJfdmVyaWZ5Q2hlY2tzdW1zIiwiX2RlY29kZUV4dGVuZGVkIiwiY2hhckFycmF5IiwibmV4dENoYXIiLCJuZXh0Q2hhckNvZGUiLCJfbWF0Y2hDaGVja0NoYXIiLCJtYXhXZWlnaHQiLCJhcnJheVRvQ2hlY2siLCJ3ZWlnaHRlZFN1bXMiLCJ3ZWlnaHQiLCJjaGVja0NoYXIiLCJFQU4yUmVhZGVyIiwicGFyc2VJbnQiLCJFQU41UmVhZGVyIiwiQ0hFQ0tfRElHSVRfRU5DT0RJTkdTIiwiZXh0ZW5zaW9uQ2hlY2tzdW0iLCJkZXRlcm1pbmVDaGVja0RpZ2l0IiwiRUFOOFJlYWRlciIsIkkyb2Y1UmVhZGVyIiwibm9ybWFsaXplQmFyU3BhY2VXaWR0aCIsIk1BWF9DT1JSRUNUSU9OX0ZBQ1RPUiIsImNvdW50ZXJTdW0iLCJjb2RlU3VtIiwiY29ycmVjdGlvblJhdGlvIiwiY29ycmVjdGlvblJhdGlvSW52ZXJzZSIsIl9kZWNvZGVQYWlyIiwiY291bnRlclBhaXIiLCJjb2RlcyIsIlVQQ0VSZWFkZXIiLCJfZGV0ZXJtaW5lUGFyaXR5IiwibnJTeXN0ZW0iLCJfY29udmVydFRvVVBDQSIsInVwY2EiLCJsYXN0RGlnaXQiLCJVUENSZWFkZXIiLCJjaGFyQXQiLCJzdWJzdHJpbmciXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNELE87QUNSQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxtREFBMkMsY0FBYzs7QUFFekQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxtQ0FBMkIsMEJBQTBCLEVBQUU7QUFDdkQseUNBQWlDLGVBQWU7QUFDaEQ7QUFDQTtBQUNBOztBQUVBO0FBQ0EsOERBQXNELCtEQUErRDs7QUFFckg7QUFDQTs7QUFFQTtBQUNBOzs7Ozs7O0FDaEVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsRUFBRTtBQUNiLGFBQWEsUUFB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QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7Ozs7OztBQ3BCQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsRUFBRTtBQUNiLGFBQWEsUUFBUTtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7Ozs7O0FDaENBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsRUFBRTtBQUNiLGFBQWEsUUFBUTtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7Ozs7O0FDcENBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLEVBQUU7QUFDYixhQUFhLFFBQVE7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7Ozs7O0FDbENBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsRUFBRTtBQUNiLGFBQWEsUUFBUTtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7Ozs7Ozs7QUM1QkE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsV0FB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ZSI6InF1YWdnYS5qcyIsInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbiB3ZWJwYWNrVW5pdmVyc2FsTW9kdWxlRGVmaW5pdGlvbihyb290LCBmYWN0b3J5KSB7XG5cdGlmKHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgbW9kdWxlID09PSAnb2JqZWN0Jylcblx0XHRtb2R1bGUuZXhwb3J0cyA9IGZhY3RvcnkoZmFjdG9yeS50b1N0cmluZygpKS5kZWZhdWx0O1xuXHRlbHNlIGlmKHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0Jylcblx0XHRleHBvcnRzW1wiUXVhZ2dhXCJdID0gZmFjdG9yeShmYWN0b3J5LnRvU3RyaW5nKCkpLmRlZmF1bHQ7XG5cdGVsc2Vcblx0XHRyb290W1wiUXVhZ2dhXCJdID0gZmFjdG9yeShmYWN0b3J5LnRvU3RyaW5nKCkpLmRlZmF1bHQ7XG59KSh0aGlzLCBmdW5jdGlvbihfX2ZhY3RvcnlTb3VyY2VfXykge1xucmV0dXJuIFxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyB3ZWJwYWNrL215TW9kdWxlRGVmaW5pdGlvbiIsIiBcdC8vIFRoZSBtb2R1bGUgY2FjaGVcbiBcdHZhciBpbnN0YWxsZWRNb2R1bGVzID0ge307XG5cbiBcdC8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG4gXHRmdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7XG5cbiBcdFx0Ly8gQ2hlY2sgaWYgbW9kdWxlIGlzIGluIGNhY2hlXG4gXHRcdGlmKGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdKVxuIFx0XHRcdHJldHVybiBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXS5leHBvcnRzO1xuXG4gXHRcdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG4gXHRcdHZhciBtb2R1bGUgPSBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSA9IHtcbiBcdFx0XHRpOiBtb2R1bGVJZCxcbiBcdFx0XHRsOiBmYWxzZSxcbiBcdFx0XHRleHBvcnRzOiB7fVxuIFx0XHR9O1xuXG4gXHRcdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuIFx0XHRtb2R1bGVzW21vZHVsZUlkXS5jYWxsKG1vZHVsZS5leHBvcnRzLCBtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblxuIFx0XHQvLyBGbGFnIHRoZSBtb2R1bGUgYXMgbG9hZGVkXG4gXHRcdG1vZHVsZS5sID0gdHJ1ZTtcblxuIFx0XHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuIFx0XHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG4gXHR9XG5cblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGVzIG9iamVjdCAoX193ZWJwYWNrX21vZHVsZXNfXylcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubSA9IG1vZHVsZXM7XG5cbiBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlIGNhY2hlXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmMgPSBpbnN0YWxsZWRNb2R1bGVzO1xuXG4gXHQvLyBpZGVudGl0eSBmdW5jdGlvbiBmb3IgY2FsbGluZyBoYXJtb255IGltcG9ydHMgd2l0aCB0aGUgY29ycmVjdCBjb250ZXh0XG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmkgPSBmdW5jdGlvbih2YWx1ZSkgeyByZXR1cm4gdmFsdWU7IH07XG5cbiBcdC8vIGRlZmluZSBnZXR0ZXIgZnVuY3Rpb24gZm9yIGhhcm1vbnkgZXhwb3J0c1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5kID0gZnVuY3Rpb24oZXhwb3J0cywgbmFtZSwgZ2V0dGVyKSB7XG4gXHRcdGlmKCFfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZXhwb3J0cywgbmFtZSkpIHtcbiBcdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgbmFtZSwge1xuIFx0XHRcdFx0Y29uZmlndXJhYmxlOiBmYWxzZSxcbiBcdFx0XHRcdGVudW1lcmFibGU6IHRydWUsXG4gXHRcdFx0XHRnZXQ6IGdldHRlclxuIFx0XHRcdH0pO1xuIFx0XHR9XG4gXHR9O1xuXG4gXHQvLyBnZXREZWZhdWx0RXhwb3J0IGZ1bmN0aW9uIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbm9uLWhhcm1vbnkgbW9kdWxlc1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5uID0gZnVuY3Rpb24obW9kdWxlKSB7XG4gXHRcdHZhciBnZXR0ZXIgPSBtb2R1bGUgJiYgbW9kdWxlLl9fZXNNb2R1bGUgP1xuIFx0XHRcdGZ1bmN0aW9uIGdldERlZmF1bHQoKSB7IHJldHVybiBtb2R1bGVbJ2RlZmF1bHQnXTsgfSA6XG4gXHRcdFx0ZnVuY3Rpb24gZ2V0TW9kdWxlRXhwb3J0cygpIHsgcmV0dXJuIG1vZHVsZTsgfTtcbiBcdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5kKGdldHRlciwgJ2EnLCBnZXR0ZXIpO1xuIFx0XHRyZXR1cm4gZ2V0dGVyO1xuIFx0fTtcblxuIFx0Ly8gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm8gPSBmdW5jdGlvbihvYmplY3QsIHByb3BlcnR5KSB7IHJldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBwcm9wZXJ0eSk7IH07XG5cbiBcdC8vIF9fd2VicGFja19wdWJsaWNfcGF0aF9fXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnAgPSBcIi9cIjtcblxuIFx0Ly8gTG9hZCBlbnRyeSBtb2R1bGUgYW5kIHJldHVybiBleHBvcnRzXG4gXHRyZXR1cm4gX193ZWJwYWNrX3JlcXVpcmVfXyhfX3dlYnBhY2tfcmVxdWlyZV9fLnMgPSAxNjYpO1xuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIHdlYnBhY2svYm9vdHN0cmFwIDc1NjBjYzQ5MjcyMzFiMmUzNzg5IiwiLyoqXG4gKiBDaGVja3MgaWYgYHZhbHVlYCBpcyB0aGVcbiAqIFtsYW5ndWFnZSB0eXBlXShodHRwOi8vd3d3LmVjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNy4wLyNzZWMtZWNtYXNjcmlwdC1sYW5ndWFnZS10eXBlcylcbiAqIG9mIGBPYmplY3RgLiAoZS5nLiBhcnJheXMsIGZ1bmN0aW9ucywgb2JqZWN0cywgcmVnZXhlcywgYG5ldyBOdW1iZXIoMClgLCBhbmQgYG5ldyBTdHJpbmcoJycpYClcbiAqXG4gKiBAc3RhdGljXG4gKiBAbWVtYmVyT2YgX1xuICogQHNpbmNlIDAuMS4wXG4gKiBAY2F0ZWdvcnkgTGFuZ1xuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhbiBvYmplY3QsIGVsc2UgYGZhbHNlYC5cbiAqIEBleGFtcGxlXG4gKlxuICogXy5pc09iamVjdCh7fSk7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc09iamVjdChbMSwgMiwgM10pO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uaXNPYmplY3QoXy5ub29wKTtcbiAqIC8vID0+IHRydWVcbiAqXG4gKiBfLmlzT2JqZWN0KG51bGwpO1xuICogLy8gPT4gZmFsc2VcbiAqL1xuZnVuY3Rpb24gaXNPYmplY3QodmFsdWUpIHtcbiAgdmFyIHR5cGUgPSB0eXBlb2YgdmFsdWU7XG4gIHJldHVybiB2YWx1ZSAhPSBudWxsICYmICh0eXBlID09ICdvYmplY3QnIHx8IHR5cGUgPT0gJ2Z1bmN0aW9uJyk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaXNPYmplY3Q7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL34vbG9kYXNoL2lzT2JqZWN0LmpzXG4vLyBtb2R1bGUgaWQgPSAwXG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsImltcG9ydCBBcnJheUhlbHBlciBmcm9tICcuLi9jb21tb24vYXJyYXlfaGVscGVyJztcblxuZnVuY3Rpb24gQmFyY29kZVJlYWRlcihjb25maWcsIHN1cHBsZW1lbnRzKSB7XG4gICAgdGhpcy5fcm93ID0gW107XG4gICAgdGhpcy5jb25maWcgPSBjb25maWcgfHwge307XG4gICAgdGhpcy5zdXBwbGVtZW50cyA9IHN1cHBsZW1lbnRzO1xuICAgIHJldHVybiB0aGlzO1xufVxuXG5CYXJjb2RlUmVhZGVyLnByb3RvdHlwZS5fbmV4dFVuc2V0ID0gZnVuY3Rpb24obGluZSwgc3RhcnQpIHtcbiAgICB2YXIgaTtcblxuICAgIGlmIChzdGFydCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHN0YXJ0ID0gMDtcbiAgICB9XG4gICAgZm9yIChpID0gc3RhcnQ7IGkgPCBsaW5lLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmICghbGluZVtpXSkge1xuICAgICAgICAgICAgcmV0dXJuIGk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGxpbmUubGVuZ3RoO1xufTtcblxuQmFyY29kZVJlYWRlci5wcm90b3R5cGUuX21hdGNoUGF0dGVybiA9IGZ1bmN0aW9uKGNvdW50ZXIsIGNvZGUsIG1heFNpbmdsZUVycm9yKSB7XG4gICAgdmFyIGksXG4gICAgICAgIGVycm9yID0gMCxcbiAgICAgICAgc2luZ2xlRXJyb3IgPSAwLFxuICAgICAgICBzdW0gPSAwLFxuICAgICAgICBtb2R1bG8gPSAwLFxuICAgICAgICBiYXJXaWR0aCxcbiAgICAgICAgY291bnQsXG4gICAgICAgIHNjYWxlZDtcblxuICAgIG1heFNpbmdsZUVycm9yID0gbWF4U2luZ2xlRXJyb3IgfHwgdGhpcy5TSU5HTEVfQ09ERV9FUlJPUiB8fCAxO1xuXG4gICAgZm9yIChpID0gMDsgaSA8IGNvdW50ZXIubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgc3VtICs9IGNvdW50ZXJbaV07XG4gICAgICAgIG1vZHVsbyArPSBjb2RlW2ldO1xuICAgIH1cbiAgICBpZiAoc3VtIDwgbW9kdWxvKSB7XG4gICAgICAgIHJldHVybiBOdW1iZXIuTUFYX1ZBTFVFO1xuICAgIH1cbiAgICBiYXJXaWR0aCA9IHN1bSAvIG1vZHVsbztcbiAgICBtYXhTaW5nbGVFcnJvciAqPSBiYXJXaWR0aDtcblxuICAgIGZvciAoaSA9IDA7IGkgPCBjb3VudGVyLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvdW50ID0gY291bnRlcltpXTtcbiAgICAgICAgc2NhbGVkID0gY29kZVtpXSAqIGJhcldpZHRoO1xuICAgICAgICBzaW5nbGVFcnJvciA9IE1hdGguYWJzKGNvdW50IC0gc2NhbGVkKSAvIHNjYWxlZDtcbiAgICAgICAgaWYgKHNpbmdsZUVycm9yID4gbWF4U2luZ2xlRXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiBOdW1iZXIuTUFYX1ZBTFVFO1xuICAgICAgICB9XG4gICAgICAgIGVycm9yICs9IHNpbmdsZUVycm9yO1xuICAgIH1cbiAgICByZXR1cm4gZXJyb3IgLyBtb2R1bG87XG59O1xuXG5CYXJjb2RlUmVhZGVyLnByb3RvdHlwZS5fbmV4dFNldCA9IGZ1bmN0aW9uKGxpbmUsIG9mZnNldCkge1xuICAgIHZhciBpO1xuXG4gICAgb2Zmc2V0ID0gb2Zmc2V0IHx8IDA7XG4gICAgZm9yIChpID0gb2Zmc2V0OyBpIDwgbGluZS5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAobGluZVtpXSkge1xuICAgICAgICAgICAgcmV0dXJuIGk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGxpbmUubGVuZ3RoO1xufTtcblxuQmFyY29kZVJlYWRlci5wcm90b3R5cGUuX2NvcnJlY3RCYXJzID0gZnVuY3Rpb24oY291bnRlciwgY29ycmVjdGlvbiwgaW5kaWNlcykge1xuICAgIHZhciBsZW5ndGggPSBpbmRpY2VzLmxlbmd0aCxcbiAgICAgICAgdG1wID0gMDtcbiAgICB3aGlsZShsZW5ndGgtLSkge1xuICAgICAgICB0bXAgPSBjb3VudGVyW2luZGljZXNbbGVuZ3RoXV0gKiAoMSAtICgoMSAtIGNvcnJlY3Rpb24pIC8gMikpO1xuICAgICAgICBpZiAodG1wID4gMSkge1xuICAgICAgICAgICAgY291bnRlcltpbmRpY2VzW2xlbmd0aF1dID0gdG1wO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5CYXJjb2RlUmVhZGVyLnByb3RvdHlwZS5fbWF0Y2hUcmFjZSA9IGZ1bmN0aW9uKGNtcENvdW50ZXIsIGVwc2lsb24pIHtcbiAgICB2YXIgY291bnRlciA9IFtdLFxuICAgICAgICBpLFxuICAgICAgICBzZWxmID0gdGhpcyxcbiAgICAgICAgb2Zmc2V0ID0gc2VsZi5fbmV4dFNldChzZWxmLl9yb3cpLFxuICAgICAgICBpc1doaXRlID0gIXNlbGYuX3Jvd1tvZmZzZXRdLFxuICAgICAgICBjb3VudGVyUG9zID0gMCxcbiAgICAgICAgYmVzdE1hdGNoID0ge1xuICAgICAgICAgICAgZXJyb3I6IE51bWJlci5NQVhfVkFMVUUsXG4gICAgICAgICAgICBjb2RlOiAtMSxcbiAgICAgICAgICAgIHN0YXJ0OiAwXG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yO1xuXG4gICAgaWYgKGNtcENvdW50ZXIpIHtcbiAgICAgICAgZm9yICggaSA9IDA7IGkgPCBjbXBDb3VudGVyLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb3VudGVyLnB1c2goMCk7XG4gICAgICAgIH1cbiAgICAgICAgZm9yICggaSA9IG9mZnNldDsgaSA8IHNlbGYuX3Jvdy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKHNlbGYuX3Jvd1tpXSBeIGlzV2hpdGUpIHtcbiAgICAgICAgICAgICAgICBjb3VudGVyW2NvdW50ZXJQb3NdKys7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmIChjb3VudGVyUG9zID09PSBjb3VudGVyLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICAgICAgICAgICAgZXJyb3IgPSBzZWxmLl9tYXRjaFBhdHRlcm4oY291bnRlciwgY21wQ291bnRlcik7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKGVycm9yIDwgZXBzaWxvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmVzdE1hdGNoLnN0YXJ0ID0gaSAtIG9mZnNldDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJlc3RNYXRjaC5lbmQgPSBpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmVzdE1hdGNoLmNvdW50ZXIgPSBjb3VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGJlc3RNYXRjaDtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY291bnRlclBvcysrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb3VudGVyW2NvdW50ZXJQb3NdID0gMTtcbiAgICAgICAgICAgICAgICBpc1doaXRlID0gIWlzV2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgICBjb3VudGVyLnB1c2goMCk7XG4gICAgICAgIGZvciAoIGkgPSBvZmZzZXQ7IGkgPCBzZWxmLl9yb3cubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChzZWxmLl9yb3dbaV0gXiBpc1doaXRlKSB7XG4gICAgICAgICAgICAgICAgY291bnRlcltjb3VudGVyUG9zXSsrO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb3VudGVyUG9zKys7XG4gICAgICAgICAgICAgICAgY291bnRlci5wdXNoKDApO1xuICAgICAgICAgICAgICAgIGNvdW50ZXJbY291bnRlclBvc10gPSAxO1xuICAgICAgICAgICAgICAgIGlzV2hpdGUgPSAhaXNXaGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIGlmIGNtcENvdW50ZXIgd2FzIG5vdCBnaXZlblxuICAgIGJlc3RNYXRjaC5zdGFydCA9IG9mZnNldDtcbiAgICBiZXN0TWF0Y2guZW5kID0gc2VsZi5fcm93Lmxlbmd0aCAtIDE7XG4gICAgYmVzdE1hdGNoLmNvdW50ZXIgPSBjb3VudGVyO1xuICAgIHJldHVybiBiZXN0TWF0Y2g7XG59O1xuXG5CYXJjb2RlUmVhZGVyLnByb3RvdHlwZS5kZWNvZGVQYXR0ZXJuID0gZnVuY3Rpb24ocGF0dGVybikge1xuICAgIHZhciBzZWxmID0gdGhpcyxcbiAgICAgICAgcmVzdWx0O1xuXG4gICAgc2VsZi5fcm93ID0gcGF0dGVybjtcbiAgICByZXN1bHQgPSBzZWxmLl9kZWNvZGUoKTtcbiAgICBpZiAocmVzdWx0ID09PSBudWxsKSB7XG4gICAgICAgIHNlbGYuX3Jvdy5yZXZlcnNlKCk7XG4gICAgICAgIHJlc3VsdCA9IHNlbGYuX2RlY29kZSgpO1xuICAgICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgICAgICByZXN1bHQuZGlyZWN0aW9uID0gQmFyY29kZVJlYWRlci5ESVJFQ1RJT04uUkVWRVJTRTtcbiAgICAgICAgICAgIHJlc3VsdC5zdGFydCA9IHNlbGYuX3Jvdy5sZW5ndGggLSByZXN1bHQuc3RhcnQ7XG4gICAgICAgICAgICByZXN1bHQuZW5kID0gc2VsZi5fcm93Lmxlbmd0aCAtIHJlc3VsdC5lbmQ7XG4gICAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgICByZXN1bHQuZGlyZWN0aW9uID0gQmFyY29kZVJlYWRlci5ESVJFQ1RJT04uRk9SV0FSRDtcbiAgICB9XG4gICAgaWYgKHJlc3VsdCkge1xuICAgICAgICByZXN1bHQuZm9ybWF0ID0gc2VsZi5GT1JNQVQ7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG59O1xuXG5CYXJjb2RlUmVhZGVyLnByb3RvdHlwZS5fbWF0Y2hSYW5nZSA9IGZ1bmN0aW9uKHN0YXJ0LCBlbmQsIHZhbHVlKSB7XG4gICAgdmFyIGk7XG5cbiAgICBzdGFydCA9IHN0YXJ0IDwgMCA/IDAgOiBzdGFydDtcbiAgICBmb3IgKGkgPSBzdGFydDsgaSA8IGVuZDsgaSsrKSB7XG4gICAgICAgIGlmICh0aGlzLl9yb3dbaV0gIT09IHZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG59O1xuXG5CYXJjb2RlUmVhZGVyLnByb3RvdHlwZS5fZmlsbENvdW50ZXJzID0gZnVuY3Rpb24ob2Zmc2V0LCBlbmQsIGlzV2hpdGUpIHtcbiAgICB2YXIgc2VsZiA9IHRoaXMsXG4gICAgICAgIGNvdW50ZXJQb3MgPSAwLFxuICAgICAgICBpLFxuICAgICAgICBjb3VudGVycyA9IFtdO1xuXG4gICAgaXNXaGl0ZSA9ICh0eXBlb2YgaXNXaGl0ZSAhPT0gJ3VuZGVmaW5lZCcpID8gaXNXaGl0ZSA6IHRydWU7XG4gICAgb2Zmc2V0ID0gKHR5cGVvZiBvZmZzZXQgIT09ICd1bmRlZmluZWQnKSA/IG9mZnNldCA6IHNlbGYuX25leHRVbnNldChzZWxmLl9yb3cpO1xuICAgIGVuZCA9IGVuZCB8fCBzZWxmLl9yb3cubGVuZ3RoO1xuXG4gICAgY291bnRlcnNbY291bnRlclBvc10gPSAwO1xuICAgIGZvciAoaSA9IG9mZnNldDsgaSA8IGVuZDsgaSsrKSB7XG4gICAgICAgIGlmIChzZWxmLl9yb3dbaV0gXiBpc1doaXRlKSB7XG4gICAgICAgICAgICBjb3VudGVyc1tjb3VudGVyUG9zXSsrO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY291bnRlclBvcysrO1xuICAgICAgICAgICAgY291bnRlcnNbY291bnRlclBvc10gPSAxO1xuICAgICAgICAgICAgaXNXaGl0ZSA9ICFpc1doaXRlO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBjb3VudGVycztcbn07XG5cbkJhcmNvZGVSZWFkZXIucHJvdG90eXBlLl90b0NvdW50ZXJzID0gZnVuY3Rpb24oc3RhcnQsIGNvdW50ZXIpIHtcbiAgICB2YXIgc2VsZiA9IHRoaXMsXG4gICAgICAgIG51bUNvdW50ZXJzID0gY291bnRlci5sZW5ndGgsXG4gICAgICAgIGVuZCA9IHNlbGYuX3Jvdy5sZW5ndGgsXG4gICAgICAgIGlzV2hpdGUgPSAhc2VsZi5fcm93W3N0YXJ0XSxcbiAgICAgICAgaSxcbiAgICAgICAgY291bnRlclBvcyA9IDA7XG5cbiAgICBBcnJheUhlbHBlci5pbml0KGNvdW50ZXIsIDApO1xuXG4gICAgZm9yICggaSA9IHN0YXJ0OyBpIDwgZW5kOyBpKyspIHtcbiAgICAgICAgaWYgKHNlbGYuX3Jvd1tpXSBeIGlzV2hpdGUpIHtcbiAgICAgICAgICAgIGNvdW50ZXJbY291bnRlclBvc10rKztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvdW50ZXJQb3MrKztcbiAgICAgICAgICAgIGlmIChjb3VudGVyUG9zID09PSBudW1Db3VudGVycykge1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb3VudGVyW2NvdW50ZXJQb3NdID0gMTtcbiAgICAgICAgICAgICAgICBpc1doaXRlID0gIWlzV2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gY291bnRlcjtcbn07XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShCYXJjb2RlUmVhZGVyLnByb3RvdHlwZSwgXCJGT1JNQVRcIiwge1xuICAgIHZhbHVlOiAndW5rbm93bicsXG4gICAgd3JpdGVhYmxlOiBmYWxzZVxufSk7XG5cbkJhcmNvZGVSZWFkZXIuRElSRUNUSU9OID0ge1xuICAgIEZPUldBUkQ6IDEsXG4gICAgUkVWRVJTRTogLTFcbn07XG5cbkJhcmNvZGVSZWFkZXIuRXhjZXB0aW9uID0ge1xuICAgIFN0YXJ0Tm90Rm91bmRFeGNlcHRpb246IFwiU3RhcnQtSW5mbyB3YXMgbm90IGZvdW5kIVwiLFxuICAgIENvZGVOb3RGb3VuZEV4Y2VwdGlvbjogXCJDb2RlIGNvdWxkIG5vdCBiZSBmb3VuZCFcIixcbiAgICBQYXR0ZXJuTm90Rm91bmRFeGNlcHRpb246IFwiUGF0dGVybiBjb3VsZCBub3QgYmUgZm91bmQhXCJcbn07XG5cbkJhcmNvZGVSZWFkZXIuQ09ORklHX0tFWVMgPSB7fTtcblxuZXhwb3J0IGRlZmF1bHQgQmFyY29kZVJlYWRlcjtcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3NyYy9yZWFkZXIvYmFyY29kZV9yZWFkZXIuanMiLCIvKipcbiAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGNsYXNzaWZpZWQgYXMgYW4gYEFycmF5YCBvYmplY3QuXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSAwLjEuMFxuICogQGNhdGVnb3J5IExhbmdcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYW4gYXJyYXksIGVsc2UgYGZhbHNlYC5cbiAqIEBleGFtcGxlXG4gKlxuICogXy5pc0FycmF5KFsxLCAyLCAzXSk7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc0FycmF5KGRvY3VtZW50LmJvZHkuY2hpbGRyZW4pO1xuICogLy8gPT4gZmFsc2VcbiAqXG4gKiBfLmlzQXJyYXkoJ2FiYycpO1xuICogLy8gPT4gZmFsc2VcbiAqXG4gKiBfLmlzQXJyYXkoXy5ub29wKTtcbiAqIC8vID0+IGZhbHNlXG4gKi9cbnZhciBpc0FycmF5ID0gQXJyYXkuaXNBcnJheTtcblxubW9kdWxlLmV4cG9ydHMgPSBpc0FycmF5O1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9+L2xvZGFzaC9pc0FycmF5LmpzXG4vLyBtb2R1bGUgaWQgPSAyXG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsImV4cG9ydCBkZWZhdWx0IHtcbiAgICBpbml0OiBmdW5jdGlvbihhcnIsIHZhbCkge1xuICAgICAgICB2YXIgbCA9IGFyci5sZW5ndGg7XG4gICAgICAgIHdoaWxlIChsLS0pIHtcbiAgICAgICAgICAgIGFycltsXSA9IHZhbDtcbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICAvKipcbiAgICAgKiBTaHVmZmxlcyB0aGUgY29udGVudCBvZiBhbiBhcnJheVxuICAgICAqIEByZXR1cm4ge0FycmF5fSB0aGUgYXJyYXkgaXRzZWxmIHNodWZmbGVkXG4gICAgICovXG4gICAgc2h1ZmZsZTogZnVuY3Rpb24oYXJyKSB7XG4gICAgICAgIHZhciBpID0gYXJyLmxlbmd0aCAtIDEsIGosIHg7XG4gICAgICAgIGZvciAoaTsgaSA+PSAwOyBpLS0pIHtcbiAgICAgICAgICAgIGogPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBpKTtcbiAgICAgICAgICAgIHggPSBhcnJbaV07XG4gICAgICAgICAgICBhcnJbaV0gPSBhcnJbal07XG4gICAgICAgICAgICBhcnJbal0gPSB4O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhcnI7XG4gICAgfSxcblxuICAgIHRvUG9pbnRMaXN0OiBmdW5jdGlvbihhcnIpIHtcbiAgICAgICAgdmFyIGksIGosIHJvdyA9IFtdLCByb3dzID0gW107XG4gICAgICAgIGZvciAoIGkgPSAwOyBpIDwgYXJyLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICByb3cgPSBbXTtcbiAgICAgICAgICAgIGZvciAoIGogPSAwOyBqIDwgYXJyW2ldLmxlbmd0aDsgaisrKSB7XG4gICAgICAgICAgICAgICAgcm93W2pdID0gYXJyW2ldW2pdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcm93c1tpXSA9IFwiW1wiICsgcm93LmpvaW4oXCIsXCIpICsgXCJdXCI7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIFwiW1wiICsgcm93cy5qb2luKFwiLFxcclxcblwiKSArIFwiXVwiO1xuICAgIH0sXG5cbiAgICAvKipcbiAgICAgKiByZXR1cm5zIHRoZSBlbGVtZW50cyB3aGljaCdzIHNjb3JlIGlzIGJpZ2dlciB0aGFuIHRoZSB0aHJlc2hvbGRcbiAgICAgKiBAcmV0dXJuIHtBcnJheX0gdGhlIHJlZHVjZWQgYXJyYXlcbiAgICAgKi9cbiAgICB0aHJlc2hvbGQ6IGZ1bmN0aW9uKGFyciwgdGhyZXNob2xkLCBzY29yZUZ1bmMpIHtcbiAgICAgICAgdmFyIGksIHF1ZXVlID0gW107XG4gICAgICAgIGZvciAoIGkgPSAwOyBpIDwgYXJyLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoc2NvcmVGdW5jLmFwcGx5KGFyciwgW2FycltpXV0pID49IHRocmVzaG9sZCkge1xuICAgICAgICAgICAgICAgIHF1ZXVlLnB1c2goYXJyW2ldKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcXVldWU7XG4gICAgfSxcblxuICAgIG1heEluZGV4OiBmdW5jdGlvbihhcnIpIHtcbiAgICAgICAgdmFyIGksIG1heCA9IDA7XG4gICAgICAgIGZvciAoIGkgPSAwOyBpIDwgYXJyLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoYXJyW2ldID4gYXJyW21heF0pIHtcbiAgICAgICAgICAgICAgICBtYXggPSBpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBtYXg7XG4gICAgfSxcblxuICAgIG1heDogZnVuY3Rpb24oYXJyKSB7XG4gICAgICAgIHZhciBpLCBtYXggPSAwO1xuICAgICAgICBmb3IgKCBpID0gMDsgaSA8IGFyci5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKGFycltpXSA+IG1heCkge1xuICAgICAgICAgICAgICAgIG1heCA9IGFycltpXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbWF4O1xuICAgIH0sXG5cbiAgICBzdW06IGZ1bmN0aW9uKGFycikge1xuICAgICAgICB2YXIgbGVuZ3RoID0gYXJyLmxlbmd0aCxcbiAgICAgICAgICAgIHN1bSA9IDA7XG5cbiAgICAgICAgd2hpbGUgKGxlbmd0aC0tKSB7XG4gICAgICAgICAgICBzdW0gKz0gYXJyW2xlbmd0aF07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHN1bTtcbiAgICB9XG59O1xuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vc3JjL2NvbW1vbi9hcnJheV9oZWxwZXIuanMiLCJpbXBvcnQgQmFyY29kZVJlYWRlciBmcm9tICcuL2JhcmNvZGVfcmVhZGVyJztcbmltcG9ydCB7bWVyZ2V9IGZyb20gJ2xvZGFzaCc7XG5cbmZ1bmN0aW9uIEVBTlJlYWRlcihvcHRzLCBzdXBwbGVtZW50cykge1xuICAgIG9wdHMgPSBtZXJnZShnZXREZWZhdWxDb25maWcoKSwgb3B0cyk7XG4gICAgQmFyY29kZVJlYWRlci5jYWxsKHRoaXMsIG9wdHMsIHN1cHBsZW1lbnRzKTtcbn1cblxuZnVuY3Rpb24gZ2V0RGVmYXVsQ29uZmlnKCkge1xuICAgIHZhciBjb25maWcgPSB7fTtcblxuICAgIE9iamVjdC5rZXlzKEVBTlJlYWRlci5DT05GSUdfS0VZUykuZm9yRWFjaChmdW5jdGlvbihrZXkpIHtcbiAgICAgICAgY29uZmlnW2tleV0gPSBFQU5SZWFkZXIuQ09ORklHX0tFWVNba2V5XS5kZWZhdWx0O1xuICAgIH0pO1xuICAgIHJldHVybiBjb25maWc7XG59XG5cbnZhciBwcm9wZXJ0aWVzID0ge1xuICAgIENPREVfTF9TVEFSVDoge3ZhbHVlOiAwfSxcbiAgICBDT0RFX0dfU1RBUlQ6IHt2YWx1ZTogMTB9LFxuICAgIFNUQVJUX1BBVFRFUk46IHt2YWx1ZTogWzEsIDEsIDFdfSxcbiAgICBTVE9QX1BBVFRFUk46IHt2YWx1ZTogWzEsIDEsIDFdfSxcbiAgICBNSURETEVfUEFUVEVSTjoge3ZhbHVlOiBbMSwgMSwgMSwgMSwgMV19LFxuICAgIEVYVEVOU0lPTl9TVEFSVF9QQVRURVJOOiB7dmFsdWU6IFsxLCAxLCAyXX0sXG4gICAgQ09ERV9QQVRURVJOOiB7dmFsdWU6IFtcbiAgICAgICAgWzMsIDIsIDEsIDFdLFxuICAgICAgICBbMiwgMiwgMiwgMV0sXG4gICAgICAgIFsyLCAxLCAyLCAyXSxcbiAgICAgICAgWzEsIDQsIDEsIDFdLFxuICAgICAgICBbMSwgMSwgMywgMl0sXG4gICAgICAgIFsxLCAyLCAzLCAxXSxcbiAgICAgICAgWzEsIDEsIDEsIDRdLFxuICAgICAgICBbMSwgMywgMSwgMl0sXG4gICAgICAgIFsxLCAyLCAxLCAzXSxcbiAgICAgICAgWzMsIDEsIDEsIDJdLFxuICAgICAgICBbMSwgMSwgMiwgM10sXG4gICAgICAgIFsxLCAyLCAyLCAyXSxcbiAgICAgICAgWzIsIDIsIDEsIDJdLFxuICAgICAgICBbMSwgMSwgNCwgMV0sXG4gICAgICAgIFsyLCAzLCAxLCAxXSxcbiAgICAgICAgWzEsIDMsIDIsIDFdLFxuICAgICAgICBbNCwgMSwgMSwgMV0sXG4gICAgICAgIFsyLCAxLCAzLCAxXSxcbiAgICAgICAgWzMsIDEsIDIsIDFdLFxuICAgICAgICBbMiwgMSwgMSwgM11cbiAgICBdfSxcbiAgICBDT0RFX0ZSRVFVRU5DWToge3ZhbHVlOiBbMCwgMTEsIDEzLCAxNCwgMTksIDI1LCAyOCwgMjEsIDIyLCAyNl19LFxuICAgIFNJTkdMRV9DT0RFX0VSUk9SOiB7dmFsdWU6IDAuNzB9LFxuICAgIEFWR19DT0RFX0VSUk9SOiB7dmFsdWU6IDAuNDh9LFxuICAgIEZPUk1BVDoge3ZhbHVlOiBcImVhbl8xM1wiLCB3cml0ZWFibGU6IGZhbHNlfVxufTtcblxuRUFOUmVhZGVyLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoQmFyY29kZVJlYWRlci5wcm90b3R5cGUsIHByb3BlcnRpZXMpO1xuRUFOUmVhZGVyLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IEVBTlJlYWRlcjtcblxuRUFOUmVhZGVyLnByb3RvdHlwZS5fZGVjb2RlQ29kZSA9IGZ1bmN0aW9uKHN0YXJ0LCBjb2RlcmFuZ2UpIHtcbiAgICB2YXIgY291bnRlciA9IFswLCAwLCAwLCAwXSxcbiAgICAgICAgaSxcbiAgICAgICAgc2VsZiA9IHRoaXMsXG4gICAgICAgIG9mZnNldCA9IHN0YXJ0LFxuICAgICAgICBpc1doaXRlID0gIXNlbGYuX3Jvd1tvZmZzZXRdLFxuICAgICAgICBjb3VudGVyUG9zID0gMCxcbiAgICAgICAgYmVzdE1hdGNoID0ge1xuICAgICAgICAgICAgZXJyb3I6IE51bWJlci5NQVhfVkFMVUUsXG4gICAgICAgICAgICBjb2RlOiAtMSxcbiAgICAgICAgICAgIHN0YXJ0OiBzdGFydCxcbiAgICAgICAgICAgIGVuZDogc3RhcnRcbiAgICAgICAgfSxcbiAgICAgICAgY29kZSxcbiAgICAgICAgZXJyb3I7XG5cbiAgICBpZiAoIWNvZGVyYW5nZSkge1xuICAgICAgICBjb2RlcmFuZ2UgPSBzZWxmLkNPREVfUEFUVEVSTi5sZW5ndGg7XG4gICAgfVxuXG4gICAgZm9yICggaSA9IG9mZnNldDsgaSA8IHNlbGYuX3Jvdy5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAoc2VsZi5fcm93W2ldIF4gaXNXaGl0ZSkge1xuICAgICAgICAgICAgY291bnRlcltjb3VudGVyUG9zXSsrO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKGNvdW50ZXJQb3MgPT09IGNvdW50ZXIubGVuZ3RoIC0gMSkge1xuICAgICAgICAgICAgICAgIGZvciAoY29kZSA9IDA7IGNvZGUgPCBjb2RlcmFuZ2U7IGNvZGUrKykge1xuICAgICAgICAgICAgICAgICAgICBlcnJvciA9IHNlbGYuX21hdGNoUGF0dGVybihjb3VudGVyLCBzZWxmLkNPREVfUEFUVEVSTltjb2RlXSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlcnJvciA8IGJlc3RNYXRjaC5lcnJvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmVzdE1hdGNoLmNvZGUgPSBjb2RlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmVzdE1hdGNoLmVycm9yID0gZXJyb3I7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYmVzdE1hdGNoLmVuZCA9IGk7XG4gICAgICAgICAgICAgICAgaWYgKGJlc3RNYXRjaC5lcnJvciA+IHNlbGYuQVZHX0NPREVfRVJST1IpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBiZXN0TWF0Y2g7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvdW50ZXJQb3MrKztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvdW50ZXJbY291bnRlclBvc10gPSAxO1xuICAgICAgICAgICAgaXNXaGl0ZSA9ICFpc1doaXRlO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xufTtcblxuRUFOUmVhZGVyLnByb3RvdHlwZS5fZmluZFBhdHRlcm4gPSBmdW5jdGlvbihwYXR0ZXJuLCBvZmZzZXQsIGlzV2hpdGUsIHRyeUhhcmRlciwgZXBzaWxvbikge1xuICAgIHZhciBjb3VudGVyID0gW10sXG4gICAgICAgIHNlbGYgPSB0aGlzLFxuICAgICAgICBpLFxuICAgICAgICBjb3VudGVyUG9zID0gMCxcbiAgICAgICAgYmVzdE1hdGNoID0ge1xuICAgICAgICAgICAgZXJyb3I6IE51bWJlci5NQVhfVkFMVUUsXG4gICAgICAgICAgICBjb2RlOiAtMSxcbiAgICAgICAgICAgIHN0YXJ0OiAwLFxuICAgICAgICAgICAgZW5kOiAwXG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yLFxuICAgICAgICBqLFxuICAgICAgICBzdW07XG5cbiAgICBpZiAoIW9mZnNldCkge1xuICAgICAgICBvZmZzZXQgPSBzZWxmLl9uZXh0U2V0KHNlbGYuX3Jvdyk7XG4gICAgfVxuXG4gICAgaWYgKGlzV2hpdGUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBpc1doaXRlID0gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKHRyeUhhcmRlciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRyeUhhcmRlciA9IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKCBlcHNpbG9uID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgZXBzaWxvbiA9IHNlbGYuQVZHX0NPREVfRVJST1I7XG4gICAgfVxuXG4gICAgZm9yICggaSA9IDA7IGkgPCBwYXR0ZXJuLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvdW50ZXJbaV0gPSAwO1xuICAgIH1cblxuICAgIGZvciAoIGkgPSBvZmZzZXQ7IGkgPCBzZWxmLl9yb3cubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKHNlbGYuX3Jvd1tpXSBeIGlzV2hpdGUpIHtcbiAgICAgICAgICAgIGNvdW50ZXJbY291bnRlclBvc10rKztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChjb3VudGVyUG9zID09PSBjb3VudGVyLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICAgICAgICBzdW0gPSAwO1xuICAgICAgICAgICAgICAgIGZvciAoIGogPSAwOyBqIDwgY291bnRlci5sZW5ndGg7IGorKykge1xuICAgICAgICAgICAgICAgICAgICBzdW0gKz0gY291bnRlcltqXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZXJyb3IgPSBzZWxmLl9tYXRjaFBhdHRlcm4oY291bnRlciwgcGF0dGVybik7XG5cbiAgICAgICAgICAgICAgICBpZiAoZXJyb3IgPCBlcHNpbG9uKSB7XG4gICAgICAgICAgICAgICAgICAgIGJlc3RNYXRjaC5lcnJvciA9IGVycm9yO1xuICAgICAgICAgICAgICAgICAgICBiZXN0TWF0Y2guc3RhcnQgPSBpIC0gc3VtO1xuICAgICAgICAgICAgICAgICAgICBiZXN0TWF0Y2guZW5kID0gaTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGJlc3RNYXRjaDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHRyeUhhcmRlcikge1xuICAgICAgICAgICAgICAgICAgICBmb3IgKCBqID0gMDsgaiA8IGNvdW50ZXIubGVuZ3RoIC0gMjsgaisrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb3VudGVyW2pdID0gY291bnRlcltqICsgMl07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgY291bnRlcltjb3VudGVyLmxlbmd0aCAtIDJdID0gMDtcbiAgICAgICAgICAgICAgICAgICAgY291bnRlcltjb3VudGVyLmxlbmd0aCAtIDFdID0gMDtcbiAgICAgICAgICAgICAgICAgICAgY291bnRlclBvcy0tO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY291bnRlclBvcysrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY291bnRlcltjb3VudGVyUG9zXSA9IDE7XG4gICAgICAgICAgICBpc1doaXRlID0gIWlzV2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG59O1xuXG5FQU5SZWFkZXIucHJvdG90eXBlLl9maW5kU3RhcnQgPSBmdW5jdGlvbigpIHtcbiAgICB2YXIgc2VsZiA9IHRoaXMsXG4gICAgICAgIGxlYWRpbmdXaGl0ZXNwYWNlU3RhcnQsXG4gICAgICAgIG9mZnNldCA9IHNlbGYuX25leHRTZXQoc2VsZi5fcm93KSxcbiAgICAgICAgc3RhcnRJbmZvO1xuXG4gICAgd2hpbGUgKCFzdGFydEluZm8pIHtcbiAgICAgICAgc3RhcnRJbmZvID0gc2VsZi5fZmluZFBhdHRlcm4oc2VsZi5TVEFSVF9QQVRURVJOLCBvZmZzZXQpO1xuICAgICAgICBpZiAoIXN0YXJ0SW5mbykge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgbGVhZGluZ1doaXRlc3BhY2VTdGFydCA9IHN0YXJ0SW5mby5zdGFydCAtIChzdGFydEluZm8uZW5kIC0gc3RhcnRJbmZvLnN0YXJ0KTtcbiAgICAgICAgaWYgKGxlYWRpbmdXaGl0ZXNwYWNlU3RhcnQgPj0gMCkge1xuICAgICAgICAgICAgaWYgKHNlbGYuX21hdGNoUmFuZ2UobGVhZGluZ1doaXRlc3BhY2VTdGFydCwgc3RhcnRJbmZvLnN0YXJ0LCAwKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBzdGFydEluZm87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgb2Zmc2V0ID0gc3RhcnRJbmZvLmVuZDtcbiAgICAgICAgc3RhcnRJbmZvID0gbnVsbDtcbiAgICB9XG59O1xuXG5FQU5SZWFkZXIucHJvdG90eXBlLl92ZXJpZnlUcmFpbGluZ1doaXRlc3BhY2UgPSBmdW5jdGlvbihlbmRJbmZvKSB7XG4gICAgdmFyIHNlbGYgPSB0aGlzLFxuICAgICAgICB0cmFpbGluZ1doaXRlc3BhY2VFbmQ7XG5cbiAgICB0cmFpbGluZ1doaXRlc3BhY2VFbmQgPSBlbmRJbmZvLmVuZCArIChlbmRJbmZvLmVuZCAtIGVuZEluZm8uc3RhcnQpO1xuICAgIGlmICh0cmFpbGluZ1doaXRlc3BhY2VFbmQgPCBzZWxmLl9yb3cubGVuZ3RoKSB7XG4gICAgICAgIGlmIChzZWxmLl9tYXRjaFJhbmdlKGVuZEluZm8uZW5kLCB0cmFpbGluZ1doaXRlc3BhY2VFbmQsIDApKSB7XG4gICAgICAgICAgICByZXR1cm4gZW5kSW5mbztcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbn07XG5cbkVBTlJlYWRlci5wcm90b3R5cGUuX2ZpbmRFbmQgPSBmdW5jdGlvbihvZmZzZXQsIGlzV2hpdGUpIHtcbiAgICB2YXIgc2VsZiA9IHRoaXMsXG4gICAgICAgIGVuZEluZm8gPSBzZWxmLl9maW5kUGF0dGVybihzZWxmLlNUT1BfUEFUVEVSTiwgb2Zmc2V0LCBpc1doaXRlLCBmYWxzZSk7XG5cbiAgICByZXR1cm4gZW5kSW5mbyAhPT0gbnVsbCA/IHNlbGYuX3ZlcmlmeVRyYWlsaW5nV2hpdGVzcGFjZShlbmRJbmZvKSA6IG51bGw7XG59O1xuXG5FQU5SZWFkZXIucHJvdG90eXBlLl9jYWxjdWxhdGVGaXJzdERpZ2l0ID0gZnVuY3Rpb24oY29kZUZyZXF1ZW5jeSkge1xuICAgIHZhciBpLFxuICAgICAgICBzZWxmID0gdGhpcztcblxuICAgIGZvciAoIGkgPSAwOyBpIDwgc2VsZi5DT0RFX0ZSRVFVRU5DWS5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAoY29kZUZyZXF1ZW5jeSA9PT0gc2VsZi5DT0RFX0ZSRVFVRU5DWVtpXSkge1xuICAgICAgICAgICAgcmV0dXJuIGk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG59O1xuXG5FQU5SZWFkZXIucHJvdG90eXBlLl9kZWNvZGVQYXlsb2FkID0gZnVuY3Rpb24oY29kZSwgcmVzdWx0LCBkZWNvZGVkQ29kZXMpIHtcbiAgICB2YXIgaSxcbiAgICAgICAgc2VsZiA9IHRoaXMsXG4gICAgICAgIGNvZGVGcmVxdWVuY3kgPSAweDAsXG4gICAgICAgIGZpcnN0RGlnaXQ7XG5cbiAgICBmb3IgKCBpID0gMDsgaSA8IDY7IGkrKykge1xuICAgICAgICBjb2RlID0gc2VsZi5fZGVjb2RlQ29kZShjb2RlLmVuZCk7XG4gICAgICAgIGlmICghY29kZSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNvZGUuY29kZSA+PSBzZWxmLkNPREVfR19TVEFSVCkge1xuICAgICAgICAgICAgY29kZS5jb2RlID0gY29kZS5jb2RlIC0gc2VsZi5DT0RFX0dfU1RBUlQ7XG4gICAgICAgICAgICBjb2RlRnJlcXVlbmN5IHw9IDEgPDwgKDUgLSBpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvZGVGcmVxdWVuY3kgfD0gMCA8PCAoNSAtIGkpO1xuICAgICAgICB9XG4gICAgICAgIHJlc3VsdC5wdXNoKGNvZGUuY29kZSk7XG4gICAgICAgIGRlY29kZWRDb2Rlcy5wdXNoKGNvZGUpO1xuICAgIH1cblxuICAgIGZpcnN0RGlnaXQgPSBzZWxmLl9jYWxjdWxhdGVGaXJzdERpZ2l0KGNvZGVGcmVxdWVuY3kpO1xuICAgIGlmIChmaXJzdERpZ2l0ID09PSBudWxsKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICByZXN1bHQudW5zaGlmdChmaXJzdERpZ2l0KTtcblxuICAgIGNvZGUgPSBzZWxmLl9maW5kUGF0dGVybihzZWxmLk1JRERMRV9QQVRURVJOLCBjb2RlLmVuZCwgdHJ1ZSwgZmFsc2UpO1xuICAgIGlmIChjb2RlID09PSBudWxsKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBkZWNvZGVkQ29kZXMucHVzaChjb2RlKTtcblxuICAgIGZvciAoIGkgPSAwOyBpIDwgNjsgaSsrKSB7XG4gICAgICAgIGNvZGUgPSBzZWxmLl9kZWNvZGVDb2RlKGNvZGUuZW5kLCBzZWxmLkNPREVfR19TVEFSVCk7XG4gICAgICAgIGlmICghY29kZSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgZGVjb2RlZENvZGVzLnB1c2goY29kZSk7XG4gICAgICAgIHJlc3VsdC5wdXNoKGNvZGUuY29kZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvZGU7XG59O1xuXG5FQU5SZWFkZXIucHJvdG90eXBlLl9kZWNvZGUgPSBmdW5jdGlvbigpIHtcbiAgICB2YXIgc3RhcnRJbmZvLFxuICAgICAgICBzZWxmID0gdGhpcyxcbiAgICAgICAgY29kZSxcbiAgICAgICAgcmVzdWx0ID0gW10sXG4gICAgICAgIGRlY29kZWRDb2RlcyA9IFtdLFxuICAgICAgICByZXN1bHRJbmZvID0ge307XG5cbiAgICBzdGFydEluZm8gPSBzZWxmLl9maW5kU3RhcnQoKTtcbiAgICBpZiAoIXN0YXJ0SW5mbykge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgY29kZSA9IHtcbiAgICAgICAgY29kZTogc3RhcnRJbmZvLmNvZGUsXG4gICAgICAgIHN0YXJ0OiBzdGFydEluZm8uc3RhcnQsXG4gICAgICAgIGVuZDogc3RhcnRJbmZvLmVuZFxuICAgIH07XG4gICAgZGVjb2RlZENvZGVzLnB1c2goY29kZSk7XG4gICAgY29kZSA9IHNlbGYuX2RlY29kZVBheWxvYWQoY29kZSwgcmVzdWx0LCBkZWNvZGVkQ29kZXMpO1xuICAgIGlmICghY29kZSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgY29kZSA9IHNlbGYuX2ZpbmRFbmQoY29kZS5lbmQsIGZhbHNlKTtcbiAgICBpZiAoIWNvZGUpe1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBkZWNvZGVkQ29kZXMucHVzaChjb2RlKTtcblxuICAgIC8vIENoZWNrc3VtXG4gICAgaWYgKCFzZWxmLl9jaGVja3N1bShyZXN1bHQpKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnN1cHBsZW1lbnRzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgbGV0IGV4dCA9IHRoaXMuX2RlY29kZUV4dGVuc2lvbnMoY29kZS5lbmQpO1xuICAgICAgICBpZiAoIWV4dCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGxhc3RDb2RlID0gZXh0LmRlY29kZWRDb2Rlc1tleHQuZGVjb2RlZENvZGVzLmxlbmd0aC0xXSxcbiAgICAgICAgICAgIGVuZEluZm8gPSB7XG4gICAgICAgICAgICAgICAgc3RhcnQ6IGxhc3RDb2RlLnN0YXJ0ICsgKCgobGFzdENvZGUuZW5kIC0gbGFzdENvZGUuc3RhcnQpIC8gMikgfCAwKSxcbiAgICAgICAgICAgICAgICBlbmQ6IGxhc3RDb2RlLmVuZFxuICAgICAgICAgICAgfTtcbiAgICAgICAgaWYoIXNlbGYuX3ZlcmlmeVRyYWlsaW5nV2hpdGVzcGFjZShlbmRJbmZvKSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgcmVzdWx0SW5mbyA9IHtcbiAgICAgICAgICAgIHN1cHBsZW1lbnQ6IGV4dCxcbiAgICAgICAgICAgIGNvZGU6IHJlc3VsdC5qb2luKFwiXCIpICsgZXh0LmNvZGVcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAgIGNvZGU6IHJlc3VsdC5qb2luKFwiXCIpLFxuICAgICAgICBzdGFydDogc3RhcnRJbmZvLnN0YXJ0LFxuICAgICAgICBlbmQ6IGNvZGUuZW5kLFxuICAgICAgICBjb2Rlc2V0OiBcIlwiLFxuICAgICAgICBzdGFydEluZm86IHN0YXJ0SW5mbyxcbiAgICAgICAgZGVjb2RlZENvZGVzOiBkZWNvZGVkQ29kZXMsXG4gICAgICAgIC4uLnJlc3VsdEluZm9cbiAgICB9O1xufTtcblxuRUFOUmVhZGVyLnByb3RvdHlwZS5fZGVjb2RlRXh0ZW5zaW9ucyA9IGZ1bmN0aW9uKG9mZnNldCkge1xuICAgIHZhciBpLFxuICAgICAgICBzdGFydCA9IHRoaXMuX25leHRTZXQodGhpcy5fcm93LCBvZmZzZXQpLFxuICAgICAgICBzdGFydEluZm8gPSB0aGlzLl9maW5kUGF0dGVybih0aGlzLkVYVEVOU0lPTl9TVEFSVF9QQVRURVJOLCBzdGFydCwgZmFsc2UsIGZhbHNlKSxcbiAgICAgICAgcmVzdWx0O1xuXG4gICAgaWYgKHN0YXJ0SW5mbyA9PT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBmb3IgKGkgPSAwOyBpIDwgdGhpcy5zdXBwbGVtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgICByZXN1bHQgPSB0aGlzLnN1cHBsZW1lbnRzW2ldLmRlY29kZSh0aGlzLl9yb3csIHN0YXJ0SW5mby5lbmQpO1xuICAgICAgICBpZiAocmVzdWx0ICE9PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGNvZGU6IHJlc3VsdC5jb2RlLFxuICAgICAgICAgICAgICAgIHN0YXJ0LFxuICAgICAgICAgICAgICAgIHN0YXJ0SW5mbyxcbiAgICAgICAgICAgICAgICBlbmQ6IHJlc3VsdC5lbmQsXG4gICAgICAgICAgICAgICAgY29kZXNldDogXCJcIixcbiAgICAgICAgICAgICAgICBkZWNvZGVkQ29kZXM6IHJlc3VsdC5kZWNvZGVkQ29kZXNcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbn07XG5cbkVBTlJlYWRlci5wcm90b3R5cGUuX2NoZWNrc3VtID0gZnVuY3Rpb24ocmVzdWx0KSB7XG4gICAgdmFyIHN1bSA9IDAsIGk7XG5cbiAgICBmb3IgKCBpID0gcmVzdWx0Lmxlbmd0aCAtIDI7IGkgPj0gMDsgaSAtPSAyKSB7XG4gICAgICAgIHN1bSArPSByZXN1bHRbaV07XG4gICAgfVxuICAgIHN1bSAqPSAzO1xuICAgIGZvciAoIGkgPSByZXN1bHQubGVuZ3RoIC0gMTsgaSA+PSAwOyBpIC09IDIpIHtcbiAgICAgICAgc3VtICs9IHJlc3VsdFtpXTtcbiAgICB9XG4gICAgcmV0dXJuIHN1bSAlIDEwID09PSAwO1xufTtcblxuRUFOUmVhZGVyLkNPTkZJR19LRVlTID0ge1xuICAgIHN1cHBsZW1lbnRzOiB7XG4gICAgICAgICd0eXBlJzogJ2FycmF5T2Yoc3RyaW5nKScsXG4gICAgICAgICdkZWZhdWx0JzogW10sXG4gICAgICAgICdkZXNjcmlwdGlvbic6ICdBbGxvd2VkIGV4dGVuc2lvbnMgdG8gYmUgZGVjb2RlZCAoMiBhbmQvb3IgNSknXG4gICAgfVxufTtcblxuZXhwb3J0IGRlZmF1bHQgKEVBTlJlYWRlcik7XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9zcmMvcmVhZGVyL2Vhbl9yZWFkZXIuanMiLCJ2YXIgZnJlZUdsb2JhbCA9IHJlcXVpcmUoJy4vX2ZyZWVHbG9iYWwnKTtcblxuLyoqIERldGVjdCBmcmVlIHZhcmlhYmxlIGBzZWxmYC4gKi9cbnZhciBmcmVlU2VsZiA9IHR5cGVvZiBzZWxmID09ICdvYmplY3QnICYmIHNlbGYgJiYgc2VsZi5PYmplY3QgPT09IE9iamVjdCAmJiBzZWxmO1xuXG4vKiogVXNlZCBhcyBhIHJlZmVyZW5jZSB0byB0aGUgZ2xvYmFsIG9iamVjdC4gKi9cbnZhciByb290ID0gZnJlZUdsb2JhbCB8fCBmcmVlU2VsZiB8fCBGdW5jdGlvbigncmV0dXJuIHRoaXMnKSgpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IHJvb3Q7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL34vbG9kYXNoL19yb290LmpzXG4vLyBtb2R1bGUgaWQgPSA1XG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsIi8qKlxuICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgb2JqZWN0LWxpa2UuIEEgdmFsdWUgaXMgb2JqZWN0LWxpa2UgaWYgaXQncyBub3QgYG51bGxgXG4gKiBhbmQgaGFzIGEgYHR5cGVvZmAgcmVzdWx0IG9mIFwib2JqZWN0XCIuXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSA0LjAuMFxuICogQGNhdGVnb3J5IExhbmdcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgb2JqZWN0LWxpa2UsIGVsc2UgYGZhbHNlYC5cbiAqIEBleGFtcGxlXG4gKlxuICogXy5pc09iamVjdExpa2Uoe30pO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uaXNPYmplY3RMaWtlKFsxLCAyLCAzXSk7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc09iamVjdExpa2UoXy5ub29wKTtcbiAqIC8vID0+IGZhbHNlXG4gKlxuICogXy5pc09iamVjdExpa2UobnVsbCk7XG4gKiAvLyA9PiBmYWxzZVxuICovXG5mdW5jdGlvbiBpc09iamVjdExpa2UodmFsdWUpIHtcbiAgcmV0dXJuIHZhbHVlICE9IG51bGwgJiYgdHlwZW9mIHZhbHVlID09ICdvYmplY3QnO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGlzT2JqZWN0TGlrZTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vfi9sb2Rhc2gvaXNPYmplY3RMaWtlLmpzXG4vLyBtb2R1bGUgaWQgPSA2XG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsIm1vZHVsZS5leHBvcnRzID0gY2xvbmVcblxuLyoqXG4gKiBDcmVhdGVzIGEgbmV3IHZlYzIgaW5pdGlhbGl6ZWQgd2l0aCB2YWx1ZXMgZnJvbSBhbiBleGlzdGluZyB2ZWN0b3JcbiAqXG4gKiBAcGFyYW0ge3ZlYzJ9IGEgdmVjdG9yIHRvIGNsb25lXG4gKiBAcmV0dXJucyB7dmVjMn0gYSBuZXcgMkQgdmVjdG9yXG4gKi9cbmZ1bmN0aW9uIGNsb25lKGEpIHtcbiAgICB2YXIgb3V0ID0gbmV3IEZsb2F0MzJBcnJheSgyKVxuICAgIG91dFswXSA9IGFbMF1cbiAgICBvdXRbMV0gPSBhWzFdXG4gICAgcmV0dXJuIG91dFxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vfi9nbC12ZWMyL2Nsb25lLmpzXG4vLyBtb2R1bGUgaWQgPSA3XG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsInZhciBTeW1ib2wgPSByZXF1aXJlKCcuL19TeW1ib2wnKSxcbiAgICBnZXRSYXdUYWcgPSByZXF1aXJlKCcuL19nZXRSYXdUYWcnKSxcbiAgICBvYmplY3RUb1N0cmluZyA9IHJlcXVpcmUoJy4vX29iamVjdFRvU3RyaW5nJyk7XG5cbi8qKiBgT2JqZWN0I3RvU3RyaW5nYCByZXN1bHQgcmVmZXJlbmNlcy4gKi9cbnZhciBudWxsVGFnID0gJ1tvYmplY3QgTnVsbF0nLFxuICAgIHVuZGVmaW5lZFRhZyA9ICdbb2JqZWN0IFVuZGVmaW5lZF0nO1xuXG4vKiogQnVpbHQtaW4gdmFsdWUgcmVmZXJlbmNlcy4gKi9cbnZhciBzeW1Ub1N0cmluZ1RhZyA9IFN5bWJvbCA/IFN5bWJvbC50b1N0cmluZ1RhZyA6IHVuZGVmaW5lZDtcblxuLyoqXG4gKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgZ2V0VGFnYCB3aXRob3V0IGZhbGxiYWNrcyBmb3IgYnVnZ3kgZW52aXJvbm1lbnRzLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBxdWVyeS5cbiAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIGB0b1N0cmluZ1RhZ2AuXG4gKi9cbmZ1bmN0aW9uIGJhc2VHZXRUYWcodmFsdWUpIHtcbiAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICByZXR1cm4gdmFsdWUgPT09IHVuZGVmaW5lZCA/IHVuZGVmaW5lZFRhZyA6IG51bGxUYWc7XG4gIH1cbiAgcmV0dXJuIChzeW1Ub1N0cmluZ1RhZyAmJiBzeW1Ub1N0cmluZ1RhZyBpbiBPYmplY3QodmFsdWUpKVxuICAgID8gZ2V0UmF3VGFnKHZhbHVlKVxuICAgIDogb2JqZWN0VG9TdHJpbmcodmFsdWUpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGJhc2VHZXRUYWc7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL34vbG9kYXNoL19iYXNlR2V0VGFnLmpzXG4vLyBtb2R1bGUgaWQgPSA4XG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsImV4cG9ydCBkZWZhdWx0IHtcbiAgICBkcmF3UmVjdDogZnVuY3Rpb24ocG9zLCBzaXplLCBjdHgsIHN0eWxlKXtcbiAgICAgICAgY3R4LnN0cm9rZVN0eWxlID0gc3R5bGUuY29sb3I7XG4gICAgICAgIGN0eC5maWxsU3R5bGUgPSBzdHlsZS5jb2xvcjtcbiAgICAgICAgY3R4LmxpbmVXaWR0aCA9IDE7XG4gICAgICAgIGN0eC5iZWdpblBhdGgoKTtcbiAgICAgICAgY3R4LnN0cm9rZVJlY3QocG9zLngsIHBvcy55LCBzaXplLngsIHNpemUueSk7XG4gICAgfSxcbiAgICBkcmF3UGF0aDogZnVuY3Rpb24ocGF0aCwgZGVmLCBjdHgsIHN0eWxlKSB7XG4gICAgICAgIGN0eC5zdHJva2VTdHlsZSA9IHN0eWxlLmNvbG9yO1xuICAgICAgICBjdHguZmlsbFN0eWxlID0gc3R5bGUuY29sb3I7XG4gICAgICAgIGN0eC5saW5lV2lkdGggPSBzdHlsZS5saW5lV2lkdGg7XG4gICAgICAgIGN0eC5iZWdpblBhdGgoKTtcbiAgICAgICAgY3R4Lm1vdmVUbyhwYXRoWzBdW2RlZi54XSwgcGF0aFswXVtkZWYueV0pO1xuICAgICAgICBmb3IgKHZhciBqID0gMTsgaiA8IHBhdGgubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICAgIGN0eC5saW5lVG8ocGF0aFtqXVtkZWYueF0sIHBhdGhbal1bZGVmLnldKTtcbiAgICAgICAgfVxuICAgICAgICBjdHguY2xvc2VQYXRoKCk7XG4gICAgICAgIGN0eC5zdHJva2UoKTtcbiAgICB9LFxuICAgIGRyYXdJbWFnZTogZnVuY3Rpb24oaW1hZ2VEYXRhLCBzaXplLCBjdHgpIHtcbiAgICAgICAgdmFyIGNhbnZhc0RhdGEgPSBjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIHNpemUueCwgc2l6ZS55KSxcbiAgICAgICAgICAgIGRhdGEgPSBjYW52YXNEYXRhLmRhdGEsXG4gICAgICAgICAgICBpbWFnZURhdGFQb3MgPSBpbWFnZURhdGEubGVuZ3RoLFxuICAgICAgICAgICAgY2FudmFzRGF0YVBvcyA9IGRhdGEubGVuZ3RoLFxuICAgICAgICAgICAgdmFsdWU7XG5cbiAgICAgICAgaWYgKGNhbnZhc0RhdGFQb3MgLyBpbWFnZURhdGFQb3MgIT09IDQpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICB3aGlsZSAoaW1hZ2VEYXRhUG9zLS0pe1xuICAgICAgICAgICAgdmFsdWUgPSBpbWFnZURhdGFbaW1hZ2VEYXRhUG9zXTtcbiAgICAgICAgICAgIGRhdGFbLS1jYW52YXNEYXRhUG9zXSA9IDI1NTtcbiAgICAgICAgICAgIGRhdGFbLS1jYW52YXNEYXRhUG9zXSA9IHZhbHVlO1xuICAgICAgICAgICAgZGF0YVstLWNhbnZhc0RhdGFQb3NdID0gdmFsdWU7XG4gICAgICAgICAgICBkYXRhWy0tY2FudmFzRGF0YVBvc10gPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICBjdHgucHV0SW1hZ2VEYXRhKGNhbnZhc0RhdGEsIDAsIDApO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG59O1xuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vc3JjL2NvbW1vbi9pbWFnZV9kZWJ1Zy5qcyIsInZhciBsaXN0Q2FjaGVDbGVhciA9IHJlcXVpcmUoJy4vX2xpc3RDYWNoZUNsZWFyJyksXG4gICAgbGlzdENhY2hlRGVsZXRlID0gcmVxdWlyZSgnLi9fbGlzdENhY2hlRGVsZXRlJyksXG4gICAgbGlzdENhY2hlR2V0ID0gcmVxdWlyZSgnLi9fbGlzdENhY2hlR2V0JyksXG4gICAgbGlzdENhY2hlSGFzID0gcmVxdWlyZSgnLi9fbGlzdENhY2hlSGFzJyksXG4gICAgbGlzdENhY2hlU2V0ID0gcmVxdWlyZSgnLi9fbGlzdENhY2hlU2V0Jyk7XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBsaXN0IGNhY2hlIG9iamVjdC5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQGNvbnN0cnVjdG9yXG4gKiBAcGFyYW0ge0FycmF5fSBbZW50cmllc10gVGhlIGtleS12YWx1ZSBwYWlycyB0byBjYWNoZS5cbiAqL1xuZnVuY3Rpb24gTGlzdENhY2hlKGVudHJpZXMpIHtcbiAgdmFyIGluZGV4ID0gLTEsXG4gICAgICBsZW5ndGggPSBlbnRyaWVzID09IG51bGwgPyAwIDogZW50cmllcy5sZW5ndGg7XG5cbiAgdGhpcy5jbGVhcigpO1xuICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgIHZhciBlbnRyeSA9IGVudHJpZXNbaW5kZXhdO1xuICAgIHRoaXMuc2V0KGVudHJ5WzBdLCBlbnRyeVsxXSk7XG4gIH1cbn1cblxuLy8gQWRkIG1ldGhvZHMgdG8gYExpc3RDYWNoZWAuXG5MaXN0Q2FjaGUucHJvdG90eXBlLmNsZWFyID0gbGlzdENhY2hlQ2xlYXI7XG5MaXN0Q2FjaGUucHJvdG90eXBlWydkZWxldGUnXSA9IGxpc3RDYWNoZURlbGV0ZTtcbkxpc3RDYWNoZS5wcm90b3R5cGUuZ2V0ID0gbGlzdENhY2hlR2V0O1xuTGlzdENhY2hlLnByb3RvdHlwZS5oYXMgPSBsaXN0Q2FjaGVIYXM7XG5MaXN0Q2FjaGUucHJvdG90eXBlLnNldCA9IGxpc3RDYWNoZVNldDtcblxubW9kdWxlLmV4cG9ydHMgPSBMaXN0Q2FjaGU7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL34vbG9kYXNoL19MaXN0Q2FjaGUuanNcbi8vIG1vZHVsZSBpZCA9IDEwXG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsInZhciByb290ID0gcmVxdWlyZSgnLi9fcm9vdCcpO1xuXG4vKiogQnVpbHQtaW4gdmFsdWUgcmVmZXJlbmNlcy4gKi9cbnZhciBTeW1ib2wgPSByb290LlN5bWJvbDtcblxubW9kdWxlLmV4cG9ydHMgPSBTeW1ib2w7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL34vbG9kYXNoL19TeW1ib2wuanNcbi8vIG1vZHVsZSBpZCA9IDExXG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsInZhciBlcSA9IHJlcXVpcmUoJy4vZXEnKTtcblxuLyoqXG4gKiBHZXRzIHRoZSBpbmRleCBhdCB3aGljaCB0aGUgYGtleWAgaXMgZm91bmQgaW4gYGFycmF5YCBvZiBrZXktdmFsdWUgcGFpcnMuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBpbnNwZWN0LlxuICogQHBhcmFtIHsqfSBrZXkgVGhlIGtleSB0byBzZWFyY2ggZm9yLlxuICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgaW5kZXggb2YgdGhlIG1hdGNoZWQgdmFsdWUsIGVsc2UgYC0xYC5cbiAqL1xuZnVuY3Rpb24gYXNzb2NJbmRleE9mKGFycmF5LCBrZXkpIHtcbiAgdmFyIGxlbmd0aCA9IGFycmF5Lmxlbmd0aDtcbiAgd2hpbGUgKGxlbmd0aC0tKSB7XG4gICAgaWYgKGVxKGFycmF5W2xlbmd0aF1bMF0sIGtleSkpIHtcbiAgICAgIHJldHVybiBsZW5ndGg7XG4gICAgfVxuICB9XG4gIHJldHVybiAtMTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBhc3NvY0luZGV4T2Y7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL34vbG9kYXNoL19hc3NvY0luZGV4T2YuanNcbi8vIG1vZHVsZSBpZCA9IDEyXG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsInZhciBpc0FycmF5ID0gcmVxdWlyZSgnLi9pc0FycmF5JyksXG4gICAgaXNLZXkgPSByZXF1aXJlKCcuL19pc0tleScpLFxuICAgIHN0cmluZ1RvUGF0aCA9IHJlcXVpcmUoJy4vX3N0cmluZ1RvUGF0aCcpLFxuICAgIHRvU3RyaW5nID0gcmVxdWlyZSgnLi90b1N0cmluZycpO1xuXG4vKipcbiAqIENhc3RzIGB2YWx1ZWAgdG8gYSBwYXRoIGFycmF5IGlmIGl0J3Mgbm90IG9uZS5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gaW5zcGVjdC5cbiAqIEBwYXJhbSB7T2JqZWN0fSBbb2JqZWN0XSBUaGUgb2JqZWN0IHRvIHF1ZXJ5IGtleXMgb24uXG4gKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIGNhc3QgcHJvcGVydHkgcGF0aCBhcnJheS5cbiAqL1xuZnVuY3Rpb24gY2FzdFBhdGgodmFsdWUsIG9iamVjdCkge1xuICBpZiAoaXNBcnJheSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cbiAgcmV0dXJuIGlzS2V5KHZhbHVlLCBvYmplY3QpID8gW3ZhbHVlXSA6IHN0cmluZ1RvUGF0aCh0b1N0cmluZyh2YWx1ZSkpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGNhc3RQYXRoO1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9+L2xvZGFzaC9fY2FzdFBhdGguanNcbi8vIG1vZHVsZSBpZCA9IDEzXG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsInZhciBpc0tleWFibGUgPSByZXF1aXJlKCcuL19pc0tleWFibGUnKTtcblxuLyoqXG4gKiBHZXRzIHRoZSBkYXRhIGZvciBgbWFwYC5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtPYmplY3R9IG1hcCBUaGUgbWFwIHRvIHF1ZXJ5LlxuICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUgcmVmZXJlbmNlIGtleS5cbiAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSBtYXAgZGF0YS5cbiAqL1xuZnVuY3Rpb24gZ2V0TWFwRGF0YShtYXAsIGtleSkge1xuICB2YXIgZGF0YSA9IG1hcC5fX2RhdGFfXztcbiAgcmV0dXJuIGlzS2V5YWJsZShrZXkpXG4gICAgPyBkYXRhW3R5cGVvZiBrZXkgPT0gJ3N0cmluZycgPyAnc3RyaW5nJyA6ICdoYXNoJ11cbiAgICA6IGRhdGEubWFwO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGdldE1hcERhdGE7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL34vbG9kYXNoL19nZXRNYXBEYXRhLmpzXG4vLyBtb2R1bGUgaWQgPSAxNFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiLCIvKiogVXNlZCBhcyByZWZlcmVuY2VzIGZvciB2YXJpb3VzIGBOdW1iZXJgIGNvbnN0YW50cy4gKi9cbnZhciBNQVhfU0FGRV9JTlRFR0VSID0gOTAwNzE5OTI1NDc0MDk5MTtcblxuLyoqIFVzZWQgdG8gZGV0ZWN0IHVuc2lnbmVkIGludGVnZXIgdmFsdWVzLiAqL1xudmFyIHJlSXNVaW50ID0gL14oPzowfFsxLTldXFxkKikkLztcblxuLyoqXG4gKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBhIHZhbGlkIGFycmF5LWxpa2UgaW5kZXguXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHBhcmFtIHtudW1iZXJ9IFtsZW5ndGg9TUFYX1NBRkVfSU5URUdFUl0gVGhlIHVwcGVyIGJvdW5kcyBvZiBhIHZhbGlkIGluZGV4LlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSB2YWxpZCBpbmRleCwgZWxzZSBgZmFsc2VgLlxuICovXG5mdW5jdGlvbiBpc0luZGV4KHZhbHVlLCBsZW5ndGgpIHtcbiAgbGVuZ3RoID0gbGVuZ3RoID09IG51bGwgPyBNQVhfU0FGRV9JTlRFR0VSIDogbGVuZ3RoO1xuICByZXR1cm4gISFsZW5ndGggJiZcbiAgICAodHlwZW9mIHZhbHVlID09ICdudW1iZXInIHx8IHJlSXNVaW50LnRlc3QodmFsdWUpKSAmJlxuICAgICh2YWx1ZSA+IC0xICYmIHZhbHVlICUgMSA9PSAwICYmIHZhbHVlIDwgbGVuZ3RoKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBpc0luZGV4O1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9+L2xvZGFzaC9faXNJbmRleC5qc1xuLy8gbW9kdWxlIGlkID0gMTVcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwidmFyIGdldE5hdGl2ZSA9IHJlcXVpcmUoJy4vX2dldE5hdGl2ZScpO1xuXG4vKiBCdWlsdC1pbiBtZXRob2QgcmVmZXJlbmNlcyB0aGF0IGFyZSB2ZXJpZmllZCB0byBiZSBuYXRpdmUuICovXG52YXIgbmF0aXZlQ3JlYXRlID0gZ2V0TmF0aXZlKE9iamVjdCwgJ2NyZWF0ZScpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IG5hdGl2ZUNyZWF0ZTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vfi9sb2Rhc2gvX25hdGl2ZUNyZWF0ZS5qc1xuLy8gbW9kdWxlIGlkID0gMTZcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwiLyoqXG4gKiBQZXJmb3JtcyBhXG4gKiBbYFNhbWVWYWx1ZVplcm9gXShodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy1zYW1ldmFsdWV6ZXJvKVxuICogY29tcGFyaXNvbiBiZXR3ZWVuIHR3byB2YWx1ZXMgdG8gZGV0ZXJtaW5lIGlmIHRoZXkgYXJlIGVxdWl2YWxlbnQuXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSA0LjAuMFxuICogQGNhdGVnb3J5IExhbmdcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNvbXBhcmUuXG4gKiBAcGFyYW0geyp9IG90aGVyIFRoZSBvdGhlciB2YWx1ZSB0byBjb21wYXJlLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIHRoZSB2YWx1ZXMgYXJlIGVxdWl2YWxlbnQsIGVsc2UgYGZhbHNlYC5cbiAqIEBleGFtcGxlXG4gKlxuICogdmFyIG9iamVjdCA9IHsgJ2EnOiAxIH07XG4gKiB2YXIgb3RoZXIgPSB7ICdhJzogMSB9O1xuICpcbiAqIF8uZXEob2JqZWN0LCBvYmplY3QpO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uZXEob2JqZWN0LCBvdGhlcik7XG4gKiAvLyA9PiBmYWxzZVxuICpcbiAqIF8uZXEoJ2EnLCAnYScpO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uZXEoJ2EnLCBPYmplY3QoJ2EnKSk7XG4gKiAvLyA9PiBmYWxzZVxuICpcbiAqIF8uZXEoTmFOLCBOYU4pO1xuICogLy8gPT4gdHJ1ZVxuICovXG5mdW5jdGlvbiBlcSh2YWx1ZSwgb3RoZXIpIHtcbiAgcmV0dXJuIHZhbHVlID09PSBvdGhlciB8fCAodmFsdWUgIT09IHZhbHVlICYmIG90aGVyICE9PSBvdGhlcik7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZXE7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL34vbG9kYXNoL2VxLmpzXG4vLyBtb2R1bGUgaWQgPSAxN1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiLCJ2YXIgYmFzZUlzQXJndW1lbnRzID0gcmVxdWlyZSgnLi9fYmFzZUlzQXJndW1lbnRzJyksXG4gICAgaXNPYmplY3RMaWtlID0gcmVxdWlyZSgnLi9pc09iamVjdExpa2UnKTtcblxuLyoqIFVzZWQgZm9yIGJ1aWx0LWluIG1ldGhvZCByZWZlcmVuY2VzLiAqL1xudmFyIG9iamVjdFByb3RvID0gT2JqZWN0LnByb3RvdHlwZTtcblxuLyoqIFVzZWQgdG8gY2hlY2sgb2JqZWN0cyBmb3Igb3duIHByb3BlcnRpZXMuICovXG52YXIgaGFzT3duUHJvcGVydHkgPSBvYmplY3RQcm90by5oYXNPd25Qcm9wZXJ0eTtcblxuLyoqIEJ1aWx0LWluIHZhbHVlIHJlZmVyZW5jZXMuICovXG52YXIgcHJvcGVydHlJc0VudW1lcmFibGUgPSBvYmplY3RQcm90by5wcm9wZXJ0eUlzRW51bWVyYWJsZTtcblxuLyoqXG4gKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBsaWtlbHkgYW4gYGFyZ3VtZW50c2Agb2JqZWN0LlxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgMC4xLjBcbiAqIEBjYXRlZ29yeSBMYW5nXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGFuIGBhcmd1bWVudHNgIG9iamVjdCxcbiAqICBlbHNlIGBmYWxzZWAuXG4gKiBAZXhhbXBsZVxuICpcbiAqIF8uaXNBcmd1bWVudHMoZnVuY3Rpb24oKSB7IHJldHVybiBhcmd1bWVudHM7IH0oKSk7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc0FyZ3VtZW50cyhbMSwgMiwgM10pO1xuICogLy8gPT4gZmFsc2VcbiAqL1xudmFyIGlzQXJndW1lbnRzID0gYmFzZUlzQXJndW1lbnRzKGZ1bmN0aW9uKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KCkpID8gYmFzZUlzQXJndW1lbnRzIDogZnVuY3Rpb24odmFsdWUpIHtcbiAgcmV0dXJuIGlzT2JqZWN0TGlrZSh2YWx1ZSkgJiYgaGFzT3duUHJvcGVydHkuY2FsbCh2YWx1ZSwgJ2NhbGxlZScpICYmXG4gICAgIXByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwodmFsdWUsICdjYWxsZWUnKTtcbn07XG5cbm1vZHVsZS5leHBvcnRzID0gaXNBcmd1bWVudHM7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL34vbG9kYXNoL2lzQXJndW1lbnRzLmpzXG4vLyBtb2R1bGUgaWQgPSAxOFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiLCJpbXBvcnQgQ2x1c3RlcjIgZnJvbSAnLi9jbHVzdGVyJztcbmltcG9ydCBBcnJheUhlbHBlciBmcm9tICcuL2FycmF5X2hlbHBlcic7XG5jb25zdCB2ZWMyID0ge1xuICAgIGNsb25lOiByZXF1aXJlKCdnbC12ZWMyL2Nsb25lJyksXG59O1xuY29uc3QgdmVjMyA9IHtcbiAgICBjbG9uZTogcmVxdWlyZSgnZ2wtdmVjMy9jbG9uZScpLFxufTtcblxuLyoqXG4gKiBAcGFyYW0geCB4LWNvb3JkaW5hdGVcbiAqIEBwYXJhbSB5IHktY29vcmRpbmF0ZVxuICogQHJldHVybiBJbWFnZVJlZmVyZW5jZSB7eCx5fSBDb29yZGluYXRlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbWFnZVJlZih4LCB5KSB7XG4gICAgdmFyIHRoYXQgPSB7XG4gICAgICAgIHg6IHgsXG4gICAgICAgIHk6IHksXG4gICAgICAgIHRvVmVjMjogZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICByZXR1cm4gdmVjMi5jbG9uZShbdGhpcy54LCB0aGlzLnldKTtcbiAgICAgICAgfSxcbiAgICAgICAgdG9WZWMzOiBmdW5jdGlvbigpIHtcbiAgICAgICAgICAgIHJldHVybiB2ZWMzLmNsb25lKFt0aGlzLngsIHRoaXMueSwgMV0pO1xuICAgICAgICB9LFxuICAgICAgICByb3VuZDogZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICB0aGlzLnggPSB0aGlzLnggPiAwLjAgPyBNYXRoLmZsb29yKHRoaXMueCArIDAuNSkgOiBNYXRoLmZsb29yKHRoaXMueCAtIDAuNSk7XG4gICAgICAgICAgICB0aGlzLnkgPSB0aGlzLnkgPiAwLjAgPyBNYXRoLmZsb29yKHRoaXMueSArIDAuNSkgOiBNYXRoLmZsb29yKHRoaXMueSAtIDAuNSk7XG4gICAgICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgICAgfVxuICAgIH07XG4gICAgcmV0dXJuIHRoYXQ7XG59O1xuXG4vKipcbiAqIENvbXB1dGVzIGFuIGludGVncmFsIGltYWdlIG9mIGEgZ2l2ZW4gZ3JheXNjYWxlIGltYWdlLlxuICogQHBhcmFtIGltYWdlRGF0YUNvbnRhaW5lciB7SW1hZ2VEYXRhQ29udGFpbmVyfSB0aGUgaW1hZ2UgdG8gYmUgaW50ZWdyYXRlZFxuICovXG5leHBvcnQgZnVuY3Rpb24gY29tcHV0ZUludGVncmFsSW1hZ2UyKGltYWdlV3JhcHBlciwgaW50ZWdyYWxXcmFwcGVyKSB7XG4gICAgdmFyIGltYWdlRGF0YSA9IGltYWdlV3JhcHBlci5kYXRhO1xuICAgIHZhciB3aWR0aCA9IGltYWdlV3JhcHBlci5zaXplLng7XG4gICAgdmFyIGhlaWdodCA9IGltYWdlV3JhcHBlci5zaXplLnk7XG4gICAgdmFyIGludGVncmFsSW1hZ2VEYXRhID0gaW50ZWdyYWxXcmFwcGVyLmRhdGE7XG4gICAgdmFyIHN1bSA9IDAsIHBvc0EgPSAwLCBwb3NCID0gMCwgcG9zQyA9IDAsIHBvc0QgPSAwLCB4LCB5O1xuXG4gICAgLy8gc3VtIHVwIGZpcnN0IGNvbHVtblxuICAgIHBvc0IgPSB3aWR0aDtcbiAgICBzdW0gPSAwO1xuICAgIGZvciAoIHkgPSAxOyB5IDwgaGVpZ2h0OyB5KyspIHtcbiAgICAgICAgc3VtICs9IGltYWdlRGF0YVtwb3NBXTtcbiAgICAgICAgaW50ZWdyYWxJbWFnZURhdGFbcG9zQl0gKz0gc3VtO1xuICAgICAgICBwb3NBICs9IHdpZHRoO1xuICAgICAgICBwb3NCICs9IHdpZHRoO1xuICAgIH1cblxuICAgIHBvc0EgPSAwO1xuICAgIHBvc0IgPSAxO1xuICAgIHN1bSA9IDA7XG4gICAgZm9yICggeCA9IDE7IHggPCB3aWR0aDsgeCsrKSB7XG4gICAgICAgIHN1bSArPSBpbWFnZURhdGFbcG9zQV07XG4gICAgICAgIGludGVncmFsSW1hZ2VEYXRhW3Bvc0JdICs9IHN1bTtcbiAgICAgICAgcG9zQSsrO1xuICAgICAgICBwb3NCKys7XG4gICAgfVxuXG4gICAgZm9yICggeSA9IDE7IHkgPCBoZWlnaHQ7IHkrKykge1xuICAgICAgICBwb3NBID0geSAqIHdpZHRoICsgMTtcbiAgICAgICAgcG9zQiA9ICh5IC0gMSkgKiB3aWR0aCArIDE7XG4gICAgICAgIHBvc0MgPSB5ICogd2lkdGg7XG4gICAgICAgIHBvc0QgPSAoeSAtIDEpICogd2lkdGg7XG4gICAgICAgIGZvciAoIHggPSAxOyB4IDwgd2lkdGg7IHgrKykge1xuICAgICAgICAgICAgaW50ZWdyYWxJbWFnZURhdGFbcG9zQV0gKz1cbiAgICAgICAgICAgICAgICBpbWFnZURhdGFbcG9zQV0gKyBpbnRlZ3JhbEltYWdlRGF0YVtwb3NCXSArIGludGVncmFsSW1hZ2VEYXRhW3Bvc0NdIC0gaW50ZWdyYWxJbWFnZURhdGFbcG9zRF07XG4gICAgICAgICAgICBwb3NBKys7XG4gICAgICAgICAgICBwb3NCKys7XG4gICAgICAgICAgICBwb3NDKys7XG4gICAgICAgICAgICBwb3NEKys7XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gY29tcHV0ZUludGVncmFsSW1hZ2UoaW1hZ2VXcmFwcGVyLCBpbnRlZ3JhbFdyYXBwZXIpIHtcbiAgICB2YXIgaW1hZ2VEYXRhID0gaW1hZ2VXcmFwcGVyLmRhdGE7XG4gICAgdmFyIHdpZHRoID0gaW1hZ2VXcmFwcGVyLnNpemUueDtcbiAgICB2YXIgaGVpZ2h0ID0gaW1hZ2VXcmFwcGVyLnNpemUueTtcbiAgICB2YXIgaW50ZWdyYWxJbWFnZURhdGEgPSBpbnRlZ3JhbFdyYXBwZXIuZGF0YTtcbiAgICB2YXIgc3VtID0gMDtcblxuICAgIC8vIHN1bSB1cCBmaXJzdCByb3dcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHdpZHRoOyBpKyspIHtcbiAgICAgICAgc3VtICs9IGltYWdlRGF0YVtpXTtcbiAgICAgICAgaW50ZWdyYWxJbWFnZURhdGFbaV0gPSBzdW07XG4gICAgfVxuXG4gICAgZm9yICh2YXIgdiA9IDE7IHYgPCBoZWlnaHQ7IHYrKykge1xuICAgICAgICBzdW0gPSAwO1xuICAgICAgICBmb3IgKHZhciB1ID0gMDsgdSA8IHdpZHRoOyB1KyspIHtcbiAgICAgICAgICAgIHN1bSArPSBpbWFnZURhdGFbdiAqIHdpZHRoICsgdV07XG4gICAgICAgICAgICBpbnRlZ3JhbEltYWdlRGF0YVsoKHYpICogd2lkdGgpICsgdV0gPSBzdW0gKyBpbnRlZ3JhbEltYWdlRGF0YVsodiAtIDEpICogd2lkdGggKyB1XTtcbiAgICAgICAgfVxuICAgIH1cbn07XG5cbmV4cG9ydCBmdW5jdGlvbiB0aHJlc2hvbGRJbWFnZShpbWFnZVdyYXBwZXIsIHRocmVzaG9sZCwgdGFyZ2V0V3JhcHBlcikge1xuICAgIGlmICghdGFyZ2V0V3JhcHBlcikge1xuICAgICAgICB0YXJnZXRXcmFwcGVyID0gaW1hZ2VXcmFwcGVyO1xuICAgIH1cbiAgICB2YXIgaW1hZ2VEYXRhID0gaW1hZ2VXcmFwcGVyLmRhdGEsIGxlbmd0aCA9IGltYWdlRGF0YS5sZW5ndGgsIHRhcmdldERhdGEgPSB0YXJnZXRXcmFwcGVyLmRhdGE7XG5cbiAgICB3aGlsZSAobGVuZ3RoLS0pIHtcbiAgICAgICAgdGFyZ2V0RGF0YVtsZW5ndGhdID0gaW1hZ2VEYXRhW2xlbmd0aF0gPCB0aHJlc2hvbGQgPyAxIDogMDtcbiAgICB9XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gY29tcHV0ZUhpc3RvZ3JhbShpbWFnZVdyYXBwZXIsIGJpdHNQZXJQaXhlbCkge1xuICAgIGlmICghYml0c1BlclBpeGVsKSB7XG4gICAgICAgIGJpdHNQZXJQaXhlbCA9IDg7XG4gICAgfVxuICAgIHZhciBpbWFnZURhdGEgPSBpbWFnZVdyYXBwZXIuZGF0YSxcbiAgICAgICAgbGVuZ3RoID0gaW1hZ2VEYXRhLmxlbmd0aCxcbiAgICAgICAgYml0U2hpZnQgPSA4IC0gYml0c1BlclBpeGVsLFxuICAgICAgICBidWNrZXRDbnQgPSAxIDw8IGJpdHNQZXJQaXhlbCxcbiAgICAgICAgaGlzdCA9IG5ldyBJbnQzMkFycmF5KGJ1Y2tldENudCk7XG5cbiAgICB3aGlsZSAobGVuZ3RoLS0pIHtcbiAgICAgICAgaGlzdFtpbWFnZURhdGFbbGVuZ3RoXSA+PiBiaXRTaGlmdF0rKztcbiAgICB9XG4gICAgcmV0dXJuIGhpc3Q7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gc2hhcnBlbkxpbmUobGluZSkge1xuICAgIHZhciBpLFxuICAgICAgICBsZW5ndGggPSBsaW5lLmxlbmd0aCxcbiAgICAgICAgbGVmdCA9IGxpbmVbMF0sXG4gICAgICAgIGNlbnRlciA9IGxpbmVbMV0sXG4gICAgICAgIHJpZ2h0O1xuXG4gICAgZm9yIChpID0gMTsgaSA8IGxlbmd0aCAtIDE7IGkrKykge1xuICAgICAgICByaWdodCA9IGxpbmVbaSArIDFdO1xuICAgICAgICAvLyAgLTEgNCAtMSBrZXJuZWxcbiAgICAgICAgbGluZVtpIC0gMV0gPSAoKChjZW50ZXIgKiAyKSAtIGxlZnQgLSByaWdodCkpICYgMjU1O1xuICAgICAgICBsZWZ0ID0gY2VudGVyO1xuICAgICAgICBjZW50ZXIgPSByaWdodDtcbiAgICB9XG4gICAgcmV0dXJuIGxpbmU7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZGV0ZXJtaW5lT3RzdVRocmVzaG9sZChpbWFnZVdyYXBwZXIsIGJpdHNQZXJQaXhlbCkge1xuICAgIGlmICghYml0c1BlclBpeGVsKSB7XG4gICAgICAgIGJpdHNQZXJQaXhlbCA9IDg7XG4gICAgfVxuICAgIHZhciBoaXN0LFxuICAgICAgICB0aHJlc2hvbGQsXG4gICAgICAgIGJpdFNoaWZ0ID0gOCAtIGJpdHNQZXJQaXhlbDtcblxuICAgIGZ1bmN0aW9uIHB4KGluaXQsIGVuZCkge1xuICAgICAgICB2YXIgc3VtID0gMCwgaTtcbiAgICAgICAgZm9yICggaSA9IGluaXQ7IGkgPD0gZW5kOyBpKyspIHtcbiAgICAgICAgICAgIHN1bSArPSBoaXN0W2ldO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzdW07XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gbXgoaW5pdCwgZW5kKSB7XG4gICAgICAgIHZhciBpLCBzdW0gPSAwO1xuXG4gICAgICAgIGZvciAoIGkgPSBpbml0OyBpIDw9IGVuZDsgaSsrKSB7XG4gICAgICAgICAgICBzdW0gKz0gaSAqIGhpc3RbaV07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gc3VtO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGRldGVybWluZVRocmVzaG9sZCgpIHtcbiAgICAgICAgdmFyIHZldCA9IFswXSwgcDEsIHAyLCBwMTIsIGssIG0xLCBtMiwgbTEyLFxuICAgICAgICAgICAgbWF4ID0gKDEgPDwgYml0c1BlclBpeGVsKSAtIDE7XG5cbiAgICAgICAgaGlzdCA9IGNvbXB1dGVIaXN0b2dyYW0oaW1hZ2VXcmFwcGVyLCBiaXRzUGVyUGl4ZWwpO1xuICAgICAgICBmb3IgKCBrID0gMTsgayA8IG1heDsgaysrKSB7XG4gICAgICAgICAgICBwMSA9IHB4KDAsIGspO1xuICAgICAgICAgICAgcDIgPSBweChrICsgMSwgbWF4KTtcbiAgICAgICAgICAgIHAxMiA9IHAxICogcDI7XG4gICAgICAgICAgICBpZiAocDEyID09PSAwKSB7XG4gICAgICAgICAgICAgICAgcDEyID0gMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG0xID0gbXgoMCwgaykgKiBwMjtcbiAgICAgICAgICAgIG0yID0gbXgoayArIDEsIG1heCkgKiBwMTtcbiAgICAgICAgICAgIG0xMiA9IG0xIC0gbTI7XG4gICAgICAgICAgICB2ZXRba10gPSBtMTIgKiBtMTIgLyBwMTI7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIEFycmF5SGVscGVyLm1heEluZGV4KHZldCk7XG4gICAgfVxuXG4gICAgdGhyZXNob2xkID0gZGV0ZXJtaW5lVGhyZXNob2xkKCk7XG4gICAgcmV0dXJuIHRocmVzaG9sZCA8PCBiaXRTaGlmdDtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBvdHN1VGhyZXNob2xkKGltYWdlV3JhcHBlciwgdGFyZ2V0V3JhcHBlcikge1xuICAgIHZhciB0aHJlc2hvbGQgPSBkZXRlcm1pbmVPdHN1VGhyZXNob2xkKGltYWdlV3JhcHBlcik7XG5cbiAgICB0aHJlc2hvbGRJbWFnZShpbWFnZVdyYXBwZXIsIHRocmVzaG9sZCwgdGFyZ2V0V3JhcHBlcik7XG4gICAgcmV0dXJuIHRocmVzaG9sZDtcbn07XG5cbi8vIGxvY2FsIHRocmVzaG9sZGluZ1xuZXhwb3J0IGZ1bmN0aW9uIGNvbXB1dGVCaW5hcnlJbWFnZShpbWFnZVdyYXBwZXIsIGludGVncmFsV3JhcHBlciwgdGFyZ2V0V3JhcHBlcikge1xuICAgIGNvbXB1dGVJbnRlZ3JhbEltYWdlKGltYWdlV3JhcHBlciwgaW50ZWdyYWxXcmFwcGVyKTtcblxuICAgIGlmICghdGFyZ2V0V3JhcHBlcikge1xuICAgICAgICB0YXJnZXRXcmFwcGVyID0gaW1hZ2VXcmFwcGVyO1xuICAgIH1cbiAgICB2YXIgaW1hZ2VEYXRhID0gaW1hZ2VXcmFwcGVyLmRhdGE7XG4gICAgdmFyIHRhcmdldERhdGEgPSB0YXJnZXRXcmFwcGVyLmRhdGE7XG4gICAgdmFyIHdpZHRoID0gaW1hZ2VXcmFwcGVyLnNpemUueDtcbiAgICB2YXIgaGVpZ2h0ID0gaW1hZ2VXcmFwcGVyLnNpemUueTtcbiAgICB2YXIgaW50ZWdyYWxJbWFnZURhdGEgPSBpbnRlZ3JhbFdyYXBwZXIuZGF0YTtcbiAgICB2YXIgc3VtID0gMCwgdiwgdSwga2VybmVsID0gMywgQSwgQiwgQywgRCwgYXZnLCBzaXplID0gKGtlcm5lbCAqIDIgKyAxKSAqIChrZXJuZWwgKiAyICsgMSk7XG5cbiAgICAvLyBjbGVhciBvdXQgdG9wICYgYm90dG9tLWJvcmRlclxuICAgIGZvciAoIHYgPSAwOyB2IDw9IGtlcm5lbDsgdisrKSB7XG4gICAgICAgIGZvciAoIHUgPSAwOyB1IDwgd2lkdGg7IHUrKykge1xuICAgICAgICAgICAgdGFyZ2V0RGF0YVsoKHYpICogd2lkdGgpICsgdV0gPSAwO1xuICAgICAgICAgICAgdGFyZ2V0RGF0YVsoKChoZWlnaHQgLSAxKSAtIHYpICogd2lkdGgpICsgdV0gPSAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gY2xlYXIgb3V0IGxlZnQgJiByaWdodCBib3JkZXJcbiAgICBmb3IgKCB2ID0ga2VybmVsOyB2IDwgaGVpZ2h0IC0ga2VybmVsOyB2KyspIHtcbiAgICAgICAgZm9yICggdSA9IDA7IHUgPD0ga2VybmVsOyB1KyspIHtcbiAgICAgICAgICAgIHRhcmdldERhdGFbKCh2KSAqIHdpZHRoKSArIHVdID0gMDtcbiAgICAgICAgICAgIHRhcmdldERhdGFbKCh2KSAqIHdpZHRoKSArICh3aWR0aCAtIDEgLSB1KV0gPSAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZm9yICggdiA9IGtlcm5lbCArIDE7IHYgPCBoZWlnaHQgLSBrZXJuZWwgLSAxOyB2KyspIHtcbiAgICAgICAgZm9yICggdSA9IGtlcm5lbCArIDE7IHUgPCB3aWR0aCAtIGtlcm5lbDsgdSsrKSB7XG4gICAgICAgICAgICBBID0gaW50ZWdyYWxJbWFnZURhdGFbKHYgLSBrZXJuZWwgLSAxKSAqIHdpZHRoICsgKHUgLSBrZXJuZWwgLSAxKV07XG4gICAgICAgICAgICBCID0gaW50ZWdyYWxJbWFnZURhdGFbKHYgLSBrZXJuZWwgLSAxKSAqIHdpZHRoICsgKHUgKyBrZXJuZWwpXTtcbiAgICAgICAgICAgIEMgPSBpbnRlZ3JhbEltYWdlRGF0YVsodiArIGtlcm5lbCkgKiB3aWR0aCArICh1IC0ga2VybmVsIC0gMSldO1xuICAgICAgICAgICAgRCA9IGludGVncmFsSW1hZ2VEYXRhWyh2ICsga2VybmVsKSAqIHdpZHRoICsgKHUgKyBrZXJuZWwpXTtcbiAgICAgICAgICAgIHN1bSA9IEQgLSBDIC0gQiArIEE7XG4gICAgICAgICAgICBhdmcgPSBzdW0gLyAoc2l6ZSk7XG4gICAgICAgICAgICB0YXJnZXREYXRhW3YgKiB3aWR0aCArIHVdID0gaW1hZ2VEYXRhW3YgKiB3aWR0aCArIHVdID4gKGF2ZyArIDUpID8gMCA6IDE7XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gY2x1c3Rlcihwb2ludHMsIHRocmVzaG9sZCwgcHJvcGVydHkpIHtcbiAgICB2YXIgaSwgaywgY2x1c3RlciwgcG9pbnQsIGNsdXN0ZXJzID0gW107XG5cbiAgICBpZiAoIXByb3BlcnR5KSB7XG4gICAgICAgIHByb3BlcnR5ID0gXCJyYWRcIjtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBhZGRUb0NsdXN0ZXIobmV3UG9pbnQpIHtcbiAgICAgICAgdmFyIGZvdW5kID0gZmFsc2U7XG4gICAgICAgIGZvciAoIGsgPSAwOyBrIDwgY2x1c3RlcnMubGVuZ3RoOyBrKyspIHtcbiAgICAgICAgICAgIGNsdXN0ZXIgPSBjbHVzdGVyc1trXTtcbiAgICAgICAgICAgIGlmIChjbHVzdGVyLmZpdHMobmV3UG9pbnQpKSB7XG4gICAgICAgICAgICAgICAgY2x1c3Rlci5hZGQobmV3UG9pbnQpO1xuICAgICAgICAgICAgICAgIGZvdW5kID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZm91bmQ7XG4gICAgfVxuXG4gICAgLy8gaXRlcmF0ZSBvdmVyIGVhY2ggY2xvdWRcbiAgICBmb3IgKCBpID0gMDsgaSA8IHBvaW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgICBwb2ludCA9IENsdXN0ZXIyLmNyZWF0ZVBvaW50KHBvaW50c1tpXSwgaSwgcHJvcGVydHkpO1xuICAgICAgICBpZiAoIWFkZFRvQ2x1c3Rlcihwb2ludCkpIHtcbiAgICAgICAgICAgIGNsdXN0ZXJzLnB1c2goQ2x1c3RlcjIuY3JlYXRlKHBvaW50LCB0aHJlc2hvbGQpKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gY2x1c3RlcnM7XG59O1xuXG5leHBvcnQgY29uc3QgVHJhY2VyID0ge1xuICAgIHRyYWNlOiBmdW5jdGlvbihwb2ludHMsIHZlYykge1xuICAgICAgICB2YXIgaXRlcmF0aW9uLCBtYXhJdGVyYXRpb25zID0gMTAsIHRvcCA9IFtdLCByZXN1bHQgPSBbXSwgY2VudGVyUG9zID0gMCwgY3VycmVudFBvcyA9IDA7XG5cbiAgICAgICAgZnVuY3Rpb24gdHJhY2UoaWR4LCBmb3J3YXJkKSB7XG4gICAgICAgICAgICB2YXIgZnJvbSwgdG8sIHRvSWR4LCBwcmVkaWN0ZWRQb3MsIHRocmVzaG9sZFggPSAxLCB0aHJlc2hvbGRZID0gTWF0aC5hYnModmVjWzFdIC8gMTApLCBmb3VuZCA9IGZhbHNlO1xuXG4gICAgICAgICAgICBmdW5jdGlvbiBtYXRjaChwb3MsIHByZWRpY3RlZCkge1xuICAgICAgICAgICAgICAgIGlmIChwb3MueCA+IChwcmVkaWN0ZWQueCAtIHRocmVzaG9sZFgpXG4gICAgICAgICAgICAgICAgICAgICAgICAmJiBwb3MueCA8IChwcmVkaWN0ZWQueCArIHRocmVzaG9sZFgpXG4gICAgICAgICAgICAgICAgICAgICAgICAmJiBwb3MueSA+IChwcmVkaWN0ZWQueSAtIHRocmVzaG9sZFkpXG4gICAgICAgICAgICAgICAgICAgICAgICAmJiBwb3MueSA8IChwcmVkaWN0ZWQueSArIHRocmVzaG9sZFkpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGNoZWNrIGlmIHRoZSBuZXh0IGluZGV4IGlzIHdpdGhpbiB0aGUgdmVjIHNwZWNpZmljYXRpb25zXG4gICAgICAgICAgICAvLyBpZiBub3QsIGNoZWNrIGFzIGxvbmcgYXMgdGhlIHRocmVzaG9sZCBpcyBtZXRcblxuICAgICAgICAgICAgZnJvbSA9IHBvaW50c1tpZHhdO1xuICAgICAgICAgICAgaWYgKGZvcndhcmQpIHtcbiAgICAgICAgICAgICAgICBwcmVkaWN0ZWRQb3MgPSB7XG4gICAgICAgICAgICAgICAgICAgIHg6IGZyb20ueCArIHZlY1swXSxcbiAgICAgICAgICAgICAgICAgICAgeTogZnJvbS55ICsgdmVjWzFdXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcHJlZGljdGVkUG9zID0ge1xuICAgICAgICAgICAgICAgICAgICB4OiBmcm9tLnggLSB2ZWNbMF0sXG4gICAgICAgICAgICAgICAgICAgIHk6IGZyb20ueSAtIHZlY1sxXVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRvSWR4ID0gZm9yd2FyZCA/IGlkeCArIDEgOiBpZHggLSAxO1xuICAgICAgICAgICAgdG8gPSBwb2ludHNbdG9JZHhdO1xuICAgICAgICAgICAgd2hpbGUgKHRvICYmICggZm91bmQgPSBtYXRjaCh0bywgcHJlZGljdGVkUG9zKSkgIT09IHRydWUgJiYgKE1hdGguYWJzKHRvLnkgLSBmcm9tLnkpIDwgdmVjWzFdKSkge1xuICAgICAgICAgICAgICAgIHRvSWR4ID0gZm9yd2FyZCA/IHRvSWR4ICsgMSA6IHRvSWR4IC0gMTtcbiAgICAgICAgICAgICAgICB0byA9IHBvaW50c1t0b0lkeF07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBmb3VuZCA/IHRvSWR4IDogbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAoIGl0ZXJhdGlvbiA9IDA7IGl0ZXJhdGlvbiA8IG1heEl0ZXJhdGlvbnM7IGl0ZXJhdGlvbisrKSB7XG4gICAgICAgICAgICAvLyByYW5kb21seSBzZWxlY3QgcG9pbnQgdG8gc3RhcnQgd2l0aFxuICAgICAgICAgICAgY2VudGVyUG9zID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogcG9pbnRzLmxlbmd0aCk7XG5cbiAgICAgICAgICAgIC8vIHRyYWNlIGZvcndhcmRcbiAgICAgICAgICAgIHRvcCA9IFtdO1xuICAgICAgICAgICAgY3VycmVudFBvcyA9IGNlbnRlclBvcztcbiAgICAgICAgICAgIHRvcC5wdXNoKHBvaW50c1tjdXJyZW50UG9zXSk7XG4gICAgICAgICAgICB3aGlsZSAoKCBjdXJyZW50UG9zID0gdHJhY2UoY3VycmVudFBvcywgdHJ1ZSkpICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgdG9wLnB1c2gocG9pbnRzW2N1cnJlbnRQb3NdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChjZW50ZXJQb3MgPiAwKSB7XG4gICAgICAgICAgICAgICAgY3VycmVudFBvcyA9IGNlbnRlclBvcztcbiAgICAgICAgICAgICAgICB3aGlsZSAoKCBjdXJyZW50UG9zID0gdHJhY2UoY3VycmVudFBvcywgZmFsc2UpKSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB0b3AucHVzaChwb2ludHNbY3VycmVudFBvc10pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHRvcC5sZW5ndGggPiByZXN1bHQubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0ID0gdG9wO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IERJTEFURSA9IDE7XG5leHBvcnQgY29uc3QgRVJPREUgPSAyO1xuXG5leHBvcnQgZnVuY3Rpb24gZGlsYXRlKGluSW1hZ2VXcmFwcGVyLCBvdXRJbWFnZVdyYXBwZXIpIHtcbiAgICB2YXIgdixcbiAgICAgICAgdSxcbiAgICAgICAgaW5JbWFnZURhdGEgPSBpbkltYWdlV3JhcHBlci5kYXRhLFxuICAgICAgICBvdXRJbWFnZURhdGEgPSBvdXRJbWFnZVdyYXBwZXIuZGF0YSxcbiAgICAgICAgaGVpZ2h0ID0gaW5JbWFnZVdyYXBwZXIuc2l6ZS55LFxuICAgICAgICB3aWR0aCA9IGluSW1hZ2VXcmFwcGVyLnNpemUueCxcbiAgICAgICAgc3VtLFxuICAgICAgICB5U3RhcnQxLFxuICAgICAgICB5U3RhcnQyLFxuICAgICAgICB4U3RhcnQxLFxuICAgICAgICB4U3RhcnQyO1xuXG4gICAgZm9yICggdiA9IDE7IHYgPCBoZWlnaHQgLSAxOyB2KyspIHtcbiAgICAgICAgZm9yICggdSA9IDE7IHUgPCB3aWR0aCAtIDE7IHUrKykge1xuICAgICAgICAgICAgeVN0YXJ0MSA9IHYgLSAxO1xuICAgICAgICAgICAgeVN0YXJ0MiA9IHYgKyAxO1xuICAgICAgICAgICAgeFN0YXJ0MSA9IHUgLSAxO1xuICAgICAgICAgICAgeFN0YXJ0MiA9IHUgKyAxO1xuICAgICAgICAgICAgc3VtID0gaW5JbWFnZURhdGFbeVN0YXJ0MSAqIHdpZHRoICsgeFN0YXJ0MV0gKyBpbkltYWdlRGF0YVt5U3RhcnQxICogd2lkdGggKyB4U3RhcnQyXSArXG4gICAgICAgICAgICBpbkltYWdlRGF0YVt2ICogd2lkdGggKyB1XSArXG4gICAgICAgICAgICBpbkltYWdlRGF0YVt5U3RhcnQyICogd2lkdGggKyB4U3RhcnQxXSArIGluSW1hZ2VEYXRhW3lTdGFydDIgKiB3aWR0aCArIHhTdGFydDJdO1xuICAgICAgICAgICAgb3V0SW1hZ2VEYXRhW3YgKiB3aWR0aCArIHVdID0gc3VtID4gMCA/IDEgOiAwO1xuICAgICAgICB9XG4gICAgfVxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGVyb2RlKGluSW1hZ2VXcmFwcGVyLCBvdXRJbWFnZVdyYXBwZXIpIHtcbiAgICB2YXIgdixcbiAgICAgICAgdSxcbiAgICAgICAgaW5JbWFnZURhdGEgPSBpbkltYWdlV3JhcHBlci5kYXRhLFxuICAgICAgICBvdXRJbWFnZURhdGEgPSBvdXRJbWFnZVdyYXBwZXIuZGF0YSxcbiAgICAgICAgaGVpZ2h0ID0gaW5JbWFnZVdyYXBwZXIuc2l6ZS55LFxuICAgICAgICB3aWR0aCA9IGluSW1hZ2VXcmFwcGVyLnNpemUueCxcbiAgICAgICAgc3VtLFxuICAgICAgICB5U3RhcnQxLFxuICAgICAgICB5U3RhcnQyLFxuICAgICAgICB4U3RhcnQxLFxuICAgICAgICB4U3RhcnQyO1xuXG4gICAgZm9yICggdiA9IDE7IHYgPCBoZWlnaHQgLSAxOyB2KyspIHtcbiAgICAgICAgZm9yICggdSA9IDE7IHUgPCB3aWR0aCAtIDE7IHUrKykge1xuICAgICAgICAgICAgeVN0YXJ0MSA9IHYgLSAxO1xuICAgICAgICAgICAgeVN0YXJ0MiA9IHYgKyAxO1xuICAgICAgICAgICAgeFN0YXJ0MSA9IHUgLSAxO1xuICAgICAgICAgICAgeFN0YXJ0MiA9IHUgKyAxO1xuICAgICAgICAgICAgc3VtID0gaW5JbWFnZURhdGFbeVN0YXJ0MSAqIHdpZHRoICsgeFN0YXJ0MV0gKyBpbkltYWdlRGF0YVt5U3RhcnQxICogd2lkdGggKyB4U3RhcnQyXSArXG4gICAgICAgICAgICBpbkltYWdlRGF0YVt2ICogd2lkdGggKyB1XSArXG4gICAgICAgICAgICBpbkltYWdlRGF0YVt5U3RhcnQyICogd2lkdGggKyB4U3RhcnQxXSArIGluSW1hZ2VEYXRhW3lTdGFydDIgKiB3aWR0aCArIHhTdGFydDJdO1xuICAgICAgICAgICAgb3V0SW1hZ2VEYXRhW3YgKiB3aWR0aCArIHVdID0gc3VtID09PSA1ID8gMSA6IDA7XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gc3VidHJhY3QoYUltYWdlV3JhcHBlciwgYkltYWdlV3JhcHBlciwgcmVzdWx0SW1hZ2VXcmFwcGVyKSB7XG4gICAgaWYgKCFyZXN1bHRJbWFnZVdyYXBwZXIpIHtcbiAgICAgICAgcmVzdWx0SW1hZ2VXcmFwcGVyID0gYUltYWdlV3JhcHBlcjtcbiAgICB9XG4gICAgdmFyIGxlbmd0aCA9IGFJbWFnZVdyYXBwZXIuZGF0YS5sZW5ndGgsXG4gICAgICAgIGFJbWFnZURhdGEgPSBhSW1hZ2VXcmFwcGVyLmRhdGEsXG4gICAgICAgIGJJbWFnZURhdGEgPSBiSW1hZ2VXcmFwcGVyLmRhdGEsXG4gICAgICAgIGNJbWFnZURhdGEgPSByZXN1bHRJbWFnZVdyYXBwZXIuZGF0YTtcblxuICAgIHdoaWxlIChsZW5ndGgtLSkge1xuICAgICAgICBjSW1hZ2VEYXRhW2xlbmd0aF0gPSBhSW1hZ2VEYXRhW2xlbmd0aF0gLSBiSW1hZ2VEYXRhW2xlbmd0aF07XG4gICAgfVxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGJpdHdpc2VPcihhSW1hZ2VXcmFwcGVyLCBiSW1hZ2VXcmFwcGVyLCByZXN1bHRJbWFnZVdyYXBwZXIpIHtcbiAgICBpZiAoIXJlc3VsdEltYWdlV3JhcHBlcikge1xuICAgICAgICByZXN1bHRJbWFnZVdyYXBwZXIgPSBhSW1hZ2VXcmFwcGVyO1xuICAgIH1cbiAgICB2YXIgbGVuZ3RoID0gYUltYWdlV3JhcHBlci5kYXRhLmxlbmd0aCxcbiAgICAgICAgYUltYWdlRGF0YSA9IGFJbWFnZVdyYXBwZXIuZGF0YSxcbiAgICAgICAgYkltYWdlRGF0YSA9IGJJbWFnZVdyYXBwZXIuZGF0YSxcbiAgICAgICAgY0ltYWdlRGF0YSA9IHJlc3VsdEltYWdlV3JhcHBlci5kYXRhO1xuXG4gICAgd2hpbGUgKGxlbmd0aC0tKSB7XG4gICAgICAgIGNJbWFnZURhdGFbbGVuZ3RoXSA9IGFJbWFnZURhdGFbbGVuZ3RoXSB8fCBiSW1hZ2VEYXRhW2xlbmd0aF07XG4gICAgfVxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGNvdW50Tm9uWmVybyhpbWFnZVdyYXBwZXIpIHtcbiAgICB2YXIgbGVuZ3RoID0gaW1hZ2VXcmFwcGVyLmRhdGEubGVuZ3RoLCBkYXRhID0gaW1hZ2VXcmFwcGVyLmRhdGEsIHN1bSA9IDA7XG5cbiAgICB3aGlsZSAobGVuZ3RoLS0pIHtcbiAgICAgICAgc3VtICs9IGRhdGFbbGVuZ3RoXTtcbiAgICB9XG4gICAgcmV0dXJuIHN1bTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiB0b3BHZW5lcmljKGxpc3QsIHRvcCwgc2NvcmVGdW5jKSB7XG4gICAgdmFyIGksIG1pbklkeCA9IDAsIG1pbiA9IDAsIHF1ZXVlID0gW10sIHNjb3JlLCBoaXQsIHBvcztcblxuICAgIGZvciAoIGkgPSAwOyBpIDwgdG9wOyBpKyspIHtcbiAgICAgICAgcXVldWVbaV0gPSB7XG4gICAgICAgICAgICBzY29yZTogMCxcbiAgICAgICAgICAgIGl0ZW06IG51bGxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBmb3IgKCBpID0gMDsgaSA8IGxpc3QubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgc2NvcmUgPSBzY29yZUZ1bmMuYXBwbHkodGhpcywgW2xpc3RbaV1dKTtcbiAgICAgICAgaWYgKHNjb3JlID4gbWluKSB7XG4gICAgICAgICAgICBoaXQgPSBxdWV1ZVttaW5JZHhdO1xuICAgICAgICAgICAgaGl0LnNjb3JlID0gc2NvcmU7XG4gICAgICAgICAgICBoaXQuaXRlbSA9IGxpc3RbaV07XG4gICAgICAgICAgICBtaW4gPSBOdW1iZXIuTUFYX1ZBTFVFO1xuICAgICAgICAgICAgZm9yICggcG9zID0gMDsgcG9zIDwgdG9wOyBwb3MrKykge1xuICAgICAgICAgICAgICAgIGlmIChxdWV1ZVtwb3NdLnNjb3JlIDwgbWluKSB7XG4gICAgICAgICAgICAgICAgICAgIG1pbiA9IHF1ZXVlW3Bvc10uc2NvcmU7XG4gICAgICAgICAgICAgICAgICAgIG1pbklkeCA9IHBvcztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcXVldWU7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZ3JheUFycmF5RnJvbUltYWdlKGh0bWxJbWFnZSwgb2Zmc2V0WCwgY3R4LCBhcnJheSkge1xuICAgIGN0eC5kcmF3SW1hZ2UoaHRtbEltYWdlLCBvZmZzZXRYLCAwLCBodG1sSW1hZ2Uud2lkdGgsIGh0bWxJbWFnZS5oZWlnaHQpO1xuICAgIHZhciBjdHhEYXRhID0gY3R4LmdldEltYWdlRGF0YShvZmZzZXRYLCAwLCBodG1sSW1hZ2Uud2lkdGgsIGh0bWxJbWFnZS5oZWlnaHQpLmRhdGE7XG4gICAgY29tcHV0ZUdyYXkoY3R4RGF0YSwgYXJyYXkpO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdyYXlBcnJheUZyb21Db250ZXh0KGN0eCwgc2l6ZSwgb2Zmc2V0LCBhcnJheSkge1xuICAgIHZhciBjdHhEYXRhID0gY3R4LmdldEltYWdlRGF0YShvZmZzZXQueCwgb2Zmc2V0LnksIHNpemUueCwgc2l6ZS55KS5kYXRhO1xuICAgIGNvbXB1dGVHcmF5KGN0eERhdGEsIGFycmF5KTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBncmF5QW5kSGFsZlNhbXBsZUZyb21DYW52YXNEYXRhKGNhbnZhc0RhdGEsIHNpemUsIG91dEFycmF5KSB7XG4gICAgdmFyIHRvcFJvd0lkeCA9IDA7XG4gICAgdmFyIGJvdHRvbVJvd0lkeCA9IHNpemUueDtcbiAgICB2YXIgZW5kSWR4ID0gTWF0aC5mbG9vcihjYW52YXNEYXRhLmxlbmd0aCAvIDQpO1xuICAgIHZhciBvdXRXaWR0aCA9IHNpemUueCAvIDI7XG4gICAgdmFyIG91dEltZ0lkeCA9IDA7XG4gICAgdmFyIGluV2lkdGggPSBzaXplLng7XG4gICAgdmFyIGk7XG5cbiAgICB3aGlsZSAoYm90dG9tUm93SWR4IDwgZW5kSWR4KSB7XG4gICAgICAgIGZvciAoIGkgPSAwOyBpIDwgb3V0V2lkdGg7IGkrKykge1xuICAgICAgICAgICAgb3V0QXJyYXlbb3V0SW1nSWR4XSA9IChcbiAgICAgICAgICAgICAgICAoMC4yOTkgKiBjYW52YXNEYXRhW3RvcFJvd0lkeCAqIDQgKyAwXSArXG4gICAgICAgICAgICAgICAgIDAuNTg3ICogY2FudmFzRGF0YVt0b3BSb3dJZHggKiA0ICsgMV0gK1xuICAgICAgICAgICAgICAgICAwLjExNCAqIGNhbnZhc0RhdGFbdG9wUm93SWR4ICogNCArIDJdKSArXG4gICAgICAgICAgICAgICAgKDAuMjk5ICogY2FudmFzRGF0YVsodG9wUm93SWR4ICsgMSkgKiA0ICsgMF0gK1xuICAgICAgICAgICAgICAgICAwLjU4NyAqIGNhbnZhc0RhdGFbKHRvcFJvd0lkeCArIDEpICogNCArIDFdICtcbiAgICAgICAgICAgICAgICAgMC4xMTQgKiBjYW52YXNEYXRhWyh0b3BSb3dJZHggKyAxKSAqIDQgKyAyXSkgK1xuICAgICAgICAgICAgICAgICgwLjI5OSAqIGNhbnZhc0RhdGFbKGJvdHRvbVJvd0lkeCkgKiA0ICsgMF0gK1xuICAgICAgICAgICAgICAgICAwLjU4NyAqIGNhbnZhc0RhdGFbKGJvdHRvbVJvd0lkeCkgKiA0ICsgMV0gK1xuICAgICAgICAgICAgICAgICAwLjExNCAqIGNhbnZhc0RhdGFbKGJvdHRvbVJvd0lkeCkgKiA0ICsgMl0pICtcbiAgICAgICAgICAgICAgICAoMC4yOTkgKiBjYW52YXNEYXRhWyhib3R0b21Sb3dJZHggKyAxKSAqIDQgKyAwXSArXG4gICAgICAgICAgICAgICAgIDAuNTg3ICogY2FudmFzRGF0YVsoYm90dG9tUm93SWR4ICsgMSkgKiA0ICsgMV0gK1xuICAgICAgICAgICAgICAgICAwLjExNCAqIGNhbnZhc0RhdGFbKGJvdHRvbVJvd0lkeCArIDEpICogNCArIDJdKSkgLyA0O1xuICAgICAgICAgICAgb3V0SW1nSWR4Kys7XG4gICAgICAgICAgICB0b3BSb3dJZHggPSB0b3BSb3dJZHggKyAyO1xuICAgICAgICAgICAgYm90dG9tUm93SWR4ID0gYm90dG9tUm93SWR4ICsgMjtcbiAgICAgICAgfVxuICAgICAgICB0b3BSb3dJZHggPSB0b3BSb3dJZHggKyBpbldpZHRoO1xuICAgICAgICBib3R0b21Sb3dJZHggPSBib3R0b21Sb3dJZHggKyBpbldpZHRoO1xuICAgIH1cbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBjb21wdXRlR3JheShpbWFnZURhdGEsIG91dEFycmF5LCBjb25maWcpIHtcbiAgICB2YXIgbCA9IChpbWFnZURhdGEubGVuZ3RoIC8gNCkgfCAwLFxuICAgICAgICBpLFxuICAgICAgICBzaW5nbGVDaGFubmVsID0gY29uZmlnICYmIGNvbmZpZy5zaW5nbGVDaGFubmVsID09PSB0cnVlO1xuXG4gICAgaWYgKHNpbmdsZUNoYW5uZWwpIHtcbiAgICAgICAgZm9yIChpID0gMDsgaSA8IGw7IGkrKykge1xuICAgICAgICAgICAgb3V0QXJyYXlbaV0gPSBpbWFnZURhdGFbaSAqIDQgKyAwXTtcbiAgICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAgIGZvciAoaSA9IDA7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgICAgIG91dEFycmF5W2ldID1cbiAgICAgICAgICAgICAgICAwLjI5OSAqIGltYWdlRGF0YVtpICogNCArIDBdICsgMC41ODcgKiBpbWFnZURhdGFbaSAqIDQgKyAxXSArIDAuMTE0ICogaW1hZ2VEYXRhW2kgKiA0ICsgMl07XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gbG9hZEltYWdlQXJyYXkoc3JjLCBjYWxsYmFjaywgY2FudmFzKSB7XG4gICAgaWYgKCFjYW52YXMpIHtcbiAgICAgICAgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7XG4gICAgfVxuICAgIHZhciBpbWcgPSBuZXcgSW1hZ2UoKTtcbiAgICBpbWcuY2FsbGJhY2sgPSBjYWxsYmFjaztcbiAgICBpbWcub25sb2FkID0gZnVuY3Rpb24oKSB7XG4gICAgICAgIGNhbnZhcy53aWR0aCA9IHRoaXMud2lkdGg7XG4gICAgICAgIGNhbnZhcy5oZWlnaHQgPSB0aGlzLmhlaWdodDtcbiAgICAgICAgdmFyIGN0eCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpO1xuICAgICAgICBjdHguZHJhd0ltYWdlKHRoaXMsIDAsIDApO1xuICAgICAgICB2YXIgYXJyYXkgPSBuZXcgVWludDhBcnJheSh0aGlzLndpZHRoICogdGhpcy5oZWlnaHQpO1xuICAgICAgICBjdHguZHJhd0ltYWdlKHRoaXMsIDAsIDApO1xuICAgICAgICB2YXIgZGF0YSA9IGN0eC5nZXRJbWFnZURhdGEoMCwgMCwgdGhpcy53aWR0aCwgdGhpcy5oZWlnaHQpLmRhdGE7XG4gICAgICAgIGNvbXB1dGVHcmF5KGRhdGEsIGFycmF5KTtcbiAgICAgICAgdGhpcy5jYWxsYmFjayhhcnJheSwge1xuICAgICAgICAgICAgeDogdGhpcy53aWR0aCxcbiAgICAgICAgICAgIHk6IHRoaXMuaGVpZ2h0XG4gICAgICAgIH0sIHRoaXMpO1xuICAgIH07XG4gICAgaW1nLnNyYyA9IHNyYztcbn07XG5cbi8qKlxuICogQHBhcmFtIGluSW1nIHtJbWFnZVdyYXBwZXJ9IGlucHV0IGltYWdlIHRvIGJlIHNhbXBsZWRcbiAqIEBwYXJhbSBvdXRJbWcge0ltYWdlV3JhcHBlcn0gdG8gYmUgc3RvcmVkIGluXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoYWxmU2FtcGxlKGluSW1nV3JhcHBlciwgb3V0SW1nV3JhcHBlcikge1xuICAgIHZhciBpbkltZyA9IGluSW1nV3JhcHBlci5kYXRhO1xuICAgIHZhciBpbldpZHRoID0gaW5JbWdXcmFwcGVyLnNpemUueDtcbiAgICB2YXIgb3V0SW1nID0gb3V0SW1nV3JhcHBlci5kYXRhO1xuICAgIHZhciB0b3BSb3dJZHggPSAwO1xuICAgIHZhciBib3R0b21Sb3dJZHggPSBpbldpZHRoO1xuICAgIHZhciBlbmRJZHggPSBpbkltZy5sZW5ndGg7XG4gICAgdmFyIG91dFdpZHRoID0gaW5XaWR0aCAvIDI7XG4gICAgdmFyIG91dEltZ0lkeCA9IDA7XG4gICAgd2hpbGUgKGJvdHRvbVJvd0lkeCA8IGVuZElkeCkge1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG91dFdpZHRoOyBpKyspIHtcbiAgICAgICAgICAgIG91dEltZ1tvdXRJbWdJZHhdID0gTWF0aC5mbG9vcihcbiAgICAgICAgICAgICAgICAoaW5JbWdbdG9wUm93SWR4XSArIGluSW1nW3RvcFJvd0lkeCArIDFdICsgaW5JbWdbYm90dG9tUm93SWR4XSArIGluSW1nW2JvdHRvbVJvd0lkeCArIDFdKSAvIDQpO1xuICAgICAgICAgICAgb3V0SW1nSWR4Kys7XG4gICAgICAgICAgICB0b3BSb3dJZHggPSB0b3BSb3dJZHggKyAyO1xuICAgICAgICAgICAgYm90dG9tUm93SWR4ID0gYm90dG9tUm93SWR4ICsgMjtcbiAgICAgICAgfVxuICAgICAgICB0b3BSb3dJZHggPSB0b3BSb3dJZHggKyBpbldpZHRoO1xuICAgICAgICBib3R0b21Sb3dJZHggPSBib3R0b21Sb3dJZHggKyBpbldpZHRoO1xuICAgIH1cbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBoc3YycmdiKGhzdiwgcmdiKSB7XG4gICAgdmFyIGggPSBoc3ZbMF0sXG4gICAgICAgIHMgPSBoc3ZbMV0sXG4gICAgICAgIHYgPSBoc3ZbMl0sXG4gICAgICAgIGMgPSB2ICogcyxcbiAgICAgICAgeCA9IGMgKiAoMSAtIE1hdGguYWJzKChoIC8gNjApICUgMiAtIDEpKSxcbiAgICAgICAgbSA9IHYgLSBjLFxuICAgICAgICByID0gMCxcbiAgICAgICAgZyA9IDAsXG4gICAgICAgIGIgPSAwO1xuXG4gICAgcmdiID0gcmdiIHx8IFswLCAwLCAwXTtcblxuICAgIGlmIChoIDwgNjApIHtcbiAgICAgICAgciA9IGM7XG4gICAgICAgIGcgPSB4O1xuICAgIH0gZWxzZSBpZiAoaCA8IDEyMCkge1xuICAgICAgICByID0geDtcbiAgICAgICAgZyA9IGM7XG4gICAgfSBlbHNlIGlmIChoIDwgMTgwKSB7XG4gICAgICAgIGcgPSBjO1xuICAgICAgICBiID0geDtcbiAgICB9IGVsc2UgaWYgKGggPCAyNDApIHtcbiAgICAgICAgZyA9IHg7XG4gICAgICAgIGIgPSBjO1xuICAgIH0gZWxzZSBpZiAoaCA8IDMwMCkge1xuICAgICAgICByID0geDtcbiAgICAgICAgYiA9IGM7XG4gICAgfSBlbHNlIGlmIChoIDwgMzYwKSB7XG4gICAgICAgIHIgPSBjO1xuICAgICAgICBiID0geDtcbiAgICB9XG4gICAgcmdiWzBdID0gKChyICsgbSkgKiAyNTUpIHwgMDtcbiAgICByZ2JbMV0gPSAoKGcgKyBtKSAqIDI1NSkgfCAwO1xuICAgIHJnYlsyXSA9ICgoYiArIG0pICogMjU1KSB8IDA7XG4gICAgcmV0dXJuIHJnYjtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBfY29tcHV0ZURpdmlzb3JzKG4pIHtcbiAgICB2YXIgbGFyZ2VEaXZpc29ycyA9IFtdLFxuICAgICAgICBkaXZpc29ycyA9IFtdLFxuICAgICAgICBpO1xuXG4gICAgZm9yIChpID0gMTsgaSA8IE1hdGguc3FydChuKSArIDE7IGkrKykge1xuICAgICAgICBpZiAobiAlIGkgPT09IDApIHtcbiAgICAgICAgICAgIGRpdmlzb3JzLnB1c2goaSk7XG4gICAgICAgICAgICBpZiAoaSAhPT0gbiAvIGkpIHtcbiAgICAgICAgICAgICAgICBsYXJnZURpdmlzb3JzLnVuc2hpZnQoTWF0aC5mbG9vcihuIC8gaSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBkaXZpc29ycy5jb25jYXQobGFyZ2VEaXZpc29ycyk7XG59O1xuXG5mdW5jdGlvbiBfY29tcHV0ZUludGVyc2VjdGlvbihhcnIxLCBhcnIyKSB7XG4gICAgdmFyIGkgPSAwLFxuICAgICAgICBqID0gMCxcbiAgICAgICAgcmVzdWx0ID0gW107XG5cbiAgICB3aGlsZSAoaSA8IGFycjEubGVuZ3RoICYmIGogPCBhcnIyLmxlbmd0aCkge1xuICAgICAgICBpZiAoYXJyMVtpXSA9PT0gYXJyMltqXSkge1xuICAgICAgICAgICAgcmVzdWx0LnB1c2goYXJyMVtpXSk7XG4gICAgICAgICAgICBpKys7XG4gICAgICAgICAgICBqKys7XG4gICAgICAgIH0gZWxzZSBpZiAoYXJyMVtpXSA+IGFycjJbal0pIHtcbiAgICAgICAgICAgIGorKztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGkrKztcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGNhbGN1bGF0ZVBhdGNoU2l6ZShwYXRjaFNpemUsIGltZ1NpemUpIHtcbiAgICB2YXIgZGl2aXNvcnNYID0gX2NvbXB1dGVEaXZpc29ycyhpbWdTaXplLngpLFxuICAgICAgICBkaXZpc29yc1kgPSBfY29tcHV0ZURpdmlzb3JzKGltZ1NpemUueSksXG4gICAgICAgIHdpZGVTaWRlID0gTWF0aC5tYXgoaW1nU2l6ZS54LCBpbWdTaXplLnkpLFxuICAgICAgICBjb21tb24gPSBfY29tcHV0ZUludGVyc2VjdGlvbihkaXZpc29yc1gsIGRpdmlzb3JzWSksXG4gICAgICAgIG5yT2ZQYXRjaGVzTGlzdCA9IFs4LCAxMCwgMTUsIDIwLCAzMiwgNjAsIDgwXSxcbiAgICAgICAgbnJPZlBhdGNoZXNNYXAgPSB7XG4gICAgICAgICAgICBcIngtc21hbGxcIjogNSxcbiAgICAgICAgICAgIFwic21hbGxcIjogNCxcbiAgICAgICAgICAgIFwibWVkaXVtXCI6IDMsXG4gICAgICAgICAgICBcImxhcmdlXCI6IDIsXG4gICAgICAgICAgICBcIngtbGFyZ2VcIjogMVxuICAgICAgICB9LFxuICAgICAgICBuck9mUGF0Y2hlc0lkeCA9IG5yT2ZQYXRjaGVzTWFwW3BhdGNoU2l6ZV0gfHwgbnJPZlBhdGNoZXNNYXAubWVkaXVtLFxuICAgICAgICBuck9mUGF0Y2hlcyA9IG5yT2ZQYXRjaGVzTGlzdFtuck9mUGF0Y2hlc0lkeF0sXG4gICAgICAgIGRlc2lyZWRQYXRjaFNpemUgPSBNYXRoLmZsb29yKHdpZGVTaWRlIC8gbnJPZlBhdGNoZXMpLFxuICAgICAgICBvcHRpbWFsUGF0Y2hTaXplO1xuXG4gICAgZnVuY3Rpb24gZmluZFBhdGNoU2l6ZUZvckRpdmlzb3JzKGRpdmlzb3JzKSB7XG4gICAgICAgIHZhciBpID0gMCxcbiAgICAgICAgICAgIGZvdW5kID0gZGl2aXNvcnNbTWF0aC5mbG9vcihkaXZpc29ycy5sZW5ndGggLyAyKV07XG5cbiAgICAgICAgd2hpbGUgKGkgPCAoZGl2aXNvcnMubGVuZ3RoIC0gMSkgJiYgZGl2aXNvcnNbaV0gPCBkZXNpcmVkUGF0Y2hTaXplKSB7XG4gICAgICAgICAgICBpKys7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGkgPiAwKSB7XG4gICAgICAgICAgICBpZiAoTWF0aC5hYnMoZGl2aXNvcnNbaV0gLSBkZXNpcmVkUGF0Y2hTaXplKSA+IE1hdGguYWJzKGRpdmlzb3JzW2kgLSAxXSAtIGRlc2lyZWRQYXRjaFNpemUpKSB7XG4gICAgICAgICAgICAgICAgZm91bmQgPSBkaXZpc29yc1tpIC0gMV07XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGZvdW5kID0gZGl2aXNvcnNbaV07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGRlc2lyZWRQYXRjaFNpemUgLyBmb3VuZCA8IG5yT2ZQYXRjaGVzTGlzdFtuck9mUGF0Y2hlc0lkeCArIDFdIC8gbnJPZlBhdGNoZXNMaXN0W25yT2ZQYXRjaGVzSWR4XSAmJlxuICAgICAgICAgICAgZGVzaXJlZFBhdGNoU2l6ZSAvIGZvdW5kID4gbnJPZlBhdGNoZXNMaXN0W25yT2ZQYXRjaGVzSWR4IC0gMV0gLyBuck9mUGF0Y2hlc0xpc3RbbnJPZlBhdGNoZXNJZHhdICkge1xuICAgICAgICAgICAgcmV0dXJuIHt4OiBmb3VuZCwgeTogZm91bmR9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIG9wdGltYWxQYXRjaFNpemUgPSBmaW5kUGF0Y2hTaXplRm9yRGl2aXNvcnMoY29tbW9uKTtcbiAgICBpZiAoIW9wdGltYWxQYXRjaFNpemUpIHtcbiAgICAgICAgb3B0aW1hbFBhdGNoU2l6ZSA9IGZpbmRQYXRjaFNpemVGb3JEaXZpc29ycyhfY29tcHV0ZURpdmlzb3JzKHdpZGVTaWRlKSk7XG4gICAgICAgIGlmICghb3B0aW1hbFBhdGNoU2l6ZSkge1xuICAgICAgICAgICAgb3B0aW1hbFBhdGNoU2l6ZSA9IGZpbmRQYXRjaFNpemVGb3JEaXZpc29ycygoX2NvbXB1dGVEaXZpc29ycyhkZXNpcmVkUGF0Y2hTaXplICogbnJPZlBhdGNoZXMpKSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG9wdGltYWxQYXRjaFNpemU7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gX3BhcnNlQ1NTRGltZW5zaW9uVmFsdWVzKHZhbHVlKSB7XG4gICAgdmFyIGRpbWVuc2lvbiA9IHtcbiAgICAgICAgdmFsdWU6IHBhcnNlRmxvYXQodmFsdWUpLFxuICAgICAgICB1bml0OiB2YWx1ZS5pbmRleE9mKFwiJVwiKSA9PT0gdmFsdWUubGVuZ3RoIC0gMSA/IFwiJVwiIDogXCIlXCJcbiAgICB9O1xuXG4gICAgcmV0dXJuIGRpbWVuc2lvbjtcbn07XG5cbmV4cG9ydCBjb25zdCBfZGltZW5zaW9uc0NvbnZlcnRlcnMgPSB7XG4gICAgdG9wOiBmdW5jdGlvbihkaW1lbnNpb24sIGNvbnRleHQpIHtcbiAgICAgICAgaWYgKGRpbWVuc2lvbi51bml0ID09PSBcIiVcIikge1xuICAgICAgICAgICAgcmV0dXJuIE1hdGguZmxvb3IoY29udGV4dC5oZWlnaHQgKiAoZGltZW5zaW9uLnZhbHVlIC8gMTAwKSk7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIHJpZ2h0OiBmdW5jdGlvbihkaW1lbnNpb24sIGNvbnRleHQpIHtcbiAgICAgICAgaWYgKGRpbWVuc2lvbi51bml0ID09PSBcIiVcIikge1xuICAgICAgICAgICAgcmV0dXJuIE1hdGguZmxvb3IoY29udGV4dC53aWR0aCAtIChjb250ZXh0LndpZHRoICogKGRpbWVuc2lvbi52YWx1ZSAvIDEwMCkpKTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgYm90dG9tOiBmdW5jdGlvbihkaW1lbnNpb24sIGNvbnRleHQpIHtcbiAgICAgICAgaWYgKGRpbWVuc2lvbi51bml0ID09PSBcIiVcIikge1xuICAgICAgICAgICAgcmV0dXJuIE1hdGguZmxvb3IoY29udGV4dC5oZWlnaHQgLSAoY29udGV4dC5oZWlnaHQgKiAoZGltZW5zaW9uLnZhbHVlIC8gMTAwKSkpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBsZWZ0OiBmdW5jdGlvbihkaW1lbnNpb24sIGNvbnRleHQpIHtcbiAgICAgICAgaWYgKGRpbWVuc2lvbi51bml0ID09PSBcIiVcIikge1xuICAgICAgICAgICAgcmV0dXJuIE1hdGguZmxvb3IoY29udGV4dC53aWR0aCAqIChkaW1lbnNpb24udmFsdWUgLyAxMDApKTtcbiAgICAgICAgfVxuICAgIH1cbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBjb21wdXRlSW1hZ2VBcmVhKGlucHV0V2lkdGgsIGlucHV0SGVpZ2h0LCBhcmVhKSB7XG4gICAgdmFyIGNvbnRleHQgPSB7d2lkdGg6IGlucHV0V2lkdGgsIGhlaWdodDogaW5wdXRIZWlnaHR9O1xuXG4gICAgdmFyIHBhcnNlZEFyZWEgPSBPYmplY3Qua2V5cyhhcmVhKS5yZWR1Y2UoZnVuY3Rpb24ocmVzdWx0LCBrZXkpIHtcbiAgICAgICAgdmFyIHZhbHVlID0gYXJlYVtrZXldLFxuICAgICAgICAgICAgcGFyc2VkID0gX3BhcnNlQ1NTRGltZW5zaW9uVmFsdWVzKHZhbHVlKSxcbiAgICAgICAgICAgIGNhbGN1bGF0ZWQgPSBfZGltZW5zaW9uc0NvbnZlcnRlcnNba2V5XShwYXJzZWQsIGNvbnRleHQpO1xuXG4gICAgICAgIHJlc3VsdFtrZXldID0gY2FsY3VsYXRlZDtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9LCB7fSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgICBzeDogcGFyc2VkQXJlYS5sZWZ0LFxuICAgICAgICBzeTogcGFyc2VkQXJlYS50b3AsXG4gICAgICAgIHN3OiBwYXJzZWRBcmVhLnJpZ2h0IC0gcGFyc2VkQXJlYS5sZWZ0LFxuICAgICAgICBzaDogcGFyc2VkQXJlYS5ib3R0b20gLSBwYXJzZWRBcmVhLnRvcFxuICAgIH07XG59O1xuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vc3JjL2NvbW1vbi9jdl91dGlscy5qcyIsImltcG9ydCBTdWJJbWFnZSBmcm9tICcuL3N1YkltYWdlJztcbmltcG9ydCB7aHN2MnJnYn0gZnJvbSAnLi4vY29tbW9uL2N2X3V0aWxzJztcbmltcG9ydCBBcnJheUhlbHBlciBmcm9tICcuLi9jb21tb24vYXJyYXlfaGVscGVyJztcbmNvbnN0IHZlYzIgPSB7XG4gICAgY2xvbmU6IHJlcXVpcmUoJ2dsLXZlYzIvY2xvbmUnKSxcbn07XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGJhc2ljIGltYWdlIGNvbWJpbmluZyB0aGUgZGF0YSBhbmQgc2l6ZS5cbiAqIEluIGFkZGl0aW9uLCBzb21lIG1ldGhvZHMgZm9yIG1hbmlwdWxhdGlvbiBhcmUgY29udGFpbmVkLlxuICogQHBhcmFtIHNpemUge3gseX0gVGhlIHNpemUgb2YgdGhlIGltYWdlIGluIHBpeGVsXG4gKiBAcGFyYW0gZGF0YSB7QXJyYXl9IElmIGdpdmVuLCBhIGZsYXQgYXJyYXkgY29udGFpbmluZyB0aGUgcGl4ZWwgZGF0YVxuICogQHBhcmFtIEFycmF5VHlwZSB7VHlwZX0gSWYgZ2l2ZW4sIHRoZSBkZXNpcmVkIERhdGFUeXBlIG9mIHRoZSBBcnJheSAobWF5IGJlIHR5cGVkL25vbi10eXBlZClcbiAqIEBwYXJhbSBpbml0aWFsaXplIHtCb29sZWFufSBJbmRpY2F0aW5nIGlmIHRoZSBhcnJheSBzaG91bGQgYmUgaW5pdGlhbGl6ZWQgb24gY3JlYXRpb24uXG4gKiBAcmV0dXJucyB7SW1hZ2VXcmFwcGVyfVxuICovXG5mdW5jdGlvbiBJbWFnZVdyYXBwZXIoc2l6ZSwgZGF0YSwgQXJyYXlUeXBlLCBpbml0aWFsaXplKSB7XG4gICAgaWYgKCFkYXRhKSB7XG4gICAgICAgIGlmIChBcnJheVR5cGUpIHtcbiAgICAgICAgICAgIHRoaXMuZGF0YSA9IG5ldyBBcnJheVR5cGUoc2l6ZS54ICogc2l6ZS55KTtcbiAgICAgICAgICAgIGlmIChBcnJheVR5cGUgPT09IEFycmF5ICYmIGluaXRpYWxpemUpIHtcbiAgICAgICAgICAgICAgICBBcnJheUhlbHBlci5pbml0KHRoaXMuZGF0YSwgMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmRhdGEgPSBuZXcgVWludDhBcnJheShzaXplLnggKiBzaXplLnkpO1xuICAgICAgICAgICAgaWYgKFVpbnQ4QXJyYXkgPT09IEFycmF5ICYmIGluaXRpYWxpemUpIHtcbiAgICAgICAgICAgICAgICBBcnJheUhlbHBlci5pbml0KHRoaXMuZGF0YSwgMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmRhdGEgPSBkYXRhO1xuICAgIH1cbiAgICB0aGlzLnNpemUgPSBzaXplO1xufVxuXG4vKipcbiAqIHRlc3RzIGlmIGEgcG9zaXRpb24gaXMgd2l0aGluIHRoZSBpbWFnZSB3aXRoIGEgZ2l2ZW4gb2Zmc2V0XG4gKiBAcGFyYW0gaW1nUmVmIHt4LCB5fSBUaGUgbG9jYXRpb24gdG8gdGVzdFxuICogQHBhcmFtIGJvcmRlciBOdW1iZXIgdGhlIHBhZGRpbmcgdmFsdWUgaW4gcGl4ZWxcbiAqIEByZXR1cm5zIHtCb29sZWFufSB0cnVlIGlmIGxvY2F0aW9uIGluc2lkZSB0aGUgaW1hZ2UncyBib3JkZXIsIGZhbHNlIG90aGVyd2lzZVxuICogQHNlZSBjdmQvaW1hZ2UuaFxuICovXG5JbWFnZVdyYXBwZXIucHJvdG90eXBlLmluSW1hZ2VXaXRoQm9yZGVyID0gZnVuY3Rpb24oaW1nUmVmLCBib3JkZXIpIHtcbiAgICByZXR1cm4gKGltZ1JlZi54ID49IGJvcmRlcilcbiAgICAgICAgJiYgKGltZ1JlZi55ID49IGJvcmRlcilcbiAgICAgICAgJiYgKGltZ1JlZi54IDwgKHRoaXMuc2l6ZS54IC0gYm9yZGVyKSlcbiAgICAgICAgJiYgKGltZ1JlZi55IDwgKHRoaXMuc2l6ZS55IC0gYm9yZGVyKSk7XG59O1xuXG4vKipcbiAqIFBlcmZvcm1zIGJpbGluZWFyIHNhbXBsaW5nXG4gKiBAcGFyYW0gaW5JbWcgSW1hZ2UgdG8gZXh0cmFjdCBzYW1wbGUgZnJvbVxuICogQHBhcmFtIHggdGhlIHgtY29vcmRpbmF0ZVxuICogQHBhcmFtIHkgdGhlIHktY29vcmRpbmF0ZVxuICogQHJldHVybnMgdGhlIHNhbXBsZWQgdmFsdWVcbiAqIEBzZWUgY3ZkL3Zpc2lvbi5oXG4gKi9cbkltYWdlV3JhcHBlci5zYW1wbGUgPSBmdW5jdGlvbihpbkltZywgeCwgeSkge1xuICAgIHZhciBseCA9IE1hdGguZmxvb3IoeCk7XG4gICAgdmFyIGx5ID0gTWF0aC5mbG9vcih5KTtcbiAgICB2YXIgdyA9IGluSW1nLnNpemUueDtcbiAgICB2YXIgYmFzZSA9IGx5ICogaW5JbWcuc2l6ZS54ICsgbHg7XG4gICAgdmFyIGEgPSBpbkltZy5kYXRhW2Jhc2UgKyAwXTtcbiAgICB2YXIgYiA9IGluSW1nLmRhdGFbYmFzZSArIDFdO1xuICAgIHZhciBjID0gaW5JbWcuZGF0YVtiYXNlICsgd107XG4gICAgdmFyIGQgPSBpbkltZy5kYXRhW2Jhc2UgKyB3ICsgMV07XG4gICAgdmFyIGUgPSBhIC0gYjtcbiAgICB4IC09IGx4O1xuICAgIHkgLT0gbHk7XG5cbiAgICB2YXIgcmVzdWx0ID0gTWF0aC5mbG9vcih4ICogKHkgKiAoZSAtIGMgKyBkKSAtIGUpICsgeSAqIChjIC0gYSkgKyBhKTtcbiAgICByZXR1cm4gcmVzdWx0O1xufTtcblxuLyoqXG4gKiBJbml0aWFsaXplcyBhIGdpdmVuIGFycmF5LiBTZXRzIGVhY2ggZWxlbWVudCB0byB6ZXJvLlxuICogQHBhcmFtIGFycmF5IHtBcnJheX0gVGhlIGFycmF5IHRvIGluaXRpYWxpemVcbiAqL1xuSW1hZ2VXcmFwcGVyLmNsZWFyQXJyYXkgPSBmdW5jdGlvbihhcnJheSkge1xuICAgIHZhciBsID0gYXJyYXkubGVuZ3RoO1xuICAgIHdoaWxlIChsLS0pIHtcbiAgICAgICAgYXJyYXlbbF0gPSAwO1xuICAgIH1cbn07XG5cbi8qKlxuICogQ3JlYXRlcyBhIHtTdWJJbWFnZX0gZnJvbSB0aGUgY3VycmVudCBpbWFnZSAoe3RoaXN9KS5cbiAqIEBwYXJhbSBmcm9tIHtJbWFnZVJlZn0gVGhlIHBvc2l0aW9uIHdoZXJlIHRvIHN0YXJ0IHRoZSB7U3ViSW1hZ2V9IGZyb20uICh0b3AtbGVmdCBjb3JuZXIpXG4gKiBAcGFyYW0gc2l6ZSB7SW1hZ2VSZWZ9IFRoZSBzaXplIG9mIHRoZSByZXN1bHRpbmcgaW1hZ2VcbiAqIEByZXR1cm5zIHtTdWJJbWFnZX0gQSBzaGFyZWQgcGFydCBvZiB0aGUgb3JpZ2luYWwgaW1hZ2VcbiAqL1xuSW1hZ2VXcmFwcGVyLnByb3RvdHlwZS5zdWJJbWFnZSA9IGZ1bmN0aW9uKGZyb20sIHNpemUpIHtcbiAgICByZXR1cm4gbmV3IFN1YkltYWdlKGZyb20sIHNpemUsIHRoaXMpO1xufTtcblxuLyoqXG4gKiBDcmVhdGVzIGFuIHtJbWFnZVdyYXBwZXIpIGFuZCBjb3BpZXMgdGhlIG5lZWRlZCB1bmRlcmx5aW5nIGltYWdlLWRhdGEgYXJlYVxuICogQHBhcmFtIGltYWdlV3JhcHBlciB7SW1hZ2VXcmFwcGVyfSBUaGUgdGFyZ2V0IHtJbWFnZVdyYXBwZXJ9IHdoZXJlIHRoZSBkYXRhIHNob3VsZCBiZSBjb3BpZWRcbiAqIEBwYXJhbSBmcm9tIHtJbWFnZVJlZn0gVGhlIGxvY2F0aW9uIHdoZXJlIHRvIGNvcHkgZnJvbSAodG9wLWxlZnQgbG9jYXRpb24pXG4gKi9cbkltYWdlV3JhcHBlci5wcm90b3R5cGUuc3ViSW1hZ2VBc0NvcHkgPSBmdW5jdGlvbihpbWFnZVdyYXBwZXIsIGZyb20pIHtcbiAgICB2YXIgc2l6ZVkgPSBpbWFnZVdyYXBwZXIuc2l6ZS55LCBzaXplWCA9IGltYWdlV3JhcHBlci5zaXplLng7XG4gICAgdmFyIHgsIHk7XG4gICAgZm9yICggeCA9IDA7IHggPCBzaXplWDsgeCsrKSB7XG4gICAgICAgIGZvciAoIHkgPSAwOyB5IDwgc2l6ZVk7IHkrKykge1xuICAgICAgICAgICAgaW1hZ2VXcmFwcGVyLmRhdGFbeSAqIHNpemVYICsgeF0gPSB0aGlzLmRhdGFbKGZyb20ueSArIHkpICogdGhpcy5zaXplLnggKyBmcm9tLnggKyB4XTtcbiAgICAgICAgfVxuICAgIH1cbn07XG5cbkltYWdlV3JhcHBlci5wcm90b3R5cGUuY29weVRvID0gZnVuY3Rpb24oaW1hZ2VXcmFwcGVyKSB7XG4gICAgdmFyIGxlbmd0aCA9IHRoaXMuZGF0YS5sZW5ndGgsIHNyY0RhdGEgPSB0aGlzLmRhdGEsIGRzdERhdGEgPSBpbWFnZVdyYXBwZXIuZGF0YTtcblxuICAgIHdoaWxlIChsZW5ndGgtLSkge1xuICAgICAgICBkc3REYXRhW2xlbmd0aF0gPSBzcmNEYXRhW2xlbmd0aF07XG4gICAgfVxufTtcblxuLyoqXG4gKiBSZXRyaWV2ZXMgYSBnaXZlbiBwaXhlbCBwb3NpdGlvbiBmcm9tIHRoZSBpbWFnZVxuICogQHBhcmFtIHgge051bWJlcn0gVGhlIHgtcG9zaXRpb25cbiAqIEBwYXJhbSB5IHtOdW1iZXJ9IFRoZSB5LXBvc2l0aW9uXG4gKiBAcmV0dXJucyB7TnVtYmVyfSBUaGUgZ3JheXNjYWxlIHZhbHVlIGF0IHRoZSBwaXhlbC1wb3NpdGlvblxuICovXG5JbWFnZVdyYXBwZXIucHJvdG90eXBlLmdldCA9IGZ1bmN0aW9uKHgsIHkpIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhW3kgKiB0aGlzLnNpemUueCArIHhdO1xufTtcblxuLyoqXG4gKiBSZXRyaWV2ZXMgYSBnaXZlbiBwaXhlbCBwb3NpdGlvbiBmcm9tIHRoZSBpbWFnZVxuICogQHBhcmFtIHgge051bWJlcn0gVGhlIHgtcG9zaXRpb25cbiAqIEBwYXJhbSB5IHtOdW1iZXJ9IFRoZSB5LXBvc2l0aW9uXG4gKiBAcmV0dXJucyB7TnVtYmVyfSBUaGUgZ3JheXNjYWxlIHZhbHVlIGF0IHRoZSBwaXhlbC1wb3NpdGlvblxuICovXG5JbWFnZVdyYXBwZXIucHJvdG90eXBlLmdldFNhZmUgPSBmdW5jdGlvbih4LCB5KSB7XG4gICAgdmFyIGk7XG5cbiAgICBpZiAoIXRoaXMuaW5kZXhNYXBwaW5nKSB7XG4gICAgICAgIHRoaXMuaW5kZXhNYXBwaW5nID0ge1xuICAgICAgICAgICAgeDogW10sXG4gICAgICAgICAgICB5OiBbXVxuICAgICAgICB9O1xuICAgICAgICBmb3IgKGkgPSAwOyBpIDwgdGhpcy5zaXplLng7IGkrKykge1xuICAgICAgICAgICAgdGhpcy5pbmRleE1hcHBpbmcueFtpXSA9IGk7XG4gICAgICAgICAgICB0aGlzLmluZGV4TWFwcGluZy54W2kgKyB0aGlzLnNpemUueF0gPSBpO1xuICAgICAgICB9XG4gICAgICAgIGZvciAoaSA9IDA7IGkgPCB0aGlzLnNpemUueTsgaSsrKSB7XG4gICAgICAgICAgICB0aGlzLmluZGV4TWFwcGluZy55W2ldID0gaTtcbiAgICAgICAgICAgIHRoaXMuaW5kZXhNYXBwaW5nLnlbaSArIHRoaXMuc2l6ZS55XSA9IGk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZGF0YVsodGhpcy5pbmRleE1hcHBpbmcueVt5ICsgdGhpcy5zaXplLnldKSAqIHRoaXMuc2l6ZS54ICsgdGhpcy5pbmRleE1hcHBpbmcueFt4ICsgdGhpcy5zaXplLnhdXTtcbn07XG5cbi8qKlxuICogU2V0cyBhIGdpdmVuIHBpeGVsIHBvc2l0aW9uIGluIHRoZSBpbWFnZVxuICogQHBhcmFtIHgge051bWJlcn0gVGhlIHgtcG9zaXRpb25cbiAqIEBwYXJhbSB5IHtOdW1iZXJ9IFRoZSB5LXBvc2l0aW9uXG4gKiBAcGFyYW0gdmFsdWUge051bWJlcn0gVGhlIGdyYXlzY2FsZSB2YWx1ZSB0byBzZXRcbiAqIEByZXR1cm5zIHtJbWFnZVdyYXBwZXJ9IFRoZSBJbWFnZSBpdHNlbGYgKGZvciBwb3NzaWJsZSBjaGFpbmluZylcbiAqL1xuSW1hZ2VXcmFwcGVyLnByb3RvdHlwZS5zZXQgPSBmdW5jdGlvbih4LCB5LCB2YWx1ZSkge1xuICAgIHRoaXMuZGF0YVt5ICogdGhpcy5zaXplLnggKyB4XSA9IHZhbHVlO1xuICAgIHJldHVybiB0aGlzO1xufTtcblxuLyoqXG4gKiBTZXRzIHRoZSBib3JkZXIgb2YgdGhlIGltYWdlICgxIHBpeGVsKSB0byB6ZXJvXG4gKi9cbkltYWdlV3JhcHBlci5wcm90b3R5cGUuemVyb0JvcmRlciA9IGZ1bmN0aW9uKCkge1xuICAgIHZhciBpLCB3aWR0aCA9IHRoaXMuc2l6ZS54LCBoZWlnaHQgPSB0aGlzLnNpemUueSwgZGF0YSA9IHRoaXMuZGF0YTtcbiAgICBmb3IgKCBpID0gMDsgaSA8IHdpZHRoOyBpKyspIHtcbiAgICAgICAgZGF0YVtpXSA9IGRhdGFbKGhlaWdodCAtIDEpICogd2lkdGggKyBpXSA9IDA7XG4gICAgfVxuICAgIGZvciAoIGkgPSAxOyBpIDwgaGVpZ2h0IC0gMTsgaSsrKSB7XG4gICAgICAgIGRhdGFbaSAqIHdpZHRoXSA9IGRhdGFbaSAqIHdpZHRoICsgKHdpZHRoIC0gMSldID0gMDtcbiAgICB9XG59O1xuXG4vKipcbiAqIEludmVydHMgYSBiaW5hcnkgaW1hZ2UgaW4gcGxhY2VcbiAqL1xuSW1hZ2VXcmFwcGVyLnByb3RvdHlwZS5pbnZlcnQgPSBmdW5jdGlvbigpIHtcbiAgICB2YXIgZGF0YSA9IHRoaXMuZGF0YSwgbGVuZ3RoID0gZGF0YS5sZW5ndGg7XG5cbiAgICB3aGlsZSAobGVuZ3RoLS0pIHtcbiAgICAgICAgZGF0YVtsZW5ndGhdID0gZGF0YVtsZW5ndGhdID8gMCA6IDE7XG4gICAgfVxufTtcblxuSW1hZ2VXcmFwcGVyLnByb3RvdHlwZS5jb252b2x2ZSA9IGZ1bmN0aW9uKGtlcm5lbCkge1xuICAgIHZhciB4LCB5LCBreCwga3ksIGtTaXplID0gKGtlcm5lbC5sZW5ndGggLyAyKSB8IDAsIGFjY3UgPSAwO1xuICAgIGZvciAoIHkgPSAwOyB5IDwgdGhpcy5zaXplLnk7IHkrKykge1xuICAgICAgICBmb3IgKCB4ID0gMDsgeCA8IHRoaXMuc2l6ZS54OyB4KyspIHtcbiAgICAgICAgICAgIGFjY3UgPSAwO1xuICAgICAgICAgICAgZm9yICgga3kgPSAta1NpemU7IGt5IDw9IGtTaXplOyBreSsrKSB7XG4gICAgICAgICAgICAgICAgZm9yICgga3ggPSAta1NpemU7IGt4IDw9IGtTaXplOyBreCsrKSB7XG4gICAgICAgICAgICAgICAgICAgIGFjY3UgKz0ga2VybmVsW2t5ICsga1NpemVdW2t4ICsga1NpemVdICogdGhpcy5nZXRTYWZlKHggKyBreCwgeSArIGt5KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmRhdGFbeSAqIHRoaXMuc2l6ZS54ICsgeF0gPSBhY2N1O1xuICAgICAgICB9XG4gICAgfVxufTtcblxuSW1hZ2VXcmFwcGVyLnByb3RvdHlwZS5tb21lbnRzID0gZnVuY3Rpb24obGFiZWxjb3VudCkge1xuICAgIHZhciBkYXRhID0gdGhpcy5kYXRhLFxuICAgICAgICB4LFxuICAgICAgICB5LFxuICAgICAgICBoZWlnaHQgPSB0aGlzLnNpemUueSxcbiAgICAgICAgd2lkdGggPSB0aGlzLnNpemUueCxcbiAgICAgICAgdmFsLFxuICAgICAgICB5c3EsXG4gICAgICAgIGxhYmVsc3VtID0gW10sXG4gICAgICAgIGksXG4gICAgICAgIGxhYmVsLFxuICAgICAgICBtdTExLFxuICAgICAgICBtdTAyLFxuICAgICAgICBtdTIwLFxuICAgICAgICB4XyxcbiAgICAgICAgeV8sXG4gICAgICAgIHRtcCxcbiAgICAgICAgcmVzdWx0ID0gW10sXG4gICAgICAgIFBJID0gTWF0aC5QSSxcbiAgICAgICAgUElfNCA9IFBJIC8gNDtcblxuICAgIGlmIChsYWJlbGNvdW50IDw9IDApIHtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBmb3IgKCBpID0gMDsgaSA8IGxhYmVsY291bnQ7IGkrKykge1xuICAgICAgICBsYWJlbHN1bVtpXSA9IHtcbiAgICAgICAgICAgIG0wMDogMCxcbiAgICAgICAgICAgIG0wMTogMCxcbiAgICAgICAgICAgIG0xMDogMCxcbiAgICAgICAgICAgIG0xMTogMCxcbiAgICAgICAgICAgIG0wMjogMCxcbiAgICAgICAgICAgIG0yMDogMCxcbiAgICAgICAgICAgIHRoZXRhOiAwLFxuICAgICAgICAgICAgcmFkOiAwXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgZm9yICggeSA9IDA7IHkgPCBoZWlnaHQ7IHkrKykge1xuICAgICAgICB5c3EgPSB5ICogeTtcbiAgICAgICAgZm9yICggeCA9IDA7IHggPCB3aWR0aDsgeCsrKSB7XG4gICAgICAgICAgICB2YWwgPSBkYXRhW3kgKiB3aWR0aCArIHhdO1xuICAgICAgICAgICAgaWYgKHZhbCA+IDApIHtcbiAgICAgICAgICAgICAgICBsYWJlbCA9IGxhYmVsc3VtW3ZhbCAtIDFdO1xuICAgICAgICAgICAgICAgIGxhYmVsLm0wMCArPSAxO1xuICAgICAgICAgICAgICAgIGxhYmVsLm0wMSArPSB5O1xuICAgICAgICAgICAgICAgIGxhYmVsLm0xMCArPSB4O1xuICAgICAgICAgICAgICAgIGxhYmVsLm0xMSArPSB4ICogeTtcbiAgICAgICAgICAgICAgICBsYWJlbC5tMDIgKz0geXNxO1xuICAgICAgICAgICAgICAgIGxhYmVsLm0yMCArPSB4ICogeDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZvciAoIGkgPSAwOyBpIDwgbGFiZWxjb3VudDsgaSsrKSB7XG4gICAgICAgIGxhYmVsID0gbGFiZWxzdW1baV07XG4gICAgICAgIGlmICghaXNOYU4obGFiZWwubTAwKSAmJiBsYWJlbC5tMDAgIT09IDApIHtcbiAgICAgICAgICAgIHhfID0gbGFiZWwubTEwIC8gbGFiZWwubTAwO1xuICAgICAgICAgICAgeV8gPSBsYWJlbC5tMDEgLyBsYWJlbC5tMDA7XG4gICAgICAgICAgICBtdTExID0gbGFiZWwubTExIC8gbGFiZWwubTAwIC0geF8gKiB5XztcbiAgICAgICAgICAgIG11MDIgPSBsYWJlbC5tMDIgLyBsYWJlbC5tMDAgLSB5XyAqIHlfO1xuICAgICAgICAgICAgbXUyMCA9IGxhYmVsLm0yMCAvIGxhYmVsLm0wMCAtIHhfICogeF87XG4gICAgICAgICAgICB0bXAgPSAobXUwMiAtIG11MjApIC8gKDIgKiBtdTExKTtcbiAgICAgICAgICAgIHRtcCA9IDAuNSAqIE1hdGguYXRhbih0bXApICsgKG11MTEgPj0gMCA/IFBJXzQgOiAtUElfNCApICsgUEk7XG4gICAgICAgICAgICBsYWJlbC50aGV0YSA9ICh0bXAgKiAxODAgLyBQSSArIDkwKSAlIDE4MCAtIDkwO1xuICAgICAgICAgICAgaWYgKGxhYmVsLnRoZXRhIDwgMCkge1xuICAgICAgICAgICAgICAgIGxhYmVsLnRoZXRhICs9IDE4MDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxhYmVsLnJhZCA9IHRtcCA+IFBJID8gdG1wIC0gUEkgOiB0bXA7XG4gICAgICAgICAgICBsYWJlbC52ZWMgPSB2ZWMyLmNsb25lKFtNYXRoLmNvcyh0bXApLCBNYXRoLnNpbih0bXApXSk7XG4gICAgICAgICAgICByZXN1bHQucHVzaChsYWJlbCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xufTtcblxuLyoqXG4gKiBEaXNwbGF5cyB0aGUge0ltYWdlV3JhcHBlcn0gaW4gYSBnaXZlbiBjYW52YXNcbiAqIEBwYXJhbSBjYW52YXMge0NhbnZhc30gVGhlIGNhbnZhcyBlbGVtZW50IHRvIHdyaXRlIHRvXG4gKiBAcGFyYW0gc2NhbGUge051bWJlcn0gU2NhbGUgd2hpY2ggaXMgYXBwbGllZCB0byBlYWNoIHBpeGVsLXZhbHVlXG4gKi9cbkltYWdlV3JhcHBlci5wcm90b3R5cGUuc2hvdyA9IGZ1bmN0aW9uKGNhbnZhcywgc2NhbGUpIHtcbiAgICB2YXIgY3R4LFxuICAgICAgICBmcmFtZSxcbiAgICAgICAgZGF0YSxcbiAgICAgICAgY3VycmVudCxcbiAgICAgICAgcGl4ZWwsXG4gICAgICAgIHgsXG4gICAgICAgIHk7XG5cbiAgICBpZiAoIXNjYWxlKSB7XG4gICAgICAgIHNjYWxlID0gMS4wO1xuICAgIH1cbiAgICBjdHggPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKTtcbiAgICBjYW52YXMud2lkdGggPSB0aGlzLnNpemUueDtcbiAgICBjYW52YXMuaGVpZ2h0ID0gdGhpcy5zaXplLnk7XG4gICAgZnJhbWUgPSBjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIGNhbnZhcy53aWR0aCwgY2FudmFzLmhlaWdodCk7XG4gICAgZGF0YSA9IGZyYW1lLmRhdGE7XG4gICAgY3VycmVudCA9IDA7XG4gICAgZm9yICh5ID0gMDsgeSA8IHRoaXMuc2l6ZS55OyB5KyspIHtcbiAgICAgICAgZm9yICh4ID0gMDsgeCA8IHRoaXMuc2l6ZS54OyB4KyspIHtcbiAgICAgICAgICAgIHBpeGVsID0geSAqIHRoaXMuc2l6ZS54ICsgeDtcbiAgICAgICAgICAgIGN1cnJlbnQgPSB0aGlzLmdldCh4LCB5KSAqIHNjYWxlO1xuICAgICAgICAgICAgZGF0YVtwaXhlbCAqIDQgKyAwXSA9IGN1cnJlbnQ7XG4gICAgICAgICAgICBkYXRhW3BpeGVsICogNCArIDFdID0gY3VycmVudDtcbiAgICAgICAgICAgIGRhdGFbcGl4ZWwgKiA0ICsgMl0gPSBjdXJyZW50O1xuICAgICAgICAgICAgZGF0YVtwaXhlbCAqIDQgKyAzXSA9IDI1NTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvL2ZyYW1lLmRhdGEgPSBkYXRhO1xuICAgIGN0eC5wdXRJbWFnZURhdGEoZnJhbWUsIDAsIDApO1xufTtcblxuLyoqXG4gKiBEaXNwbGF5cyB0aGUge1N1YkltYWdlfSBpbiBhIGdpdmVuIGNhbnZhc1xuICogQHBhcmFtIGNhbnZhcyB7Q2FudmFzfSBUaGUgY2FudmFzIGVsZW1lbnQgdG8gd3JpdGUgdG9cbiAqIEBwYXJhbSBzY2FsZSB7TnVtYmVyfSBTY2FsZSB3aGljaCBpcyBhcHBsaWVkIHRvIGVhY2ggcGl4ZWwtdmFsdWVcbiAqL1xuSW1hZ2VXcmFwcGVyLnByb3RvdHlwZS5vdmVybGF5ID0gZnVuY3Rpb24oY2FudmFzLCBzY2FsZSwgZnJvbSkge1xuICAgIGlmICghc2NhbGUgfHwgc2NhbGUgPCAwIHx8IHNjYWxlID4gMzYwKSB7XG4gICAgICAgIHNjYWxlID0gMzYwO1xuICAgIH1cbiAgICB2YXIgaHN2ID0gWzAsIDEsIDFdO1xuICAgIHZhciByZ2IgPSBbMCwgMCwgMF07XG4gICAgdmFyIHdoaXRlUmdiID0gWzI1NSwgMjU1LCAyNTVdO1xuICAgIHZhciBibGFja1JnYiA9IFswLCAwLCAwXTtcbiAgICB2YXIgcmVzdWx0ID0gW107XG4gICAgdmFyIGN0eCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpO1xuICAgIHZhciBmcmFtZSA9IGN0eC5nZXRJbWFnZURhdGEoZnJvbS54LCBmcm9tLnksIHRoaXMuc2l6ZS54LCB0aGlzLnNpemUueSk7XG4gICAgdmFyIGRhdGEgPSBmcmFtZS5kYXRhO1xuICAgIHZhciBsZW5ndGggPSB0aGlzLmRhdGEubGVuZ3RoO1xuICAgIHdoaWxlIChsZW5ndGgtLSkge1xuICAgICAgICBoc3ZbMF0gPSB0aGlzLmRhdGFbbGVuZ3RoXSAqIHNjYWxlO1xuICAgICAgICByZXN1bHQgPSBoc3ZbMF0gPD0gMCA/IHdoaXRlUmdiIDogaHN2WzBdID49IDM2MCA/IGJsYWNrUmdiIDogaHN2MnJnYihoc3YsIHJnYik7XG4gICAgICAgIGRhdGFbbGVuZ3RoICogNCArIDBdID0gcmVzdWx0WzBdO1xuICAgICAgICBkYXRhW2xlbmd0aCAqIDQgKyAxXSA9IHJlc3VsdFsxXTtcbiAgICAgICAgZGF0YVtsZW5ndGggKiA0ICsgMl0gPSByZXN1bHRbMl07XG4gICAgICAgIGRhdGFbbGVuZ3RoICogNCArIDNdID0gMjU1O1xuICAgIH1cbiAgICBjdHgucHV0SW1hZ2VEYXRhKGZyYW1lLCBmcm9tLngsIGZyb20ueSk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBJbWFnZVdyYXBwZXI7XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9zcmMvY29tbW9uL2ltYWdlX3dyYXBwZXIuanMiLCJ2YXIgZGVmaW5lUHJvcGVydHkgPSByZXF1aXJlKCcuL19kZWZpbmVQcm9wZXJ0eScpO1xuXG4vKipcbiAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBhc3NpZ25WYWx1ZWAgYW5kIGBhc3NpZ25NZXJnZVZhbHVlYCB3aXRob3V0XG4gKiB2YWx1ZSBjaGVja3MuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBtb2RpZnkuXG4gKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIHByb3BlcnR5IHRvIGFzc2lnbi5cbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGFzc2lnbi5cbiAqL1xuZnVuY3Rpb24gYmFzZUFzc2lnblZhbHVlKG9iamVjdCwga2V5LCB2YWx1ZSkge1xuICBpZiAoa2V5ID09ICdfX3Byb3RvX18nICYmIGRlZmluZVByb3BlcnR5KSB7XG4gICAgZGVmaW5lUHJvcGVydHkob2JqZWN0LCBrZXksIHtcbiAgICAgICdjb25maWd1cmFibGUnOiB0cnVlLFxuICAgICAgJ2VudW1lcmFibGUnOiB0cnVlLFxuICAgICAgJ3ZhbHVlJzogdmFsdWUsXG4gICAgICAnd3JpdGFibGUnOiB0cnVlXG4gICAgfSk7XG4gIH0gZWxzZSB7XG4gICAgb2JqZWN0W2tleV0gPSB2YWx1ZTtcbiAgfVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGJhc2VBc3NpZ25WYWx1ZTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vfi9sb2Rhc2gvX2Jhc2VBc3NpZ25WYWx1ZS5qc1xuLy8gbW9kdWxlIGlkID0gMjFcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwidmFyIGJhc2VJc05hdGl2ZSA9IHJlcXVpcmUoJy4vX2Jhc2VJc05hdGl2ZScpLFxuICAgIGdldFZhbHVlID0gcmVxdWlyZSgnLi9fZ2V0VmFsdWUnKTtcblxuLyoqXG4gKiBHZXRzIHRoZSBuYXRpdmUgZnVuY3Rpb24gYXQgYGtleWAgb2YgYG9iamVjdGAuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBxdWVyeS5cbiAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgbWV0aG9kIHRvIGdldC5cbiAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSBmdW5jdGlvbiBpZiBpdCdzIG5hdGl2ZSwgZWxzZSBgdW5kZWZpbmVkYC5cbiAqL1xuZnVuY3Rpb24gZ2V0TmF0aXZlKG9iamVjdCwga2V5KSB7XG4gIHZhciB2YWx1ZSA9IGdldFZhbHVlKG9iamVjdCwga2V5KTtcbiAgcmV0dXJuIGJhc2VJc05hdGl2ZSh2YWx1ZSkgPyB2YWx1ZSA6IHVuZGVmaW5lZDtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBnZXROYXRpdmU7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL34vbG9kYXNoL19nZXROYXRpdmUuanNcbi8vIG1vZHVsZSBpZCA9IDIyXG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsInZhciBpc1N5bWJvbCA9IHJlcXVpcmUoJy4vaXNTeW1ib2wnKTtcblxuLyoqIFVzZWQgYXMgcmVmZXJlbmNlcyBmb3IgdmFyaW91cyBgTnVtYmVyYCBjb25zdGFudHMuICovXG52YXIgSU5GSU5JVFkgPSAxIC8gMDtcblxuLyoqXG4gKiBDb252ZXJ0cyBgdmFsdWVgIHRvIGEgc3RyaW5nIGtleSBpZiBpdCdzIG5vdCBhIHN0cmluZyBvciBzeW1ib2wuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGluc3BlY3QuXG4gKiBAcmV0dXJucyB7c3RyaW5nfHN5bWJvbH0gUmV0dXJucyB0aGUga2V5LlxuICovXG5mdW5jdGlvbiB0b0tleSh2YWx1ZSkge1xuICBpZiAodHlwZW9mIHZhbHVlID09ICdzdHJpbmcnIHx8IGlzU3ltYm9sKHZhbHVlKSkge1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuICB2YXIgcmVzdWx0ID0gKHZhbHVlICsgJycpO1xuICByZXR1cm4gKHJlc3VsdCA9PSAnMCcgJiYgKDEgLyB2YWx1ZSkgPT0gLUlORklOSVRZKSA/ICctMCcgOiByZXN1bHQ7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gdG9LZXk7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL34vbG9kYXNoL190b0tleS5qc1xuLy8gbW9kdWxlIGlkID0gMjNcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwidmFyIGlzRnVuY3Rpb24gPSByZXF1aXJlKCcuL2lzRnVuY3Rpb24nKSxcbiAgICBpc0xlbmd0aCA9IHJlcXVpcmUoJy4vaXNMZW5ndGgnKTtcblxuLyoqXG4gKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBhcnJheS1saWtlLiBBIHZhbHVlIGlzIGNvbnNpZGVyZWQgYXJyYXktbGlrZSBpZiBpdCdzXG4gKiBub3QgYSBmdW5jdGlvbiBhbmQgaGFzIGEgYHZhbHVlLmxlbmd0aGAgdGhhdCdzIGFuIGludGVnZXIgZ3JlYXRlciB0aGFuIG9yXG4gKiBlcXVhbCB0byBgMGAgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byBgTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVJgLlxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgNC4wLjBcbiAqIEBjYXRlZ29yeSBMYW5nXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGFycmF5LWxpa2UsIGVsc2UgYGZhbHNlYC5cbiAqIEBleGFtcGxlXG4gKlxuICogXy5pc0FycmF5TGlrZShbMSwgMiwgM10pO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uaXNBcnJheUxpa2UoZG9jdW1lbnQuYm9keS5jaGlsZHJlbik7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc0FycmF5TGlrZSgnYWJjJyk7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc0FycmF5TGlrZShfLm5vb3ApO1xuICogLy8gPT4gZmFsc2VcbiAqL1xuZnVuY3Rpb24gaXNBcnJheUxpa2UodmFsdWUpIHtcbiAgcmV0dXJuIHZhbHVlICE9IG51bGwgJiYgaXNMZW5ndGgodmFsdWUubGVuZ3RoKSAmJiAhaXNGdW5jdGlvbih2YWx1ZSk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaXNBcnJheUxpa2U7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL34vbG9kYXNoL2lzQXJyYXlMaWtlLmpzXG4vLyBtb2R1bGUgaWQgPSAyNFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiLCJ2YXIgYmFzZUdldFRhZyA9IHJlcXVpcmUoJy4vX2Jhc2VHZXRUYWcnKSxcbiAgICBpc09iamVjdCA9IHJlcXVpcmUoJy4vaXNPYmplY3QnKTtcblxuLyoqIGBPYmplY3QjdG9TdHJpbmdgIHJlc3VsdCByZWZlcmVuY2VzLiAqL1xudmFyIGFzeW5jVGFnID0gJ1tvYmplY3QgQXN5bmNGdW5jdGlvbl0nLFxuICAgIGZ1bmNUYWcgPSAnW29iamVjdCBGdW5jdGlvbl0nLFxuICAgIGdlblRhZyA9ICdbb2JqZWN0IEdlbmVyYXRvckZ1bmN0aW9uXScsXG4gICAgcHJveHlUYWcgPSAnW29iamVjdCBQcm94eV0nO1xuXG4vKipcbiAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGNsYXNzaWZpZWQgYXMgYSBgRnVuY3Rpb25gIG9iamVjdC5cbiAqXG4gKiBAc3RhdGljXG4gKiBAbWVtYmVyT2YgX1xuICogQHNpbmNlIDAuMS4wXG4gKiBAY2F0ZWdvcnkgTGFuZ1xuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhIGZ1bmN0aW9uLCBlbHNlIGBmYWxzZWAuXG4gKiBAZXhhbXBsZVxuICpcbiAqIF8uaXNGdW5jdGlvbihfKTtcbiAqIC8vID0+IHRydWVcbiAqXG4gKiBfLmlzRnVuY3Rpb24oL2FiYy8pO1xuICogLy8gPT4gZmFsc2VcbiAqL1xuZnVuY3Rpb24gaXNGdW5jdGlvbih2YWx1ZSkge1xuICBpZiAoIWlzT2JqZWN0KHZhbHVlKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICAvLyBUaGUgdXNlIG9mIGBPYmplY3QjdG9TdHJpbmdgIGF2b2lkcyBpc3N1ZXMgd2l0aCB0aGUgYHR5cGVvZmAgb3BlcmF0b3JcbiAgLy8gaW4gU2FmYXJpIDkgd2hpY2ggcmV0dXJucyAnb2JqZWN0JyBmb3IgdHlwZWQgYXJyYXlzIGFuZCBvdGhlciBjb25zdHJ1Y3RvcnMuXG4gIHZhciB0YWcgPSBiYXNlR2V0VGFnKHZhbHVlKTtcbiAgcmV0dXJuIHRhZyA9PSBmdW5jVGFnIHx8IHRhZyA9PSBnZW5UYWcgfHwgdGFnID09IGFzeW5jVGFnIHx8IHRhZyA9PSBwcm94eVRhZztcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBpc0Z1bmN0aW9uO1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9+L2xvZGFzaC9pc0Z1bmN0aW9uLmpzXG4vLyBtb2R1bGUgaWQgPSAyNVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiLCIvKiogVXNlZCBhcyByZWZlcmVuY2VzIGZvciB2YXJpb3VzIGBOdW1iZXJgIGNvbnN0YW50cy4gKi9cbnZhciBNQVhfU0FGRV9JTlRFR0VSID0gOTAwNzE5OTI1NDc0MDk5MTtcblxuLyoqXG4gKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBhIHZhbGlkIGFycmF5LWxpa2UgbGVuZ3RoLlxuICpcbiAqICoqTm90ZToqKiBUaGlzIG1ldGhvZCBpcyBsb29zZWx5IGJhc2VkIG9uXG4gKiBbYFRvTGVuZ3RoYF0oaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNy4wLyNzZWMtdG9sZW5ndGgpLlxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgNC4wLjBcbiAqIEBjYXRlZ29yeSBMYW5nXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgdmFsaWQgbGVuZ3RoLCBlbHNlIGBmYWxzZWAuXG4gKiBAZXhhbXBsZVxuICpcbiAqIF8uaXNMZW5ndGgoMyk7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc0xlbmd0aChOdW1iZXIuTUlOX1ZBTFVFKTtcbiAqIC8vID0+IGZhbHNlXG4gKlxuICogXy5pc0xlbmd0aChJbmZpbml0eSk7XG4gKiAvLyA9PiBmYWxzZVxuICpcbiAqIF8uaXNMZW5ndGgoJzMnKTtcbiAqIC8vID0+IGZhbHNlXG4gKi9cbmZ1bmN0aW9uIGlzTGVuZ3RoKHZhbHVlKSB7XG4gIHJldHVybiB0eXBlb2YgdmFsdWUgPT0gJ251bWJlcicgJiZcbiAgICB2YWx1ZSA+IC0xICYmIHZhbHVlICUgMSA9PSAwICYmIHZhbHVlIDw9IE1BWF9TQUZFX0lOVEVHRVI7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaXNMZW5ndGg7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL34vbG9kYXNoL2lzTGVuZ3RoLmpzXG4vLyBtb2R1bGUgaWQgPSAyNlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiLCJ2YXIgYmFzZUdldFRhZyA9IHJlcXVpcmUoJy4vX2Jhc2VHZXRUYWcnKSxcbiAgICBpc09iamVjdExpa2UgPSByZXF1aXJlKCcuL2lzT2JqZWN0TGlrZScpO1xuXG4vKiogYE9iamVjdCN0b1N0cmluZ2AgcmVzdWx0IHJlZmVyZW5jZXMuICovXG52YXIgc3ltYm9sVGFnID0gJ1tvYmplY3QgU3ltYm9sXSc7XG5cbi8qKlxuICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgY2xhc3NpZmllZCBhcyBhIGBTeW1ib2xgIHByaW1pdGl2ZSBvciBvYmplY3QuXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSA0LjAuMFxuICogQGNhdGVnb3J5IExhbmdcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSBzeW1ib2wsIGVsc2UgYGZhbHNlYC5cbiAqIEBleGFtcGxlXG4gKlxuICogXy5pc1N5bWJvbChTeW1ib2wuaXRlcmF0b3IpO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uaXNTeW1ib2woJ2FiYycpO1xuICogLy8gPT4gZmFsc2VcbiAqL1xuZnVuY3Rpb24gaXNTeW1ib2wodmFsdWUpIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PSAnc3ltYm9sJyB8fFxuICAgIChpc09iamVjdExpa2UodmFsdWUpICYmIGJhc2VHZXRUYWcodmFsdWUpID09IHN5bWJvbFRhZyk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaXNTeW1ib2w7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL34vbG9kYXNoL2lzU3ltYm9sLmpzXG4vLyBtb2R1bGUgaWQgPSAyN1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiLCJ2YXIgYmFzZU1lcmdlID0gcmVxdWlyZSgnLi9fYmFzZU1lcmdlJyksXG4gICAgY3JlYXRlQXNzaWduZXIgPSByZXF1aXJlKCcuL19jcmVhdGVBc3NpZ25lcicpO1xuXG4vKipcbiAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uYXNzaWduYCBleGNlcHQgdGhhdCBpdCByZWN1cnNpdmVseSBtZXJnZXMgb3duIGFuZFxuICogaW5oZXJpdGVkIGVudW1lcmFibGUgc3RyaW5nIGtleWVkIHByb3BlcnRpZXMgb2Ygc291cmNlIG9iamVjdHMgaW50byB0aGVcbiAqIGRlc3RpbmF0aW9uIG9iamVjdC4gU291cmNlIHByb3BlcnRpZXMgdGhhdCByZXNvbHZlIHRvIGB1bmRlZmluZWRgIGFyZVxuICogc2tpcHBlZCBpZiBhIGRlc3RpbmF0aW9uIHZhbHVlIGV4aXN0cy4gQXJyYXkgYW5kIHBsYWluIG9iamVjdCBwcm9wZXJ0aWVzXG4gKiBhcmUgbWVyZ2VkIHJlY3Vyc2l2ZWx5LiBPdGhlciBvYmplY3RzIGFuZCB2YWx1ZSB0eXBlcyBhcmUgb3ZlcnJpZGRlbiBieVxuICogYXNzaWdubWVudC4gU291cmNlIG9iamVjdHMgYXJlIGFwcGxpZWQgZnJvbSBsZWZ0IHRvIHJpZ2h0LiBTdWJzZXF1ZW50XG4gKiBzb3VyY2VzIG92ZXJ3cml0ZSBwcm9wZXJ0eSBhc3NpZ25tZW50cyBvZiBwcmV2aW91cyBzb3VyY2VzLlxuICpcbiAqICoqTm90ZToqKiBUaGlzIG1ldGhvZCBtdXRhdGVzIGBvYmplY3RgLlxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgMC41LjBcbiAqIEBjYXRlZ29yeSBPYmplY3RcbiAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIGRlc3RpbmF0aW9uIG9iamVjdC5cbiAqIEBwYXJhbSB7Li4uT2JqZWN0fSBbc291cmNlc10gVGhlIHNvdXJjZSBvYmplY3RzLlxuICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyBgb2JqZWN0YC5cbiAqIEBleGFtcGxlXG4gKlxuICogdmFyIG9iamVjdCA9IHtcbiAqICAgJ2EnOiBbeyAnYic6IDIgfSwgeyAnZCc6IDQgfV1cbiAqIH07XG4gKlxuICogdmFyIG90aGVyID0ge1xuICogICAnYSc6IFt7ICdjJzogMyB9LCB7ICdlJzogNSB9XVxuICogfTtcbiAqXG4gKiBfLm1lcmdlKG9iamVjdCwgb3RoZXIpO1xuICogLy8gPT4geyAnYSc6IFt7ICdiJzogMiwgJ2MnOiAzIH0sIHsgJ2QnOiA0LCAnZSc6IDUgfV0gfVxuICovXG52YXIgbWVyZ2UgPSBjcmVhdGVBc3NpZ25lcihmdW5jdGlvbihvYmplY3QsIHNvdXJjZSwgc3JjSW5kZXgpIHtcbiAgYmFzZU1lcmdlKG9iamVjdCwgc291cmNlLCBzcmNJbmRleCk7XG59KTtcblxubW9kdWxlLmV4cG9ydHMgPSBtZXJnZTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vfi9sb2Rhc2gvbWVyZ2UuanNcbi8vIG1vZHVsZSBpZCA9IDI4XG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsIm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24obW9kdWxlKSB7XHJcblx0aWYoIW1vZHVsZS53ZWJwYWNrUG9seWZpbGwpIHtcclxuXHRcdG1vZHVsZS5kZXByZWNhdGUgPSBmdW5jdGlvbigpIHt9O1xyXG5cdFx0bW9kdWxlLnBhdGhzID0gW107XHJcblx0XHQvLyBtb2R1bGUucGFyZW50ID0gdW5kZWZpbmVkIGJ5IGRlZmF1bHRcclxuXHRcdGlmKCFtb2R1bGUuY2hpbGRyZW4pIG1vZHVsZS5jaGlsZHJlbiA9IFtdO1xyXG5cdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KG1vZHVsZSwgXCJsb2FkZWRcIiwge1xyXG5cdFx0XHRlbnVtZXJhYmxlOiB0cnVlLFxyXG5cdFx0XHRnZXQ6IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdHJldHVybiBtb2R1bGUubDtcclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkobW9kdWxlLCBcImlkXCIsIHtcclxuXHRcdFx0ZW51bWVyYWJsZTogdHJ1ZSxcclxuXHRcdFx0Z2V0OiBmdW5jdGlvbigpIHtcclxuXHRcdFx0XHRyZXR1cm4gbW9kdWxlLmk7XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cdFx0bW9kdWxlLndlYnBhY2tQb2x5ZmlsbCA9IDE7XHJcblx0fVxyXG5cdHJldHVybiBtb2R1bGU7XHJcbn07XHJcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vICh3ZWJwYWNrKS9idWlsZGluL21vZHVsZS5qc1xuLy8gbW9kdWxlIGlkID0gMjlcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwiLyoqXG4gKiBodHRwOi8vd3d3LmNvZGVwcm9qZWN0LmNvbS9UaXBzLzQwNzE3Mi9Db25uZWN0ZWQtQ29tcG9uZW50LUxhYmVsaW5nLWFuZC1WZWN0b3JpemF0aW9uXG4gKi9cbnZhciBUcmFjZXIgPSB7XG4gICAgc2VhcmNoRGlyZWN0aW9uczogW1swLCAxXSwgWzEsIDFdLCBbMSwgMF0sIFsxLCAtMV0sIFswLCAtMV0sIFstMSwgLTFdLCBbLTEsIDBdLCBbLTEsIDFdXSxcbiAgICBjcmVhdGU6IGZ1bmN0aW9uKGltYWdlV3JhcHBlciwgbGFiZWxXcmFwcGVyKSB7XG4gICAgICAgIHZhciBpbWFnZURhdGEgPSBpbWFnZVdyYXBwZXIuZGF0YSxcbiAgICAgICAgICAgIGxhYmVsRGF0YSA9IGxhYmVsV3JhcHBlci5kYXRhLFxuICAgICAgICAgICAgc2VhcmNoRGlyZWN0aW9ucyA9IHRoaXMuc2VhcmNoRGlyZWN0aW9ucyxcbiAgICAgICAgICAgIHdpZHRoID0gaW1hZ2VXcmFwcGVyLnNpemUueCxcbiAgICAgICAgICAgIHBvcztcblxuICAgICAgICBmdW5jdGlvbiB0cmFjZShjdXJyZW50LCBjb2xvciwgbGFiZWwsIGVkZ2VsYWJlbCkge1xuICAgICAgICAgICAgdmFyIGksXG4gICAgICAgICAgICAgICAgeSxcbiAgICAgICAgICAgICAgICB4O1xuXG4gICAgICAgICAgICBmb3IgKCBpID0gMDsgaSA8IDc7IGkrKykge1xuICAgICAgICAgICAgICAgIHkgPSBjdXJyZW50LmN5ICsgc2VhcmNoRGlyZWN0aW9uc1tjdXJyZW50LmRpcl1bMF07XG4gICAgICAgICAgICAgICAgeCA9IGN1cnJlbnQuY3ggKyBzZWFyY2hEaXJlY3Rpb25zW2N1cnJlbnQuZGlyXVsxXTtcbiAgICAgICAgICAgICAgICBwb3MgPSB5ICogd2lkdGggKyB4O1xuICAgICAgICAgICAgICAgIGlmICgoaW1hZ2VEYXRhW3Bvc10gPT09IGNvbG9yKSAmJiAoKGxhYmVsRGF0YVtwb3NdID09PSAwKSB8fCAobGFiZWxEYXRhW3Bvc10gPT09IGxhYmVsKSkpIHtcbiAgICAgICAgICAgICAgICAgICAgbGFiZWxEYXRhW3Bvc10gPSBsYWJlbDtcbiAgICAgICAgICAgICAgICAgICAgY3VycmVudC5jeSA9IHk7XG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnQuY3ggPSB4O1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBpZiAobGFiZWxEYXRhW3Bvc10gPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsRGF0YVtwb3NdID0gZWRnZWxhYmVsO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnQuZGlyID0gKGN1cnJlbnQuZGlyICsgMSkgJSA4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZ1bmN0aW9uIHZlcnRleDJEKHgsIHksIGRpcikge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBkaXI6IGRpcixcbiAgICAgICAgICAgICAgICB4OiB4LFxuICAgICAgICAgICAgICAgIHk6IHksXG4gICAgICAgICAgICAgICAgbmV4dDogbnVsbCxcbiAgICAgICAgICAgICAgICBwcmV2OiBudWxsXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgZnVuY3Rpb24gY29udG91clRyYWNpbmcoc3ksIHN4LCBsYWJlbCwgY29sb3IsIGVkZ2VsYWJlbCkge1xuICAgICAgICAgICAgdmFyIEZ2ID0gbnVsbCxcbiAgICAgICAgICAgICAgICBDdixcbiAgICAgICAgICAgICAgICBQLFxuICAgICAgICAgICAgICAgIGxkaXIsXG4gICAgICAgICAgICAgICAgY3VycmVudCA9IHtcbiAgICAgICAgICAgICAgICAgICAgY3g6IHN4LFxuICAgICAgICAgICAgICAgICAgICBjeTogc3ksXG4gICAgICAgICAgICAgICAgICAgIGRpcjogMFxuICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGlmICh0cmFjZShjdXJyZW50LCBjb2xvciwgbGFiZWwsIGVkZ2VsYWJlbCkpIHtcbiAgICAgICAgICAgICAgICBGdiA9IHZlcnRleDJEKHN4LCBzeSwgY3VycmVudC5kaXIpO1xuICAgICAgICAgICAgICAgIEN2ID0gRnY7XG4gICAgICAgICAgICAgICAgbGRpciA9IGN1cnJlbnQuZGlyO1xuICAgICAgICAgICAgICAgIFAgPSB2ZXJ0ZXgyRChjdXJyZW50LmN4LCBjdXJyZW50LmN5LCAwKTtcbiAgICAgICAgICAgICAgICBQLnByZXYgPSBDdjtcbiAgICAgICAgICAgICAgICBDdi5uZXh0ID0gUDtcbiAgICAgICAgICAgICAgICBQLm5leHQgPSBudWxsO1xuICAgICAgICAgICAgICAgIEN2ID0gUDtcbiAgICAgICAgICAgICAgICBkbyB7XG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnQuZGlyID0gKGN1cnJlbnQuZGlyICsgNikgJSA4O1xuICAgICAgICAgICAgICAgICAgICB0cmFjZShjdXJyZW50LCBjb2xvciwgbGFiZWwsIGVkZ2VsYWJlbCk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChsZGlyICE9PSBjdXJyZW50LmRpcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgQ3YuZGlyID0gY3VycmVudC5kaXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBQID0gdmVydGV4MkQoY3VycmVudC5jeCwgY3VycmVudC5jeSwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBQLnByZXYgPSBDdjtcbiAgICAgICAgICAgICAgICAgICAgICAgIEN2Lm5leHQgPSBQO1xuICAgICAgICAgICAgICAgICAgICAgICAgUC5uZXh0ID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIEN2ID0gUDtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEN2LmRpciA9IGxkaXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBDdi54ID0gY3VycmVudC5jeDtcbiAgICAgICAgICAgICAgICAgICAgICAgIEN2LnkgPSBjdXJyZW50LmN5O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGxkaXIgPSBjdXJyZW50LmRpcjtcbiAgICAgICAgICAgICAgICB9IHdoaWxlIChjdXJyZW50LmN4ICE9PSBzeCB8fCBjdXJyZW50LmN5ICE9PSBzeSk7XG4gICAgICAgICAgICAgICAgRnYucHJldiA9IEN2LnByZXY7XG4gICAgICAgICAgICAgICAgQ3YucHJldi5uZXh0ID0gRnY7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gRnY7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdHJhY2U6IGZ1bmN0aW9uKGN1cnJlbnQsIGNvbG9yLCBsYWJlbCwgZWRnZWxhYmVsKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRyYWNlKGN1cnJlbnQsIGNvbG9yLCBsYWJlbCwgZWRnZWxhYmVsKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBjb250b3VyVHJhY2luZzogZnVuY3Rpb24oc3ksIHN4LCBsYWJlbCwgY29sb3IsIGVkZ2VsYWJlbCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBjb250b3VyVHJhY2luZyhzeSwgc3gsIGxhYmVsLCBjb2xvciwgZWRnZWxhYmVsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9XG59O1xuXG5leHBvcnQgZGVmYXVsdCAoVHJhY2VyKTtcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3NyYy9sb2NhdG9yL3RyYWNlci5qcyIsImltcG9ydCBCYXJjb2RlUmVhZGVyIGZyb20gJy4vYmFyY29kZV9yZWFkZXInO1xuaW1wb3J0IEFycmF5SGVscGVyIGZyb20gJy4uL2NvbW1vbi9hcnJheV9oZWxwZXInO1xuXG5mdW5jdGlvbiBDb2RlMzlSZWFkZXIoKSB7XG4gICAgQmFyY29kZVJlYWRlci5jYWxsKHRoaXMpO1xufVxuXG52YXIgcHJvcGVydGllcyA9IHtcbiAgICBBTFBIQUJFVEhfU1RSSU5HOiB7dmFsdWU6IFwiMDEyMzQ1Njc4OUFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaLS4gKiQvKyVcIn0sXG4gICAgQUxQSEFCRVQ6IHt2YWx1ZTogWzQ4LCA0OSwgNTAsIDUxLCA1MiwgNTMsIDU0LCA1NSwgNTYsIDU3LCA2NSwgNjYsIDY3LCA2OCwgNjksIDcwLCA3MSwgNzIsIDczLCA3NCwgNzUsIDc2LCA3NywgNzgsXG4gICAgICAgIDc5LCA4MCwgODEsIDgyLCA4MywgODQsIDg1LCA4NiwgODcsIDg4LCA4OSwgOTAsIDQ1LCA0NiwgMzIsIDQyLCAzNiwgNDcsIDQzLCAzN119LFxuICAgIENIQVJBQ1RFUl9FTkNPRElOR1M6IHt2YWx1ZTogWzB4MDM0LCAweDEyMSwgMHgwNjEsIDB4MTYwLCAweDAzMSwgMHgxMzAsIDB4MDcwLCAweDAyNSwgMHgxMjQsIDB4MDY0LCAweDEwOSwgMHgwNDksXG4gICAgICAgIDB4MTQ4LCAweDAxOSwgMHgxMTgsIDB4MDU4LCAweDAwRCwgMHgxMEMsIDB4MDRDLCAweDAxQywgMHgxMDMsIDB4MDQzLCAweDE0MiwgMHgwMTMsIDB4MTEyLCAweDA1MiwgMHgwMDcsIDB4MTA2LFxuICAgICAgICAweDA0NiwgMHgwMTYsIDB4MTgxLCAweDBDMSwgMHgxQzAsIDB4MDkxLCAweDE5MCwgMHgwRDAsIDB4MDg1LCAweDE4NCwgMHgwQzQsIDB4MDk0LCAweDBBOCwgMHgwQTIsIDB4MDhBLCAweDAyQVxuICAgIF19LFxuICAgIEFTVEVSSVNLOiB7dmFsdWU6IDB4MDk0fSxcbiAgICBGT1JNQVQ6IHt2YWx1ZTogXCJjb2RlXzM5XCIsIHdyaXRlYWJsZTogZmFsc2V9XG59O1xuXG5Db2RlMzlSZWFkZXIucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShCYXJjb2RlUmVhZGVyLnByb3RvdHlwZSwgcHJvcGVydGllcyk7XG5Db2RlMzlSZWFkZXIucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gQ29kZTM5UmVhZGVyO1xuXG5Db2RlMzlSZWFkZXIucHJvdG90eXBlLl9kZWNvZGUgPSBmdW5jdGlvbigpIHtcbiAgICB2YXIgc2VsZiA9IHRoaXMsXG4gICAgICAgIGNvdW50ZXJzID0gWzAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDBdLFxuICAgICAgICByZXN1bHQgPSBbXSxcbiAgICAgICAgc3RhcnQgPSBzZWxmLl9maW5kU3RhcnQoKSxcbiAgICAgICAgZGVjb2RlZENoYXIsXG4gICAgICAgIGxhc3RTdGFydCxcbiAgICAgICAgcGF0dGVybixcbiAgICAgICAgbmV4dFN0YXJ0O1xuXG4gICAgaWYgKCFzdGFydCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgbmV4dFN0YXJ0ID0gc2VsZi5fbmV4dFNldChzZWxmLl9yb3csIHN0YXJ0LmVuZCk7XG5cbiAgICBkbyB7XG4gICAgICAgIGNvdW50ZXJzID0gc2VsZi5fdG9Db3VudGVycyhuZXh0U3RhcnQsIGNvdW50ZXJzKTtcbiAgICAgICAgcGF0dGVybiA9IHNlbGYuX3RvUGF0dGVybihjb3VudGVycyk7XG4gICAgICAgIGlmIChwYXR0ZXJuIDwgMCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgZGVjb2RlZENoYXIgPSBzZWxmLl9wYXR0ZXJuVG9DaGFyKHBhdHRlcm4pO1xuICAgICAgICBpZiAoZGVjb2RlZENoYXIgPCAwKXtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIHJlc3VsdC5wdXNoKGRlY29kZWRDaGFyKTtcbiAgICAgICAgbGFzdFN0YXJ0ID0gbmV4dFN0YXJ0O1xuICAgICAgICBuZXh0U3RhcnQgKz0gQXJyYXlIZWxwZXIuc3VtKGNvdW50ZXJzKTtcbiAgICAgICAgbmV4dFN0YXJ0ID0gc2VsZi5fbmV4dFNldChzZWxmLl9yb3csIG5leHRTdGFydCk7XG4gICAgfSB3aGlsZSAoZGVjb2RlZENoYXIgIT09ICcqJyk7XG4gICAgcmVzdWx0LnBvcCgpO1xuXG4gICAgaWYgKCFyZXN1bHQubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmICghc2VsZi5fdmVyaWZ5VHJhaWxpbmdXaGl0ZXNwYWNlKGxhc3RTdGFydCwgbmV4dFN0YXJ0LCBjb3VudGVycykpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgICAgY29kZTogcmVzdWx0LmpvaW4oXCJcIiksXG4gICAgICAgIHN0YXJ0OiBzdGFydC5zdGFydCxcbiAgICAgICAgZW5kOiBuZXh0U3RhcnQsXG4gICAgICAgIHN0YXJ0SW5mbzogc3RhcnQsXG4gICAgICAgIGRlY29kZWRDb2RlczogcmVzdWx0XG4gICAgfTtcbn07XG5cbkNvZGUzOVJlYWRlci5wcm90b3R5cGUuX3ZlcmlmeVRyYWlsaW5nV2hpdGVzcGFjZSA9IGZ1bmN0aW9uKGxhc3RTdGFydCwgbmV4dFN0YXJ0LCBjb3VudGVycykge1xuICAgIHZhciB0cmFpbGluZ1doaXRlc3BhY2VFbmQsXG4gICAgICAgIHBhdHRlcm5TaXplID0gQXJyYXlIZWxwZXIuc3VtKGNvdW50ZXJzKTtcblxuICAgIHRyYWlsaW5nV2hpdGVzcGFjZUVuZCA9IG5leHRTdGFydCAtIGxhc3RTdGFydCAtIHBhdHRlcm5TaXplO1xuICAgIGlmICgodHJhaWxpbmdXaGl0ZXNwYWNlRW5kICogMykgPj0gcGF0dGVyblNpemUpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbn07XG5cbkNvZGUzOVJlYWRlci5wcm90b3R5cGUuX3BhdHRlcm5Ub0NoYXIgPSBmdW5jdGlvbihwYXR0ZXJuKSB7XG4gICAgdmFyIGksXG4gICAgICAgIHNlbGYgPSB0aGlzO1xuXG4gICAgZm9yIChpID0gMDsgaSA8IHNlbGYuQ0hBUkFDVEVSX0VOQ09ESU5HUy5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAoc2VsZi5DSEFSQUNURVJfRU5DT0RJTkdTW2ldID09PSBwYXR0ZXJuKSB7XG4gICAgICAgICAgICByZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZShzZWxmLkFMUEhBQkVUW2ldKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gLTE7XG59O1xuXG5Db2RlMzlSZWFkZXIucHJvdG90eXBlLl9maW5kTmV4dFdpZHRoID0gZnVuY3Rpb24oY291bnRlcnMsIGN1cnJlbnQpIHtcbiAgICB2YXIgaSxcbiAgICAgICAgbWluV2lkdGggPSBOdW1iZXIuTUFYX1ZBTFVFO1xuXG4gICAgZm9yIChpID0gMDsgaSA8IGNvdW50ZXJzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmIChjb3VudGVyc1tpXSA8IG1pbldpZHRoICYmIGNvdW50ZXJzW2ldID4gY3VycmVudCkge1xuICAgICAgICAgICAgbWluV2lkdGggPSBjb3VudGVyc1tpXTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBtaW5XaWR0aDtcbn07XG5cbkNvZGUzOVJlYWRlci5wcm90b3R5cGUuX3RvUGF0dGVybiA9IGZ1bmN0aW9uKGNvdW50ZXJzKSB7XG4gICAgdmFyIG51bUNvdW50ZXJzID0gY291bnRlcnMubGVuZ3RoLFxuICAgICAgICBtYXhOYXJyb3dXaWR0aCA9IDAsXG4gICAgICAgIG51bVdpZGVCYXJzID0gbnVtQ291bnRlcnMsXG4gICAgICAgIHdpZGVCYXJXaWR0aCA9IDAsXG4gICAgICAgIHNlbGYgPSB0aGlzLFxuICAgICAgICBwYXR0ZXJuLFxuICAgICAgICBpO1xuXG4gICAgd2hpbGUgKG51bVdpZGVCYXJzID4gMykge1xuICAgICAgICBtYXhOYXJyb3dXaWR0aCA9IHNlbGYuX2ZpbmROZXh0V2lkdGgoY291bnRlcnMsIG1heE5hcnJvd1dpZHRoKTtcbiAgICAgICAgbnVtV2lkZUJhcnMgPSAwO1xuICAgICAgICBwYXR0ZXJuID0gMDtcbiAgICAgICAgZm9yIChpID0gMDsgaSA8IG51bUNvdW50ZXJzOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChjb3VudGVyc1tpXSA+IG1heE5hcnJvd1dpZHRoKSB7XG4gICAgICAgICAgICAgICAgcGF0dGVybiB8PSAxIDw8IChudW1Db3VudGVycyAtIDEgLSBpKTtcbiAgICAgICAgICAgICAgICBudW1XaWRlQmFycysrO1xuICAgICAgICAgICAgICAgIHdpZGVCYXJXaWR0aCArPSBjb3VudGVyc1tpXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChudW1XaWRlQmFycyA9PT0gMykge1xuICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IG51bUNvdW50ZXJzICYmIG51bVdpZGVCYXJzID4gMDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgaWYgKGNvdW50ZXJzW2ldID4gbWF4TmFycm93V2lkdGgpIHtcbiAgICAgICAgICAgICAgICAgICAgbnVtV2lkZUJhcnMtLTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKChjb3VudGVyc1tpXSAqIDIpID49IHdpZGVCYXJXaWR0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHBhdHRlcm47XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIC0xO1xufTtcblxuQ29kZTM5UmVhZGVyLnByb3RvdHlwZS5fZmluZFN0YXJ0ID0gZnVuY3Rpb24oKSB7XG4gICAgdmFyIHNlbGYgPSB0aGlzLFxuICAgICAgICBvZmZzZXQgPSBzZWxmLl9uZXh0U2V0KHNlbGYuX3JvdyksXG4gICAgICAgIHBhdHRlcm5TdGFydCA9IG9mZnNldCxcbiAgICAgICAgY291bnRlciA9IFswLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwXSxcbiAgICAgICAgY291bnRlclBvcyA9IDAsXG4gICAgICAgIGlzV2hpdGUgPSBmYWxzZSxcbiAgICAgICAgaSxcbiAgICAgICAgaixcbiAgICAgICAgd2hpdGVTcGFjZU11c3RTdGFydDtcblxuICAgIGZvciAoIGkgPSBvZmZzZXQ7IGkgPCBzZWxmLl9yb3cubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKHNlbGYuX3Jvd1tpXSBeIGlzV2hpdGUpIHtcbiAgICAgICAgICAgIGNvdW50ZXJbY291bnRlclBvc10rKztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChjb3VudGVyUG9zID09PSBjb3VudGVyLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICAgICAgICAvLyBmaW5kIHN0YXJ0IHBhdHRlcm5cbiAgICAgICAgICAgICAgICBpZiAoc2VsZi5fdG9QYXR0ZXJuKGNvdW50ZXIpID09PSBzZWxmLkFTVEVSSVNLKSB7XG4gICAgICAgICAgICAgICAgICAgIHdoaXRlU3BhY2VNdXN0U3RhcnQgPSBNYXRoLmZsb29yKE1hdGgubWF4KDAsIHBhdHRlcm5TdGFydCAtICgoaSAtIHBhdHRlcm5TdGFydCkgLyA0KSkpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoc2VsZi5fbWF0Y2hSYW5nZSh3aGl0ZVNwYWNlTXVzdFN0YXJ0LCBwYXR0ZXJuU3RhcnQsIDApKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0OiBwYXR0ZXJuU3RhcnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5kOiBpXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcGF0dGVyblN0YXJ0ICs9IGNvdW50ZXJbMF0gKyBjb3VudGVyWzFdO1xuICAgICAgICAgICAgICAgIGZvciAoIGogPSAwOyBqIDwgNzsgaisrKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvdW50ZXJbal0gPSBjb3VudGVyW2ogKyAyXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY291bnRlcls3XSA9IDA7XG4gICAgICAgICAgICAgICAgY291bnRlcls4XSA9IDA7XG4gICAgICAgICAgICAgICAgY291bnRlclBvcy0tO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb3VudGVyUG9zKys7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb3VudGVyW2NvdW50ZXJQb3NdID0gMTtcbiAgICAgICAgICAgIGlzV2hpdGUgPSAhaXNXaGl0ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IENvZGUzOVJlYWRlcjtcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3NyYy9yZWFkZXIvY29kZV8zOV9yZWFkZXIuanMiLCJtb2R1bGUuZXhwb3J0cyA9IGRvdFxuXG4vKipcbiAqIENhbGN1bGF0ZXMgdGhlIGRvdCBwcm9kdWN0IG9mIHR3byB2ZWMyJ3NcbiAqXG4gKiBAcGFyYW0ge3ZlYzJ9IGEgdGhlIGZpcnN0IG9wZXJhbmRcbiAqIEBwYXJhbSB7dmVjMn0gYiB0aGUgc2Vjb25kIG9wZXJhbmRcbiAqIEByZXR1cm5zIHtOdW1iZXJ9IGRvdCBwcm9kdWN0IG9mIGEgYW5kIGJcbiAqL1xuZnVuY3Rpb24gZG90KGEsIGIpIHtcbiAgICByZXR1cm4gYVswXSAqIGJbMF0gKyBhWzFdICogYlsxXVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vfi9nbC12ZWMyL2RvdC5qc1xuLy8gbW9kdWxlIGlkID0gMzJcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwidmFyIGdldE5hdGl2ZSA9IHJlcXVpcmUoJy4vX2dldE5hdGl2ZScpLFxuICAgIHJvb3QgPSByZXF1aXJlKCcuL19yb290Jyk7XG5cbi8qIEJ1aWx0LWluIG1ldGhvZCByZWZlcmVuY2VzIHRoYXQgYXJlIHZlcmlmaWVkIHRvIGJlIG5hdGl2ZS4gKi9cbnZhciBNYXAgPSBnZXROYXRpdmUocm9vdCwgJ01hcCcpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IE1hcDtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vfi9sb2Rhc2gvX01hcC5qc1xuLy8gbW9kdWxlIGlkID0gMzNcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwidmFyIG1hcENhY2hlQ2xlYXIgPSByZXF1aXJlKCcuL19tYXBDYWNoZUNsZWFyJyksXG4gICAgbWFwQ2FjaGVEZWxldGUgPSByZXF1aXJlKCcuL19tYXBDYWNoZURlbGV0ZScpLFxuICAgIG1hcENhY2hlR2V0ID0gcmVxdWlyZSgnLi9fbWFwQ2FjaGVHZXQnKSxcbiAgICBtYXBDYWNoZUhhcyA9IHJlcXVpcmUoJy4vX21hcENhY2hlSGFzJyksXG4gICAgbWFwQ2FjaGVTZXQgPSByZXF1aXJlKCcuL19tYXBDYWNoZVNldCcpO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBtYXAgY2FjaGUgb2JqZWN0IHRvIHN0b3JlIGtleS12YWx1ZSBwYWlycy5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQGNvbnN0cnVjdG9yXG4gKiBAcGFyYW0ge0FycmF5fSBbZW50cmllc10gVGhlIGtleS12YWx1ZSBwYWlycyB0byBjYWNoZS5cbiAqL1xuZnVuY3Rpb24gTWFwQ2FjaGUoZW50cmllcykge1xuICB2YXIgaW5kZXggPSAtMSxcbiAgICAgIGxlbmd0aCA9IGVudHJpZXMgPT0gbnVsbCA/IDAgOiBlbnRyaWVzLmxlbmd0aDtcblxuICB0aGlzLmNsZWFyKCk7XG4gIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgdmFyIGVudHJ5ID0gZW50cmllc1tpbmRleF07XG4gICAgdGhpcy5zZXQoZW50cnlbMF0sIGVudHJ5WzFdKTtcbiAgfVxufVxuXG4vLyBBZGQgbWV0aG9kcyB0byBgTWFwQ2FjaGVgLlxuTWFwQ2FjaGUucHJvdG90eXBlLmNsZWFyID0gbWFwQ2FjaGVDbGVhcjtcbk1hcENhY2hlLnByb3RvdHlwZVsnZGVsZXRlJ10gPSBtYXBDYWNoZURlbGV0ZTtcbk1hcENhY2hlLnByb3RvdHlwZS5nZXQgPSBtYXBDYWNoZUdldDtcbk1hcENhY2hlLnByb3RvdHlwZS5oYXMgPSBtYXBDYWNoZUhhcztcbk1hcENhY2hlLnByb3RvdHlwZS5zZXQgPSBtYXBDYWNoZVNldDtcblxubW9kdWxlLmV4cG9ydHMgPSBNYXBDYWNoZTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vfi9sb2Rhc2gvX01hcENhY2hlLmpzXG4vLyBtb2R1bGUgaWQgPSAzNFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiLCJ2YXIgYmFzZUFzc2lnblZhbHVlID0gcmVxdWlyZSgnLi9fYmFzZUFzc2lnblZhbHVlJyksXG4gICAgZXEgPSByZXF1aXJlKCcuL2VxJyk7XG5cbi8qKlxuICogVGhpcyBmdW5jdGlvbiBpcyBsaWtlIGBhc3NpZ25WYWx1ZWAgZXhjZXB0IHRoYXQgaXQgZG9lc24ndCBhc3NpZ25cbiAqIGB1bmRlZmluZWRgIHZhbHVlcy5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIG1vZGlmeS5cbiAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgcHJvcGVydHkgdG8gYXNzaWduLlxuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gYXNzaWduLlxuICovXG5mdW5jdGlvbiBhc3NpZ25NZXJnZVZhbHVlKG9iamVjdCwga2V5LCB2YWx1ZSkge1xuICBpZiAoKHZhbHVlICE9PSB1bmRlZmluZWQgJiYgIWVxKG9iamVjdFtrZXldLCB2YWx1ZSkpIHx8XG4gICAgICAodmFsdWUgPT09IHVuZGVmaW5lZCAmJiAhKGtleSBpbiBvYmplY3QpKSkge1xuICAgIGJhc2VBc3NpZ25WYWx1ZShvYmplY3QsIGtleSwgdmFsdWUpO1xuICB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0gYXNzaWduTWVyZ2VWYWx1ZTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vfi9sb2Rhc2gvX2Fzc2lnbk1lcmdlVmFsdWUuanNcbi8vIG1vZHVsZSBpZCA9IDM1XG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsInZhciBiYXNlQXNzaWduVmFsdWUgPSByZXF1aXJlKCcuL19iYXNlQXNzaWduVmFsdWUnKSxcbiAgICBlcSA9IHJlcXVpcmUoJy4vZXEnKTtcblxuLyoqIFVzZWQgZm9yIGJ1aWx0LWluIG1ldGhvZCByZWZlcmVuY2VzLiAqL1xudmFyIG9iamVjdFByb3RvID0gT2JqZWN0LnByb3RvdHlwZTtcblxuLyoqIFVzZWQgdG8gY2hlY2sgb2JqZWN0cyBmb3Igb3duIHByb3BlcnRpZXMuICovXG52YXIgaGFzT3duUHJvcGVydHkgPSBvYmplY3RQcm90by5oYXNPd25Qcm9wZXJ0eTtcblxuLyoqXG4gKiBBc3NpZ25zIGB2YWx1ZWAgdG8gYGtleWAgb2YgYG9iamVjdGAgaWYgdGhlIGV4aXN0aW5nIHZhbHVlIGlzIG5vdCBlcXVpdmFsZW50XG4gKiB1c2luZyBbYFNhbWVWYWx1ZVplcm9gXShodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy1zYW1ldmFsdWV6ZXJvKVxuICogZm9yIGVxdWFsaXR5IGNvbXBhcmlzb25zLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gbW9kaWZ5LlxuICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSBwcm9wZXJ0eSB0byBhc3NpZ24uXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBhc3NpZ24uXG4gKi9cbmZ1bmN0aW9uIGFzc2lnblZhbHVlKG9iamVjdCwga2V5LCB2YWx1ZSkge1xuICB2YXIgb2JqVmFsdWUgPSBvYmplY3Rba2V5XTtcbiAgaWYgKCEoaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIGtleSkgJiYgZXEob2JqVmFsdWUsIHZhbHVlKSkgfHxcbiAgICAgICh2YWx1ZSA9PT0gdW5kZWZpbmVkICYmICEoa2V5IGluIG9iamVjdCkpKSB7XG4gICAgYmFzZUFzc2lnblZhbHVlKG9iamVjdCwga2V5LCB2YWx1ZSk7XG4gIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBhc3NpZ25WYWx1ZTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vfi9sb2Rhc2gvX2Fzc2lnblZhbHVlLmpzXG4vLyBtb2R1bGUgaWQgPSAzNlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiLCJ2YXIgZ2V0TmF0aXZlID0gcmVxdWlyZSgnLi9fZ2V0TmF0aXZlJyk7XG5cbnZhciBkZWZpbmVQcm9wZXJ0eSA9IChmdW5jdGlvbigpIHtcbiAgdHJ5IHtcbiAgICB2YXIgZnVuYyA9IGdldE5hdGl2ZShPYmplY3QsICdkZWZpbmVQcm9wZXJ0eScpO1xuICAgIGZ1bmMoe30sICcnLCB7fSk7XG4gICAgcmV0dXJuIGZ1bmM7XG4gIH0gY2F0Y2ggKGUpIHt9XG59KCkpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGRlZmluZVByb3BlcnR5O1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9+L2xvZGFzaC9fZGVmaW5lUHJvcGVydHkuanNcbi8vIG1vZHVsZSBpZCA9IDM3XG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsIi8qKiBEZXRlY3QgZnJlZSB2YXJpYWJsZSBgZ2xvYmFsYCBmcm9tIE5vZGUuanMuICovXG52YXIgZnJlZUdsb2JhbCA9IHR5cGVvZiBnbG9iYWwgPT0gJ29iamVjdCcgJiYgZ2xvYmFsICYmIGdsb2JhbC5PYmplY3QgPT09IE9iamVjdCAmJiBnbG9iYWw7XG5cbm1vZHVsZS5leHBvcnRzID0gZnJlZUdsb2JhbDtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vfi9sb2Rhc2gvX2ZyZWVHbG9iYWwuanNcbi8vIG1vZHVsZSBpZCA9IDM4XG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsInZhciBvdmVyQXJnID0gcmVxdWlyZSgnLi9fb3ZlckFyZycpO1xuXG4vKiogQnVpbHQtaW4gdmFsdWUgcmVmZXJlbmNlcy4gKi9cbnZhciBnZXRQcm90b3R5cGUgPSBvdmVyQXJnKE9iamVjdC5nZXRQcm90b3R5cGVPZiwgT2JqZWN0KTtcblxubW9kdWxlLmV4cG9ydHMgPSBnZXRQcm90b3R5cGU7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL34vbG9kYXNoL19nZXRQcm90b3R5cGUuanNcbi8vIG1vZHVsZSBpZCA9IDM5XG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsIi8qKiBVc2VkIGZvciBidWlsdC1pbiBtZXRob2QgcmVmZXJlbmNlcy4gKi9cbnZhciBvYmplY3RQcm90byA9IE9iamVjdC5wcm90b3R5cGU7XG5cbi8qKlxuICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgbGlrZWx5IGEgcHJvdG90eXBlIG9iamVjdC5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhIHByb3RvdHlwZSwgZWxzZSBgZmFsc2VgLlxuICovXG5mdW5jdGlvbiBpc1Byb3RvdHlwZSh2YWx1ZSkge1xuICB2YXIgQ3RvciA9IHZhbHVlICYmIHZhbHVlLmNvbnN0cnVjdG9yLFxuICAgICAgcHJvdG8gPSAodHlwZW9mIEN0b3IgPT0gJ2Z1bmN0aW9uJyAmJiBDdG9yLnByb3RvdHlwZSkgfHwgb2JqZWN0UHJvdG87XG5cbiAgcmV0dXJuIHZhbHVlID09PSBwcm90bztcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBpc1Byb3RvdHlwZTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vfi9sb2Rhc2gvX2lzUHJvdG90eXBlLmpzXG4vLyBtb2R1bGUgaWQgPSA0MFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiLCJ2YXIgYXBwbHkgPSByZXF1aXJlKCcuL19hcHBseScpO1xuXG4vKiBCdWlsdC1pbiBtZXRob2QgcmVmZXJlbmNlcyBmb3IgdGhvc2Ugd2l0aCB0aGUgc2FtZSBuYW1lIGFzIG90aGVyIGBsb2Rhc2hgIG1ldGhvZHMuICovXG52YXIgbmF0aXZlTWF4ID0gTWF0aC5tYXg7XG5cbi8qKlxuICogQSBzcGVjaWFsaXplZCB2ZXJzaW9uIG9mIGBiYXNlUmVzdGAgd2hpY2ggdHJhbnNmb3JtcyB0aGUgcmVzdCBhcnJheS5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gYXBwbHkgYSByZXN0IHBhcmFtZXRlciB0by5cbiAqIEBwYXJhbSB7bnVtYmVyfSBbc3RhcnQ9ZnVuYy5sZW5ndGgtMV0gVGhlIHN0YXJ0IHBvc2l0aW9uIG9mIHRoZSByZXN0IHBhcmFtZXRlci5cbiAqIEBwYXJhbSB7RnVuY3Rpb259IHRyYW5zZm9ybSBUaGUgcmVzdCBhcnJheSB0cmFuc2Zvcm0uXG4gKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBmdW5jdGlvbi5cbiAqL1xuZnVuY3Rpb24gb3ZlclJlc3QoZnVuYywgc3RhcnQsIHRyYW5zZm9ybSkge1xuICBzdGFydCA9IG5hdGl2ZU1heChzdGFydCA9PT0gdW5kZWZpbmVkID8gKGZ1bmMubGVuZ3RoIC0gMSkgOiBzdGFydCwgMCk7XG4gIHJldHVybiBmdW5jdGlvbigpIHtcbiAgICB2YXIgYXJncyA9IGFyZ3VtZW50cyxcbiAgICAgICAgaW5kZXggPSAtMSxcbiAgICAgICAgbGVuZ3RoID0gbmF0aXZlTWF4KGFyZ3MubGVuZ3RoIC0gc3RhcnQsIDApLFxuICAgICAgICBhcnJheSA9IEFycmF5KGxlbmd0aCk7XG5cbiAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgYXJyYXlbaW5kZXhdID0gYXJnc1tzdGFydCArIGluZGV4XTtcbiAgICB9XG4gICAgaW5kZXggPSAtMTtcbiAgICB2YXIgb3RoZXJBcmdzID0gQXJyYXkoc3RhcnQgKyAxKTtcbiAgICB3aGlsZSAoKytpbmRleCA8IHN0YXJ0KSB7XG4gICAgICBvdGhlckFyZ3NbaW5kZXhdID0gYXJnc1tpbmRleF07XG4gICAgfVxuICAgIG90aGVyQXJnc1tzdGFydF0gPSB0cmFuc2Zvcm0oYXJyYXkpO1xuICAgIHJldHVybiBhcHBseShmdW5jLCB0aGlzLCBvdGhlckFyZ3MpO1xuICB9O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IG92ZXJSZXN0O1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9+L2xvZGFzaC9fb3ZlclJlc3QuanNcbi8vIG1vZHVsZSBpZCA9IDQxXG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsInZhciBiYXNlU2V0VG9TdHJpbmcgPSByZXF1aXJlKCcuL19iYXNlU2V0VG9TdHJpbmcnKSxcbiAgICBzaG9ydE91dCA9IHJlcXVpcmUoJy4vX3Nob3J0T3V0Jyk7XG5cbi8qKlxuICogU2V0cyB0aGUgYHRvU3RyaW5nYCBtZXRob2Qgb2YgYGZ1bmNgIHRvIHJldHVybiBgc3RyaW5nYC5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gbW9kaWZ5LlxuICogQHBhcmFtIHtGdW5jdGlvbn0gc3RyaW5nIFRoZSBgdG9TdHJpbmdgIHJlc3VsdC5cbiAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyBgZnVuY2AuXG4gKi9cbnZhciBzZXRUb1N0cmluZyA9IHNob3J0T3V0KGJhc2VTZXRUb1N0cmluZyk7XG5cbm1vZHVsZS5leHBvcnRzID0gc2V0VG9TdHJpbmc7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL34vbG9kYXNoL19zZXRUb1N0cmluZy5qc1xuLy8gbW9kdWxlIGlkID0gNDJcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwiLyoqXG4gKiBUaGlzIG1ldGhvZCByZXR1cm5zIHRoZSBmaXJzdCBhcmd1bWVudCBpdCByZWNlaXZlcy5cbiAqXG4gKiBAc3RhdGljXG4gKiBAc2luY2UgMC4xLjBcbiAqIEBtZW1iZXJPZiBfXG4gKiBAY2F0ZWdvcnkgVXRpbFxuICogQHBhcmFtIHsqfSB2YWx1ZSBBbnkgdmFsdWUuXG4gKiBAcmV0dXJucyB7Kn0gUmV0dXJucyBgdmFsdWVgLlxuICogQGV4YW1wbGVcbiAqXG4gKiB2YXIgb2JqZWN0ID0geyAnYSc6IDEgfTtcbiAqXG4gKiBjb25zb2xlLmxvZyhfLmlkZW50aXR5KG9iamVjdCkgPT09IG9iamVjdCk7XG4gKiAvLyA9PiB0cnVlXG4gKi9cbmZ1bmN0aW9uIGlkZW50aXR5KHZhbHVlKSB7XG4gIHJldHVybiB2YWx1ZTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBpZGVudGl0eTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vfi9sb2Rhc2gvaWRlbnRpdHkuanNcbi8vIG1vZHVsZSBpZCA9IDQzXG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsInZhciByb290ID0gcmVxdWlyZSgnLi9fcm9vdCcpLFxuICAgIHN0dWJGYWxzZSA9IHJlcXVpcmUoJy4vc3R1YkZhbHNlJyk7XG5cbi8qKiBEZXRlY3QgZnJlZSB2YXJpYWJsZSBgZXhwb3J0c2AuICovXG52YXIgZnJlZUV4cG9ydHMgPSB0eXBlb2YgZXhwb3J0cyA9PSAnb2JqZWN0JyAmJiBleHBvcnRzICYmICFleHBvcnRzLm5vZGVUeXBlICYmIGV4cG9ydHM7XG5cbi8qKiBEZXRlY3QgZnJlZSB2YXJpYWJsZSBgbW9kdWxlYC4gKi9cbnZhciBmcmVlTW9kdWxlID0gZnJlZUV4cG9ydHMgJiYgdHlwZW9mIG1vZHVsZSA9PSAnb2JqZWN0JyAmJiBtb2R1bGUgJiYgIW1vZHVsZS5ub2RlVHlwZSAmJiBtb2R1bGU7XG5cbi8qKiBEZXRlY3QgdGhlIHBvcHVsYXIgQ29tbW9uSlMgZXh0ZW5zaW9uIGBtb2R1bGUuZXhwb3J0c2AuICovXG52YXIgbW9kdWxlRXhwb3J0cyA9IGZyZWVNb2R1bGUgJiYgZnJlZU1vZHVsZS5leHBvcnRzID09PSBmcmVlRXhwb3J0cztcblxuLyoqIEJ1aWx0LWluIHZhbHVlIHJlZmVyZW5jZXMuICovXG52YXIgQnVmZmVyID0gbW9kdWxlRXhwb3J0cyA/IHJvb3QuQnVmZmVyIDogdW5kZWZpbmVkO1xuXG4vKiBCdWlsdC1pbiBtZXRob2QgcmVmZXJlbmNlcyBmb3IgdGhvc2Ugd2l0aCB0aGUgc2FtZSBuYW1lIGFzIG90aGVyIGBsb2Rhc2hgIG1ldGhvZHMuICovXG52YXIgbmF0aXZlSXNCdWZmZXIgPSBCdWZmZXIgPyBCdWZmZXIuaXNCdWZmZXIgOiB1bmRlZmluZWQ7XG5cbi8qKlxuICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgYSBidWZmZXIuXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSA0LjMuMFxuICogQGNhdGVnb3J5IExhbmdcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSBidWZmZXIsIGVsc2UgYGZhbHNlYC5cbiAqIEBleGFtcGxlXG4gKlxuICogXy5pc0J1ZmZlcihuZXcgQnVmZmVyKDIpKTtcbiAqIC8vID0+IHRydWVcbiAqXG4gKiBfLmlzQnVmZmVyKG5ldyBVaW50OEFycmF5KDIpKTtcbiAqIC8vID0+IGZhbHNlXG4gKi9cbnZhciBpc0J1ZmZlciA9IG5hdGl2ZUlzQnVmZmVyIHx8IHN0dWJGYWxzZTtcblxubW9kdWxlLmV4cG9ydHMgPSBpc0J1ZmZlcjtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vfi9sb2Rhc2gvaXNCdWZmZXIuanNcbi8vIG1vZHVsZSBpZCA9IDQ0XG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsInZhciBiYXNlSXNUeXBlZEFycmF5ID0gcmVxdWlyZSgnLi9fYmFzZUlzVHlwZWRBcnJheScpLFxuICAgIGJhc2VVbmFyeSA9IHJlcXVpcmUoJy4vX2Jhc2VVbmFyeScpLFxuICAgIG5vZGVVdGlsID0gcmVxdWlyZSgnLi9fbm9kZVV0aWwnKTtcblxuLyogTm9kZS5qcyBoZWxwZXIgcmVmZXJlbmNlcy4gKi9cbnZhciBub2RlSXNUeXBlZEFycmF5ID0gbm9kZVV0aWwgJiYgbm9kZVV0aWwuaXNUeXBlZEFycmF5O1xuXG4vKipcbiAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGNsYXNzaWZpZWQgYXMgYSB0eXBlZCBhcnJheS5cbiAqXG4gKiBAc3RhdGljXG4gKiBAbWVtYmVyT2YgX1xuICogQHNpbmNlIDMuMC4wXG4gKiBAY2F0ZWdvcnkgTGFuZ1xuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhIHR5cGVkIGFycmF5LCBlbHNlIGBmYWxzZWAuXG4gKiBAZXhhbXBsZVxuICpcbiAqIF8uaXNUeXBlZEFycmF5KG5ldyBVaW50OEFycmF5KTtcbiAqIC8vID0+IHRydWVcbiAqXG4gKiBfLmlzVHlwZWRBcnJheShbXSk7XG4gKiAvLyA9PiBmYWxzZVxuICovXG52YXIgaXNUeXBlZEFycmF5ID0gbm9kZUlzVHlwZWRBcnJheSA/IGJhc2VVbmFyeShub2RlSXNUeXBlZEFycmF5KSA6IGJhc2VJc1R5cGVkQXJyYXk7XG5cbm1vZHVsZS5leHBvcnRzID0gaXNUeXBlZEFycmF5O1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9+L2xvZGFzaC9pc1R5cGVkQXJyYXkuanNcbi8vIG1vZHVsZSBpZCA9IDQ1XG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsInZhciBhcnJheUxpa2VLZXlzID0gcmVxdWlyZSgnLi9fYXJyYXlMaWtlS2V5cycpLFxuICAgIGJhc2VLZXlzSW4gPSByZXF1aXJlKCcuL19iYXNlS2V5c0luJyksXG4gICAgaXNBcnJheUxpa2UgPSByZXF1aXJlKCcuL2lzQXJyYXlMaWtlJyk7XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBhcnJheSBvZiB0aGUgb3duIGFuZCBpbmhlcml0ZWQgZW51bWVyYWJsZSBwcm9wZXJ0eSBuYW1lcyBvZiBgb2JqZWN0YC5cbiAqXG4gKiAqKk5vdGU6KiogTm9uLW9iamVjdCB2YWx1ZXMgYXJlIGNvZXJjZWQgdG8gb2JqZWN0cy5cbiAqXG4gKiBAc3RhdGljXG4gKiBAbWVtYmVyT2YgX1xuICogQHNpbmNlIDMuMC4wXG4gKiBAY2F0ZWdvcnkgT2JqZWN0XG4gKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIGFycmF5IG9mIHByb3BlcnR5IG5hbWVzLlxuICogQGV4YW1wbGVcbiAqXG4gKiBmdW5jdGlvbiBGb28oKSB7XG4gKiAgIHRoaXMuYSA9IDE7XG4gKiAgIHRoaXMuYiA9IDI7XG4gKiB9XG4gKlxuICogRm9vLnByb3RvdHlwZS5jID0gMztcbiAqXG4gKiBfLmtleXNJbihuZXcgRm9vKTtcbiAqIC8vID0+IFsnYScsICdiJywgJ2MnXSAoaXRlcmF0aW9uIG9yZGVyIGlzIG5vdCBndWFyYW50ZWVkKVxuICovXG5mdW5jdGlvbiBrZXlzSW4ob2JqZWN0KSB7XG4gIHJldHVybiBpc0FycmF5TGlrZShvYmplY3QpID8gYXJyYXlMaWtlS2V5cyhvYmplY3QsIHRydWUpIDogYmFzZUtleXNJbihvYmplY3QpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGtleXNJbjtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vfi9sb2Rhc2gva2V5c0luLmpzXG4vLyBtb2R1bGUgaWQgPSA0NlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiLCJ2YXIgZztcclxuXHJcbi8vIFRoaXMgd29ya3MgaW4gbm9uLXN0cmljdCBtb2RlXHJcbmcgPSAoZnVuY3Rpb24oKSB7XHJcblx0cmV0dXJuIHRoaXM7XHJcbn0pKCk7XHJcblxyXG50cnkge1xyXG5cdC8vIFRoaXMgd29ya3MgaWYgZXZhbCBpcyBhbGxvd2VkIChzZWUgQ1NQKVxyXG5cdGcgPSBnIHx8IEZ1bmN0aW9uKFwicmV0dXJuIHRoaXNcIikoKSB8fCAoMSxldmFsKShcInRoaXNcIik7XHJcbn0gY2F0Y2goZSkge1xyXG5cdC8vIFRoaXMgd29ya3MgaWYgdGhlIHdpbmRvdyByZWZlcmVuY2UgaXMgYXZhaWxhYmxlXHJcblx0aWYodHlwZW9mIHdpbmRvdyA9PT0gXCJvYmplY3RcIilcclxuXHRcdGcgPSB3aW5kb3c7XHJcbn1cclxuXHJcbi8vIGcgY2FuIHN0aWxsIGJlIHVuZGVmaW5lZCwgYnV0IG5vdGhpbmcgdG8gZG8gYWJvdXQgaXQuLi5cclxuLy8gV2UgcmV0dXJuIHVuZGVmaW5lZCwgaW5zdGVhZCBvZiBub3RoaW5nIGhlcmUsIHNvIGl0J3NcclxuLy8gZWFzaWVyIHRvIGhhbmRsZSB0aGlzIGNhc2UuIGlmKCFnbG9iYWwpIHsgLi4ufVxyXG5cclxubW9kdWxlLmV4cG9ydHMgPSBnO1xyXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAod2VicGFjaykvYnVpbGRpbi9nbG9iYWwuanNcbi8vIG1vZHVsZSBpZCA9IDQ3XG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsImltcG9ydCBUeXBlRGVmcyBmcm9tICcuL2NvbW1vbi90eXBlZGVmcyc7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW51c2VkLXZhcnNcbmltcG9ydCBJbWFnZVdyYXBwZXIgZnJvbSAnLi9jb21tb24vaW1hZ2Vfd3JhcHBlcic7XG5pbXBvcnQgQmFyY29kZUxvY2F0b3IgZnJvbSAnLi9sb2NhdG9yL2JhcmNvZGVfbG9jYXRvcic7XG5pbXBvcnQgQmFyY29kZURlY29kZXIgZnJvbSAnLi9kZWNvZGVyL2JhcmNvZGVfZGVjb2Rlcic7XG5pbXBvcnQgRXZlbnRzIGZyb20gJy4vY29tbW9uL2V2ZW50cyc7XG5pbXBvcnQgQ2FtZXJhQWNjZXNzIGZyb20gJy4vaW5wdXQvY2FtZXJhX2FjY2Vzcyc7XG5pbXBvcnQgSW1hZ2VEZWJ1ZyBmcm9tICcuL2NvbW1vbi9pbWFnZV9kZWJ1Zyc7XG5pbXBvcnQgUmVzdWx0Q29sbGVjdG9yIGZyb20gJy4vYW5hbHl0aWNzL3Jlc3VsdF9jb2xsZWN0b3InO1xuaW1wb3J0IENvbmZpZyBmcm9tICcuL2NvbmZpZy9jb25maWcnO1xuaW1wb3J0IElucHV0U3RyZWFtIGZyb20gJ2lucHV0X3N0cmVhbSc7XG5pbXBvcnQgRnJhbWVHcmFiYmVyIGZyb20gJ2ZyYW1lX2dyYWJiZXInO1xuaW1wb3J0IHttZXJnZX0gZnJvbSAnbG9kYXNoJztcbmNvbnN0IHZlYzIgPSB7XG4gICAgY2xvbmU6IHJlcXVpcmUoJ2dsLXZlYzIvY2xvbmUnKVxufTtcblxudmFyIF9pbnB1dFN0cmVhbSxcbiAgICBfZnJhbWVncmFiYmVyLFxuICAgIF9zdG9wcGVkLFxuICAgIF9jYW52YXNDb250YWluZXIgPSB7XG4gICAgICAgIGN0eDoge1xuICAgICAgICAgICAgaW1hZ2U6IG51bGwsXG4gICAgICAgICAgICBvdmVybGF5OiBudWxsXG4gICAgICAgIH0sXG4gICAgICAgIGRvbToge1xuICAgICAgICAgICAgaW1hZ2U6IG51bGwsXG4gICAgICAgICAgICBvdmVybGF5OiBudWxsXG4gICAgICAgIH1cbiAgICB9LFxuICAgIF9pbnB1dEltYWdlV3JhcHBlcixcbiAgICBfYm94U2l6ZSxcbiAgICBfZGVjb2RlcixcbiAgICBfd29ya2VyUG9vbCA9IFtdLFxuICAgIF9vblVJVGhyZWFkID0gdHJ1ZSxcbiAgICBfcmVzdWx0Q29sbGVjdG9yLFxuICAgIF9jb25maWcgPSB7fTtcblxuZnVuY3Rpb24gaW5pdGlhbGl6ZURhdGEoaW1hZ2VXcmFwcGVyKSB7XG4gICAgaW5pdEJ1ZmZlcnMoaW1hZ2VXcmFwcGVyKTtcbiAgICBfZGVjb2RlciA9IEJhcmNvZGVEZWNvZGVyLmNyZWF0ZShfY29uZmlnLmRlY29kZXIsIF9pbnB1dEltYWdlV3JhcHBlcik7XG59XG5cbmZ1bmN0aW9uIGluaXRJbnB1dFN0cmVhbShjYikge1xuICAgIHZhciB2aWRlbztcbiAgICBpZiAoX2NvbmZpZy5pbnB1dFN0cmVhbS50eXBlID09PSBcIlZpZGVvU3RyZWFtXCIpIHtcbiAgICAgICAgdmlkZW8gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwidmlkZW9cIik7XG4gICAgICAgIF9pbnB1dFN0cmVhbSA9IElucHV0U3RyZWFtLmNyZWF0ZVZpZGVvU3RyZWFtKHZpZGVvKTtcbiAgICB9IGVsc2UgaWYgKF9jb25maWcuaW5wdXRTdHJlYW0udHlwZSA9PT0gXCJJbWFnZVN0cmVhbVwiKSB7XG4gICAgICAgIF9pbnB1dFN0cmVhbSA9IElucHV0U3RyZWFtLmNyZWF0ZUltYWdlU3RyZWFtKCk7XG4gICAgfSBlbHNlIGlmIChfY29uZmlnLmlucHV0U3RyZWFtLnR5cGUgPT09IFwiTGl2ZVN0cmVhbVwiKSB7XG4gICAgICAgIHZhciAkdmlld3BvcnQgPSBnZXRWaWV3UG9ydCgpO1xuICAgICAgICBpZiAoJHZpZXdwb3J0KSB7XG4gICAgICAgICAgICB2aWRlbyA9ICR2aWV3cG9ydC5xdWVyeVNlbGVjdG9yKFwidmlkZW9cIik7XG4gICAgICAgICAgICBpZiAoIXZpZGVvKSB7XG4gICAgICAgICAgICAgICAgdmlkZW8gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwidmlkZW9cIik7XG4gICAgICAgICAgICAgICAgJHZpZXdwb3J0LmFwcGVuZENoaWxkKHZpZGVvKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBfaW5wdXRTdHJlYW0gPSBJbnB1dFN0cmVhbS5jcmVhdGVMaXZlU3RyZWFtKHZpZGVvKTtcbiAgICAgICAgQ2FtZXJhQWNjZXNzLnJlcXVlc3QodmlkZW8sIF9jb25maWcuaW5wdXRTdHJlYW0uY29uc3RyYWludHMpXG4gICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIF9pbnB1dFN0cmVhbS50cmlnZ2VyKFwiY2FucmVjb3JkXCIpO1xuICAgICAgICB9KS5jYXRjaCgoZXJyKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gY2IoZXJyKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgX2lucHV0U3RyZWFtLnNldEF0dHJpYnV0ZShcInByZWxvYWRcIiwgXCJhdXRvXCIpO1xuICAgIF9pbnB1dFN0cmVhbS5zZXRJbnB1dFN0cmVhbShfY29uZmlnLmlucHV0U3RyZWFtKTtcbiAgICBfaW5wdXRTdHJlYW0uYWRkRXZlbnRMaXN0ZW5lcihcImNhbnJlY29yZFwiLCBjYW5SZWNvcmQuYmluZCh1bmRlZmluZWQsIGNiKSk7XG59XG5cbmZ1bmN0aW9uIGdldFZpZXdQb3J0KCkge1xuICAgIHZhciB0YXJnZXQgPSBfY29uZmlnLmlucHV0U3RyZWFtLnRhcmdldDtcbiAgICAvLyBDaGVjayBpZiB0YXJnZXQgaXMgYWxyZWFkeSBhIERPTSBlbGVtZW50XG4gICAgaWYgKHRhcmdldCAmJiB0YXJnZXQubm9kZU5hbWUgJiYgdGFyZ2V0Lm5vZGVUeXBlID09PSAxKSB7XG4gICAgICAgIHJldHVybiB0YXJnZXQ7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgLy8gVXNlICcjaW50ZXJhY3RpdmUudmlld3BvcnQnIGFzIGEgZmFsbGJhY2sgc2VsZWN0b3IgKGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5KVxuICAgICAgICB2YXIgc2VsZWN0b3IgPSB0eXBlb2YgdGFyZ2V0ID09PSAnc3RyaW5nJyA/IHRhcmdldCA6ICcjaW50ZXJhY3RpdmUudmlld3BvcnQnO1xuICAgICAgICByZXR1cm4gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihzZWxlY3Rvcik7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBjYW5SZWNvcmQoY2IpIHtcbiAgICBCYXJjb2RlTG9jYXRvci5jaGVja0ltYWdlQ29uc3RyYWludHMoX2lucHV0U3RyZWFtLCBfY29uZmlnLmxvY2F0b3IpO1xuICAgIGluaXRDYW52YXMoX2NvbmZpZyk7XG4gICAgX2ZyYW1lZ3JhYmJlciA9IEZyYW1lR3JhYmJlci5jcmVhdGUoX2lucHV0U3RyZWFtLCBfY2FudmFzQ29udGFpbmVyLmRvbS5pbWFnZSk7XG5cbiAgICBhZGp1c3RXb3JrZXJQb29sKF9jb25maWcubnVtT2ZXb3JrZXJzLCBmdW5jdGlvbigpIHtcbiAgICAgICAgaWYgKF9jb25maWcubnVtT2ZXb3JrZXJzID09PSAwKSB7XG4gICAgICAgICAgICBpbml0aWFsaXplRGF0YSgpO1xuICAgICAgICB9XG4gICAgICAgIHJlYWR5KGNiKTtcbiAgICB9KTtcbn1cblxuZnVuY3Rpb24gcmVhZHkoY2Ipe1xuICAgIF9pbnB1dFN0cmVhbS5wbGF5KCk7XG4gICAgY2IoKTtcbn1cblxuZnVuY3Rpb24gaW5pdENhbnZhcygpIHtcbiAgICBpZiAodHlwZW9mIGRvY3VtZW50ICE9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgIHZhciAkdmlld3BvcnQgPSBnZXRWaWV3UG9ydCgpO1xuICAgICAgICBfY2FudmFzQ29udGFpbmVyLmRvbS5pbWFnZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCJjYW52YXMuaW1nQnVmZmVyXCIpO1xuICAgICAgICBpZiAoIV9jYW52YXNDb250YWluZXIuZG9tLmltYWdlKSB7XG4gICAgICAgICAgICBfY2FudmFzQ29udGFpbmVyLmRvbS5pbWFnZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJjYW52YXNcIik7XG4gICAgICAgICAgICBfY2FudmFzQ29udGFpbmVyLmRvbS5pbWFnZS5jbGFzc05hbWUgPSBcImltZ0J1ZmZlclwiO1xuICAgICAgICAgICAgaWYgKCR2aWV3cG9ydCAmJiBfY29uZmlnLmlucHV0U3RyZWFtLnR5cGUgPT09IFwiSW1hZ2VTdHJlYW1cIikge1xuICAgICAgICAgICAgICAgICR2aWV3cG9ydC5hcHBlbmRDaGlsZChfY2FudmFzQ29udGFpbmVyLmRvbS5pbWFnZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgX2NhbnZhc0NvbnRhaW5lci5jdHguaW1hZ2UgPSBfY2FudmFzQ29udGFpbmVyLmRvbS5pbWFnZS5nZXRDb250ZXh0KFwiMmRcIik7XG4gICAgICAgIF9jYW52YXNDb250YWluZXIuZG9tLmltYWdlLndpZHRoID0gX2lucHV0U3RyZWFtLmdldENhbnZhc1NpemUoKS54O1xuICAgICAgICBfY2FudmFzQ29udGFpbmVyLmRvbS5pbWFnZS5oZWlnaHQgPSBfaW5wdXRTdHJlYW0uZ2V0Q2FudmFzU2l6ZSgpLnk7XG5cbiAgICAgICAgX2NhbnZhc0NvbnRhaW5lci5kb20ub3ZlcmxheSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCJjYW52YXMuZHJhd2luZ0J1ZmZlclwiKTtcbiAgICAgICAgaWYgKCFfY2FudmFzQ29udGFpbmVyLmRvbS5vdmVybGF5KSB7XG4gICAgICAgICAgICBfY2FudmFzQ29udGFpbmVyLmRvbS5vdmVybGF5ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImNhbnZhc1wiKTtcbiAgICAgICAgICAgIF9jYW52YXNDb250YWluZXIuZG9tLm92ZXJsYXkuY2xhc3NOYW1lID0gXCJkcmF3aW5nQnVmZmVyXCI7XG4gICAgICAgICAgICBpZiAoJHZpZXdwb3J0KSB7XG4gICAgICAgICAgICAgICAgJHZpZXdwb3J0LmFwcGVuZENoaWxkKF9jYW52YXNDb250YWluZXIuZG9tLm92ZXJsYXkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdmFyIGNsZWFyRml4ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImJyXCIpO1xuICAgICAgICAgICAgY2xlYXJGaXguc2V0QXR0cmlidXRlKFwiY2xlYXJcIiwgXCJhbGxcIik7XG4gICAgICAgICAgICBpZiAoJHZpZXdwb3J0KSB7XG4gICAgICAgICAgICAgICAgJHZpZXdwb3J0LmFwcGVuZENoaWxkKGNsZWFyRml4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBfY2FudmFzQ29udGFpbmVyLmN0eC5vdmVybGF5ID0gX2NhbnZhc0NvbnRhaW5lci5kb20ub3ZlcmxheS5nZXRDb250ZXh0KFwiMmRcIik7XG4gICAgICAgIF9jYW52YXNDb250YWluZXIuZG9tLm92ZXJsYXkud2lkdGggPSBfaW5wdXRTdHJlYW0uZ2V0Q2FudmFzU2l6ZSgpLng7XG4gICAgICAgIF9jYW52YXNDb250YWluZXIuZG9tLm92ZXJsYXkuaGVpZ2h0ID0gX2lucHV0U3RyZWFtLmdldENhbnZhc1NpemUoKS55O1xuICAgIH1cbn1cblxuZnVuY3Rpb24gaW5pdEJ1ZmZlcnMoaW1hZ2VXcmFwcGVyKSB7XG4gICAgaWYgKGltYWdlV3JhcHBlcikge1xuICAgICAgICBfaW5wdXRJbWFnZVdyYXBwZXIgPSBpbWFnZVdyYXBwZXI7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgX2lucHV0SW1hZ2VXcmFwcGVyID0gbmV3IEltYWdlV3JhcHBlcih7XG4gICAgICAgICAgICB4OiBfaW5wdXRTdHJlYW0uZ2V0V2lkdGgoKSxcbiAgICAgICAgICAgIHk6IF9pbnB1dFN0cmVhbS5nZXRIZWlnaHQoKVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoRU5WLmRldmVsb3BtZW50KSB7XG4gICAgICAgIGNvbnNvbGUubG9nKF9pbnB1dEltYWdlV3JhcHBlci5zaXplKTtcbiAgICB9XG4gICAgX2JveFNpemUgPSBbXG4gICAgICAgIHZlYzIuY2xvbmUoWzAsIDBdKSxcbiAgICAgICAgdmVjMi5jbG9uZShbMCwgX2lucHV0SW1hZ2VXcmFwcGVyLnNpemUueV0pLFxuICAgICAgICB2ZWMyLmNsb25lKFtfaW5wdXRJbWFnZVdyYXBwZXIuc2l6ZS54LCBfaW5wdXRJbWFnZVdyYXBwZXIuc2l6ZS55XSksXG4gICAgICAgIHZlYzIuY2xvbmUoW19pbnB1dEltYWdlV3JhcHBlci5zaXplLngsIDBdKVxuICAgIF07XG4gICAgQmFyY29kZUxvY2F0b3IuaW5pdChfaW5wdXRJbWFnZVdyYXBwZXIsIF9jb25maWcubG9jYXRvcik7XG59XG5cbmZ1bmN0aW9uIGdldEJvdW5kaW5nQm94ZXMoKSB7XG4gICAgaWYgKF9jb25maWcubG9jYXRlKSB7XG4gICAgICAgIHJldHVybiBCYXJjb2RlTG9jYXRvci5sb2NhdGUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gW1tcbiAgICAgICAgICAgIHZlYzIuY2xvbmUoX2JveFNpemVbMF0pLFxuICAgICAgICAgICAgdmVjMi5jbG9uZShfYm94U2l6ZVsxXSksXG4gICAgICAgICAgICB2ZWMyLmNsb25lKF9ib3hTaXplWzJdKSxcbiAgICAgICAgICAgIHZlYzIuY2xvbmUoX2JveFNpemVbM10pXV07XG4gICAgfVxufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1SZXN1bHQocmVzdWx0KSB7XG4gICAgdmFyIHRvcFJpZ2h0ID0gX2lucHV0U3RyZWFtLmdldFRvcFJpZ2h0KCksXG4gICAgICAgIHhPZmZzZXQgPSB0b3BSaWdodC54LFxuICAgICAgICB5T2Zmc2V0ID0gdG9wUmlnaHQueSxcbiAgICAgICAgaTtcblxuICAgIGlmICh4T2Zmc2V0ID09PSAwICYmIHlPZmZzZXQgPT09IDApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChyZXN1bHQuYmFyY29kZXMpIHtcbiAgICAgICAgZm9yIChpID0gMDsgaSA8IHJlc3VsdC5iYXJjb2Rlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgdHJhbnNmb3JtUmVzdWx0KHJlc3VsdC5iYXJjb2Rlc1tpXSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAocmVzdWx0LmxpbmUgJiYgcmVzdWx0LmxpbmUubGVuZ3RoID09PSAyKSB7XG4gICAgICAgIG1vdmVMaW5lKHJlc3VsdC5saW5lKTtcbiAgICB9XG5cbiAgICBpZiAocmVzdWx0LmJveCkge1xuICAgICAgICBtb3ZlQm94KHJlc3VsdC5ib3gpO1xuICAgIH1cblxuICAgIGlmIChyZXN1bHQuYm94ZXMgJiYgcmVzdWx0LmJveGVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgZm9yIChpID0gMDsgaSA8IHJlc3VsdC5ib3hlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgbW92ZUJveChyZXN1bHQuYm94ZXNbaV0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gbW92ZUJveChib3gpIHtcbiAgICAgICAgdmFyIGNvcm5lciA9IGJveC5sZW5ndGg7XG5cbiAgICAgICAgd2hpbGUgKGNvcm5lci0tKSB7XG4gICAgICAgICAgICBib3hbY29ybmVyXVswXSArPSB4T2Zmc2V0O1xuICAgICAgICAgICAgYm94W2Nvcm5lcl1bMV0gKz0geU9mZnNldDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIG1vdmVMaW5lKGxpbmUpIHtcbiAgICAgICAgbGluZVswXS54ICs9IHhPZmZzZXQ7XG4gICAgICAgIGxpbmVbMF0ueSArPSB5T2Zmc2V0O1xuICAgICAgICBsaW5lWzFdLnggKz0geE9mZnNldDtcbiAgICAgICAgbGluZVsxXS55ICs9IHlPZmZzZXQ7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBhZGRSZXN1bHQgKHJlc3VsdCwgaW1hZ2VEYXRhKSB7XG4gICAgaWYgKCFpbWFnZURhdGEgfHwgIV9yZXN1bHRDb2xsZWN0b3IpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChyZXN1bHQuYmFyY29kZXMpIHtcbiAgICAgICAgcmVzdWx0LmJhcmNvZGVzLmZpbHRlcihiYXJjb2RlID0+IGJhcmNvZGUuY29kZVJlc3VsdClcbiAgICAgICAgICAgIC5mb3JFYWNoKGJhcmNvZGUgPT4gYWRkUmVzdWx0KGJhcmNvZGUsIGltYWdlRGF0YSkpO1xuICAgIH0gZWxzZSBpZiAocmVzdWx0LmNvZGVSZXN1bHQpIHtcbiAgICAgICAgX3Jlc3VsdENvbGxlY3Rvci5hZGRSZXN1bHQoaW1hZ2VEYXRhLCBfaW5wdXRTdHJlYW0uZ2V0Q2FudmFzU2l6ZSgpLCByZXN1bHQuY29kZVJlc3VsdCk7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBoYXNDb2RlUmVzdWx0IChyZXN1bHQpIHtcbiAgICByZXR1cm4gcmVzdWx0ICYmIChyZXN1bHQuYmFyY29kZXMgP1xuICAgICAgcmVzdWx0LmJhcmNvZGVzLnNvbWUoYmFyY29kZSA9PiBiYXJjb2RlLmNvZGVSZXN1bHQpIDpcbiAgICAgIHJlc3VsdC5jb2RlUmVzdWx0KTtcbn1cblxuZnVuY3Rpb24gcHVibGlzaFJlc3VsdChyZXN1bHQsIGltYWdlRGF0YSkge1xuICAgIGxldCByZXN1bHRUb1B1Ymxpc2ggPSByZXN1bHQ7XG5cbiAgICBpZiAocmVzdWx0ICYmIF9vblVJVGhyZWFkKSB7XG4gICAgICAgIHRyYW5zZm9ybVJlc3VsdChyZXN1bHQpO1xuICAgICAgICBhZGRSZXN1bHQocmVzdWx0LCBpbWFnZURhdGEpO1xuICAgICAgICByZXN1bHRUb1B1Ymxpc2ggPSByZXN1bHQuYmFyY29kZXMgfHwgcmVzdWx0O1xuICAgIH1cblxuICAgIEV2ZW50cy5wdWJsaXNoKFwicHJvY2Vzc2VkXCIsIHJlc3VsdFRvUHVibGlzaCk7XG4gICAgaWYgKGhhc0NvZGVSZXN1bHQocmVzdWx0KSkge1xuICAgICAgICBFdmVudHMucHVibGlzaChcImRldGVjdGVkXCIsIHJlc3VsdFRvUHVibGlzaCk7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBsb2NhdGVBbmREZWNvZGUoKSB7XG4gICAgdmFyIHJlc3VsdCxcbiAgICAgICAgYm94ZXM7XG5cbiAgICBib3hlcyA9IGdldEJvdW5kaW5nQm94ZXMoKTtcbiAgICBpZiAoYm94ZXMpIHtcbiAgICAgICAgcmVzdWx0ID0gX2RlY29kZXIuZGVjb2RlRnJvbUJvdW5kaW5nQm94ZXMoYm94ZXMpO1xuICAgICAgICByZXN1bHQgPSByZXN1bHQgfHwge307XG4gICAgICAgIHJlc3VsdC5ib3hlcyA9IGJveGVzO1xuICAgICAgICBwdWJsaXNoUmVzdWx0KHJlc3VsdCwgX2lucHV0SW1hZ2VXcmFwcGVyLmRhdGEpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHB1Ymxpc2hSZXN1bHQoKTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZSgpIHtcbiAgICB2YXIgYXZhaWxhYmxlV29ya2VyO1xuXG4gICAgaWYgKF9vblVJVGhyZWFkKSB7XG4gICAgICAgIGlmIChfd29ya2VyUG9vbC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBhdmFpbGFibGVXb3JrZXIgPSBfd29ya2VyUG9vbC5maWx0ZXIoZnVuY3Rpb24od29ya2VyVGhyZWFkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICF3b3JrZXJUaHJlYWQuYnVzeTtcbiAgICAgICAgICAgIH0pWzBdO1xuICAgICAgICAgICAgaWYgKGF2YWlsYWJsZVdvcmtlcikge1xuICAgICAgICAgICAgICAgIF9mcmFtZWdyYWJiZXIuYXR0YWNoRGF0YShhdmFpbGFibGVXb3JrZXIuaW1hZ2VEYXRhKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuOyAvLyBhbGwgd29ya2VycyBhcmUgYnVzeVxuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgX2ZyYW1lZ3JhYmJlci5hdHRhY2hEYXRhKF9pbnB1dEltYWdlV3JhcHBlci5kYXRhKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoX2ZyYW1lZ3JhYmJlci5ncmFiKCkpIHtcbiAgICAgICAgICAgIGlmIChhdmFpbGFibGVXb3JrZXIpIHtcbiAgICAgICAgICAgICAgICBhdmFpbGFibGVXb3JrZXIuYnVzeSA9IHRydWU7XG4gICAgICAgICAgICAgICAgYXZhaWxhYmxlV29ya2VyLndvcmtlci5wb3N0TWVzc2FnZSh7XG4gICAgICAgICAgICAgICAgICAgIGNtZDogJ3Byb2Nlc3MnLFxuICAgICAgICAgICAgICAgICAgICBpbWFnZURhdGE6IGF2YWlsYWJsZVdvcmtlci5pbWFnZURhdGFcbiAgICAgICAgICAgICAgICB9LCBbYXZhaWxhYmxlV29ya2VyLmltYWdlRGF0YS5idWZmZXJdKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgbG9jYXRlQW5kRGVjb2RlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgICBsb2NhdGVBbmREZWNvZGUoKTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIHN0YXJ0Q29udGludW91c1VwZGF0ZSgpIHtcbiAgICB2YXIgbmV4dCA9IG51bGwsXG4gICAgICAgIGRlbGF5ID0gMTAwMCAvIChfY29uZmlnLmZyZXF1ZW5jeSB8fCA2MCk7XG5cbiAgICBfc3RvcHBlZCA9IGZhbHNlO1xuICAgIChmdW5jdGlvbiBmcmFtZSh0aW1lc3RhbXApIHtcbiAgICAgICAgbmV4dCA9IG5leHQgfHwgdGltZXN0YW1wO1xuICAgICAgICBpZiAoIV9zdG9wcGVkKSB7XG4gICAgICAgICAgICBpZiAodGltZXN0YW1wID49IG5leHQpIHtcbiAgICAgICAgICAgICAgICBuZXh0ICs9IGRlbGF5O1xuICAgICAgICAgICAgICAgIHVwZGF0ZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgd2luZG93LnJlcXVlc3RBbmltRnJhbWUoZnJhbWUpO1xuICAgICAgICB9XG4gICAgfShwZXJmb3JtYW5jZS5ub3coKSkpO1xufVxuXG5mdW5jdGlvbiBzdGFydCgpIHtcbiAgICBpZiAoX29uVUlUaHJlYWQgJiYgX2NvbmZpZy5pbnB1dFN0cmVhbS50eXBlID09PSBcIkxpdmVTdHJlYW1cIikge1xuICAgICAgICBzdGFydENvbnRpbnVvdXNVcGRhdGUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICB1cGRhdGUoKTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIGluaXRXb3JrZXIoY2IpIHtcbiAgICB2YXIgYmxvYlVSTCxcbiAgICAgICAgd29ya2VyVGhyZWFkID0ge1xuICAgICAgICAgICAgd29ya2VyOiB1bmRlZmluZWQsXG4gICAgICAgICAgICBpbWFnZURhdGE6IG5ldyBVaW50OEFycmF5KF9pbnB1dFN0cmVhbS5nZXRXaWR0aCgpICogX2lucHV0U3RyZWFtLmdldEhlaWdodCgpKSxcbiAgICAgICAgICAgIGJ1c3k6IHRydWVcbiAgICAgICAgfTtcblxuICAgIGJsb2JVUkwgPSBnZW5lcmF0ZVdvcmtlckJsb2IoKTtcbiAgICB3b3JrZXJUaHJlYWQud29ya2VyID0gbmV3IFdvcmtlcihibG9iVVJMKTtcblxuICAgIHdvcmtlclRocmVhZC53b3JrZXIub25tZXNzYWdlID0gZnVuY3Rpb24oZSkge1xuICAgICAgICBpZiAoZS5kYXRhLmV2ZW50ID09PSAnaW5pdGlhbGl6ZWQnKSB7XG4gICAgICAgICAgICBVUkwucmV2b2tlT2JqZWN0VVJMKGJsb2JVUkwpO1xuICAgICAgICAgICAgd29ya2VyVGhyZWFkLmJ1c3kgPSBmYWxzZTtcbiAgICAgICAgICAgIHdvcmtlclRocmVhZC5pbWFnZURhdGEgPSBuZXcgVWludDhBcnJheShlLmRhdGEuaW1hZ2VEYXRhKTtcbiAgICAgICAgICAgIGlmIChFTlYuZGV2ZWxvcG1lbnQpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcIldvcmtlciBpbml0aWFsaXplZFwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBjYih3b3JrZXJUaHJlYWQpO1xuICAgICAgICB9IGVsc2UgaWYgKGUuZGF0YS5ldmVudCA9PT0gJ3Byb2Nlc3NlZCcpIHtcbiAgICAgICAgICAgIHdvcmtlclRocmVhZC5pbWFnZURhdGEgPSBuZXcgVWludDhBcnJheShlLmRhdGEuaW1hZ2VEYXRhKTtcbiAgICAgICAgICAgIHdvcmtlclRocmVhZC5idXN5ID0gZmFsc2U7XG4gICAgICAgICAgICBwdWJsaXNoUmVzdWx0KGUuZGF0YS5yZXN1bHQsIHdvcmtlclRocmVhZC5pbWFnZURhdGEpO1xuICAgICAgICB9IGVsc2UgaWYgKGUuZGF0YS5ldmVudCA9PT0gJ2Vycm9yJykge1xuICAgICAgICAgICAgaWYgKEVOVi5kZXZlbG9wbWVudCkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiV29ya2VyIGVycm9yOiBcIiArIGUuZGF0YS5tZXNzYWdlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH07XG5cbiAgICB3b3JrZXJUaHJlYWQud29ya2VyLnBvc3RNZXNzYWdlKHtcbiAgICAgICAgY21kOiAnaW5pdCcsXG4gICAgICAgIHNpemU6IHt4OiBfaW5wdXRTdHJlYW0uZ2V0V2lkdGgoKSwgeTogX2lucHV0U3RyZWFtLmdldEhlaWdodCgpfSxcbiAgICAgICAgaW1hZ2VEYXRhOiB3b3JrZXJUaHJlYWQuaW1hZ2VEYXRhLFxuICAgICAgICBjb25maWc6IGNvbmZpZ0ZvcldvcmtlcihfY29uZmlnKVxuICAgIH0sIFt3b3JrZXJUaHJlYWQuaW1hZ2VEYXRhLmJ1ZmZlcl0pO1xufVxuXG5mdW5jdGlvbiBjb25maWdGb3JXb3JrZXIoY29uZmlnKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgLi4uY29uZmlnLFxuICAgICAgICBpbnB1dFN0cmVhbToge1xuICAgICAgICAgICAgLi4uY29uZmlnLmlucHV0U3RyZWFtLFxuICAgICAgICAgICAgdGFyZ2V0OiBudWxsXG4gICAgICAgIH1cbiAgICB9O1xufVxuXG5mdW5jdGlvbiB3b3JrZXJJbnRlcmZhY2UoZmFjdG9yeSkge1xuICAgIC8qIGVzbGludC1kaXNhYmxlIG5vLXVuZGVmKi9cbiAgICBpZiAoZmFjdG9yeSkge1xuICAgICAgICB2YXIgUXVhZ2dhID0gZmFjdG9yeSgpLmRlZmF1bHQ7XG4gICAgICAgIGlmICghUXVhZ2dhKSB7XG4gICAgICAgICAgICBzZWxmLnBvc3RNZXNzYWdlKHsnZXZlbnQnOiAnZXJyb3InLCBtZXNzYWdlOiAnUXVhZ2dhIGNvdWxkIG5vdCBiZSBjcmVhdGVkJ30pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgfVxuICAgIHZhciBpbWFnZVdyYXBwZXI7XG5cbiAgICBzZWxmLm9ubWVzc2FnZSA9IGZ1bmN0aW9uKGUpIHtcbiAgICAgICAgaWYgKGUuZGF0YS5jbWQgPT09ICdpbml0Jykge1xuICAgICAgICAgICAgdmFyIGNvbmZpZyA9IGUuZGF0YS5jb25maWc7XG4gICAgICAgICAgICBjb25maWcubnVtT2ZXb3JrZXJzID0gMDtcbiAgICAgICAgICAgIGltYWdlV3JhcHBlciA9IG5ldyBRdWFnZ2EuSW1hZ2VXcmFwcGVyKHtcbiAgICAgICAgICAgICAgICB4OiBlLmRhdGEuc2l6ZS54LFxuICAgICAgICAgICAgICAgIHk6IGUuZGF0YS5zaXplLnlcbiAgICAgICAgICAgIH0sIG5ldyBVaW50OEFycmF5KGUuZGF0YS5pbWFnZURhdGEpKTtcbiAgICAgICAgICAgIFF1YWdnYS5pbml0KGNvbmZpZywgcmVhZHksIGltYWdlV3JhcHBlcik7XG4gICAgICAgICAgICBRdWFnZ2Eub25Qcm9jZXNzZWQob25Qcm9jZXNzZWQpO1xuICAgICAgICB9IGVsc2UgaWYgKGUuZGF0YS5jbWQgPT09ICdwcm9jZXNzJykge1xuICAgICAgICAgICAgaW1hZ2VXcmFwcGVyLmRhdGEgPSBuZXcgVWludDhBcnJheShlLmRhdGEuaW1hZ2VEYXRhKTtcbiAgICAgICAgICAgIFF1YWdnYS5zdGFydCgpO1xuICAgICAgICB9IGVsc2UgaWYgKGUuZGF0YS5jbWQgPT09ICdzZXRSZWFkZXJzJykge1xuICAgICAgICAgICAgUXVhZ2dhLnNldFJlYWRlcnMoZS5kYXRhLnJlYWRlcnMpO1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIGZ1bmN0aW9uIG9uUHJvY2Vzc2VkKHJlc3VsdCkge1xuICAgICAgICBzZWxmLnBvc3RNZXNzYWdlKHtcbiAgICAgICAgICAgICdldmVudCc6ICdwcm9jZXNzZWQnLFxuICAgICAgICAgICAgaW1hZ2VEYXRhOiBpbWFnZVdyYXBwZXIuZGF0YSxcbiAgICAgICAgICAgIHJlc3VsdDogcmVzdWx0XG4gICAgICAgIH0sIFtpbWFnZVdyYXBwZXIuZGF0YS5idWZmZXJdKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiByZWFkeSgpIHsgLy8gZXNsaW50LWRpc2FibGUtbGluZVxuICAgICAgICBzZWxmLnBvc3RNZXNzYWdlKHsnZXZlbnQnOiAnaW5pdGlhbGl6ZWQnLCBpbWFnZURhdGE6IGltYWdlV3JhcHBlci5kYXRhfSwgW2ltYWdlV3JhcHBlci5kYXRhLmJ1ZmZlcl0pO1xuICAgIH1cblxuICAgIC8qIGVzbGludC1lbmFibGUgKi9cbn1cblxuZnVuY3Rpb24gZ2VuZXJhdGVXb3JrZXJCbG9iKCkge1xuICAgIHZhciBibG9iLFxuICAgICAgICBmYWN0b3J5U291cmNlO1xuXG4gICAgLyoganNoaW50IGlnbm9yZTpzdGFydCAqL1xuICAgIGlmICh0eXBlb2YgX19mYWN0b3J5U291cmNlX18gIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIGZhY3RvcnlTb3VyY2UgPSBfX2ZhY3RvcnlTb3VyY2VfXzsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11bmRlZlxuICAgIH1cbiAgICAvKiBqc2hpbnQgaWdub3JlOmVuZCAqL1xuXG4gICAgYmxvYiA9IG5ldyBCbG9iKFsnKCcgKyB3b3JrZXJJbnRlcmZhY2UudG9TdHJpbmcoKSArICcpKCcgKyBmYWN0b3J5U291cmNlICsgJyk7J10sXG4gICAgICAgIHt0eXBlOiAndGV4dC9qYXZhc2NyaXB0J30pO1xuXG4gICAgcmV0dXJuIHdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xufVxuXG5mdW5jdGlvbiBzZXRSZWFkZXJzKHJlYWRlcnMpIHtcbiAgICBpZiAoX2RlY29kZXIpIHtcbiAgICAgICAgX2RlY29kZXIuc2V0UmVhZGVycyhyZWFkZXJzKTtcbiAgICB9IGVsc2UgaWYgKF9vblVJVGhyZWFkICYmIF93b3JrZXJQb29sLmxlbmd0aCA+IDApIHtcbiAgICAgICAgX3dvcmtlclBvb2wuZm9yRWFjaChmdW5jdGlvbih3b3JrZXJUaHJlYWQpIHtcbiAgICAgICAgICAgIHdvcmtlclRocmVhZC53b3JrZXIucG9zdE1lc3NhZ2Uoe2NtZDogJ3NldFJlYWRlcnMnLCByZWFkZXJzOiByZWFkZXJzfSk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gYWRqdXN0V29ya2VyUG9vbChjYXBhY2l0eSwgY2IpIHtcbiAgICBjb25zdCBpbmNyZWFzZUJ5ID0gY2FwYWNpdHkgLSBfd29ya2VyUG9vbC5sZW5ndGg7XG4gICAgaWYgKGluY3JlYXNlQnkgPT09IDApIHtcbiAgICAgICAgcmV0dXJuIGNiICYmIGNiKCk7XG4gICAgfVxuICAgIGlmIChpbmNyZWFzZUJ5IDwgMCkge1xuICAgICAgICBjb25zdCB3b3JrZXJzVG9UZXJtaW5hdGUgPSBfd29ya2VyUG9vbC5zbGljZShpbmNyZWFzZUJ5KTtcbiAgICAgICAgd29ya2Vyc1RvVGVybWluYXRlLmZvckVhY2goZnVuY3Rpb24od29ya2VyVGhyZWFkKSB7XG4gICAgICAgICAgICB3b3JrZXJUaHJlYWQud29ya2VyLnRlcm1pbmF0ZSgpO1xuICAgICAgICAgICAgaWYgKEVOVi5kZXZlbG9wbWVudCkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiV29ya2VyIHRlcm1pbmF0ZWQhXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgX3dvcmtlclBvb2wgPSBfd29ya2VyUG9vbC5zbGljZSgwLCBpbmNyZWFzZUJ5KTtcbiAgICAgICAgcmV0dXJuIGNiICYmIGNiKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBpbmNyZWFzZUJ5OyBpKyspIHtcbiAgICAgICAgICAgIGluaXRXb3JrZXIod29ya2VySW5pdGlhbGl6ZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgZnVuY3Rpb24gd29ya2VySW5pdGlhbGl6ZWQod29ya2VyVGhyZWFkKSB7XG4gICAgICAgICAgICBfd29ya2VyUG9vbC5wdXNoKHdvcmtlclRocmVhZCk7XG4gICAgICAgICAgICBpZiAoX3dvcmtlclBvb2wubGVuZ3RoID49IGNhcGFjaXR5KXtcbiAgICAgICAgICAgICAgICBjYiAmJiBjYigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gICAgaW5pdDogZnVuY3Rpb24oY29uZmlnLCBjYiwgaW1hZ2VXcmFwcGVyKSB7XG4gICAgICAgIF9jb25maWcgPSBtZXJnZSh7fSwgQ29uZmlnLCBjb25maWcpO1xuICAgICAgICBpZiAoaW1hZ2VXcmFwcGVyKSB7XG4gICAgICAgICAgICBfb25VSVRocmVhZCA9IGZhbHNlO1xuICAgICAgICAgICAgaW5pdGlhbGl6ZURhdGEoaW1hZ2VXcmFwcGVyKTtcbiAgICAgICAgICAgIHJldHVybiBjYigpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaW5pdElucHV0U3RyZWFtKGNiKTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgc3RhcnQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICBzdGFydCgpO1xuICAgIH0sXG4gICAgc3RvcDogZnVuY3Rpb24oKSB7XG4gICAgICAgIF9zdG9wcGVkID0gdHJ1ZTtcbiAgICAgICAgYWRqdXN0V29ya2VyUG9vbCgwKTtcbiAgICAgICAgaWYgKF9jb25maWcuaW5wdXRTdHJlYW0udHlwZSA9PT0gXCJMaXZlU3RyZWFtXCIpIHtcbiAgICAgICAgICAgIENhbWVyYUFjY2Vzcy5yZWxlYXNlKCk7XG4gICAgICAgICAgICBfaW5wdXRTdHJlYW0uY2xlYXJFdmVudEhhbmRsZXJzKCk7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIHBhdXNlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgX3N0b3BwZWQgPSB0cnVlO1xuICAgIH0sXG4gICAgb25EZXRlY3RlZDogZnVuY3Rpb24oY2FsbGJhY2spIHtcbiAgICAgICAgRXZlbnRzLnN1YnNjcmliZShcImRldGVjdGVkXCIsIGNhbGxiYWNrKTtcbiAgICB9LFxuICAgIG9mZkRldGVjdGVkOiBmdW5jdGlvbihjYWxsYmFjaykge1xuICAgICAgICBFdmVudHMudW5zdWJzY3JpYmUoXCJkZXRlY3RlZFwiLCBjYWxsYmFjayk7XG4gICAgfSxcbiAgICBvblByb2Nlc3NlZDogZnVuY3Rpb24oY2FsbGJhY2spIHtcbiAgICAgICAgRXZlbnRzLnN1YnNjcmliZShcInByb2Nlc3NlZFwiLCBjYWxsYmFjayk7XG4gICAgfSxcbiAgICBvZmZQcm9jZXNzZWQ6IGZ1bmN0aW9uKGNhbGxiYWNrKSB7XG4gICAgICAgIEV2ZW50cy51bnN1YnNjcmliZShcInByb2Nlc3NlZFwiLCBjYWxsYmFjayk7XG4gICAgfSxcbiAgICBzZXRSZWFkZXJzOiBmdW5jdGlvbihyZWFkZXJzKSB7XG4gICAgICAgIHNldFJlYWRlcnMocmVhZGVycyk7XG4gICAgfSxcbiAgICByZWdpc3RlclJlc3VsdENvbGxlY3RvcjogZnVuY3Rpb24ocmVzdWx0Q29sbGVjdG9yKSB7XG4gICAgICAgIGlmIChyZXN1bHRDb2xsZWN0b3IgJiYgdHlwZW9mIHJlc3VsdENvbGxlY3Rvci5hZGRSZXN1bHQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIF9yZXN1bHRDb2xsZWN0b3IgPSByZXN1bHRDb2xsZWN0b3I7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIGNhbnZhczogX2NhbnZhc0NvbnRhaW5lcixcbiAgICBkZWNvZGVTaW5nbGU6IGZ1bmN0aW9uKGNvbmZpZywgcmVzdWx0Q2FsbGJhY2spIHtcbiAgICAgICAgY29uZmlnID0gbWVyZ2Uoe1xuICAgICAgICAgICAgaW5wdXRTdHJlYW06IHtcbiAgICAgICAgICAgICAgICB0eXBlOiBcIkltYWdlU3RyZWFtXCIsXG4gICAgICAgICAgICAgICAgc2VxdWVuY2U6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHNpemU6IDgwMCxcbiAgICAgICAgICAgICAgICBzcmM6IGNvbmZpZy5zcmNcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBudW1PZldvcmtlcnM6IChFTlYuZGV2ZWxvcG1lbnQgJiYgY29uZmlnLmRlYnVnKSA/IDAgOiAxLFxuICAgICAgICAgICAgbG9jYXRvcjoge1xuICAgICAgICAgICAgICAgIGhhbGZTYW1wbGU6IGZhbHNlXG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIGNvbmZpZyk7XG4gICAgICAgIHRoaXMuaW5pdChjb25maWcsICgpID0+IHtcbiAgICAgICAgICAgIEV2ZW50cy5vbmNlKFwicHJvY2Vzc2VkXCIsIChyZXN1bHQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0b3AoKTtcbiAgICAgICAgICAgICAgICByZXN1bHRDYWxsYmFjay5jYWxsKG51bGwsIHJlc3VsdCk7XG4gICAgICAgICAgICB9LCB0cnVlKTtcbiAgICAgICAgICAgIHN0YXJ0KCk7XG4gICAgICAgIH0pO1xuICAgIH0sXG4gICAgSW1hZ2VXcmFwcGVyOiBJbWFnZVdyYXBwZXIsXG4gICAgSW1hZ2VEZWJ1ZzogSW1hZ2VEZWJ1ZyxcbiAgICBSZXN1bHRDb2xsZWN0b3I6IFJlc3VsdENvbGxlY3RvcixcbiAgICBDYW1lcmFBY2Nlc3M6IENhbWVyYUFjY2Vzcyxcbn07XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9zcmMvcXVhZ2dhLmpzIiwiaW1wb3J0IEltYWdlRGVidWcgZnJvbSAnLi4vY29tbW9uL2ltYWdlX2RlYnVnJztcblxuZnVuY3Rpb24gY29udGFpbnMoY29kZVJlc3VsdCwgbGlzdCkge1xuICAgIGlmIChsaXN0KSB7XG4gICAgICAgIHJldHVybiBsaXN0LnNvbWUoZnVuY3Rpb24gKGl0ZW0pIHtcbiAgICAgICAgICAgIHJldHVybiBPYmplY3Qua2V5cyhpdGVtKS5ldmVyeShmdW5jdGlvbiAoa2V5KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW1ba2V5XSA9PT0gY29kZVJlc3VsdFtrZXldO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG59XG5cbmZ1bmN0aW9uIHBhc3Nlc0ZpbHRlcihjb2RlUmVzdWx0LCBmaWx0ZXIpIHtcbiAgICBpZiAodHlwZW9mIGZpbHRlciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICByZXR1cm4gZmlsdGVyKGNvZGVSZXN1bHQpO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICAgIGNyZWF0ZTogZnVuY3Rpb24oY29uZmlnKSB7XG4gICAgICAgIHZhciBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiY2FudmFzXCIpLFxuICAgICAgICAgICAgY3R4ID0gY2FudmFzLmdldENvbnRleHQoXCIyZFwiKSxcbiAgICAgICAgICAgIHJlc3VsdHMgPSBbXSxcbiAgICAgICAgICAgIGNhcGFjaXR5ID0gY29uZmlnLmNhcGFjaXR5IHx8IDIwLFxuICAgICAgICAgICAgY2FwdHVyZSA9IGNvbmZpZy5jYXB0dXJlID09PSB0cnVlO1xuXG4gICAgICAgIGZ1bmN0aW9uIG1hdGNoZXNDb25zdHJhaW50cyhjb2RlUmVzdWx0KSB7XG4gICAgICAgICAgICByZXR1cm4gY2FwYWNpdHlcbiAgICAgICAgICAgICAgICAmJiBjb2RlUmVzdWx0XG4gICAgICAgICAgICAgICAgJiYgIWNvbnRhaW5zKGNvZGVSZXN1bHQsIGNvbmZpZy5ibGFja2xpc3QpXG4gICAgICAgICAgICAgICAgJiYgcGFzc2VzRmlsdGVyKGNvZGVSZXN1bHQsIGNvbmZpZy5maWx0ZXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGFkZFJlc3VsdDogZnVuY3Rpb24oZGF0YSwgaW1hZ2VTaXplLCBjb2RlUmVzdWx0KSB7XG4gICAgICAgICAgICAgICAgdmFyIHJlc3VsdCA9IHt9O1xuXG4gICAgICAgICAgICAgICAgaWYgKG1hdGNoZXNDb25zdHJhaW50cyhjb2RlUmVzdWx0KSkge1xuICAgICAgICAgICAgICAgICAgICBjYXBhY2l0eS0tO1xuICAgICAgICAgICAgICAgICAgICByZXN1bHQuY29kZVJlc3VsdCA9IGNvZGVSZXN1bHQ7XG4gICAgICAgICAgICAgICAgICAgIGlmIChjYXB0dXJlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYW52YXMud2lkdGggPSBpbWFnZVNpemUueDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhbnZhcy5oZWlnaHQgPSBpbWFnZVNpemUueTtcbiAgICAgICAgICAgICAgICAgICAgICAgIEltYWdlRGVidWcuZHJhd0ltYWdlKGRhdGEsIGltYWdlU2l6ZSwgY3R4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5mcmFtZSA9IGNhbnZhcy50b0RhdGFVUkwoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXN1bHRzLnB1c2gocmVzdWx0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZ2V0UmVzdWx0czogZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdHM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfVxufTtcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3NyYy9hbmFseXRpY3MvcmVzdWx0X2NvbGxlY3Rvci5qcyIsImNvbnN0IHZlYzIgPSB7XG4gICAgY2xvbmU6IHJlcXVpcmUoJ2dsLXZlYzIvY2xvbmUnKSxcbiAgICBkb3Q6IHJlcXVpcmUoJ2dsLXZlYzIvZG90Jylcbn1cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgY2x1c3RlciBmb3IgZ3JvdXBpbmcgc2ltaWxhciBvcmllbnRhdGlvbnMgb2YgZGF0YXBvaW50c1xuICAgICAqL1xuZXhwb3J0IGRlZmF1bHQge1xuICAgIGNyZWF0ZTogZnVuY3Rpb24ocG9pbnQsIHRocmVzaG9sZCkge1xuICAgICAgICB2YXIgcG9pbnRzID0gW10sXG4gICAgICAgICAgICBjZW50ZXIgPSB7XG4gICAgICAgICAgICAgICAgcmFkOiAwLFxuICAgICAgICAgICAgICAgIHZlYzogdmVjMi5jbG9uZShbMCwgMF0pXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcG9pbnRNYXAgPSB7fTtcblxuICAgICAgICBmdW5jdGlvbiBpbml0KCkge1xuICAgICAgICAgICAgYWRkKHBvaW50KTtcbiAgICAgICAgICAgIHVwZGF0ZUNlbnRlcigpO1xuICAgICAgICB9XG5cbiAgICAgICAgZnVuY3Rpb24gYWRkKHBvaW50VG9BZGQpIHtcbiAgICAgICAgICAgIHBvaW50TWFwW3BvaW50VG9BZGQuaWRdID0gcG9pbnRUb0FkZDtcbiAgICAgICAgICAgIHBvaW50cy5wdXNoKHBvaW50VG9BZGQpO1xuICAgICAgICB9XG5cbiAgICAgICAgZnVuY3Rpb24gdXBkYXRlQ2VudGVyKCkge1xuICAgICAgICAgICAgdmFyIGksIHN1bSA9IDA7XG4gICAgICAgICAgICBmb3IgKCBpID0gMDsgaSA8IHBvaW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgIHN1bSArPSBwb2ludHNbaV0ucmFkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2VudGVyLnJhZCA9IHN1bSAvIHBvaW50cy5sZW5ndGg7XG4gICAgICAgICAgICBjZW50ZXIudmVjID0gdmVjMi5jbG9uZShbTWF0aC5jb3MoY2VudGVyLnJhZCksIE1hdGguc2luKGNlbnRlci5yYWQpXSk7XG4gICAgICAgIH1cblxuICAgICAgICBpbml0KCk7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGFkZDogZnVuY3Rpb24ocG9pbnRUb0FkZCkge1xuICAgICAgICAgICAgICAgIGlmICghcG9pbnRNYXBbcG9pbnRUb0FkZC5pZF0pIHtcbiAgICAgICAgICAgICAgICAgICAgYWRkKHBvaW50VG9BZGQpO1xuICAgICAgICAgICAgICAgICAgICB1cGRhdGVDZW50ZXIoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZml0czogZnVuY3Rpb24ob3RoZXJQb2ludCkge1xuICAgICAgICAgICAgICAgIC8vIGNoZWNrIGNvc2luZSBzaW1pbGFyaXR5IHRvIGNlbnRlci1hbmdsZVxuICAgICAgICAgICAgICAgIHZhciBzaW1pbGFyaXR5ID0gTWF0aC5hYnModmVjMi5kb3Qob3RoZXJQb2ludC5wb2ludC52ZWMsIGNlbnRlci52ZWMpKTtcbiAgICAgICAgICAgICAgICBpZiAoc2ltaWxhcml0eSA+IHRocmVzaG9sZCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGdldFBvaW50czogZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHBvaW50cztcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBnZXRDZW50ZXI6IGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfSxcbiAgICBjcmVhdGVQb2ludDogZnVuY3Rpb24obmV3UG9pbnQsIGlkLCBwcm9wZXJ0eSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcmFkOiBuZXdQb2ludFtwcm9wZXJ0eV0sXG4gICAgICAgICAgICBwb2ludDogbmV3UG9pbnQsXG4gICAgICAgICAgICBpZDogaWRcbiAgICAgICAgfTtcbiAgICB9XG59O1xuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vc3JjL2NvbW1vbi9jbHVzdGVyLmpzIiwiZXhwb3J0IGRlZmF1bHQgKGZ1bmN0aW9uKCkge1xuICAgIHZhciBldmVudHMgPSB7fTtcblxuICAgIGZ1bmN0aW9uIGdldEV2ZW50KGV2ZW50TmFtZSkge1xuICAgICAgICBpZiAoIWV2ZW50c1tldmVudE5hbWVdKSB7XG4gICAgICAgICAgICBldmVudHNbZXZlbnROYW1lXSA9IHtcbiAgICAgICAgICAgICAgICBzdWJzY3JpYmVyczogW11cbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGV2ZW50c1tldmVudE5hbWVdO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGNsZWFyRXZlbnRzKCl7XG4gICAgICAgIGV2ZW50cyA9IHt9O1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHB1Ymxpc2hTdWJzY3JpcHRpb24oc3Vic2NyaXB0aW9uLCBkYXRhKSB7XG4gICAgICAgIGlmIChzdWJzY3JpcHRpb24uYXN5bmMpIHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICAgICAgc3Vic2NyaXB0aW9uLmNhbGxiYWNrKGRhdGEpO1xuICAgICAgICAgICAgfSwgNCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdWJzY3JpcHRpb24uY2FsbGJhY2soZGF0YSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBmdW5jdGlvbiBzdWJzY3JpYmUoZXZlbnQsIGNhbGxiYWNrLCBhc3luYykge1xuICAgICAgICB2YXIgc3Vic2NyaXB0aW9uO1xuXG4gICAgICAgIGlmICggdHlwZW9mIGNhbGxiYWNrID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgICAgIHN1YnNjcmlwdGlvbiA9IHtcbiAgICAgICAgICAgICAgICBjYWxsYmFjazogY2FsbGJhY2ssXG4gICAgICAgICAgICAgICAgYXN5bmM6IGFzeW5jXG4gICAgICAgICAgICB9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc3Vic2NyaXB0aW9uID0gY2FsbGJhY2s7XG4gICAgICAgICAgICBpZiAoIXN1YnNjcmlwdGlvbi5jYWxsYmFjaykge1xuICAgICAgICAgICAgICAgIHRocm93IFwiQ2FsbGJhY2sgd2FzIG5vdCBzcGVjaWZpZWQgb24gb3B0aW9uc1wiO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgZ2V0RXZlbnQoZXZlbnQpLnN1YnNjcmliZXJzLnB1c2goc3Vic2NyaXB0aW9uKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgICBzdWJzY3JpYmU6IGZ1bmN0aW9uKGV2ZW50LCBjYWxsYmFjaywgYXN5bmMpIHtcbiAgICAgICAgICAgIHJldHVybiBzdWJzY3JpYmUoZXZlbnQsIGNhbGxiYWNrLCBhc3luYyk7XG4gICAgICAgIH0sXG4gICAgICAgIHB1Ymxpc2g6IGZ1bmN0aW9uKGV2ZW50TmFtZSwgZGF0YSkge1xuICAgICAgICAgICAgdmFyIGV2ZW50ID0gZ2V0RXZlbnQoZXZlbnROYW1lKSxcbiAgICAgICAgICAgICAgICBzdWJzY3JpYmVycyA9IGV2ZW50LnN1YnNjcmliZXJzO1xuXG4gICAgICAgICAgICAvLyBQdWJsaXNoIG9uZS10aW1lIHN1YnNjcmlwdGlvbnNcbiAgICAgICAgICAgIHN1YnNjcmliZXJzLmZpbHRlcihmdW5jdGlvbihzdWJzY3JpYmVyKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICEhc3Vic2NyaWJlci5vbmNlO1xuICAgICAgICAgICAgfSkuZm9yRWFjaCgoc3Vic2NyaWJlcikgPT4ge1xuICAgICAgICAgICAgICAgIHB1Ymxpc2hTdWJzY3JpcHRpb24oc3Vic2NyaWJlciwgZGF0YSk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgLy8gcmVtb3ZlIHRoZW0gZnJvbSB0aGUgc3Vic2NyaWJlclxuICAgICAgICAgICAgZXZlbnQuc3Vic2NyaWJlcnMgPSBzdWJzY3JpYmVycy5maWx0ZXIoZnVuY3Rpb24oc3Vic2NyaWJlcikge1xuICAgICAgICAgICAgICAgIHJldHVybiAhc3Vic2NyaWJlci5vbmNlO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIC8vIHB1Ymxpc2ggdGhlIHJlc3RcbiAgICAgICAgICAgIGV2ZW50LnN1YnNjcmliZXJzLmZvckVhY2goKHN1YnNjcmliZXIpID0+IHtcbiAgICAgICAgICAgICAgICBwdWJsaXNoU3Vic2NyaXB0aW9uKHN1YnNjcmliZXIsIGRhdGEpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIG9uY2U6IGZ1bmN0aW9uKGV2ZW50LCBjYWxsYmFjaywgYXN5bmMpIHtcbiAgICAgICAgICAgIHN1YnNjcmliZShldmVudCwge1xuICAgICAgICAgICAgICAgIGNhbGxiYWNrOiBjYWxsYmFjayxcbiAgICAgICAgICAgICAgICBhc3luYzogYXN5bmMsXG4gICAgICAgICAgICAgICAgb25jZTogdHJ1ZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIHVuc3Vic2NyaWJlOiBmdW5jdGlvbihldmVudE5hbWUsIGNhbGxiYWNrKSB7XG4gICAgICAgICAgICB2YXIgZXZlbnQ7XG5cbiAgICAgICAgICAgIGlmIChldmVudE5hbWUpIHtcbiAgICAgICAgICAgICAgICBldmVudCA9IGdldEV2ZW50KGV2ZW50TmFtZSk7XG4gICAgICAgICAgICAgICAgaWYgKGV2ZW50ICYmIGNhbGxiYWNrKSB7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LnN1YnNjcmliZXJzID0gZXZlbnQuc3Vic2NyaWJlcnMuZmlsdGVyKGZ1bmN0aW9uKHN1YnNjcmliZXIpe1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHN1YnNjcmliZXIuY2FsbGJhY2sgIT09IGNhbGxiYWNrO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBldmVudC5zdWJzY3JpYmVycyA9IFtdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY2xlYXJFdmVudHMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH07XG59KSgpO1xuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vc3JjL2NvbW1vbi9ldmVudHMuanMiLCJcbmV4cG9ydCBmdW5jdGlvbiBlbnVtZXJhdGVEZXZpY2VzKCkge1xuICAgIGlmIChuYXZpZ2F0b3IubWVkaWFEZXZpY2VzXG4gICAgICAgICAgICAmJiB0eXBlb2YgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5lbnVtZXJhdGVEZXZpY2VzID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHJldHVybiBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmVudW1lcmF0ZURldmljZXMoKTtcbiAgICB9XG4gICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcignZW51bWVyYXRlRGV2aWNlcyBpcyBub3QgZGVmaW5lZCcpKTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRVc2VyTWVkaWEoY29uc3RyYWludHMpIHtcbiAgICBpZiAobmF2aWdhdG9yLm1lZGlhRGV2aWNlc1xuICAgICAgICAgICAgJiYgdHlwZW9mIG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHJldHVybiBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzXG4gICAgICAgICAgICAuZ2V0VXNlck1lZGlhKGNvbnN0cmFpbnRzKTtcbiAgICB9XG4gICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcignZ2V0VXNlck1lZGlhIGlzIG5vdCBkZWZpbmVkJykpO1xufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vc3JjL2NvbW1vbi9tZWRpYURldmljZXMuanMiLCIvKipcbiAqIENvbnN0cnVjdCByZXByZXNlbnRpbmcgYSBwYXJ0IG9mIGFub3RoZXIge0ltYWdlV3JhcHBlcn0uIFNoYXJlcyBkYXRhXG4gKiBiZXR3ZWVuIHRoZSBwYXJlbnQgYW5kIHRoZSBjaGlsZC5cbiAqIEBwYXJhbSBmcm9tIHtJbWFnZVJlZn0gVGhlIHBvc2l0aW9uIHdoZXJlIHRvIHN0YXJ0IHRoZSB7U3ViSW1hZ2V9IGZyb20uICh0b3AtbGVmdCBjb3JuZXIpXG4gKiBAcGFyYW0gc2l6ZSB7SW1hZ2VSZWZ9IFRoZSBzaXplIG9mIHRoZSByZXN1bHRpbmcgaW1hZ2VcbiAqIEBwYXJhbSBJIHtJbWFnZVdyYXBwZXJ9IFRoZSB7SW1hZ2VXcmFwcGVyfSB0byBzaGFyZSBmcm9tXG4gKiBAcmV0dXJucyB7U3ViSW1hZ2V9IEEgc2hhcmVkIHBhcnQgb2YgdGhlIG9yaWdpbmFsIGltYWdlXG4gKi9cbmZ1bmN0aW9uIFN1YkltYWdlKGZyb20sIHNpemUsIEkpIHtcbiAgICBpZiAoIUkpIHtcbiAgICAgICAgSSA9IHtcbiAgICAgICAgICAgIGRhdGE6IG51bGwsXG4gICAgICAgICAgICBzaXplOiBzaXplXG4gICAgICAgIH07XG4gICAgfVxuICAgIHRoaXMuZGF0YSA9IEkuZGF0YTtcbiAgICB0aGlzLm9yaWdpbmFsU2l6ZSA9IEkuc2l6ZTtcbiAgICB0aGlzLkkgPSBJO1xuXG4gICAgdGhpcy5mcm9tID0gZnJvbTtcbiAgICB0aGlzLnNpemUgPSBzaXplO1xufVxuXG4vKipcbiAqIERpc3BsYXlzIHRoZSB7U3ViSW1hZ2V9IGluIGEgZ2l2ZW4gY2FudmFzXG4gKiBAcGFyYW0gY2FudmFzIHtDYW52YXN9IFRoZSBjYW52YXMgZWxlbWVudCB0byB3cml0ZSB0b1xuICogQHBhcmFtIHNjYWxlIHtOdW1iZXJ9IFNjYWxlIHdoaWNoIGlzIGFwcGxpZWQgdG8gZWFjaCBwaXhlbC12YWx1ZVxuICovXG5TdWJJbWFnZS5wcm90b3R5cGUuc2hvdyA9IGZ1bmN0aW9uKGNhbnZhcywgc2NhbGUpIHtcbiAgICB2YXIgY3R4LFxuICAgICAgICBmcmFtZSxcbiAgICAgICAgZGF0YSxcbiAgICAgICAgY3VycmVudCxcbiAgICAgICAgeSxcbiAgICAgICAgeCxcbiAgICAgICAgcGl4ZWw7XG5cbiAgICBpZiAoIXNjYWxlKSB7XG4gICAgICAgIHNjYWxlID0gMS4wO1xuICAgIH1cbiAgICBjdHggPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKTtcbiAgICBjYW52YXMud2lkdGggPSB0aGlzLnNpemUueDtcbiAgICBjYW52YXMuaGVpZ2h0ID0gdGhpcy5zaXplLnk7XG4gICAgZnJhbWUgPSBjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIGNhbnZhcy53aWR0aCwgY2FudmFzLmhlaWdodCk7XG4gICAgZGF0YSA9IGZyYW1lLmRhdGE7XG4gICAgY3VycmVudCA9IDA7XG4gICAgZm9yICh5ID0gMDsgeSA8IHRoaXMuc2l6ZS55OyB5KyspIHtcbiAgICAgICAgZm9yICh4ID0gMDsgeCA8IHRoaXMuc2l6ZS54OyB4KyspIHtcbiAgICAgICAgICAgIHBpeGVsID0geSAqIHRoaXMuc2l6ZS54ICsgeDtcbiAgICAgICAgICAgIGN1cnJlbnQgPSB0aGlzLmdldCh4LCB5KSAqIHNjYWxlO1xuICAgICAgICAgICAgZGF0YVtwaXhlbCAqIDQgKyAwXSA9IGN1cnJlbnQ7XG4gICAgICAgICAgICBkYXRhW3BpeGVsICogNCArIDFdID0gY3VycmVudDtcbiAgICAgICAgICAgIGRhdGFbcGl4ZWwgKiA0ICsgMl0gPSBjdXJyZW50O1xuICAgICAgICAgICAgZGF0YVtwaXhlbCAqIDQgKyAzXSA9IDI1NTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBmcmFtZS5kYXRhID0gZGF0YTtcbiAgICBjdHgucHV0SW1hZ2VEYXRhKGZyYW1lLCAwLCAwKTtcbn07XG5cbi8qKlxuICogUmV0cmlldmVzIGEgZ2l2ZW4gcGl4ZWwgcG9zaXRpb24gZnJvbSB0aGUge1N1YkltYWdlfVxuICogQHBhcmFtIHgge051bWJlcn0gVGhlIHgtcG9zaXRpb25cbiAqIEBwYXJhbSB5IHtOdW1iZXJ9IFRoZSB5LXBvc2l0aW9uXG4gKiBAcmV0dXJucyB7TnVtYmVyfSBUaGUgZ3JheXNjYWxlIHZhbHVlIGF0IHRoZSBwaXhlbC1wb3NpdGlvblxuICovXG5TdWJJbWFnZS5wcm90b3R5cGUuZ2V0ID0gZnVuY3Rpb24oeCwgeSkge1xuICAgIHJldHVybiB0aGlzLmRhdGFbKHRoaXMuZnJvbS55ICsgeSkgKiB0aGlzLm9yaWdpbmFsU2l6ZS54ICsgdGhpcy5mcm9tLnggKyB4XTtcbn07XG5cbi8qKlxuICogVXBkYXRlcyB0aGUgdW5kZXJseWluZyBkYXRhIGZyb20gYSBnaXZlbiB7SW1hZ2VXcmFwcGVyfVxuICogQHBhcmFtIGltYWdlIHtJbWFnZVdyYXBwZXJ9IFRoZSB1cGRhdGVkIGltYWdlXG4gKi9cblN1YkltYWdlLnByb3RvdHlwZS51cGRhdGVEYXRhID0gZnVuY3Rpb24oaW1hZ2UpIHtcbiAgICB0aGlzLm9yaWdpbmFsU2l6ZSA9IGltYWdlLnNpemU7XG4gICAgdGhpcy5kYXRhID0gaW1hZ2UuZGF0YTtcbn07XG5cbi8qKlxuICogVXBkYXRlcyB0aGUgcG9zaXRpb24gb2YgdGhlIHNoYXJlZCBhcmVhXG4gKiBAcGFyYW0gZnJvbSB7eCx5fSBUaGUgbmV3IGxvY2F0aW9uXG4gKiBAcmV0dXJucyB7U3ViSW1hZ2V9IHJldHVybnMge3RoaXN9IGZvciBwb3NzaWJsZSBjaGFpbmluZ1xuICovXG5TdWJJbWFnZS5wcm90b3R5cGUudXBkYXRlRnJvbSA9IGZ1bmN0aW9uKGZyb20pIHtcbiAgICB0aGlzLmZyb20gPSBmcm9tO1xuICAgIHJldHVybiB0aGlzO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgKFN1YkltYWdlKTtcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3NyYy9jb21tb24vc3ViSW1hZ2UuanMiLCIvKlxuICogdHlwZWRlZnMuanNcbiAqIE5vcm1hbGl6ZXMgYnJvd3Nlci1zcGVjaWZpYyBwcmVmaXhlc1xuICovXG5cbmlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xuICAgIHdpbmRvdy5yZXF1ZXN0QW5pbUZyYW1lID0gKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUgfHxcbiAgICAgICAgICAgIHdpbmRvdy53ZWJraXRSZXF1ZXN0QW5pbWF0aW9uRnJhbWUgfHxcbiAgICAgICAgICAgIHdpbmRvdy5tb3pSZXF1ZXN0QW5pbWF0aW9uRnJhbWUgfHxcbiAgICAgICAgICAgIHdpbmRvdy5vUmVxdWVzdEFuaW1hdGlvbkZyYW1lIHx8XG4gICAgICAgICAgICB3aW5kb3cubXNSZXF1ZXN0QW5pbWF0aW9uRnJhbWUgfHxcbiAgICAgICAgICAgIGZ1bmN0aW9uICgvKiBmdW5jdGlvbiBGcmFtZVJlcXVlc3RDYWxsYmFjayAqLyBjYWxsYmFjaykge1xuICAgICAgICAgICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KGNhbGxiYWNrLCAxMDAwIC8gNjApO1xuICAgICAgICAgICAgfTtcbiAgICB9KSgpO1xufVxuTWF0aC5pbXVsID0gTWF0aC5pbXVsIHx8IGZ1bmN0aW9uKGEsIGIpIHtcbiAgICB2YXIgYWggPSAoYSA+Pj4gMTYpICYgMHhmZmZmLFxuICAgICAgICBhbCA9IGEgJiAweGZmZmYsXG4gICAgICAgIGJoID0gKGIgPj4+IDE2KSAmIDB4ZmZmZixcbiAgICAgICAgYmwgPSBiICYgMHhmZmZmO1xuICAgIC8vIHRoZSBzaGlmdCBieSAwIGZpeGVzIHRoZSBzaWduIG9uIHRoZSBoaWdoIHBhcnRcbiAgICAvLyB0aGUgZmluYWwgfDAgY29udmVydHMgdGhlIHVuc2lnbmVkIHZhbHVlIGludG8gYSBzaWduZWQgdmFsdWVcbiAgICByZXR1cm4gKChhbCAqIGJsKSArICgoKGFoICogYmwgKyBhbCAqIGJoKSA8PCAxNikgPj4+IDApIHwgMCk7XG59O1xuXG5pZiAodHlwZW9mIE9iamVjdC5hc3NpZ24gIT09ICdmdW5jdGlvbicpIHtcbiAgICBPYmplY3QuYXNzaWduID0gZnVuY3Rpb24odGFyZ2V0KSB7IC8vIC5sZW5ndGggb2YgZnVuY3Rpb24gaXMgMlxuICAgICAgICAndXNlIHN0cmljdCc7XG4gICAgICAgIGlmICh0YXJnZXQgPT09IG51bGwpIHsgLy8gVHlwZUVycm9yIGlmIHVuZGVmaW5lZCBvciBudWxsXG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdDYW5ub3QgY29udmVydCB1bmRlZmluZWQgb3IgbnVsbCB0byBvYmplY3QnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciB0byA9IE9iamVjdCh0YXJnZXQpO1xuXG4gICAgICAgIGZvciAodmFyIGluZGV4ID0gMTsgaW5kZXggPCBhcmd1bWVudHMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgICAgICB2YXIgbmV4dFNvdXJjZSA9IGFyZ3VtZW50c1tpbmRleF07XG5cbiAgICAgICAgICAgIGlmIChuZXh0U291cmNlICE9PSBudWxsKSB7IC8vIFNraXAgb3ZlciBpZiB1bmRlZmluZWQgb3IgbnVsbFxuICAgICAgICAgICAgICAgIGZvciAodmFyIG5leHRLZXkgaW4gbmV4dFNvdXJjZSkge1xuICAgICAgICAgICAgICAgICAgICAvLyBBdm9pZCBidWdzIHdoZW4gaGFzT3duUHJvcGVydHkgaXMgc2hhZG93ZWRcbiAgICAgICAgICAgICAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChuZXh0U291cmNlLCBuZXh0S2V5KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9bbmV4dEtleV0gPSBuZXh0U291cmNlW25leHRLZXldO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0bztcbiAgICB9O1xufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vc3JjL2NvbW1vbi90eXBlZGVmcy5qcyIsIm1vZHVsZS5leHBvcnRzID0ge1xuICAgIGlucHV0U3RyZWFtOiB7XG4gICAgICAgIG5hbWU6IFwiTGl2ZVwiLFxuICAgICAgICB0eXBlOiBcIkxpdmVTdHJlYW1cIixcbiAgICAgICAgY29uc3RyYWludHM6IHtcbiAgICAgICAgICAgIHdpZHRoOiA2NDAsXG4gICAgICAgICAgICBoZWlnaHQ6IDQ4MCxcbiAgICAgICAgICAgIC8vIGFzcGVjdFJhdGlvOiA2NDAvNDgwLCAvLyBvcHRpb25hbFxuICAgICAgICAgICAgZmFjaW5nTW9kZTogXCJlbnZpcm9ubWVudFwiLCAvLyBvciB1c2VyXG4gICAgICAgICAgICAvLyBkZXZpY2VJZDogXCIzODc0NTk4MzQ1NzM4NzU5ODM3NTk4Mzc1OTgzNFwiXG4gICAgICAgIH0sXG4gICAgICAgIGFyZWE6IHtcbiAgICAgICAgICAgIHRvcDogXCIwJVwiLFxuICAgICAgICAgICAgcmlnaHQ6IFwiMCVcIixcbiAgICAgICAgICAgIGxlZnQ6IFwiMCVcIixcbiAgICAgICAgICAgIGJvdHRvbTogXCIwJVwiXG4gICAgICAgIH0sXG4gICAgICAgIHNpbmdsZUNoYW5uZWw6IGZhbHNlIC8vIHRydWU6IG9ubHkgdGhlIHJlZCBjb2xvci1jaGFubmVsIGlzIHJlYWRcbiAgICB9LFxuICAgIGxvY2F0ZTogdHJ1ZSxcbiAgICBudW1PZldvcmtlcnM6IDAsXG4gICAgZGVjb2Rlcjoge1xuICAgICAgICByZWFkZXJzOiBbXG4gICAgICAgICAgICAnY29kZV8xMjhfcmVhZGVyJ1xuICAgICAgICBdLFxuICAgICAgICBkZWJ1Zzoge1xuICAgICAgICAgICAgZHJhd0JvdW5kaW5nQm94OiBmYWxzZSxcbiAgICAgICAgICAgIHNob3dGcmVxdWVuY3k6IGZhbHNlLFxuICAgICAgICAgICAgZHJhd1NjYW5saW5lOiBmYWxzZSxcbiAgICAgICAgICAgIHNob3dQYXR0ZXJuOiBmYWxzZVxuICAgICAgICB9XG4gICAgfSxcbiAgICBsb2NhdG9yOiB7XG4gICAgICAgIGhhbGZTYW1wbGU6IHRydWUsXG4gICAgICAgIHBhdGNoU2l6ZTogXCJtZWRpdW1cIiwgLy8geC1zbWFsbCwgc21hbGwsIG1lZGl1bSwgbGFyZ2UsIHgtbGFyZ2VcbiAgICAgICAgZGVidWc6IHtcbiAgICAgICAgICAgIHNob3dDYW52YXM6IGZhbHNlLFxuICAgICAgICAgICAgc2hvd1BhdGNoZXM6IGZhbHNlLFxuICAgICAgICAgICAgc2hvd0ZvdW5kUGF0Y2hlczogZmFsc2UsXG4gICAgICAgICAgICBzaG93U2tlbGV0b246IGZhbHNlLFxuICAgICAgICAgICAgc2hvd0xhYmVsczogZmFsc2UsXG4gICAgICAgICAgICBzaG93UGF0Y2hMYWJlbHM6IGZhbHNlLFxuICAgICAgICAgICAgc2hvd1JlbWFpbmluZ1BhdGNoTGFiZWxzOiBmYWxzZSxcbiAgICAgICAgICAgIGJveEZyb21QYXRjaGVzOiB7XG4gICAgICAgICAgICAgICAgc2hvd1RyYW5zZm9ybWVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBzaG93VHJhbnNmb3JtZWRCb3g6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHNob3dCQjogZmFsc2VcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn07XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9zcmMvY29uZmlnL2NvbmZpZy5kZXYuanMiLCJsZXQgY29uZmlnO1xuXG5pZiAoRU5WLmRldmVsb3BtZW50KXtcbiAgICBjb25maWcgPSByZXF1aXJlKCcuL2NvbmZpZy5kZXYuanMnKTtcbn0gZWxzZSBpZiAoRU5WLm5vZGUpIHtcbiAgICBjb25maWcgPSByZXF1aXJlKCcuL2NvbmZpZy5ub2RlLmpzJyk7XG59IGVsc2Uge1xuICAgIGNvbmZpZyA9IHJlcXVpcmUoJy4vY29uZmlnLnByb2QuanMnKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgY29uZmlnO1xuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vc3JjL2NvbmZpZy9jb25maWcuanMiLCJpbXBvcnQgQnJlc2VuaGFtIGZyb20gJy4vYnJlc2VuaGFtJztcbmltcG9ydCBJbWFnZURlYnVnIGZyb20gJy4uL2NvbW1vbi9pbWFnZV9kZWJ1Zyc7XG5pbXBvcnQgQ29kZTEyOFJlYWRlciBmcm9tICcuLi9yZWFkZXIvY29kZV8xMjhfcmVhZGVyJztcbmltcG9ydCBFQU5SZWFkZXIgZnJvbSAnLi4vcmVhZGVyL2Vhbl9yZWFkZXInO1xuaW1wb3J0IENvZGUzOVJlYWRlciBmcm9tICcuLi9yZWFkZXIvY29kZV8zOV9yZWFkZXInO1xuaW1wb3J0IENvZGUzOVZJTlJlYWRlciBmcm9tICcuLi9yZWFkZXIvY29kZV8zOV92aW5fcmVhZGVyJztcbmltcG9ydCBDb2RhYmFyUmVhZGVyIGZyb20gJy4uL3JlYWRlci9jb2RhYmFyX3JlYWRlcic7XG5pbXBvcnQgVVBDUmVhZGVyIGZyb20gJy4uL3JlYWRlci91cGNfcmVhZGVyJztcbmltcG9ydCBFQU44UmVhZGVyIGZyb20gJy4uL3JlYWRlci9lYW5fOF9yZWFkZXInO1xuaW1wb3J0IEVBTjJSZWFkZXIgZnJvbSAnLi4vcmVhZGVyL2Vhbl8yX3JlYWRlcic7XG5pbXBvcnQgRUFONVJlYWRlciBmcm9tICcuLi9yZWFkZXIvZWFuXzVfcmVhZGVyJztcbmltcG9ydCBVUENFUmVhZGVyIGZyb20gJy4uL3JlYWRlci91cGNfZV9yZWFkZXInO1xuaW1wb3J0IEkyb2Y1UmVhZGVyIGZyb20gJy4uL3JlYWRlci9pMm9mNV9yZWFkZXInO1xuaW1wb3J0IFR3b09mRml2ZVJlYWRlciBmcm9tICcuLi9yZWFkZXIvMm9mNV9yZWFkZXInO1xuaW1wb3J0IENvZGU5M1JlYWRlciBmcm9tICcuLi9yZWFkZXIvY29kZV85M19yZWFkZXInO1xuXG5jb25zdCBSRUFERVJTID0ge1xuICAgIGNvZGVfMTI4X3JlYWRlcjogQ29kZTEyOFJlYWRlcixcbiAgICBlYW5fcmVhZGVyOiBFQU5SZWFkZXIsXG4gICAgZWFuXzVfcmVhZGVyOiBFQU41UmVhZGVyLFxuICAgIGVhbl8yX3JlYWRlcjogRUFOMlJlYWRlcixcbiAgICBlYW5fOF9yZWFkZXI6IEVBTjhSZWFkZXIsXG4gICAgY29kZV8zOV9yZWFkZXI6IENvZGUzOVJlYWRlcixcbiAgICBjb2RlXzM5X3Zpbl9yZWFkZXI6IENvZGUzOVZJTlJlYWRlcixcbiAgICBjb2RhYmFyX3JlYWRlcjogQ29kYWJhclJlYWRlcixcbiAgICB1cGNfcmVhZGVyOiBVUENSZWFkZXIsXG4gICAgdXBjX2VfcmVhZGVyOiBVUENFUmVhZGVyLFxuICAgIGkyb2Y1X3JlYWRlcjogSTJvZjVSZWFkZXIsXG4gICAgJzJvZjVfcmVhZGVyJzogVHdvT2ZGaXZlUmVhZGVyLFxuICAgIGNvZGVfOTNfcmVhZGVyOiBDb2RlOTNSZWFkZXJcbn07XG5leHBvcnQgZGVmYXVsdCB7XG4gICAgY3JlYXRlOiBmdW5jdGlvbihjb25maWcsIGlucHV0SW1hZ2VXcmFwcGVyKSB7XG4gICAgICAgIHZhciBfY2FudmFzID0ge1xuICAgICAgICAgICAgICAgIGN0eDoge1xuICAgICAgICAgICAgICAgICAgICBmcmVxdWVuY3k6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIHBhdHRlcm46IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIG92ZXJsYXk6IG51bGxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGRvbToge1xuICAgICAgICAgICAgICAgICAgICBmcmVxdWVuY3k6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIHBhdHRlcm46IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIG92ZXJsYXk6IG51bGxcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgX2JhcmNvZGVSZWFkZXJzID0gW107XG5cbiAgICAgICAgaW5pdENhbnZhcygpO1xuICAgICAgICBpbml0UmVhZGVycygpO1xuICAgICAgICBpbml0Q29uZmlnKCk7XG5cbiAgICAgICAgZnVuY3Rpb24gaW5pdENhbnZhcygpIHtcbiAgICAgICAgICAgIGlmIChFTlYuZGV2ZWxvcG1lbnQgJiYgdHlwZW9mIGRvY3VtZW50ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgICAgIHZhciAkZGVidWcgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiI2RlYnVnLmRldGVjdGlvblwiKTtcbiAgICAgICAgICAgICAgICBfY2FudmFzLmRvbS5mcmVxdWVuY3kgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiY2FudmFzLmZyZXF1ZW5jeVwiKTtcbiAgICAgICAgICAgICAgICBpZiAoIV9jYW52YXMuZG9tLmZyZXF1ZW5jeSkge1xuICAgICAgICAgICAgICAgICAgICBfY2FudmFzLmRvbS5mcmVxdWVuY3kgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiY2FudmFzXCIpO1xuICAgICAgICAgICAgICAgICAgICBfY2FudmFzLmRvbS5mcmVxdWVuY3kuY2xhc3NOYW1lID0gXCJmcmVxdWVuY3lcIjtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCRkZWJ1Zykge1xuICAgICAgICAgICAgICAgICAgICAgICAgJGRlYnVnLmFwcGVuZENoaWxkKF9jYW52YXMuZG9tLmZyZXF1ZW5jeSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgX2NhbnZhcy5jdHguZnJlcXVlbmN5ID0gX2NhbnZhcy5kb20uZnJlcXVlbmN5LmdldENvbnRleHQoXCIyZFwiKTtcblxuICAgICAgICAgICAgICAgIF9jYW52YXMuZG9tLnBhdHRlcm4gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiY2FudmFzLnBhdHRlcm5CdWZmZXJcIik7XG4gICAgICAgICAgICAgICAgaWYgKCFfY2FudmFzLmRvbS5wYXR0ZXJuKSB7XG4gICAgICAgICAgICAgICAgICAgIF9jYW52YXMuZG9tLnBhdHRlcm4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiY2FudmFzXCIpO1xuICAgICAgICAgICAgICAgICAgICBfY2FudmFzLmRvbS5wYXR0ZXJuLmNsYXNzTmFtZSA9IFwicGF0dGVybkJ1ZmZlclwiO1xuICAgICAgICAgICAgICAgICAgICBpZiAoJGRlYnVnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAkZGVidWcuYXBwZW5kQ2hpbGQoX2NhbnZhcy5kb20ucGF0dGVybik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgX2NhbnZhcy5jdHgucGF0dGVybiA9IF9jYW52YXMuZG9tLnBhdHRlcm4uZ2V0Q29udGV4dChcIjJkXCIpO1xuXG4gICAgICAgICAgICAgICAgX2NhbnZhcy5kb20ub3ZlcmxheSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCJjYW52YXMuZHJhd2luZ0J1ZmZlclwiKTtcbiAgICAgICAgICAgICAgICBpZiAoX2NhbnZhcy5kb20ub3ZlcmxheSkge1xuICAgICAgICAgICAgICAgICAgICBfY2FudmFzLmN0eC5vdmVybGF5ID0gX2NhbnZhcy5kb20ub3ZlcmxheS5nZXRDb250ZXh0KFwiMmRcIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgZnVuY3Rpb24gaW5pdFJlYWRlcnMoKSB7XG4gICAgICAgICAgICBjb25maWcucmVhZGVycy5mb3JFYWNoKGZ1bmN0aW9uKHJlYWRlckNvbmZpZykge1xuICAgICAgICAgICAgICAgIHZhciByZWFkZXIsXG4gICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYXRpb24gPSB7fSxcbiAgICAgICAgICAgICAgICAgICAgc3VwcGxlbWVudHMgPSBbXTtcblxuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgcmVhZGVyQ29uZmlnID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgICAgICAgICByZWFkZXIgPSByZWFkZXJDb25maWcuZm9ybWF0O1xuICAgICAgICAgICAgICAgICAgICBjb25maWd1cmF0aW9uID0gcmVhZGVyQ29uZmlnLmNvbmZpZztcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiByZWFkZXJDb25maWcgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlYWRlciA9IHJlYWRlckNvbmZpZztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKEVOVi5kZXZlbG9wbWVudCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcIkJlZm9yZSByZWdpc3RlcmluZyByZWFkZXI6IFwiLCByZWFkZXIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoY29uZmlndXJhdGlvbi5zdXBwbGVtZW50cykge1xuICAgICAgICAgICAgICAgICAgICBzdXBwbGVtZW50cyA9IGNvbmZpZ3VyYXRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgIC5zdXBwbGVtZW50cy5tYXAoKHN1cHBsZW1lbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFJFQURFUlNbc3VwcGxlbWVudF0oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBfYmFyY29kZVJlYWRlcnMucHVzaChuZXcgUkVBREVSU1tyZWFkZXJdKGNvbmZpZ3VyYXRpb24sIHN1cHBsZW1lbnRzKSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGlmIChFTlYuZGV2ZWxvcG1lbnQpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcIlJlZ2lzdGVyZWQgUmVhZGVyczogXCIgKyBfYmFyY29kZVJlYWRlcnNcbiAgICAgICAgICAgICAgICAgICAgLm1hcCgocmVhZGVyKSA9PiBKU09OLnN0cmluZ2lmeSh7Zm9ybWF0OiByZWFkZXIuRk9STUFULCBjb25maWc6IHJlYWRlci5jb25maWd9KSlcbiAgICAgICAgICAgICAgICAgICAgLmpvaW4oJywgJykpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgZnVuY3Rpb24gaW5pdENvbmZpZygpIHtcbiAgICAgICAgICAgIGlmIChFTlYuZGV2ZWxvcG1lbnQgJiYgdHlwZW9mIGRvY3VtZW50ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgICAgIHZhciBpLFxuICAgICAgICAgICAgICAgICAgICB2aXMgPSBbe1xuICAgICAgICAgICAgICAgICAgICAgICAgbm9kZTogX2NhbnZhcy5kb20uZnJlcXVlbmN5LFxuICAgICAgICAgICAgICAgICAgICAgICAgcHJvcDogY29uZmlnLmRlYnVnLnNob3dGcmVxdWVuY3lcbiAgICAgICAgICAgICAgICAgICAgfSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgbm9kZTogX2NhbnZhcy5kb20ucGF0dGVybixcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb3A6IGNvbmZpZy5kZWJ1Zy5zaG93UGF0dGVyblxuICAgICAgICAgICAgICAgICAgICB9XTtcblxuICAgICAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCB2aXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHZpc1tpXS5wcm9wID09PSB0cnVlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2aXNbaV0ubm9kZS5zdHlsZS5kaXNwbGF5ID0gXCJibG9ja1wiO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmlzW2ldLm5vZGUuc3R5bGUuZGlzcGxheSA9IFwibm9uZVwiO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIGV4dGVuZCB0aGUgbGluZSBvbiBib3RoIGVuZHNcbiAgICAgICAgICogQHBhcmFtIHtBcnJheX0gbGluZVxuICAgICAgICAgKiBAcGFyYW0ge051bWJlcn0gYW5nbGVcbiAgICAgICAgICovXG4gICAgICAgIGZ1bmN0aW9uIGdldEV4dGVuZGVkTGluZShsaW5lLCBhbmdsZSwgZXh0KSB7XG4gICAgICAgICAgICBmdW5jdGlvbiBleHRlbmRMaW5lKGFtb3VudCkge1xuICAgICAgICAgICAgICAgIHZhciBleHRlbnNpb24gPSB7XG4gICAgICAgICAgICAgICAgICAgIHk6IGFtb3VudCAqIE1hdGguc2luKGFuZ2xlKSxcbiAgICAgICAgICAgICAgICAgICAgeDogYW1vdW50ICogTWF0aC5jb3MoYW5nbGUpXG4gICAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgICAgIGxpbmVbMF0ueSAtPSBleHRlbnNpb24ueTtcbiAgICAgICAgICAgICAgICBsaW5lWzBdLnggLT0gZXh0ZW5zaW9uLng7XG4gICAgICAgICAgICAgICAgbGluZVsxXS55ICs9IGV4dGVuc2lvbi55O1xuICAgICAgICAgICAgICAgIGxpbmVbMV0ueCArPSBleHRlbnNpb24ueDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gY2hlY2sgaWYgaW5zaWRlIGltYWdlXG4gICAgICAgICAgICBleHRlbmRMaW5lKGV4dCk7XG4gICAgICAgICAgICB3aGlsZSAoZXh0ID4gMSAmJiAoIWlucHV0SW1hZ2VXcmFwcGVyLmluSW1hZ2VXaXRoQm9yZGVyKGxpbmVbMF0sIDApXG4gICAgICAgICAgICAgICAgICAgIHx8ICFpbnB1dEltYWdlV3JhcHBlci5pbkltYWdlV2l0aEJvcmRlcihsaW5lWzFdLCAwKSkpIHtcbiAgICAgICAgICAgICAgICBleHQgLT0gTWF0aC5jZWlsKGV4dCAvIDIpO1xuICAgICAgICAgICAgICAgIGV4dGVuZExpbmUoLWV4dCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbGluZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZ1bmN0aW9uIGdldExpbmUoYm94KSB7XG4gICAgICAgICAgICByZXR1cm4gW3tcbiAgICAgICAgICAgICAgICB4OiAoYm94WzFdWzBdIC0gYm94WzBdWzBdKSAvIDIgKyBib3hbMF1bMF0sXG4gICAgICAgICAgICAgICAgeTogKGJveFsxXVsxXSAtIGJveFswXVsxXSkgLyAyICsgYm94WzBdWzFdXG4gICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAgeDogKGJveFszXVswXSAtIGJveFsyXVswXSkgLyAyICsgYm94WzJdWzBdLFxuICAgICAgICAgICAgICAgIHk6IChib3hbM11bMV0gLSBib3hbMl1bMV0pIC8gMiArIGJveFsyXVsxXVxuICAgICAgICAgICAgfV07XG4gICAgICAgIH1cblxuICAgICAgICBmdW5jdGlvbiB0cnlEZWNvZGUobGluZSkge1xuICAgICAgICAgICAgdmFyIHJlc3VsdCA9IG51bGwsXG4gICAgICAgICAgICAgICAgaSxcbiAgICAgICAgICAgICAgICBiYXJjb2RlTGluZSA9IEJyZXNlbmhhbS5nZXRCYXJjb2RlTGluZShpbnB1dEltYWdlV3JhcHBlciwgbGluZVswXSwgbGluZVsxXSk7XG5cbiAgICAgICAgICAgIGlmIChFTlYuZGV2ZWxvcG1lbnQgJiYgY29uZmlnLmRlYnVnLnNob3dGcmVxdWVuY3kpIHtcbiAgICAgICAgICAgICAgICBJbWFnZURlYnVnLmRyYXdQYXRoKGxpbmUsIHt4OiAneCcsIHk6ICd5J30sIF9jYW52YXMuY3R4Lm92ZXJsYXksIHtjb2xvcjogJ3JlZCcsIGxpbmVXaWR0aDogM30pO1xuICAgICAgICAgICAgICAgIEJyZXNlbmhhbS5kZWJ1Zy5wcmludEZyZXF1ZW5jeShiYXJjb2RlTGluZS5saW5lLCBfY2FudmFzLmRvbS5mcmVxdWVuY3kpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBCcmVzZW5oYW0udG9CaW5hcnlMaW5lKGJhcmNvZGVMaW5lKTtcblxuICAgICAgICAgICAgaWYgKEVOVi5kZXZlbG9wbWVudCAmJiBjb25maWcuZGVidWcuc2hvd1BhdHRlcm4pIHtcbiAgICAgICAgICAgICAgICBCcmVzZW5oYW0uZGVidWcucHJpbnRQYXR0ZXJuKGJhcmNvZGVMaW5lLmxpbmUsIF9jYW52YXMuZG9tLnBhdHRlcm4pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmb3IgKCBpID0gMDsgaSA8IF9iYXJjb2RlUmVhZGVycy5sZW5ndGggJiYgcmVzdWx0ID09PSBudWxsOyBpKyspIHtcbiAgICAgICAgICAgICAgICByZXN1bHQgPSBfYmFyY29kZVJlYWRlcnNbaV0uZGVjb2RlUGF0dGVybihiYXJjb2RlTGluZS5saW5lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChyZXN1bHQgPT09IG51bGwpe1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBjb2RlUmVzdWx0OiByZXN1bHQsXG4gICAgICAgICAgICAgICAgYmFyY29kZUxpbmU6IGJhcmNvZGVMaW5lXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIFRoaXMgbWV0aG9kIHNsaWNlcyB0aGUgZ2l2ZW4gYXJlYSBhcGFydCBhbmQgdHJpZXMgdG8gZGV0ZWN0IGEgYmFyY29kZS1wYXR0ZXJuXG4gICAgICAgICAqIGZvciBlYWNoIHNsaWNlLiBJdCByZXR1cm5zIHRoZSBkZWNvZGVkIGJhcmNvZGUsIG9yIG51bGwgaWYgbm90aGluZyB3YXMgZm91bmRcbiAgICAgICAgICogQHBhcmFtIHtBcnJheX0gYm94XG4gICAgICAgICAqIEBwYXJhbSB7QXJyYXl9IGxpbmVcbiAgICAgICAgICogQHBhcmFtIHtOdW1iZXJ9IGxpbmVBbmdsZVxuICAgICAgICAgKi9cbiAgICAgICAgZnVuY3Rpb24gdHJ5RGVjb2RlQnJ1dGVGb3JjZShib3gsIGxpbmUsIGxpbmVBbmdsZSkge1xuICAgICAgICAgICAgdmFyIHNpZGVMZW5ndGggPSBNYXRoLnNxcnQoTWF0aC5wb3coYm94WzFdWzBdIC0gYm94WzBdWzBdLCAyKSArIE1hdGgucG93KChib3hbMV1bMV0gLSBib3hbMF1bMV0pLCAyKSksXG4gICAgICAgICAgICAgICAgaSxcbiAgICAgICAgICAgICAgICBzbGljZXMgPSAxNixcbiAgICAgICAgICAgICAgICByZXN1bHQgPSBudWxsLFxuICAgICAgICAgICAgICAgIGRpcixcbiAgICAgICAgICAgICAgICBleHRlbnNpb24sXG4gICAgICAgICAgICAgICAgeGRpciA9IE1hdGguc2luKGxpbmVBbmdsZSksXG4gICAgICAgICAgICAgICAgeWRpciA9IE1hdGguY29zKGxpbmVBbmdsZSk7XG5cbiAgICAgICAgICAgIGZvciAoIGkgPSAxOyBpIDwgc2xpY2VzICYmIHJlc3VsdCA9PT0gbnVsbDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgLy8gbW92ZSBsaW5lIHBlcnBlbmRpY3VsYXIgdG8gYW5nbGVcbiAgICAgICAgICAgICAgICBkaXIgPSBzaWRlTGVuZ3RoIC8gc2xpY2VzICogaSAqIChpICUgMiA9PT0gMCA/IC0xIDogMSk7XG4gICAgICAgICAgICAgICAgZXh0ZW5zaW9uID0ge1xuICAgICAgICAgICAgICAgICAgICB5OiBkaXIgKiB4ZGlyLFxuICAgICAgICAgICAgICAgICAgICB4OiBkaXIgKiB5ZGlyXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBsaW5lWzBdLnkgKz0gZXh0ZW5zaW9uLng7XG4gICAgICAgICAgICAgICAgbGluZVswXS54IC09IGV4dGVuc2lvbi55O1xuICAgICAgICAgICAgICAgIGxpbmVbMV0ueSArPSBleHRlbnNpb24ueDtcbiAgICAgICAgICAgICAgICBsaW5lWzFdLnggLT0gZXh0ZW5zaW9uLnk7XG5cbiAgICAgICAgICAgICAgICByZXN1bHQgPSB0cnlEZWNvZGUobGluZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9XG5cbiAgICAgICAgZnVuY3Rpb24gZ2V0TGluZUxlbmd0aChsaW5lKSB7XG4gICAgICAgICAgICByZXR1cm4gTWF0aC5zcXJ0KFxuICAgICAgICAgICAgICAgIE1hdGgucG93KE1hdGguYWJzKGxpbmVbMV0ueSAtIGxpbmVbMF0ueSksIDIpICtcbiAgICAgICAgICAgICAgICBNYXRoLnBvdyhNYXRoLmFicyhsaW5lWzFdLnggLSBsaW5lWzBdLngpLCAyKSk7XG4gICAgICAgIH1cblxuICAgICAgICAvKipcbiAgICAgICAgICogV2l0aCB0aGUgaGVscCBvZiB0aGUgY29uZmlndXJlZCByZWFkZXJzIChDb2RlMTI4IG9yIEVBTikgdGhpcyBmdW5jdGlvbiB0cmllcyB0byBkZXRlY3QgYVxuICAgICAgICAgKiB2YWxpZCBiYXJjb2RlIHBhdHRlcm4gd2l0aGluIHRoZSBnaXZlbiBhcmVhLlxuICAgICAgICAgKiBAcGFyYW0ge09iamVjdH0gYm94IFRoZSBhcmVhIHRvIHNlYXJjaCBpblxuICAgICAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSB0aGUgcmVzdWx0IHtjb2RlUmVzdWx0LCBsaW5lLCBhbmdsZSwgcGF0dGVybiwgdGhyZXNob2xkfVxuICAgICAgICAgKi9cbiAgICAgICAgZnVuY3Rpb24gZGVjb2RlRnJvbUJvdW5kaW5nQm94KGJveCkge1xuICAgICAgICAgICAgdmFyIGxpbmUsXG4gICAgICAgICAgICAgICAgbGluZUFuZ2xlLFxuICAgICAgICAgICAgICAgIGN0eCA9IF9jYW52YXMuY3R4Lm92ZXJsYXksXG4gICAgICAgICAgICAgICAgcmVzdWx0LFxuICAgICAgICAgICAgICAgIGxpbmVMZW5ndGg7XG5cbiAgICAgICAgICAgIGlmIChFTlYuZGV2ZWxvcG1lbnQpIHtcbiAgICAgICAgICAgICAgICBpZiAoY29uZmlnLmRlYnVnLmRyYXdCb3VuZGluZ0JveCAmJiBjdHgpIHtcbiAgICAgICAgICAgICAgICAgICAgSW1hZ2VEZWJ1Zy5kcmF3UGF0aChib3gsIHt4OiAwLCB5OiAxfSwgY3R4LCB7Y29sb3I6IFwiYmx1ZVwiLCBsaW5lV2lkdGg6IDJ9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxpbmUgPSBnZXRMaW5lKGJveCk7XG4gICAgICAgICAgICBsaW5lTGVuZ3RoID0gZ2V0TGluZUxlbmd0aChsaW5lKTtcbiAgICAgICAgICAgIGxpbmVBbmdsZSA9IE1hdGguYXRhbjIobGluZVsxXS55IC0gbGluZVswXS55LCBsaW5lWzFdLnggLSBsaW5lWzBdLngpO1xuICAgICAgICAgICAgbGluZSA9IGdldEV4dGVuZGVkTGluZShsaW5lLCBsaW5lQW5nbGUsIE1hdGguZmxvb3IobGluZUxlbmd0aCAqIDAuMSkpO1xuICAgICAgICAgICAgaWYgKGxpbmUgPT09IG51bGwpe1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXN1bHQgPSB0cnlEZWNvZGUobGluZSk7XG4gICAgICAgICAgICBpZiAocmVzdWx0ID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0ID0gdHJ5RGVjb2RlQnJ1dGVGb3JjZShib3gsIGxpbmUsIGxpbmVBbmdsZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChyZXN1bHQgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKEVOVi5kZXZlbG9wbWVudCAmJiByZXN1bHQgJiYgY29uZmlnLmRlYnVnLmRyYXdTY2FubGluZSAmJiBjdHgpIHtcbiAgICAgICAgICAgICAgICBJbWFnZURlYnVnLmRyYXdQYXRoKGxpbmUsIHt4OiAneCcsIHk6ICd5J30sIGN0eCwge2NvbG9yOiAncmVkJywgbGluZVdpZHRoOiAzfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgY29kZVJlc3VsdDogcmVzdWx0LmNvZGVSZXN1bHQsXG4gICAgICAgICAgICAgICAgbGluZTogbGluZSxcbiAgICAgICAgICAgICAgICBhbmdsZTogbGluZUFuZ2xlLFxuICAgICAgICAgICAgICAgIHBhdHRlcm46IHJlc3VsdC5iYXJjb2RlTGluZS5saW5lLFxuICAgICAgICAgICAgICAgIHRocmVzaG9sZDogcmVzdWx0LmJhcmNvZGVMaW5lLnRocmVzaG9sZFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBkZWNvZGVGcm9tQm91bmRpbmdCb3g6IGZ1bmN0aW9uKGJveCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBkZWNvZGVGcm9tQm91bmRpbmdCb3goYm94KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBkZWNvZGVGcm9tQm91bmRpbmdCb3hlczogZnVuY3Rpb24oYm94ZXMpIHtcbiAgICAgICAgICAgICAgICB2YXIgaSwgcmVzdWx0LFxuICAgICAgICAgICAgICAgICAgICBiYXJjb2RlcyA9IFtdLFxuICAgICAgICAgICAgICAgICAgICBtdWx0aXBsZSA9IGNvbmZpZy5tdWx0aXBsZTtcblxuICAgICAgICAgICAgICAgIGZvciAoIGkgPSAwOyBpIDwgYm94ZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYm94ID0gYm94ZXNbaV07XG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IGRlY29kZUZyb21Cb3VuZGluZ0JveChib3gpIHx8IHt9O1xuICAgICAgICAgICAgICAgICAgICByZXN1bHQuYm94ID0gYm94O1xuXG4gICAgICAgICAgICAgICAgICAgIGlmIChtdWx0aXBsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFyY29kZXMucHVzaChyZXN1bHQpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHJlc3VsdC5jb2RlUmVzdWx0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKG11bHRpcGxlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYXJjb2Rlc1xuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzZXRSZWFkZXJzOiBmdW5jdGlvbihyZWFkZXJzKSB7XG4gICAgICAgICAgICAgICAgY29uZmlnLnJlYWRlcnMgPSByZWFkZXJzO1xuICAgICAgICAgICAgICAgIF9iYXJjb2RlUmVhZGVycy5sZW5ndGggPSAwO1xuICAgICAgICAgICAgICAgIGluaXRSZWFkZXJzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfVxufTtcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3NyYy9kZWNvZGVyL2JhcmNvZGVfZGVjb2Rlci5qcyIsImltcG9ydCBJbWFnZVdyYXBwZXIgZnJvbSAnLi4vY29tbW9uL2ltYWdlX3dyYXBwZXInO1xuXG52YXIgQnJlc2VuaGFtID0ge307XG5cbnZhciBTbG9wZSA9IHtcbiAgICBESVI6IHtcbiAgICAgICAgVVA6IDEsXG4gICAgICAgIERPV046IC0xXG4gICAgfVxufTtcbi8qKlxuICogU2NhbnMgYSBsaW5lIG9mIHRoZSBnaXZlbiBpbWFnZSBmcm9tIHBvaW50IHAxIHRvIHAyIGFuZCByZXR1cm5zIGEgcmVzdWx0IG9iamVjdCBjb250YWluaW5nXG4gKiBncmF5LXNjYWxlIHZhbHVlcyAoMC0yNTUpIG9mIHRoZSB1bmRlcmx5aW5nIHBpeGVscyBpbiBhZGRpdGlvbiB0byB0aGUgbWluXG4gKiBhbmQgbWF4IHZhbHVlcy5cbiAqIEBwYXJhbSB7T2JqZWN0fSBpbWFnZVdyYXBwZXJcbiAqIEBwYXJhbSB7T2JqZWN0fSBwMSBUaGUgc3RhcnQgcG9pbnQge3gseX1cbiAqIEBwYXJhbSB7T2JqZWN0fSBwMiBUaGUgZW5kIHBvaW50IHt4LHl9XG4gKiBAcmV0dXJucyB7bGluZSwgbWluLCBtYXh9XG4gKi9cbkJyZXNlbmhhbS5nZXRCYXJjb2RlTGluZSA9IGZ1bmN0aW9uKGltYWdlV3JhcHBlciwgcDEsIHAyKSB7XG4gICAgdmFyIHgwID0gcDEueCB8IDAsXG4gICAgICAgIHkwID0gcDEueSB8IDAsXG4gICAgICAgIHgxID0gcDIueCB8IDAsXG4gICAgICAgIHkxID0gcDIueSB8IDAsXG4gICAgICAgIHN0ZWVwID0gTWF0aC5hYnMoeTEgLSB5MCkgPiBNYXRoLmFicyh4MSAtIHgwKSxcbiAgICAgICAgZGVsdGF4LFxuICAgICAgICBkZWx0YXksXG4gICAgICAgIGVycm9yLFxuICAgICAgICB5c3RlcCxcbiAgICAgICAgeSxcbiAgICAgICAgdG1wLFxuICAgICAgICB4LFxuICAgICAgICBsaW5lID0gW10sXG4gICAgICAgIGltYWdlRGF0YSA9IGltYWdlV3JhcHBlci5kYXRhLFxuICAgICAgICB3aWR0aCA9IGltYWdlV3JhcHBlci5zaXplLngsXG4gICAgICAgIHN1bSA9IDAsXG4gICAgICAgIHZhbCxcbiAgICAgICAgbWluID0gMjU1LFxuICAgICAgICBtYXggPSAwO1xuXG4gICAgZnVuY3Rpb24gcmVhZChhLCBiKSB7XG4gICAgICAgIHZhbCA9IGltYWdlRGF0YVtiICogd2lkdGggKyBhXTtcbiAgICAgICAgc3VtICs9IHZhbDtcbiAgICAgICAgbWluID0gdmFsIDwgbWluID8gdmFsIDogbWluO1xuICAgICAgICBtYXggPSB2YWwgPiBtYXggPyB2YWwgOiBtYXg7XG4gICAgICAgIGxpbmUucHVzaCh2YWwpO1xuICAgIH1cblxuICAgIGlmIChzdGVlcCkge1xuICAgICAgICB0bXAgPSB4MDtcbiAgICAgICAgeDAgPSB5MDtcbiAgICAgICAgeTAgPSB0bXA7XG5cbiAgICAgICAgdG1wID0geDE7XG4gICAgICAgIHgxID0geTE7XG4gICAgICAgIHkxID0gdG1wO1xuICAgIH1cbiAgICBpZiAoeDAgPiB4MSkge1xuICAgICAgICB0bXAgPSB4MDtcbiAgICAgICAgeDAgPSB4MTtcbiAgICAgICAgeDEgPSB0bXA7XG5cbiAgICAgICAgdG1wID0geTA7XG4gICAgICAgIHkwID0geTE7XG4gICAgICAgIHkxID0gdG1wO1xuICAgIH1cbiAgICBkZWx0YXggPSB4MSAtIHgwO1xuICAgIGRlbHRheSA9IE1hdGguYWJzKHkxIC0geTApO1xuICAgIGVycm9yID0gKGRlbHRheCAvIDIpIHwgMDtcbiAgICB5ID0geTA7XG4gICAgeXN0ZXAgPSB5MCA8IHkxID8gMSA6IC0xO1xuICAgIGZvciAoIHggPSB4MDsgeCA8IHgxOyB4KyspIHtcbiAgICAgICAgaWYgKHN0ZWVwKXtcbiAgICAgICAgICAgIHJlYWQoeSwgeCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZWFkKHgsIHkpO1xuICAgICAgICB9XG4gICAgICAgIGVycm9yID0gZXJyb3IgLSBkZWx0YXk7XG4gICAgICAgIGlmIChlcnJvciA8IDApIHtcbiAgICAgICAgICAgIHkgPSB5ICsgeXN0ZXA7XG4gICAgICAgICAgICBlcnJvciA9IGVycm9yICsgZGVsdGF4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgICAgbGluZTogbGluZSxcbiAgICAgICAgbWluOiBtaW4sXG4gICAgICAgIG1heDogbWF4XG4gICAgfTtcbn07XG5cbi8qKlxuICogQ29udmVydHMgdGhlIHJlc3VsdCBmcm9tIGdldEJhcmNvZGVMaW5lIGludG8gYSBiaW5hcnkgcmVwcmVzZW50YXRpb25cbiAqIGFsc28gY29uc2lkZXJpbmcgdGhlIGZyZXF1ZW5jeSBhbmQgc2xvcGUgb2YgdGhlIHNpZ25hbCBmb3IgbW9yZSByb2J1c3QgcmVzdWx0c1xuICogQHBhcmFtIHtPYmplY3R9IHJlc3VsdCB7bGluZSwgbWluLCBtYXh9XG4gKi9cbkJyZXNlbmhhbS50b0JpbmFyeUxpbmUgPSBmdW5jdGlvbihyZXN1bHQpIHtcbiAgICB2YXIgbWluID0gcmVzdWx0Lm1pbixcbiAgICAgICAgbWF4ID0gcmVzdWx0Lm1heCxcbiAgICAgICAgbGluZSA9IHJlc3VsdC5saW5lLFxuICAgICAgICBzbG9wZSxcbiAgICAgICAgc2xvcGUyLFxuICAgICAgICBjZW50ZXIgPSBtaW4gKyAobWF4IC0gbWluKSAvIDIsXG4gICAgICAgIGV4dHJlbWEgPSBbXSxcbiAgICAgICAgY3VycmVudERpcixcbiAgICAgICAgZGlyLFxuICAgICAgICB0aHJlc2hvbGQgPSAobWF4IC0gbWluKSAvIDEyLFxuICAgICAgICByVGhyZXNob2xkID0gLXRocmVzaG9sZCxcbiAgICAgICAgaSxcbiAgICAgICAgajtcblxuICAgIC8vIDEuIGZpbmQgZXh0cmVtYVxuICAgIGN1cnJlbnREaXIgPSBsaW5lWzBdID4gY2VudGVyID8gU2xvcGUuRElSLlVQIDogU2xvcGUuRElSLkRPV047XG4gICAgZXh0cmVtYS5wdXNoKHtcbiAgICAgICAgcG9zOiAwLFxuICAgICAgICB2YWw6IGxpbmVbMF1cbiAgICB9KTtcbiAgICBmb3IgKCBpID0gMDsgaSA8IGxpbmUubGVuZ3RoIC0gMjsgaSsrKSB7XG4gICAgICAgIHNsb3BlID0gKGxpbmVbaSArIDFdIC0gbGluZVtpXSk7XG4gICAgICAgIHNsb3BlMiA9IChsaW5lW2kgKyAyXSAtIGxpbmVbaSArIDFdKTtcbiAgICAgICAgaWYgKChzbG9wZSArIHNsb3BlMikgPCByVGhyZXNob2xkICYmIGxpbmVbaSArIDFdIDwgKGNlbnRlciAqIDEuNSkpIHtcbiAgICAgICAgICAgIGRpciA9IFNsb3BlLkRJUi5ET1dOO1xuICAgICAgICB9IGVsc2UgaWYgKChzbG9wZSArIHNsb3BlMikgPiB0aHJlc2hvbGQgJiYgbGluZVtpICsgMV0gPiAoY2VudGVyICogMC41KSkge1xuICAgICAgICAgICAgZGlyID0gU2xvcGUuRElSLlVQO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZGlyID0gY3VycmVudERpcjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjdXJyZW50RGlyICE9PSBkaXIpIHtcbiAgICAgICAgICAgIGV4dHJlbWEucHVzaCh7XG4gICAgICAgICAgICAgICAgcG9zOiBpLFxuICAgICAgICAgICAgICAgIHZhbDogbGluZVtpXVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBjdXJyZW50RGlyID0gZGlyO1xuICAgICAgICB9XG4gICAgfVxuICAgIGV4dHJlbWEucHVzaCh7XG4gICAgICAgIHBvczogbGluZS5sZW5ndGgsXG4gICAgICAgIHZhbDogbGluZVtsaW5lLmxlbmd0aCAtIDFdXG4gICAgfSk7XG5cbiAgICBmb3IgKCBqID0gZXh0cmVtYVswXS5wb3M7IGogPCBleHRyZW1hWzFdLnBvczsgaisrKSB7XG4gICAgICAgIGxpbmVbal0gPSBsaW5lW2pdID4gY2VudGVyID8gMCA6IDE7XG4gICAgfVxuXG4gICAgLy8gaXRlcmF0ZSBvdmVyIGV4dHJlbWEgYW5kIGNvbnZlcnQgdG8gYmluYXJ5IGJhc2VkIG9uIGF2ZyBiZXR3ZWVuIG1pbm1heFxuICAgIGZvciAoIGkgPSAxOyBpIDwgZXh0cmVtYS5sZW5ndGggLSAxOyBpKyspIHtcbiAgICAgICAgaWYgKGV4dHJlbWFbaSArIDFdLnZhbCA+IGV4dHJlbWFbaV0udmFsKSB7XG4gICAgICAgICAgICB0aHJlc2hvbGQgPSAoZXh0cmVtYVtpXS52YWwgKyAoKGV4dHJlbWFbaSArIDFdLnZhbCAtIGV4dHJlbWFbaV0udmFsKSAvIDMpICogMikgfCAwO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhyZXNob2xkID0gKGV4dHJlbWFbaSArIDFdLnZhbCArICgoZXh0cmVtYVtpXS52YWwgLSBleHRyZW1hW2kgKyAxXS52YWwpIC8gMykpIHwgMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAoIGogPSBleHRyZW1hW2ldLnBvczsgaiA8IGV4dHJlbWFbaSArIDFdLnBvczsgaisrKSB7XG4gICAgICAgICAgICBsaW5lW2pdID0gbGluZVtqXSA+IHRocmVzaG9sZCA/IDAgOiAxO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgICAgbGluZTogbGluZSxcbiAgICAgICAgdGhyZXNob2xkOiB0aHJlc2hvbGRcbiAgICB9O1xufTtcblxuLyoqXG4gKiBVc2VkIGZvciBkZXZlbG9wbWVudCBvbmx5XG4gKi9cbkJyZXNlbmhhbS5kZWJ1ZyA9IHtcbiAgICBwcmludEZyZXF1ZW5jeTogZnVuY3Rpb24obGluZSwgY2FudmFzKSB7XG4gICAgICAgIHZhciBpLFxuICAgICAgICAgICAgY3R4ID0gY2FudmFzLmdldENvbnRleHQoXCIyZFwiKTtcbiAgICAgICAgY2FudmFzLndpZHRoID0gbGluZS5sZW5ndGg7XG4gICAgICAgIGNhbnZhcy5oZWlnaHQgPSAyNTY7XG5cbiAgICAgICAgY3R4LmJlZ2luUGF0aCgpO1xuICAgICAgICBjdHguc3Ryb2tlU3R5bGUgPSBcImJsdWVcIjtcbiAgICAgICAgZm9yICggaSA9IDA7IGkgPCBsaW5lLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjdHgubW92ZVRvKGksIDI1NSk7XG4gICAgICAgICAgICBjdHgubGluZVRvKGksIDI1NSAtIGxpbmVbaV0pO1xuICAgICAgICB9XG4gICAgICAgIGN0eC5zdHJva2UoKTtcbiAgICAgICAgY3R4LmNsb3NlUGF0aCgpO1xuICAgIH0sXG5cbiAgICBwcmludFBhdHRlcm46IGZ1bmN0aW9uKGxpbmUsIGNhbnZhcykge1xuICAgICAgICB2YXIgY3R4ID0gY2FudmFzLmdldENvbnRleHQoXCIyZFwiKSwgaTtcblxuICAgICAgICBjYW52YXMud2lkdGggPSBsaW5lLmxlbmd0aDtcbiAgICAgICAgY3R4LmZpbGxDb2xvciA9IFwiYmxhY2tcIjtcbiAgICAgICAgZm9yICggaSA9IDA7IGkgPCBsaW5lLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAobGluZVtpXSA9PT0gMSkge1xuICAgICAgICAgICAgICAgIGN0eC5maWxsUmVjdChpLCAwLCAxLCAxMDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufTtcblxuZXhwb3J0IGRlZmF1bHQgQnJlc2VuaGFtO1xuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vc3JjL2RlY29kZXIvYnJlc2VuaGFtLmpzIiwiaW1wb3J0IHtvbWl0LCBwaWNrfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHtnZXRVc2VyTWVkaWEsIGVudW1lcmF0ZURldmljZXN9IGZyb20gJ21lZGlhRGV2aWNlcyc7XG5cbmNvbnN0IGZhY2luZ01hdGNoaW5nID0ge1xuICAgIFwidXNlclwiOiAvZnJvbnQvaSxcbiAgICBcImVudmlyb25tZW50XCI6IC9iYWNrL2lcbn07XG5cbnZhciBzdHJlYW1SZWY7XG5cbmZ1bmN0aW9uIHdhaXRGb3JWaWRlbyh2aWRlbykge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIGxldCBhdHRlbXB0cyA9IDEwO1xuXG4gICAgICAgIGZ1bmN0aW9uIGNoZWNrVmlkZW8oKSB7XG4gICAgICAgICAgICBpZiAoYXR0ZW1wdHMgPiAwKSB7XG4gICAgICAgICAgICAgICAgaWYgKHZpZGVvLnZpZGVvV2lkdGggPiAxMCAmJiB2aWRlby52aWRlb0hlaWdodCA+IDEwKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChFTlYuZGV2ZWxvcG1lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHZpZGVvLnZpZGVvV2lkdGggKyBcInB4IHggXCIgKyB2aWRlby52aWRlb0hlaWdodCArIFwicHhcIik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KGNoZWNrVmlkZW8sIDUwMCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZWplY3QoJ1VuYWJsZSB0byBwbGF5IHZpZGVvIHN0cmVhbS4gSXMgd2ViY2FtIHdvcmtpbmc/Jyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhdHRlbXB0cy0tO1xuICAgICAgICB9XG4gICAgICAgIGNoZWNrVmlkZW8oKTtcbiAgICB9KTtcbn1cblxuLyoqXG4gKiBUcmllcyB0byBhdHRhY2ggdGhlIGNhbWVyYS1zdHJlYW0gdG8gYSBnaXZlbiB2aWRlby1lbGVtZW50XG4gKiBhbmQgY2FsbHMgdGhlIGNhbGxiYWNrIGZ1bmN0aW9uIHdoZW4gdGhlIGNvbnRlbnQgaXMgcmVhZHlcbiAqIEBwYXJhbSB7T2JqZWN0fSBjb25zdHJhaW50c1xuICogQHBhcmFtIHtPYmplY3R9IHZpZGVvXG4gKi9cbmZ1bmN0aW9uIGluaXRDYW1lcmEodmlkZW8sIGNvbnN0cmFpbnRzKSB7XG4gICAgcmV0dXJuIGdldFVzZXJNZWRpYShjb25zdHJhaW50cylcbiAgICAudGhlbigoc3RyZWFtKSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgICAgICAgc3RyZWFtUmVmID0gc3RyZWFtO1xuICAgICAgICAgICAgdmlkZW8uc2V0QXR0cmlidXRlKFwiYXV0b3BsYXlcIiwgdHJ1ZSk7XG4gICAgICAgICAgICB2aWRlby5zZXRBdHRyaWJ1dGUoJ211dGVkJywgdHJ1ZSk7XG4gICAgICAgICAgICB2aWRlby5zZXRBdHRyaWJ1dGUoJ3BsYXlzaW5saW5lJywgdHJ1ZSk7XG4gICAgICAgICAgICB2aWRlby5zcmNPYmplY3QgPSBzdHJlYW07XG4gICAgICAgICAgICB2aWRlby5hZGRFdmVudExpc3RlbmVyKCdsb2FkZWRtZXRhZGF0YScsICgpID0+IHtcbiAgICAgICAgICAgICAgICB2aWRlby5wbGF5KCk7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH0pXG4gICAgLnRoZW4od2FpdEZvclZpZGVvLmJpbmQobnVsbCwgdmlkZW8pKTtcbn1cblxuZnVuY3Rpb24gZGVwcmVjYXRlZENvbnN0cmFpbnRzKHZpZGVvQ29uc3RyYWludHMpIHtcbiAgICBjb25zdCBub3JtYWxpemVkID0gcGljayh2aWRlb0NvbnN0cmFpbnRzLCBbXCJ3aWR0aFwiLCBcImhlaWdodFwiLCBcImZhY2luZ01vZGVcIixcbiAgICAgICAgICAgIFwiYXNwZWN0UmF0aW9cIiwgXCJkZXZpY2VJZFwiXSk7XG5cbiAgICBpZiAodHlwZW9mIHZpZGVvQ29uc3RyYWludHMubWluQXNwZWN0UmF0aW8gIT09ICd1bmRlZmluZWQnICYmXG4gICAgICAgICAgICB2aWRlb0NvbnN0cmFpbnRzLm1pbkFzcGVjdFJhdGlvID4gMCkge1xuICAgICAgICBub3JtYWxpemVkLmFzcGVjdFJhdGlvID0gdmlkZW9Db25zdHJhaW50cy5taW5Bc3BlY3RSYXRpbztcbiAgICAgICAgY29uc29sZS5sb2coXCJXQVJOSU5HOiBDb25zdHJhaW50ICdtaW5Bc3BlY3RSYXRpbycgaXMgZGVwcmVjYXRlZDsgVXNlICdhc3BlY3RSYXRpbycgaW5zdGVhZFwiKTtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiB2aWRlb0NvbnN0cmFpbnRzLmZhY2luZyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgbm9ybWFsaXplZC5mYWNpbmdNb2RlID0gdmlkZW9Db25zdHJhaW50cy5mYWNpbmc7XG4gICAgICAgIGNvbnNvbGUubG9nKFwiV0FSTklORzogQ29uc3RyYWludCAnZmFjaW5nJyBpcyBkZXByZWNhdGVkLiBVc2UgJ2ZhY2luZ01vZGUnIGluc3RlYWQnXCIpO1xuICAgIH1cbiAgICByZXR1cm4gbm9ybWFsaXplZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBpY2tDb25zdHJhaW50cyh2aWRlb0NvbnN0cmFpbnRzKSB7XG4gICAgY29uc3Qgbm9ybWFsaXplZENvbnN0cmFpbnRzID0ge1xuICAgICAgICBhdWRpbzogZmFsc2UsXG4gICAgICAgIHZpZGVvOiBkZXByZWNhdGVkQ29uc3RyYWludHModmlkZW9Db25zdHJhaW50cylcbiAgICB9O1xuXG4gICAgaWYgKG5vcm1hbGl6ZWRDb25zdHJhaW50cy52aWRlby5kZXZpY2VJZFxuICAgICAgICAgICAgJiYgbm9ybWFsaXplZENvbnN0cmFpbnRzLnZpZGVvLmZhY2luZ01vZGUpIHtcbiAgICAgICAgZGVsZXRlIG5vcm1hbGl6ZWRDb25zdHJhaW50cy52aWRlby5mYWNpbmdNb2RlO1xuICAgIH1cbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG5vcm1hbGl6ZWRDb25zdHJhaW50cyk7XG59XG5cbmZ1bmN0aW9uIGVudW1lcmF0ZVZpZGVvRGV2aWNlcygpIHtcbiAgICByZXR1cm4gZW51bWVyYXRlRGV2aWNlcygpXG4gICAgLnRoZW4oZGV2aWNlcyA9PiBkZXZpY2VzLmZpbHRlcihkZXZpY2UgPT4gZGV2aWNlLmtpbmQgPT09ICd2aWRlb2lucHV0JykpO1xufVxuXG5mdW5jdGlvbiBnZXRBY3RpdmVUcmFjaygpIHtcbiAgICBpZiAoc3RyZWFtUmVmKSB7XG4gICAgICAgIGNvbnN0IHRyYWNrcyA9IHN0cmVhbVJlZi5nZXRWaWRlb1RyYWNrcygpO1xuICAgICAgICBpZiAodHJhY2tzICYmIHRyYWNrcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiB0cmFja3NbMF07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgICByZXF1ZXN0OiBmdW5jdGlvbih2aWRlbywgdmlkZW9Db25zdHJhaW50cykge1xuICAgICAgICByZXR1cm4gcGlja0NvbnN0cmFpbnRzKHZpZGVvQ29uc3RyYWludHMpXG4gICAgICAgICAgICAudGhlbihpbml0Q2FtZXJhLmJpbmQobnVsbCwgdmlkZW8pKTtcbiAgICB9LFxuICAgIHJlbGVhc2U6IGZ1bmN0aW9uKCkge1xuICAgICAgICB2YXIgdHJhY2tzID0gc3RyZWFtUmVmICYmIHN0cmVhbVJlZi5nZXRWaWRlb1RyYWNrcygpO1xuICAgICAgICBpZiAodHJhY2tzICYmIHRyYWNrcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRyYWNrc1swXS5zdG9wKCk7XG4gICAgICAgIH1cbiAgICAgICAgc3RyZWFtUmVmID0gbnVsbDtcbiAgICB9LFxuICAgIGVudW1lcmF0ZVZpZGVvRGV2aWNlcyxcbiAgICBnZXRBY3RpdmVTdHJlYW1MYWJlbDogZnVuY3Rpb24oKSB7XG4gICAgICAgIGNvbnN0IHRyYWNrID0gZ2V0QWN0aXZlVHJhY2soKTtcbiAgICAgICAgcmV0dXJuIHRyYWNrID8gdHJhY2subGFiZWwgOiAnJztcbiAgICB9LFxuICAgIGdldEFjdGl2ZVRyYWNrXG59O1xuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vc3JjL2lucHV0L2NhbWVyYV9hY2Nlc3MuanMiLCIvLyBTY3JhcGVkIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL2V4aWYtanMvZXhpZi1qc1xuXG5jb25zdCBFeGlmVGFncyA9IHsweDAxMTI6IFwib3JpZW50YXRpb25cIn07XG5leHBvcnQgY29uc3QgQXZhaWxhYmxlVGFncyA9IE9iamVjdC5rZXlzKEV4aWZUYWdzKS5tYXAoa2V5ID0+IEV4aWZUYWdzW2tleV0pO1xuXG5leHBvcnQgZnVuY3Rpb24gZmluZFRhZ3NJbk9iamVjdFVSTChzcmMsIHRhZ3MgPSBBdmFpbGFibGVUYWdzKSB7XG4gICAgaWYgKC9eYmxvYlxcOi9pLnRlc3Qoc3JjKSkge1xuICAgICAgICByZXR1cm4gb2JqZWN0VVJMVG9CbG9iKHNyYylcbiAgICAgICAgICAgIC50aGVuKHJlYWRUb0J1ZmZlcilcbiAgICAgICAgICAgIC50aGVuKGJ1ZmZlciA9PiBmaW5kVGFnc0luQnVmZmVyKGJ1ZmZlciwgdGFncykpO1xuICAgIH1cbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG51bGwpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYmFzZTY0VG9BcnJheUJ1ZmZlcihkYXRhVXJsKSB7XG4gICAgY29uc3QgYmFzZTY0ID0gZGF0YVVybC5yZXBsYWNlKC9eZGF0YVxcOihbXlxcO10rKVxcO2Jhc2U2NCwvZ21pLCAnJyksXG4gICAgICAgIGJpbmFyeSA9IGF0b2IoYmFzZTY0KSxcbiAgICAgICAgbGVuID0gYmluYXJ5Lmxlbmd0aCxcbiAgICAgICAgYnVmZmVyID0gbmV3IEFycmF5QnVmZmVyKGxlbiksXG4gICAgICAgIHZpZXcgPSBuZXcgVWludDhBcnJheShidWZmZXIpO1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW47IGkrKykge1xuICAgICAgICB2aWV3W2ldID0gYmluYXJ5LmNoYXJDb2RlQXQoaSk7XG4gICAgfVxuICAgIHJldHVybiBidWZmZXI7XG59XG5cbmZ1bmN0aW9uIHJlYWRUb0J1ZmZlcihibG9iKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4ge1xuICAgICAgICBjb25zdCBmaWxlUmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgICAgZmlsZVJlYWRlci5vbmxvYWQgPSBmdW5jdGlvbihlKSB7XG4gICAgICAgICAgICByZXR1cm4gcmVzb2x2ZShlLnRhcmdldC5yZXN1bHQpO1xuICAgICAgICB9O1xuICAgICAgICBmaWxlUmVhZGVyLnJlYWRBc0FycmF5QnVmZmVyKGJsb2IpO1xuICAgIH0pO1xufVxuXG5mdW5jdGlvbiBvYmplY3RVUkxUb0Jsb2IodXJsKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgY29uc3QgaHR0cCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpO1xuICAgICAgICBodHRwLm9wZW4oXCJHRVRcIiwgdXJsLCB0cnVlKTtcbiAgICAgICAgaHR0cC5yZXNwb25zZVR5cGUgPSBcImJsb2JcIjtcbiAgICAgICAgaHR0cC5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBpZiAoaHR0cC5yZWFkeVN0YXRlID09PSBYTUxIdHRwUmVxdWVzdC5ET05FICYmIChodHRwLnN0YXR1cyA9PT0gMjAwIHx8IGh0dHAuc3RhdHVzID09PSAwKSkge1xuICAgICAgICAgICAgICAgIHJlc29sdmUodGhpcy5yZXNwb25zZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIGh0dHAub25lcnJvciA9IHJlamVjdDtcbiAgICAgICAgaHR0cC5zZW5kKCk7XG4gICAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaW5kVGFnc0luQnVmZmVyKGZpbGUsIHNlbGVjdGVkVGFncyA9IEF2YWlsYWJsZVRhZ3MpIHtcbiAgICBjb25zdCBkYXRhVmlldyA9IG5ldyBEYXRhVmlldyhmaWxlKSxcbiAgICAgICAgbGVuZ3RoID0gZmlsZS5ieXRlTGVuZ3RoLFxuICAgICAgICBleGlmVGFncyA9IHNlbGVjdGVkVGFncy5yZWR1Y2UoKHJlc3VsdCwgc2VsZWN0ZWRUYWcpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGV4aWZUYWcgPSBPYmplY3Qua2V5cyhFeGlmVGFncykuZmlsdGVyKHRhZyA9PiBFeGlmVGFnc1t0YWddID09PSBzZWxlY3RlZFRhZylbMF07XG4gICAgICAgICAgICBpZiAoZXhpZlRhZykge1xuICAgICAgICAgICAgICAgIHJlc3VsdFtleGlmVGFnXSA9IHNlbGVjdGVkVGFnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfSwge30pO1xuICAgIGxldCBvZmZzZXQgPSAyLFxuICAgICAgICBtYXJrZXI7XG5cbiAgICBpZiAoKGRhdGFWaWV3LmdldFVpbnQ4KDApICE9PSAweEZGKSB8fCAoZGF0YVZpZXcuZ2V0VWludDgoMSkgIT09IDB4RDgpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICB3aGlsZSAob2Zmc2V0IDwgbGVuZ3RoKSB7XG4gICAgICAgIGlmIChkYXRhVmlldy5nZXRVaW50OChvZmZzZXQpICE9PSAweEZGKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBtYXJrZXIgPSBkYXRhVmlldy5nZXRVaW50OChvZmZzZXQgKyAxKTtcbiAgICAgICAgaWYgKG1hcmtlciA9PT0gMHhFMSkge1xuICAgICAgICAgICAgcmV0dXJuIHJlYWRFWElGRGF0YShkYXRhVmlldywgb2Zmc2V0ICsgNCwgZXhpZlRhZ3MpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgb2Zmc2V0ICs9IDIgKyBkYXRhVmlldy5nZXRVaW50MTYob2Zmc2V0ICsgMik7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmZ1bmN0aW9uIHJlYWRFWElGRGF0YShmaWxlLCBzdGFydCwgZXhpZlRhZ3MpIHtcbiAgICBpZiAoZ2V0U3RyaW5nRnJvbUJ1ZmZlcihmaWxlLCBzdGFydCwgNCkgIT09IFwiRXhpZlwiKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb25zdCB0aWZmT2Zmc2V0ID0gc3RhcnQgKyA2O1xuICAgIGxldCBiaWdFbmQsXG4gICAgICAgIHRhZ3M7XG5cbiAgICBpZiAoZmlsZS5nZXRVaW50MTYodGlmZk9mZnNldCkgPT09IDB4NDk0OSkge1xuICAgICAgICBiaWdFbmQgPSBmYWxzZTtcbiAgICB9IGVsc2UgaWYgKGZpbGUuZ2V0VWludDE2KHRpZmZPZmZzZXQpID09PSAweDRENEQpIHtcbiAgICAgICAgYmlnRW5kID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKGZpbGUuZ2V0VWludDE2KHRpZmZPZmZzZXQgKyAyLCAhYmlnRW5kKSAhPT0gMHgwMDJBKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb25zdCBmaXJzdElGRE9mZnNldCA9IGZpbGUuZ2V0VWludDMyKHRpZmZPZmZzZXQgKyA0LCAhYmlnRW5kKTtcbiAgICBpZiAoZmlyc3RJRkRPZmZzZXQgPCAweDAwMDAwMDA4KSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICB0YWdzID0gcmVhZFRhZ3MoZmlsZSwgdGlmZk9mZnNldCwgdGlmZk9mZnNldCArIGZpcnN0SUZET2Zmc2V0LCBleGlmVGFncywgYmlnRW5kKTtcbiAgICByZXR1cm4gdGFncztcbn1cblxuZnVuY3Rpb24gcmVhZFRhZ3MoZmlsZSwgdGlmZlN0YXJ0LCBkaXJTdGFydCwgc3RyaW5ncywgYmlnRW5kKSB7XG4gICAgY29uc3QgZW50cmllcyA9IGZpbGUuZ2V0VWludDE2KGRpclN0YXJ0LCAhYmlnRW5kKSxcbiAgICAgICAgdGFncyA9IHt9O1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBlbnRyaWVzOyBpKyspIHtcbiAgICAgICAgY29uc3QgZW50cnlPZmZzZXQgPSBkaXJTdGFydCArIGkgKiAxMiArIDIsXG4gICAgICAgICAgICB0YWcgPSBzdHJpbmdzW2ZpbGUuZ2V0VWludDE2KGVudHJ5T2Zmc2V0LCAhYmlnRW5kKV07XG4gICAgICAgIGlmICh0YWcpIHtcbiAgICAgICAgICAgIHRhZ3NbdGFnXSA9IHJlYWRUYWdWYWx1ZShmaWxlLCBlbnRyeU9mZnNldCwgdGlmZlN0YXJ0LCBkaXJTdGFydCwgYmlnRW5kKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGFncztcbn1cblxuZnVuY3Rpb24gcmVhZFRhZ1ZhbHVlKGZpbGUsIGVudHJ5T2Zmc2V0LCB0aWZmU3RhcnQsIGRpclN0YXJ0LCBiaWdFbmQpIHtcbiAgICBjb25zdCB0eXBlID0gZmlsZS5nZXRVaW50MTYoZW50cnlPZmZzZXQgKyAyLCAhYmlnRW5kKSxcbiAgICAgICAgbnVtVmFsdWVzID0gZmlsZS5nZXRVaW50MzIoZW50cnlPZmZzZXQgKyA0LCAhYmlnRW5kKTtcblxuICAgIHN3aXRjaCAodHlwZSkge1xuICAgIGNhc2UgMzpcbiAgICAgICAgaWYgKG51bVZhbHVlcyA9PT0gMSkge1xuICAgICAgICAgICAgcmV0dXJuIGZpbGUuZ2V0VWludDE2KGVudHJ5T2Zmc2V0ICsgOCwgIWJpZ0VuZCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmZ1bmN0aW9uIGdldFN0cmluZ0Zyb21CdWZmZXIoYnVmZmVyLCBzdGFydCwgbGVuZ3RoKSB7XG4gICAgbGV0IG91dHN0ciA9IFwiXCI7XG4gICAgZm9yIChsZXQgbiA9IHN0YXJ0OyBuIDwgc3RhcnQgKyBsZW5ndGg7IG4rKykge1xuICAgICAgICBvdXRzdHIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShidWZmZXIuZ2V0VWludDgobikpO1xuICAgIH1cbiAgICByZXR1cm4gb3V0c3RyO1xufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vc3JjL2lucHV0L2V4aWZfaGVscGVyLmpzIiwiaW1wb3J0IHtcbiAgICBpbWFnZVJlZixcbiAgICBncmF5QW5kSGFsZlNhbXBsZUZyb21DYW52YXNEYXRhLFxuICAgIGNvbXB1dGVHcmF5XG59IGZyb20gJy4uL2NvbW1vbi9jdl91dGlscyc7XG5cbmNvbnN0IFRPX1JBRElBTlMgPSBNYXRoLlBJIC8gMTgwO1xuXG5mdW5jdGlvbiBhZGp1c3RDYW52YXNTaXplKGNhbnZhcywgdGFyZ2V0U2l6ZSkge1xuICAgIGlmIChjYW52YXMud2lkdGggIT09IHRhcmdldFNpemUueCkge1xuICAgICAgICBpZiAoRU5WLmRldmVsb3BtZW50KSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcIldBUk5JTkc6IGNhbnZhcy1zaXplIG5lZWRzIHRvIGJlIGFkanVzdGVkXCIpO1xuICAgICAgICB9XG4gICAgICAgIGNhbnZhcy53aWR0aCA9IHRhcmdldFNpemUueDtcbiAgICB9XG4gICAgaWYgKGNhbnZhcy5oZWlnaHQgIT09IHRhcmdldFNpemUueSkge1xuICAgICAgICBpZiAoRU5WLmRldmVsb3BtZW50KSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcIldBUk5JTkc6IGNhbnZhcy1zaXplIG5lZWRzIHRvIGJlIGFkanVzdGVkXCIpO1xuICAgICAgICB9XG4gICAgICAgIGNhbnZhcy5oZWlnaHQgPSB0YXJnZXRTaXplLnk7XG4gICAgfVxufVxuXG52YXIgRnJhbWVHcmFiYmVyID0ge307XG5cbkZyYW1lR3JhYmJlci5jcmVhdGUgPSBmdW5jdGlvbihpbnB1dFN0cmVhbSwgY2FudmFzKSB7XG4gICAgdmFyIF90aGF0ID0ge30sXG4gICAgICAgIF9zdHJlYW1Db25maWcgPSBpbnB1dFN0cmVhbS5nZXRDb25maWcoKSxcbiAgICAgICAgX3ZpZGVvX3NpemUgPSBpbWFnZVJlZihpbnB1dFN0cmVhbS5nZXRSZWFsV2lkdGgoKSwgaW5wdXRTdHJlYW0uZ2V0UmVhbEhlaWdodCgpKSxcbiAgICAgICAgX2NhbnZhc1NpemUgPSBpbnB1dFN0cmVhbS5nZXRDYW52YXNTaXplKCksXG4gICAgICAgIF9zaXplID0gaW1hZ2VSZWYoaW5wdXRTdHJlYW0uZ2V0V2lkdGgoKSwgaW5wdXRTdHJlYW0uZ2V0SGVpZ2h0KCkpLFxuICAgICAgICB0b3BSaWdodCA9IGlucHV0U3RyZWFtLmdldFRvcFJpZ2h0KCksXG4gICAgICAgIF9zeCA9IHRvcFJpZ2h0LngsXG4gICAgICAgIF9zeSA9IHRvcFJpZ2h0LnksXG4gICAgICAgIF9jYW52YXMsXG4gICAgICAgIF9jdHggPSBudWxsLFxuICAgICAgICBfZGF0YSA9IG51bGw7XG5cbiAgICBfY2FudmFzID0gY2FudmFzID8gY2FudmFzIDogZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImNhbnZhc1wiKTtcbiAgICBfY2FudmFzLndpZHRoID0gX2NhbnZhc1NpemUueDtcbiAgICBfY2FudmFzLmhlaWdodCA9IF9jYW52YXNTaXplLnk7XG4gICAgX2N0eCA9IF9jYW52YXMuZ2V0Q29udGV4dChcIjJkXCIpO1xuICAgIF9kYXRhID0gbmV3IFVpbnQ4QXJyYXkoX3NpemUueCAqIF9zaXplLnkpO1xuICAgIGlmIChFTlYuZGV2ZWxvcG1lbnQpIHtcbiAgICAgICAgY29uc29sZS5sb2coXCJGcmFtZUdyYWJiZXJcIiwgSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgc2l6ZTogX3NpemUsXG4gICAgICAgICAgICB0b3BSaWdodDogdG9wUmlnaHQsXG4gICAgICAgICAgICB2aWRlb1NpemU6IF92aWRlb19zaXplLFxuICAgICAgICAgICAgY2FudmFzU2l6ZTogX2NhbnZhc1NpemVcbiAgICAgICAgfSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVzZXMgdGhlIGdpdmVuIGFycmF5IGFzIGZyYW1lLWJ1ZmZlclxuICAgICAqL1xuICAgIF90aGF0LmF0dGFjaERhdGEgPSBmdW5jdGlvbihkYXRhKSB7XG4gICAgICAgIF9kYXRhID0gZGF0YTtcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgdXNlZCBmcmFtZS1idWZmZXJcbiAgICAgKi9cbiAgICBfdGhhdC5nZXREYXRhID0gZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfZGF0YTtcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogRmV0Y2hlcyBhIGZyYW1lIGZyb20gdGhlIGlucHV0LXN0cmVhbSBhbmQgcHV0cyBpbnRvIHRoZSBmcmFtZS1idWZmZXIuXG4gICAgICogVGhlIGltYWdlLWRhdGEgaXMgY29udmVydGVkIHRvIGdyYXktc2NhbGUgYW5kIHRoZW4gaGFsZi1zYW1wbGVkIGlmIGNvbmZpZ3VyZWQuXG4gICAgICovXG4gICAgX3RoYXQuZ3JhYiA9IGZ1bmN0aW9uKCkge1xuICAgICAgICB2YXIgZG9IYWxmU2FtcGxlID0gX3N0cmVhbUNvbmZpZy5oYWxmU2FtcGxlLFxuICAgICAgICAgICAgZnJhbWUgPSBpbnB1dFN0cmVhbS5nZXRGcmFtZSgpLFxuICAgICAgICAgICAgZHJhd2FibGUgPSBmcmFtZSxcbiAgICAgICAgICAgIGRyYXdBbmdsZSA9IDAsXG4gICAgICAgICAgICBjdHhEYXRhO1xuICAgICAgICBpZiAoZHJhd2FibGUpIHtcbiAgICAgICAgICAgIGFkanVzdENhbnZhc1NpemUoX2NhbnZhcywgX2NhbnZhc1NpemUpO1xuICAgICAgICAgICAgaWYgKF9zdHJlYW1Db25maWcudHlwZSA9PT0gJ0ltYWdlU3RyZWFtJykge1xuICAgICAgICAgICAgICAgIGRyYXdhYmxlID0gZnJhbWUuaW1nO1xuICAgICAgICAgICAgICAgIGlmIChmcmFtZS50YWdzICYmIGZyYW1lLnRhZ3Mub3JpZW50YXRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChmcmFtZS50YWdzLm9yaWVudGF0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgNjpcbiAgICAgICAgICAgICAgICAgICAgICAgIGRyYXdBbmdsZSA9IDkwICogVE9fUkFESUFOUztcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICBjYXNlIDg6XG4gICAgICAgICAgICAgICAgICAgICAgICBkcmF3QW5nbGUgPSAtOTAgKiBUT19SQURJQU5TO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChkcmF3QW5nbGUgIT09IDApIHtcbiAgICAgICAgICAgICAgICBfY3R4LnRyYW5zbGF0ZShfY2FudmFzU2l6ZS54IC8gMiwgX2NhbnZhc1NpemUueSAvIDIpO1xuICAgICAgICAgICAgICAgIF9jdHgucm90YXRlKGRyYXdBbmdsZSk7XG4gICAgICAgICAgICAgICAgX2N0eC5kcmF3SW1hZ2UoZHJhd2FibGUsIC1fY2FudmFzU2l6ZS55IC8gMiwgLV9jYW52YXNTaXplLnggLyAyLCBfY2FudmFzU2l6ZS55LCBfY2FudmFzU2l6ZS54KTtcbiAgICAgICAgICAgICAgICBfY3R4LnJvdGF0ZSgtZHJhd0FuZ2xlKTtcbiAgICAgICAgICAgICAgICBfY3R4LnRyYW5zbGF0ZSgtX2NhbnZhc1NpemUueCAvIDIsIC1fY2FudmFzU2l6ZS55IC8gMik7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIF9jdHguZHJhd0ltYWdlKGRyYXdhYmxlLCAwLCAwLCBfY2FudmFzU2l6ZS54LCBfY2FudmFzU2l6ZS55KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY3R4RGF0YSA9IF9jdHguZ2V0SW1hZ2VEYXRhKF9zeCwgX3N5LCBfc2l6ZS54LCBfc2l6ZS55KS5kYXRhO1xuICAgICAgICAgICAgaWYgKGRvSGFsZlNhbXBsZSl7XG4gICAgICAgICAgICAgICAgZ3JheUFuZEhhbGZTYW1wbGVGcm9tQ2FudmFzRGF0YShjdHhEYXRhLCBfc2l6ZSwgX2RhdGEpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb21wdXRlR3JheShjdHhEYXRhLCBfZGF0YSwgX3N0cmVhbUNvbmZpZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICBfdGhhdC5nZXRTaXplID0gZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfc2l6ZTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIF90aGF0O1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRnJhbWVHcmFiYmVyO1xuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vc3JjL2lucHV0L2ZyYW1lX2dyYWJiZXIuanMiLCJpbXBvcnQge2ZpbmRUYWdzSW5PYmplY3RVUkx9IGZyb20gJy4vZXhpZl9oZWxwZXInO1xuXG52YXIgSW1hZ2VMb2FkZXIgPSB7fTtcbkltYWdlTG9hZGVyLmxvYWQgPSBmdW5jdGlvbihkaXJlY3RvcnksIGNhbGxiYWNrLCBvZmZzZXQsIHNpemUsIHNlcXVlbmNlKSB7XG4gICAgdmFyIGh0bWxJbWFnZXNTcmNBcnJheSA9IG5ldyBBcnJheShzaXplKSxcbiAgICAgICAgaHRtbEltYWdlc0FycmF5ID0gbmV3IEFycmF5KGh0bWxJbWFnZXNTcmNBcnJheS5sZW5ndGgpLFxuICAgICAgICBpLFxuICAgICAgICBpbWcsXG4gICAgICAgIG51bTtcblxuICAgIGlmIChzZXF1ZW5jZSA9PT0gZmFsc2UpIHtcbiAgICAgICAgaHRtbEltYWdlc1NyY0FycmF5WzBdID0gZGlyZWN0b3J5O1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGZvciAoIGkgPSAwOyBpIDwgaHRtbEltYWdlc1NyY0FycmF5Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBudW0gPSAob2Zmc2V0ICsgaSk7XG4gICAgICAgICAgICBodG1sSW1hZ2VzU3JjQXJyYXlbaV0gPSBkaXJlY3RvcnkgKyBcImltYWdlLVwiICsgKFwiMDBcIiArIG51bSkuc2xpY2UoLTMpICsgXCIuanBnXCI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaHRtbEltYWdlc0FycmF5Lm5vdExvYWRlZCA9IFtdO1xuICAgIGh0bWxJbWFnZXNBcnJheS5hZGRJbWFnZSA9IGZ1bmN0aW9uKGltYWdlKSB7XG4gICAgICAgIGh0bWxJbWFnZXNBcnJheS5ub3RMb2FkZWQucHVzaChpbWFnZSk7XG4gICAgfTtcbiAgICBodG1sSW1hZ2VzQXJyYXkubG9hZGVkID0gZnVuY3Rpb24obG9hZGVkSW1nKSB7XG4gICAgICAgIHZhciBub3Rsb2FkZWRJbWdzID0gaHRtbEltYWdlc0FycmF5Lm5vdExvYWRlZDtcbiAgICAgICAgZm9yICh2YXIgeCA9IDA7IHggPCBub3Rsb2FkZWRJbWdzLmxlbmd0aDsgeCsrKSB7XG4gICAgICAgICAgICBpZiAobm90bG9hZGVkSW1nc1t4XSA9PT0gbG9hZGVkSW1nKSB7XG4gICAgICAgICAgICAgICAgbm90bG9hZGVkSW1ncy5zcGxpY2UoeCwgMSk7XG4gICAgICAgICAgICAgICAgZm9yICh2YXIgeSA9IDA7IHkgPCBodG1sSW1hZ2VzU3JjQXJyYXkubGVuZ3RoOyB5KyspIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGltZ05hbWUgPSBodG1sSW1hZ2VzU3JjQXJyYXlbeV0uc3Vic3RyKGh0bWxJbWFnZXNTcmNBcnJheVt5XS5sYXN0SW5kZXhPZihcIi9cIikpO1xuICAgICAgICAgICAgICAgICAgICBpZiAobG9hZGVkSW1nLnNyYy5sYXN0SW5kZXhPZihpbWdOYW1lKSAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGh0bWxJbWFnZXNBcnJheVt5XSA9IHtpbWc6IGxvYWRlZEltZ307XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAobm90bG9hZGVkSW1ncy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIGlmIChFTlYuZGV2ZWxvcG1lbnQpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcIkltYWdlcyBsb2FkZWRcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoc2VxdWVuY2UgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgZmluZFRhZ3NJbk9iamVjdFVSTChkaXJlY3RvcnksIFsnb3JpZW50YXRpb24nXSlcbiAgICAgICAgICAgICAgICAgICAgLnRoZW4odGFncyA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBodG1sSW1hZ2VzQXJyYXlbMF0udGFncyA9IHRhZ3M7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjayhodG1sSW1hZ2VzQXJyYXkpO1xuICAgICAgICAgICAgICAgICAgICB9KS5jYXRjaChlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2soaHRtbEltYWdlc0FycmF5KTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNhbGxiYWNrKGh0bWxJbWFnZXNBcnJheSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgZm9yICggaSA9IDA7IGkgPCBodG1sSW1hZ2VzU3JjQXJyYXkubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaW1nID0gbmV3IEltYWdlKCk7XG4gICAgICAgIGh0bWxJbWFnZXNBcnJheS5hZGRJbWFnZShpbWcpO1xuICAgICAgICBhZGRPbmxvYWRIYW5kbGVyKGltZywgaHRtbEltYWdlc0FycmF5KTtcbiAgICAgICAgaW1nLnNyYyA9IGh0bWxJbWFnZXNTcmNBcnJheVtpXTtcbiAgICB9XG59O1xuXG5mdW5jdGlvbiBhZGRPbmxvYWRIYW5kbGVyKGltZywgaHRtbEltYWdlc0FycmF5KSB7XG4gICAgaW1nLm9ubG9hZCA9IGZ1bmN0aW9uKCkge1xuICAgICAgICBodG1sSW1hZ2VzQXJyYXkubG9hZGVkKHRoaXMpO1xuICAgIH07XG59XG5cbmV4cG9ydCBkZWZhdWx0IChJbWFnZUxvYWRlcik7XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9zcmMvaW5wdXQvaW1hZ2VfbG9hZGVyLmpzIiwiaW1wb3J0IEltYWdlTG9hZGVyIGZyb20gJy4vaW1hZ2VfbG9hZGVyJztcblxudmFyIElucHV0U3RyZWFtID0ge307XG5JbnB1dFN0cmVhbS5jcmVhdGVWaWRlb1N0cmVhbSA9IGZ1bmN0aW9uKHZpZGVvKSB7XG4gICAgdmFyIHRoYXQgPSB7fSxcbiAgICAgICAgX2NvbmZpZyA9IG51bGwsXG4gICAgICAgIF9ldmVudE5hbWVzID0gWydjYW5yZWNvcmQnLCAnZW5kZWQnXSxcbiAgICAgICAgX2V2ZW50SGFuZGxlcnMgPSB7fSxcbiAgICAgICAgX2NhbGN1bGF0ZWRXaWR0aCxcbiAgICAgICAgX2NhbGN1bGF0ZWRIZWlnaHQsXG4gICAgICAgIF90b3BSaWdodCA9IHt4OiAwLCB5OiAwfSxcbiAgICAgICAgX2NhbnZhc1NpemUgPSB7eDogMCwgeTogMH07XG5cbiAgICBmdW5jdGlvbiBpbml0U2l6ZSgpIHtcbiAgICAgICAgdmFyIHdpZHRoID0gdmlkZW8udmlkZW9XaWR0aCxcbiAgICAgICAgICAgIGhlaWdodCA9IHZpZGVvLnZpZGVvSGVpZ2h0O1xuXG4gICAgICAgIF9jYWxjdWxhdGVkV2lkdGggPVxuICAgICAgICAgICAgX2NvbmZpZy5zaXplID8gd2lkdGggLyBoZWlnaHQgPiAxID8gX2NvbmZpZy5zaXplIDogTWF0aC5mbG9vcigod2lkdGggLyBoZWlnaHQpICogX2NvbmZpZy5zaXplKSA6IHdpZHRoO1xuICAgICAgICBfY2FsY3VsYXRlZEhlaWdodCA9XG4gICAgICAgICAgICBfY29uZmlnLnNpemUgPyB3aWR0aCAvIGhlaWdodCA+IDEgPyBNYXRoLmZsb29yKChoZWlnaHQgLyB3aWR0aCkgKiBfY29uZmlnLnNpemUpIDogX2NvbmZpZy5zaXplIDogaGVpZ2h0O1xuXG4gICAgICAgIF9jYW52YXNTaXplLnggPSBfY2FsY3VsYXRlZFdpZHRoO1xuICAgICAgICBfY2FudmFzU2l6ZS55ID0gX2NhbGN1bGF0ZWRIZWlnaHQ7XG4gICAgfVxuXG4gICAgdGhhdC5nZXRSZWFsV2lkdGggPSBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHZpZGVvLnZpZGVvV2lkdGg7XG4gICAgfTtcblxuICAgIHRoYXQuZ2V0UmVhbEhlaWdodCA9IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdmlkZW8udmlkZW9IZWlnaHQ7XG4gICAgfTtcblxuICAgIHRoYXQuZ2V0V2lkdGggPSBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF9jYWxjdWxhdGVkV2lkdGg7XG4gICAgfTtcblxuICAgIHRoYXQuZ2V0SGVpZ2h0ID0gZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfY2FsY3VsYXRlZEhlaWdodDtcbiAgICB9O1xuXG4gICAgdGhhdC5zZXRXaWR0aCA9IGZ1bmN0aW9uKHdpZHRoKSB7XG4gICAgICAgIF9jYWxjdWxhdGVkV2lkdGggPSB3aWR0aDtcbiAgICB9O1xuXG4gICAgdGhhdC5zZXRIZWlnaHQgPSBmdW5jdGlvbihoZWlnaHQpIHtcbiAgICAgICAgX2NhbGN1bGF0ZWRIZWlnaHQgPSBoZWlnaHQ7XG4gICAgfTtcblxuICAgIHRoYXQuc2V0SW5wdXRTdHJlYW0gPSBmdW5jdGlvbihjb25maWcpIHtcbiAgICAgICAgX2NvbmZpZyA9IGNvbmZpZztcbiAgICAgICAgdmlkZW8uc3JjID0gKHR5cGVvZiBjb25maWcuc3JjICE9PSAndW5kZWZpbmVkJykgPyBjb25maWcuc3JjIDogJyc7XG4gICAgfTtcblxuICAgIHRoYXQuZW5kZWQgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHZpZGVvLmVuZGVkO1xuICAgIH07XG5cbiAgICB0aGF0LmdldENvbmZpZyA9IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX2NvbmZpZztcbiAgICB9O1xuXG4gICAgdGhhdC5zZXRBdHRyaWJ1dGUgPSBmdW5jdGlvbihuYW1lLCB2YWx1ZSkge1xuICAgICAgICB2aWRlby5zZXRBdHRyaWJ1dGUobmFtZSwgdmFsdWUpO1xuICAgIH07XG5cbiAgICB0aGF0LnBhdXNlID0gZnVuY3Rpb24oKSB7XG4gICAgICAgIHZpZGVvLnBhdXNlKCk7XG4gICAgfTtcblxuICAgIHRoYXQucGxheSA9IGZ1bmN0aW9uKCkge1xuICAgICAgICB2aWRlby5wbGF5KCk7XG4gICAgfTtcblxuICAgIHRoYXQuc2V0Q3VycmVudFRpbWUgPSBmdW5jdGlvbih0aW1lKSB7XG4gICAgICAgIGlmIChfY29uZmlnLnR5cGUgIT09IFwiTGl2ZVN0cmVhbVwiKSB7XG4gICAgICAgICAgICB2aWRlby5jdXJyZW50VGltZSA9IHRpbWU7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgdGhhdC5hZGRFdmVudExpc3RlbmVyID0gZnVuY3Rpb24oZXZlbnQsIGYsIGJvb2wpIHtcbiAgICAgICAgaWYgKF9ldmVudE5hbWVzLmluZGV4T2YoZXZlbnQpICE9PSAtMSkge1xuICAgICAgICAgICAgaWYgKCFfZXZlbnRIYW5kbGVyc1tldmVudF0pIHtcbiAgICAgICAgICAgICAgICBfZXZlbnRIYW5kbGVyc1tldmVudF0gPSBbXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF9ldmVudEhhbmRsZXJzW2V2ZW50XS5wdXNoKGYpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdmlkZW8uYWRkRXZlbnRMaXN0ZW5lcihldmVudCwgZiwgYm9vbCk7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgdGhhdC5jbGVhckV2ZW50SGFuZGxlcnMgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgX2V2ZW50TmFtZXMuZm9yRWFjaChmdW5jdGlvbihldmVudE5hbWUpIHtcbiAgICAgICAgICAgIHZhciBoYW5kbGVycyA9IF9ldmVudEhhbmRsZXJzW2V2ZW50TmFtZV07XG4gICAgICAgICAgICBpZiAoaGFuZGxlcnMgJiYgaGFuZGxlcnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGhhbmRsZXJzLmZvckVhY2goZnVuY3Rpb24oaGFuZGxlcikge1xuICAgICAgICAgICAgICAgICAgICB2aWRlby5yZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50TmFtZSwgaGFuZGxlcik7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH07XG5cbiAgICB0aGF0LnRyaWdnZXIgPSBmdW5jdGlvbihldmVudE5hbWUsIGFyZ3MpIHtcbiAgICAgICAgdmFyIGosXG4gICAgICAgICAgICBoYW5kbGVycyA9IF9ldmVudEhhbmRsZXJzW2V2ZW50TmFtZV07XG5cbiAgICAgICAgaWYgKGV2ZW50TmFtZSA9PT0gJ2NhbnJlY29yZCcpIHtcbiAgICAgICAgICAgIGluaXRTaXplKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGhhbmRsZXJzICYmIGhhbmRsZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGZvciAoIGogPSAwOyBqIDwgaGFuZGxlcnMubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICAgICAgICBoYW5kbGVyc1tqXS5hcHBseSh0aGF0LCBhcmdzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH07XG5cbiAgICB0aGF0LnNldFRvcFJpZ2h0ID0gZnVuY3Rpb24odG9wUmlnaHQpIHtcbiAgICAgICAgX3RvcFJpZ2h0LnggPSB0b3BSaWdodC54O1xuICAgICAgICBfdG9wUmlnaHQueSA9IHRvcFJpZ2h0Lnk7XG4gICAgfTtcblxuICAgIHRoYXQuZ2V0VG9wUmlnaHQgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF90b3BSaWdodDtcbiAgICB9O1xuXG4gICAgdGhhdC5zZXRDYW52YXNTaXplID0gZnVuY3Rpb24oc2l6ZSkge1xuICAgICAgICBfY2FudmFzU2l6ZS54ID0gc2l6ZS54O1xuICAgICAgICBfY2FudmFzU2l6ZS55ID0gc2l6ZS55O1xuICAgIH07XG5cbiAgICB0aGF0LmdldENhbnZhc1NpemUgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF9jYW52YXNTaXplO1xuICAgIH07XG5cbiAgICB0aGF0LmdldEZyYW1lID0gZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB2aWRlbztcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoYXQ7XG59O1xuXG5JbnB1dFN0cmVhbS5jcmVhdGVMaXZlU3RyZWFtID0gZnVuY3Rpb24odmlkZW8pIHtcbiAgICB2aWRlby5zZXRBdHRyaWJ1dGUoXCJhdXRvcGxheVwiLCB0cnVlKTtcbiAgICB2YXIgdGhhdCA9IElucHV0U3RyZWFtLmNyZWF0ZVZpZGVvU3RyZWFtKHZpZGVvKTtcblxuICAgIHRoYXQuZW5kZWQgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH07XG5cbiAgICByZXR1cm4gdGhhdDtcbn07XG5cbklucHV0U3RyZWFtLmNyZWF0ZUltYWdlU3RyZWFtID0gZnVuY3Rpb24oKSB7XG4gICAgdmFyIHRoYXQgPSB7fTtcbiAgICB2YXIgX2NvbmZpZyA9IG51bGw7XG5cbiAgICB2YXIgd2lkdGggPSAwLFxuICAgICAgICBoZWlnaHQgPSAwLFxuICAgICAgICBmcmFtZUlkeCA9IDAsXG4gICAgICAgIHBhdXNlZCA9IHRydWUsXG4gICAgICAgIGxvYWRlZCA9IGZhbHNlLFxuICAgICAgICBpbWdBcnJheSA9IG51bGwsXG4gICAgICAgIHNpemUgPSAwLFxuICAgICAgICBvZmZzZXQgPSAxLFxuICAgICAgICBiYXNlVXJsID0gbnVsbCxcbiAgICAgICAgZW5kZWQgPSBmYWxzZSxcbiAgICAgICAgY2FsY3VsYXRlZFdpZHRoLFxuICAgICAgICBjYWxjdWxhdGVkSGVpZ2h0LFxuICAgICAgICBfZXZlbnROYW1lcyA9IFsnY2FucmVjb3JkJywgJ2VuZGVkJ10sXG4gICAgICAgIF9ldmVudEhhbmRsZXJzID0ge30sXG4gICAgICAgIF90b3BSaWdodCA9IHt4OiAwLCB5OiAwfSxcbiAgICAgICAgX2NhbnZhc1NpemUgPSB7eDogMCwgeTogMH07XG5cbiAgICBmdW5jdGlvbiBsb2FkSW1hZ2VzKCkge1xuICAgICAgICBsb2FkZWQgPSBmYWxzZTtcbiAgICAgICAgSW1hZ2VMb2FkZXIubG9hZChiYXNlVXJsLCBmdW5jdGlvbihpbWdzKSB7XG4gICAgICAgICAgICBpbWdBcnJheSA9IGltZ3M7XG4gICAgICAgICAgICBpZiAoaW1nc1swXS50YWdzICYmIGltZ3NbMF0udGFncy5vcmllbnRhdGlvbikge1xuICAgICAgICAgICAgICAgIHN3aXRjaCAoaW1nc1swXS50YWdzLm9yaWVudGF0aW9uKSB7XG4gICAgICAgICAgICAgICAgY2FzZSA2OlxuICAgICAgICAgICAgICAgIGNhc2UgODpcbiAgICAgICAgICAgICAgICAgICAgd2lkdGggPSBpbWdzWzBdLmltZy5oZWlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodCA9IGltZ3NbMF0uaW1nLndpZHRoO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICB3aWR0aCA9IGltZ3NbMF0uaW1nLndpZHRoO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQgPSBpbWdzWzBdLmltZy5oZWlnaHQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB3aWR0aCA9IGltZ3NbMF0uaW1nLndpZHRoO1xuICAgICAgICAgICAgICAgIGhlaWdodCA9IGltZ3NbMF0uaW1nLmhlaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhbGN1bGF0ZWRXaWR0aCA9XG4gICAgICAgICAgICAgICAgX2NvbmZpZy5zaXplID8gd2lkdGggLyBoZWlnaHQgPiAxID8gX2NvbmZpZy5zaXplIDogTWF0aC5mbG9vcigod2lkdGggLyBoZWlnaHQpICogX2NvbmZpZy5zaXplKSA6IHdpZHRoO1xuICAgICAgICAgICAgY2FsY3VsYXRlZEhlaWdodCA9XG4gICAgICAgICAgICAgICAgX2NvbmZpZy5zaXplID8gd2lkdGggLyBoZWlnaHQgPiAxID8gTWF0aC5mbG9vcigoaGVpZ2h0IC8gd2lkdGgpICogX2NvbmZpZy5zaXplKSA6IF9jb25maWcuc2l6ZSA6IGhlaWdodDtcbiAgICAgICAgICAgIF9jYW52YXNTaXplLnggPSBjYWxjdWxhdGVkV2lkdGg7XG4gICAgICAgICAgICBfY2FudmFzU2l6ZS55ID0gY2FsY3VsYXRlZEhlaWdodDtcbiAgICAgICAgICAgIGxvYWRlZCA9IHRydWU7XG4gICAgICAgICAgICBmcmFtZUlkeCA9IDA7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgICAgIHB1Ymxpc2hFdmVudChcImNhbnJlY29yZFwiLCBbXSk7XG4gICAgICAgICAgICB9LCAwKTtcbiAgICAgICAgfSwgb2Zmc2V0LCBzaXplLCBfY29uZmlnLnNlcXVlbmNlKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBwdWJsaXNoRXZlbnQoZXZlbnROYW1lLCBhcmdzKSB7XG4gICAgICAgIHZhciBqLFxuICAgICAgICAgICAgaGFuZGxlcnMgPSBfZXZlbnRIYW5kbGVyc1tldmVudE5hbWVdO1xuXG4gICAgICAgIGlmIChoYW5kbGVycyAmJiBoYW5kbGVycy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBmb3IgKCBqID0gMDsgaiA8IGhhbmRsZXJzLmxlbmd0aDsgaisrKSB7XG4gICAgICAgICAgICAgICAgaGFuZGxlcnNbal0uYXBwbHkodGhhdCwgYXJncyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIHRoYXQudHJpZ2dlciA9IHB1Ymxpc2hFdmVudDtcblxuICAgIHRoYXQuZ2V0V2lkdGggPSBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGNhbGN1bGF0ZWRXaWR0aDtcbiAgICB9O1xuXG4gICAgdGhhdC5nZXRIZWlnaHQgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGNhbGN1bGF0ZWRIZWlnaHQ7XG4gICAgfTtcblxuICAgIHRoYXQuc2V0V2lkdGggPSBmdW5jdGlvbihuZXdXaWR0aCkge1xuICAgICAgICBjYWxjdWxhdGVkV2lkdGggPSBuZXdXaWR0aDtcbiAgICB9O1xuXG4gICAgdGhhdC5zZXRIZWlnaHQgPSBmdW5jdGlvbihuZXdIZWlnaHQpIHtcbiAgICAgICAgY2FsY3VsYXRlZEhlaWdodCA9IG5ld0hlaWdodDtcbiAgICB9O1xuXG4gICAgdGhhdC5nZXRSZWFsV2lkdGggPSBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHdpZHRoO1xuICAgIH07XG5cbiAgICB0aGF0LmdldFJlYWxIZWlnaHQgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGhlaWdodDtcbiAgICB9O1xuXG4gICAgdGhhdC5zZXRJbnB1dFN0cmVhbSA9IGZ1bmN0aW9uKHN0cmVhbSkge1xuICAgICAgICBfY29uZmlnID0gc3RyZWFtO1xuICAgICAgICBpZiAoc3RyZWFtLnNlcXVlbmNlID09PSBmYWxzZSkge1xuICAgICAgICAgICAgYmFzZVVybCA9IHN0cmVhbS5zcmM7XG4gICAgICAgICAgICBzaXplID0gMTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGJhc2VVcmwgPSBzdHJlYW0uc3JjO1xuICAgICAgICAgICAgc2l6ZSA9IHN0cmVhbS5sZW5ndGg7XG4gICAgICAgIH1cbiAgICAgICAgbG9hZEltYWdlcygpO1xuICAgIH07XG5cbiAgICB0aGF0LmVuZGVkID0gZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBlbmRlZDtcbiAgICB9O1xuXG4gICAgdGhhdC5zZXRBdHRyaWJ1dGUgPSBmdW5jdGlvbigpIHt9O1xuXG4gICAgdGhhdC5nZXRDb25maWcgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF9jb25maWc7XG4gICAgfTtcblxuICAgIHRoYXQucGF1c2UgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgcGF1c2VkID0gdHJ1ZTtcbiAgICB9O1xuXG4gICAgdGhhdC5wbGF5ID0gZnVuY3Rpb24oKSB7XG4gICAgICAgIHBhdXNlZCA9IGZhbHNlO1xuICAgIH07XG5cbiAgICB0aGF0LnNldEN1cnJlbnRUaW1lID0gZnVuY3Rpb24odGltZSkge1xuICAgICAgICBmcmFtZUlkeCA9IHRpbWU7XG4gICAgfTtcblxuICAgIHRoYXQuYWRkRXZlbnRMaXN0ZW5lciA9IGZ1bmN0aW9uKGV2ZW50LCBmKSB7XG4gICAgICAgIGlmIChfZXZlbnROYW1lcy5pbmRleE9mKGV2ZW50KSAhPT0gLTEpIHtcbiAgICAgICAgICAgIGlmICghX2V2ZW50SGFuZGxlcnNbZXZlbnRdKSB7XG4gICAgICAgICAgICAgICAgX2V2ZW50SGFuZGxlcnNbZXZlbnRdID0gW107XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBfZXZlbnRIYW5kbGVyc1tldmVudF0ucHVzaChmKTtcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICB0aGF0LnNldFRvcFJpZ2h0ID0gZnVuY3Rpb24odG9wUmlnaHQpIHtcbiAgICAgICAgX3RvcFJpZ2h0LnggPSB0b3BSaWdodC54O1xuICAgICAgICBfdG9wUmlnaHQueSA9IHRvcFJpZ2h0Lnk7XG4gICAgfTtcblxuICAgIHRoYXQuZ2V0VG9wUmlnaHQgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF90b3BSaWdodDtcbiAgICB9O1xuXG4gICAgdGhhdC5zZXRDYW52YXNTaXplID0gZnVuY3Rpb24oY2FudmFzU2l6ZSkge1xuICAgICAgICBfY2FudmFzU2l6ZS54ID0gY2FudmFzU2l6ZS54O1xuICAgICAgICBfY2FudmFzU2l6ZS55ID0gY2FudmFzU2l6ZS55O1xuICAgIH07XG5cbiAgICB0aGF0LmdldENhbnZhc1NpemUgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF9jYW52YXNTaXplO1xuICAgIH07XG5cbiAgICB0aGF0LmdldEZyYW1lID0gZnVuY3Rpb24oKSB7XG4gICAgICAgIHZhciBmcmFtZTtcblxuICAgICAgICBpZiAoIWxvYWRlZCl7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXBhdXNlZCkge1xuICAgICAgICAgICAgZnJhbWUgPSBpbWdBcnJheVtmcmFtZUlkeF07XG4gICAgICAgICAgICBpZiAoZnJhbWVJZHggPCAoc2l6ZSAtIDEpKSB7XG4gICAgICAgICAgICAgICAgZnJhbWVJZHgrKztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHtcbiAgICAgICAgICAgICAgICAgICAgZW5kZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICBwdWJsaXNoRXZlbnQoXCJlbmRlZFwiLCBbXSk7XG4gICAgICAgICAgICAgICAgfSwgMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZyYW1lO1xuICAgIH07XG5cbiAgICByZXR1cm4gdGhhdDtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IElucHV0U3RyZWFtO1xuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vc3JjL2lucHV0L2lucHV0X3N0cmVhbS5qcyIsImltcG9ydCBJbWFnZVdyYXBwZXIgZnJvbSAnLi4vY29tbW9uL2ltYWdlX3dyYXBwZXInO1xuaW1wb3J0IHtcbiAgICBjYWxjdWxhdGVQYXRjaFNpemUsXG4gICAgb3RzdVRocmVzaG9sZCxcbiAgICBoc3YycmdiLFxuICAgIGNsdXN0ZXIsXG4gICAgdG9wR2VuZXJpYyxcbiAgICBpbWFnZVJlZixcbiAgICBoYWxmU2FtcGxlLFxuICAgIGNvbXB1dGVJbWFnZUFyZWFcbn0gZnJvbSAnLi4vY29tbW9uL2N2X3V0aWxzJztcbmltcG9ydCBBcnJheUhlbHBlciBmcm9tICcuLi9jb21tb24vYXJyYXlfaGVscGVyJztcbmltcG9ydCBJbWFnZURlYnVnIGZyb20gJy4uL2NvbW1vbi9pbWFnZV9kZWJ1Zyc7XG5pbXBvcnQgUmFzdGVyaXplciBmcm9tICcuL3Jhc3Rlcml6ZXInO1xuaW1wb3J0IFRyYWNlciBmcm9tICcuL3RyYWNlcic7XG5pbXBvcnQgc2tlbGV0b25pemVyIGZyb20gJy4vc2tlbGV0b25pemVyJztcbmNvbnN0IHZlYzIgPSB7XG4gICAgY2xvbmU6IHJlcXVpcmUoJ2dsLXZlYzIvY2xvbmUnKSxcbiAgICBkb3Q6ICByZXF1aXJlKCdnbC12ZWMyL2RvdCcpLFxuICAgIHNjYWxlOiByZXF1aXJlKCdnbC12ZWMyL3NjYWxlJyksXG4gICAgdHJhbnNmb3JtTWF0MjogcmVxdWlyZSgnZ2wtdmVjMi90cmFuc2Zvcm1NYXQyJylcbn07XG5jb25zdCBtYXQyID0ge1xuICAgIGNvcHk6IHJlcXVpcmUoJ2dsLW1hdDIvY29weScpLFxuICAgIGNyZWF0ZTogcmVxdWlyZSgnZ2wtbWF0Mi9jcmVhdGUnKSxcbiAgICBpbnZlcnQ6IHJlcXVpcmUoJ2dsLW1hdDIvaW52ZXJ0Jylcbn1cblxudmFyIF9jb25maWcsXG4gICAgX2N1cnJlbnRJbWFnZVdyYXBwZXIsXG4gICAgX3NrZWxJbWFnZVdyYXBwZXIsXG4gICAgX3N1YkltYWdlV3JhcHBlcixcbiAgICBfbGFiZWxJbWFnZVdyYXBwZXIsXG4gICAgX3BhdGNoR3JpZCxcbiAgICBfcGF0Y2hMYWJlbEdyaWQsXG4gICAgX2ltYWdlVG9QYXRjaEdyaWQsXG4gICAgX2JpbmFyeUltYWdlV3JhcHBlcixcbiAgICBfcGF0Y2hTaXplLFxuICAgIF9jYW52YXNDb250YWluZXIgPSB7XG4gICAgICAgIGN0eDoge1xuICAgICAgICAgICAgYmluYXJ5OiBudWxsXG4gICAgICAgIH0sXG4gICAgICAgIGRvbToge1xuICAgICAgICAgICAgYmluYXJ5OiBudWxsXG4gICAgICAgIH1cbiAgICB9LFxuICAgIF9udW1QYXRjaGVzID0ge3g6IDAsIHk6IDB9LFxuICAgIF9pbnB1dEltYWdlV3JhcHBlcixcbiAgICBfc2tlbGV0b25pemVyO1xuXG5mdW5jdGlvbiBpbml0QnVmZmVycygpIHtcbiAgICB2YXIgc2tlbGV0b25JbWFnZURhdGE7XG5cbiAgICBpZiAoX2NvbmZpZy5oYWxmU2FtcGxlKSB7XG4gICAgICAgIF9jdXJyZW50SW1hZ2VXcmFwcGVyID0gbmV3IEltYWdlV3JhcHBlcih7XG4gICAgICAgICAgICB4OiBfaW5wdXRJbWFnZVdyYXBwZXIuc2l6ZS54IC8gMiB8IDAsXG4gICAgICAgICAgICB5OiBfaW5wdXRJbWFnZVdyYXBwZXIuc2l6ZS55IC8gMiB8IDBcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgX2N1cnJlbnRJbWFnZVdyYXBwZXIgPSBfaW5wdXRJbWFnZVdyYXBwZXI7XG4gICAgfVxuXG4gICAgX3BhdGNoU2l6ZSA9IGNhbGN1bGF0ZVBhdGNoU2l6ZShfY29uZmlnLnBhdGNoU2l6ZSwgX2N1cnJlbnRJbWFnZVdyYXBwZXIuc2l6ZSk7XG5cbiAgICBfbnVtUGF0Y2hlcy54ID0gX2N1cnJlbnRJbWFnZVdyYXBwZXIuc2l6ZS54IC8gX3BhdGNoU2l6ZS54IHwgMDtcbiAgICBfbnVtUGF0Y2hlcy55ID0gX2N1cnJlbnRJbWFnZVdyYXBwZXIuc2l6ZS55IC8gX3BhdGNoU2l6ZS55IHwgMDtcblxuICAgIF9iaW5hcnlJbWFnZVdyYXBwZXIgPSBuZXcgSW1hZ2VXcmFwcGVyKF9jdXJyZW50SW1hZ2VXcmFwcGVyLnNpemUsIHVuZGVmaW5lZCwgVWludDhBcnJheSwgZmFsc2UpO1xuXG4gICAgX2xhYmVsSW1hZ2VXcmFwcGVyID0gbmV3IEltYWdlV3JhcHBlcihfcGF0Y2hTaXplLCB1bmRlZmluZWQsIEFycmF5LCB0cnVlKTtcblxuICAgIHNrZWxldG9uSW1hZ2VEYXRhID0gbmV3IEFycmF5QnVmZmVyKDY0ICogMTAyNCk7XG4gICAgX3N1YkltYWdlV3JhcHBlciA9IG5ldyBJbWFnZVdyYXBwZXIoX3BhdGNoU2l6ZSxcbiAgICAgICAgbmV3IFVpbnQ4QXJyYXkoc2tlbGV0b25JbWFnZURhdGEsIDAsIF9wYXRjaFNpemUueCAqIF9wYXRjaFNpemUueSkpO1xuICAgIF9za2VsSW1hZ2VXcmFwcGVyID0gbmV3IEltYWdlV3JhcHBlcihfcGF0Y2hTaXplLFxuICAgICAgICBuZXcgVWludDhBcnJheShza2VsZXRvbkltYWdlRGF0YSwgX3BhdGNoU2l6ZS54ICogX3BhdGNoU2l6ZS55ICogMywgX3BhdGNoU2l6ZS54ICogX3BhdGNoU2l6ZS55KSxcbiAgICAgICAgdW5kZWZpbmVkLCB0cnVlKTtcbiAgICBfc2tlbGV0b25pemVyID0gc2tlbGV0b25pemVyKCh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykgPyB3aW5kb3cgOiAodHlwZW9mIHNlbGYgIT09ICd1bmRlZmluZWQnKSA/IHNlbGYgOiBnbG9iYWwsIHtcbiAgICAgICAgc2l6ZTogX3BhdGNoU2l6ZS54XG4gICAgfSwgc2tlbGV0b25JbWFnZURhdGEpO1xuXG4gICAgX2ltYWdlVG9QYXRjaEdyaWQgPSBuZXcgSW1hZ2VXcmFwcGVyKHtcbiAgICAgICAgeDogKF9jdXJyZW50SW1hZ2VXcmFwcGVyLnNpemUueCAvIF9zdWJJbWFnZVdyYXBwZXIuc2l6ZS54KSB8IDAsXG4gICAgICAgIHk6IChfY3VycmVudEltYWdlV3JhcHBlci5zaXplLnkgLyBfc3ViSW1hZ2VXcmFwcGVyLnNpemUueSkgfCAwXG4gICAgfSwgdW5kZWZpbmVkLCBBcnJheSwgdHJ1ZSk7XG4gICAgX3BhdGNoR3JpZCA9IG5ldyBJbWFnZVdyYXBwZXIoX2ltYWdlVG9QYXRjaEdyaWQuc2l6ZSwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHRydWUpO1xuICAgIF9wYXRjaExhYmVsR3JpZCA9IG5ldyBJbWFnZVdyYXBwZXIoX2ltYWdlVG9QYXRjaEdyaWQuc2l6ZSwgdW5kZWZpbmVkLCBJbnQzMkFycmF5LCB0cnVlKTtcbn1cblxuZnVuY3Rpb24gaW5pdENhbnZhcygpIHtcbiAgICBpZiAoX2NvbmZpZy51c2VXb3JrZXIgfHwgdHlwZW9mIGRvY3VtZW50ID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIF9jYW52YXNDb250YWluZXIuZG9tLmJpbmFyeSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJjYW52YXNcIik7XG4gICAgX2NhbnZhc0NvbnRhaW5lci5kb20uYmluYXJ5LmNsYXNzTmFtZSA9IFwiYmluYXJ5QnVmZmVyXCI7XG4gICAgaWYgKEVOVi5kZXZlbG9wbWVudCAmJiBfY29uZmlnLmRlYnVnLnNob3dDYW52YXMgPT09IHRydWUpIHtcbiAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcIiNkZWJ1Z1wiKS5hcHBlbmRDaGlsZChfY2FudmFzQ29udGFpbmVyLmRvbS5iaW5hcnkpO1xuICAgIH1cbiAgICBfY2FudmFzQ29udGFpbmVyLmN0eC5iaW5hcnkgPSBfY2FudmFzQ29udGFpbmVyLmRvbS5iaW5hcnkuZ2V0Q29udGV4dChcIjJkXCIpO1xuICAgIF9jYW52YXNDb250YWluZXIuZG9tLmJpbmFyeS53aWR0aCA9IF9iaW5hcnlJbWFnZVdyYXBwZXIuc2l6ZS54O1xuICAgIF9jYW52YXNDb250YWluZXIuZG9tLmJpbmFyeS5oZWlnaHQgPSBfYmluYXJ5SW1hZ2VXcmFwcGVyLnNpemUueTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgYm91bmRpbmcgYm94IHdoaWNoIGVuY2xvc2VzIGFsbCB0aGUgZ2l2ZW4gcGF0Y2hlc1xuICogQHJldHVybnMge0FycmF5fSBUaGUgbWluaW1hbCBib3VuZGluZyBib3hcbiAqL1xuZnVuY3Rpb24gYm94RnJvbVBhdGNoZXMocGF0Y2hlcykge1xuICAgIHZhciBvdmVyQXZnLFxuICAgICAgICBpLFxuICAgICAgICBqLFxuICAgICAgICBwYXRjaCxcbiAgICAgICAgdHJhbnNNYXQsXG4gICAgICAgIG1pbnggPVxuICAgICAgICBfYmluYXJ5SW1hZ2VXcmFwcGVyLnNpemUueCxcbiAgICAgICAgbWlueSA9IF9iaW5hcnlJbWFnZVdyYXBwZXIuc2l6ZS55LFxuICAgICAgICBtYXh4ID0gLV9iaW5hcnlJbWFnZVdyYXBwZXIuc2l6ZS54LFxuICAgICAgICBtYXh5ID0gLV9iaW5hcnlJbWFnZVdyYXBwZXIuc2l6ZS55LFxuICAgICAgICBib3gsXG4gICAgICAgIHNjYWxlO1xuXG4gICAgLy8gZHJhdyBhbGwgcGF0Y2hlcyB3aGljaCBhcmUgdG8gYmUgdGFrZW4gaW50byBjb25zaWRlcmF0aW9uXG4gICAgb3ZlckF2ZyA9IDA7XG4gICAgZm9yICggaSA9IDA7IGkgPCBwYXRjaGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHBhdGNoID0gcGF0Y2hlc1tpXTtcbiAgICAgICAgb3ZlckF2ZyArPSBwYXRjaC5yYWQ7XG4gICAgICAgIGlmIChFTlYuZGV2ZWxvcG1lbnQgJiYgX2NvbmZpZy5kZWJ1Zy5zaG93UGF0Y2hlcykge1xuICAgICAgICAgICAgSW1hZ2VEZWJ1Zy5kcmF3UmVjdChwYXRjaC5wb3MsIF9zdWJJbWFnZVdyYXBwZXIuc2l6ZSwgX2NhbnZhc0NvbnRhaW5lci5jdHguYmluYXJ5LCB7Y29sb3I6IFwicmVkXCJ9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG92ZXJBdmcgLz0gcGF0Y2hlcy5sZW5ndGg7XG4gICAgb3ZlckF2ZyA9IChvdmVyQXZnICogMTgwIC8gTWF0aC5QSSArIDkwKSAlIDE4MCAtIDkwO1xuICAgIGlmIChvdmVyQXZnIDwgMCkge1xuICAgICAgICBvdmVyQXZnICs9IDE4MDtcbiAgICB9XG5cbiAgICBvdmVyQXZnID0gKDE4MCAtIG92ZXJBdmcpICogTWF0aC5QSSAvIDE4MDtcbiAgICB0cmFuc01hdCA9IG1hdDIuY29weShtYXQyLmNyZWF0ZSgpLCBbTWF0aC5jb3Mob3ZlckF2ZyksIE1hdGguc2luKG92ZXJBdmcpLCAtTWF0aC5zaW4ob3ZlckF2ZyksIE1hdGguY29zKG92ZXJBdmcpXSk7XG5cbiAgICAvLyBpdGVyYXRlIG92ZXIgcGF0Y2hlcyBhbmQgcm90YXRlIGJ5IGFuZ2xlXG4gICAgZm9yICggaSA9IDA7IGkgPCBwYXRjaGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHBhdGNoID0gcGF0Y2hlc1tpXTtcbiAgICAgICAgZm9yICggaiA9IDA7IGogPCA0OyBqKyspIHtcbiAgICAgICAgICAgIHZlYzIudHJhbnNmb3JtTWF0MihwYXRjaC5ib3hbal0sIHBhdGNoLmJveFtqXSwgdHJhbnNNYXQpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKEVOVi5kZXZlbG9wbWVudCAmJiBfY29uZmlnLmRlYnVnLmJveEZyb21QYXRjaGVzLnNob3dUcmFuc2Zvcm1lZCkge1xuICAgICAgICAgICAgSW1hZ2VEZWJ1Zy5kcmF3UGF0aChwYXRjaC5ib3gsIHt4OiAwLCB5OiAxfSwgX2NhbnZhc0NvbnRhaW5lci5jdHguYmluYXJ5LCB7Y29sb3I6ICcjOTlmZjAwJywgbGluZVdpZHRoOiAyfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBmaW5kIGJvdW5kaW5nIGJveFxuICAgIGZvciAoIGkgPSAwOyBpIDwgcGF0Y2hlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICBwYXRjaCA9IHBhdGNoZXNbaV07XG4gICAgICAgIGZvciAoIGogPSAwOyBqIDwgNDsgaisrKSB7XG4gICAgICAgICAgICBpZiAocGF0Y2guYm94W2pdWzBdIDwgbWlueCkge1xuICAgICAgICAgICAgICAgIG1pbnggPSBwYXRjaC5ib3hbal1bMF07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAocGF0Y2guYm94W2pdWzBdID4gbWF4eCkge1xuICAgICAgICAgICAgICAgIG1heHggPSBwYXRjaC5ib3hbal1bMF07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAocGF0Y2guYm94W2pdWzFdIDwgbWlueSkge1xuICAgICAgICAgICAgICAgIG1pbnkgPSBwYXRjaC5ib3hbal1bMV07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAocGF0Y2guYm94W2pdWzFdID4gbWF4eSkge1xuICAgICAgICAgICAgICAgIG1heHkgPSBwYXRjaC5ib3hbal1bMV07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBib3ggPSBbW21pbngsIG1pbnldLCBbbWF4eCwgbWlueV0sIFttYXh4LCBtYXh5XSwgW21pbngsIG1heHldXTtcblxuICAgIGlmIChFTlYuZGV2ZWxvcG1lbnQgJiYgX2NvbmZpZy5kZWJ1Zy5ib3hGcm9tUGF0Y2hlcy5zaG93VHJhbnNmb3JtZWRCb3gpIHtcbiAgICAgICAgSW1hZ2VEZWJ1Zy5kcmF3UGF0aChib3gsIHt4OiAwLCB5OiAxfSwgX2NhbnZhc0NvbnRhaW5lci5jdHguYmluYXJ5LCB7Y29sb3I6ICcjZmYwMDAwJywgbGluZVdpZHRoOiAyfSk7XG4gICAgfVxuXG4gICAgc2NhbGUgPSBfY29uZmlnLmhhbGZTYW1wbGUgPyAyIDogMTtcbiAgICAvLyByZXZlcnNlIHJvdGF0aW9uO1xuICAgIHRyYW5zTWF0ID0gbWF0Mi5pbnZlcnQodHJhbnNNYXQsIHRyYW5zTWF0KTtcbiAgICBmb3IgKCBqID0gMDsgaiA8IDQ7IGorKykge1xuICAgICAgICB2ZWMyLnRyYW5zZm9ybU1hdDIoYm94W2pdLCBib3hbal0sIHRyYW5zTWF0KTtcbiAgICB9XG5cbiAgICBpZiAoRU5WLmRldmVsb3BtZW50ICYmIF9jb25maWcuZGVidWcuYm94RnJvbVBhdGNoZXMuc2hvd0JCKSB7XG4gICAgICAgIEltYWdlRGVidWcuZHJhd1BhdGgoYm94LCB7eDogMCwgeTogMX0sIF9jYW52YXNDb250YWluZXIuY3R4LmJpbmFyeSwge2NvbG9yOiAnI2ZmMDAwMCcsIGxpbmVXaWR0aDogMn0pO1xuICAgIH1cblxuICAgIGZvciAoIGogPSAwOyBqIDwgNDsgaisrKSB7XG4gICAgICAgIHZlYzIuc2NhbGUoYm94W2pdLCBib3hbal0sIHNjYWxlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gYm94O1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBiaW5hcnkgaW1hZ2Ugb2YgdGhlIGN1cnJlbnQgaW1hZ2VcbiAqL1xuZnVuY3Rpb24gYmluYXJpemVJbWFnZSgpIHtcbiAgICBvdHN1VGhyZXNob2xkKF9jdXJyZW50SW1hZ2VXcmFwcGVyLCBfYmluYXJ5SW1hZ2VXcmFwcGVyKTtcbiAgICBfYmluYXJ5SW1hZ2VXcmFwcGVyLnplcm9Cb3JkZXIoKTtcbiAgICBpZiAoRU5WLmRldmVsb3BtZW50ICYmIF9jb25maWcuZGVidWcuc2hvd0NhbnZhcykge1xuICAgICAgICBfYmluYXJ5SW1hZ2VXcmFwcGVyLnNob3coX2NhbnZhc0NvbnRhaW5lci5kb20uYmluYXJ5LCAyNTUpO1xuICAgIH1cbn1cblxuLyoqXG4gKiBJdGVyYXRlIG92ZXIgdGhlIGVudGlyZSBpbWFnZVxuICogZXh0cmFjdCBwYXRjaGVzXG4gKi9cbmZ1bmN0aW9uIGZpbmRQYXRjaGVzKCkge1xuICAgIHZhciBpLFxuICAgICAgICBqLFxuICAgICAgICB4LFxuICAgICAgICB5LFxuICAgICAgICBtb21lbnRzLFxuICAgICAgICBwYXRjaGVzRm91bmQgPSBbXSxcbiAgICAgICAgcmFzdGVyaXplcixcbiAgICAgICAgcmFzdGVyUmVzdWx0LFxuICAgICAgICBwYXRjaDtcbiAgICBmb3IgKGkgPSAwOyBpIDwgX251bVBhdGNoZXMueDsgaSsrKSB7XG4gICAgICAgIGZvciAoaiA9IDA7IGogPCBfbnVtUGF0Y2hlcy55OyBqKyspIHtcbiAgICAgICAgICAgIHggPSBfc3ViSW1hZ2VXcmFwcGVyLnNpemUueCAqIGk7XG4gICAgICAgICAgICB5ID0gX3N1YkltYWdlV3JhcHBlci5zaXplLnkgKiBqO1xuXG4gICAgICAgICAgICAvLyBzZXBlcmF0ZSBwYXJ0c1xuICAgICAgICAgICAgc2tlbGV0b25pemUoeCwgeSk7XG5cbiAgICAgICAgICAgIC8vIFJhc3Rlcml6ZSwgZmluZCBpbmRpdmlkdWFsIGJhcnNcbiAgICAgICAgICAgIF9za2VsSW1hZ2VXcmFwcGVyLnplcm9Cb3JkZXIoKTtcbiAgICAgICAgICAgIEFycmF5SGVscGVyLmluaXQoX2xhYmVsSW1hZ2VXcmFwcGVyLmRhdGEsIDApO1xuICAgICAgICAgICAgcmFzdGVyaXplciA9IFJhc3Rlcml6ZXIuY3JlYXRlKF9za2VsSW1hZ2VXcmFwcGVyLCBfbGFiZWxJbWFnZVdyYXBwZXIpO1xuICAgICAgICAgICAgcmFzdGVyUmVzdWx0ID0gcmFzdGVyaXplci5yYXN0ZXJpemUoMCk7XG5cbiAgICAgICAgICAgIGlmIChFTlYuZGV2ZWxvcG1lbnQgJiYgX2NvbmZpZy5kZWJ1Zy5zaG93TGFiZWxzKSB7XG4gICAgICAgICAgICAgICAgX2xhYmVsSW1hZ2VXcmFwcGVyLm92ZXJsYXkoX2NhbnZhc0NvbnRhaW5lci5kb20uYmluYXJ5LCBNYXRoLmZsb29yKDM2MCAvIHJhc3RlclJlc3VsdC5jb3VudCksXG4gICAgICAgICAgICAgICAgICAgIHt4OiB4LCB5OiB5fSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGNhbGN1bGF0ZSBtb21lbnRzIGZyb20gdGhlIHNrZWxldG9uaXplZCBwYXRjaFxuICAgICAgICAgICAgbW9tZW50cyA9IF9sYWJlbEltYWdlV3JhcHBlci5tb21lbnRzKHJhc3RlclJlc3VsdC5jb3VudCk7XG5cbiAgICAgICAgICAgIC8vIGV4dHJhY3QgZWxpZ2libGUgcGF0Y2hlc1xuICAgICAgICAgICAgcGF0Y2hlc0ZvdW5kID0gcGF0Y2hlc0ZvdW5kLmNvbmNhdChkZXNjcmliZVBhdGNoKG1vbWVudHMsIFtpLCBqXSwgeCwgeSkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaWYgKEVOVi5kZXZlbG9wbWVudCAmJiBfY29uZmlnLmRlYnVnLnNob3dGb3VuZFBhdGNoZXMpIHtcbiAgICAgICAgZm9yICggaSA9IDA7IGkgPCBwYXRjaGVzRm91bmQubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIHBhdGNoID0gcGF0Y2hlc0ZvdW5kW2ldO1xuICAgICAgICAgICAgSW1hZ2VEZWJ1Zy5kcmF3UmVjdChwYXRjaC5wb3MsIF9zdWJJbWFnZVdyYXBwZXIuc2l6ZSwgX2NhbnZhc0NvbnRhaW5lci5jdHguYmluYXJ5LFxuICAgICAgICAgICAgICAgIHtjb2xvcjogXCIjOTlmZjAwXCIsIGxpbmVXaWR0aDogMn0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhdGNoZXNGb3VuZDtcbn1cblxuLyoqXG4gKiBGaW5kcyB0aG9zZSBjb25uZWN0ZWQgYXJlYXMgd2hpY2ggY29udGFpbiBhdCBsZWFzdCA2IHBhdGNoZXNcbiAqIGFuZCByZXR1cm5zIHRoZW0gb3JkZXJlZCBERVNDIGJ5IHRoZSBudW1iZXIgb2YgY29udGFpbmVkIHBhdGNoZXNcbiAqIEBwYXJhbSB7TnVtYmVyfSBtYXhMYWJlbFxuICovXG5mdW5jdGlvbiBmaW5kQmlnZ2VzdENvbm5lY3RlZEFyZWFzKG1heExhYmVsKXtcbiAgICB2YXIgaSxcbiAgICAgICAgc3VtLFxuICAgICAgICBsYWJlbEhpc3QgPSBbXSxcbiAgICAgICAgdG9wTGFiZWxzID0gW107XG5cbiAgICBmb3IgKCBpID0gMDsgaSA8IG1heExhYmVsOyBpKyspIHtcbiAgICAgICAgbGFiZWxIaXN0LnB1c2goMCk7XG4gICAgfVxuICAgIHN1bSA9IF9wYXRjaExhYmVsR3JpZC5kYXRhLmxlbmd0aDtcbiAgICB3aGlsZSAoc3VtLS0pIHtcbiAgICAgICAgaWYgKF9wYXRjaExhYmVsR3JpZC5kYXRhW3N1bV0gPiAwKSB7XG4gICAgICAgICAgICBsYWJlbEhpc3RbX3BhdGNoTGFiZWxHcmlkLmRhdGFbc3VtXSAtIDFdKys7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsYWJlbEhpc3QgPSBsYWJlbEhpc3QubWFwKGZ1bmN0aW9uKHZhbCwgaWR4KSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB2YWw6IHZhbCxcbiAgICAgICAgICAgIGxhYmVsOiBpZHggKyAxXG4gICAgICAgIH07XG4gICAgfSk7XG5cbiAgICBsYWJlbEhpc3Quc29ydChmdW5jdGlvbihhLCBiKSB7XG4gICAgICAgIHJldHVybiBiLnZhbCAtIGEudmFsO1xuICAgIH0pO1xuXG4gICAgLy8gZXh0cmFjdCB0b3AgYXJlYXMgd2l0aCBhdCBsZWFzdCA2IHBhdGNoZXMgcHJlc2VudFxuICAgIHRvcExhYmVscyA9IGxhYmVsSGlzdC5maWx0ZXIoZnVuY3Rpb24oZWwpIHtcbiAgICAgICAgcmV0dXJuIGVsLnZhbCA+PSA1O1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRvcExhYmVscztcbn1cblxuLyoqXG4gKlxuICovXG5mdW5jdGlvbiBmaW5kQm94ZXModG9wTGFiZWxzLCBtYXhMYWJlbCkge1xuICAgIHZhciBpLFxuICAgICAgICBqLFxuICAgICAgICBzdW0sXG4gICAgICAgIHBhdGNoZXMgPSBbXSxcbiAgICAgICAgcGF0Y2gsXG4gICAgICAgIGJveCxcbiAgICAgICAgYm94ZXMgPSBbXSxcbiAgICAgICAgaHN2ID0gWzAsIDEsIDFdLFxuICAgICAgICByZ2IgPSBbMCwgMCwgMF07XG5cbiAgICBmb3IgKCBpID0gMDsgaSA8IHRvcExhYmVscy5sZW5ndGg7IGkrKykge1xuICAgICAgICBzdW0gPSBfcGF0Y2hMYWJlbEdyaWQuZGF0YS5sZW5ndGg7XG4gICAgICAgIHBhdGNoZXMubGVuZ3RoID0gMDtcbiAgICAgICAgd2hpbGUgKHN1bS0tKSB7XG4gICAgICAgICAgICBpZiAoX3BhdGNoTGFiZWxHcmlkLmRhdGFbc3VtXSA9PT0gdG9wTGFiZWxzW2ldLmxhYmVsKSB7XG4gICAgICAgICAgICAgICAgcGF0Y2ggPSBfaW1hZ2VUb1BhdGNoR3JpZC5kYXRhW3N1bV07XG4gICAgICAgICAgICAgICAgcGF0Y2hlcy5wdXNoKHBhdGNoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBib3ggPSBib3hGcm9tUGF0Y2hlcyhwYXRjaGVzKTtcbiAgICAgICAgaWYgKGJveCkge1xuICAgICAgICAgICAgYm94ZXMucHVzaChib3gpO1xuXG4gICAgICAgICAgICAvLyBkcmF3IHBhdGNoLWxhYmVscyBpZiByZXF1ZXN0ZWRcbiAgICAgICAgICAgIGlmIChFTlYuZGV2ZWxvcG1lbnQgJiYgX2NvbmZpZy5kZWJ1Zy5zaG93UmVtYWluaW5nUGF0Y2hMYWJlbHMpIHtcbiAgICAgICAgICAgICAgICBmb3IgKCBqID0gMDsgaiA8IHBhdGNoZXMubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICAgICAgICAgICAgcGF0Y2ggPSBwYXRjaGVzW2pdO1xuICAgICAgICAgICAgICAgICAgICBoc3ZbMF0gPSAodG9wTGFiZWxzW2ldLmxhYmVsIC8gKG1heExhYmVsICsgMSkpICogMzYwO1xuICAgICAgICAgICAgICAgICAgICBoc3YycmdiKGhzdiwgcmdiKTtcbiAgICAgICAgICAgICAgICAgICAgSW1hZ2VEZWJ1Zy5kcmF3UmVjdChwYXRjaC5wb3MsIF9zdWJJbWFnZVdyYXBwZXIuc2l6ZSwgX2NhbnZhc0NvbnRhaW5lci5jdHguYmluYXJ5LFxuICAgICAgICAgICAgICAgICAgICAgICAge2NvbG9yOiBcInJnYihcIiArIHJnYi5qb2luKFwiLFwiKSArIFwiKVwiLCBsaW5lV2lkdGg6IDJ9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGJveGVzO1xufVxuXG4vKipcbiAqIEZpbmQgc2ltaWxhciBtb21lbnRzICh2aWEgY2x1c3RlcilcbiAqIEBwYXJhbSB7T2JqZWN0fSBtb21lbnRzXG4gKi9cbmZ1bmN0aW9uIHNpbWlsYXJNb21lbnRzKG1vbWVudHMpIHtcbiAgICB2YXIgY2x1c3RlcnMgPSBjbHVzdGVyKG1vbWVudHMsIDAuOTApO1xuICAgIHZhciB0b3BDbHVzdGVyID0gdG9wR2VuZXJpYyhjbHVzdGVycywgMSwgZnVuY3Rpb24oZSkge1xuICAgICAgICByZXR1cm4gZS5nZXRQb2ludHMoKS5sZW5ndGg7XG4gICAgfSk7XG4gICAgdmFyIHBvaW50cyA9IFtdLCByZXN1bHQgPSBbXTtcbiAgICBpZiAodG9wQ2x1c3Rlci5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgcG9pbnRzID0gdG9wQ2x1c3RlclswXS5pdGVtLmdldFBvaW50cygpO1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHBvaW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgcmVzdWx0LnB1c2gocG9pbnRzW2ldLnBvaW50KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xufVxuXG5mdW5jdGlvbiBza2VsZXRvbml6ZSh4LCB5KSB7XG4gICAgX2JpbmFyeUltYWdlV3JhcHBlci5zdWJJbWFnZUFzQ29weShfc3ViSW1hZ2VXcmFwcGVyLCBpbWFnZVJlZih4LCB5KSk7XG4gICAgX3NrZWxldG9uaXplci5za2VsZXRvbml6ZSgpO1xuXG4gICAgLy8gU2hvdyBza2VsZXRvbiBpZiByZXF1ZXN0ZWRcbiAgICBpZiAoRU5WLmRldmVsb3BtZW50ICYmIF9jb25maWcuZGVidWcuc2hvd1NrZWxldG9uKSB7XG4gICAgICAgIF9za2VsSW1hZ2VXcmFwcGVyLm92ZXJsYXkoX2NhbnZhc0NvbnRhaW5lci5kb20uYmluYXJ5LCAzNjAsIGltYWdlUmVmKHgsIHkpKTtcbiAgICB9XG59XG5cbi8qKlxuICogRXh0cmFjdHMgYW5kIGRlc2NyaWJlcyB0aG9zZSBwYXRjaGVzIHdoaWNoIHNlZW0gdG8gY29udGFpbiBhIGJhcmNvZGUgcGF0dGVyblxuICogQHBhcmFtIHtBcnJheX0gbW9tZW50c1xuICogQHBhcmFtIHtPYmplY3R9IHBhdGNoUG9zLFxuICogQHBhcmFtIHtOdW1iZXJ9IHhcbiAqIEBwYXJhbSB7TnVtYmVyfSB5XG4gKiBAcmV0dXJucyB7QXJyYXl9IGxpc3Qgb2YgcGF0Y2hlc1xuICovXG5mdW5jdGlvbiBkZXNjcmliZVBhdGNoKG1vbWVudHMsIHBhdGNoUG9zLCB4LCB5KSB7XG4gICAgdmFyIGssXG4gICAgICAgIGF2ZyxcbiAgICAgICAgZWxpZ2libGVNb21lbnRzID0gW10sXG4gICAgICAgIG1hdGNoaW5nTW9tZW50cyxcbiAgICAgICAgcGF0Y2gsXG4gICAgICAgIHBhdGNoZXNGb3VuZCA9IFtdLFxuICAgICAgICBtaW5Db21wb25lbnRXZWlnaHQgPSBNYXRoLmNlaWwoX3BhdGNoU2l6ZS54IC8gMyk7XG5cbiAgICBpZiAobW9tZW50cy5sZW5ndGggPj0gMikge1xuICAgICAgICAvLyBvbmx5IGNvbGxlY3QgbW9tZW50cyB3aGljaCdzIGFyZWEgY292ZXJzIGF0IGxlYXN0IG1pbkNvbXBvbmVudFdlaWdodCBwaXhlbHMuXG4gICAgICAgIGZvciAoIGsgPSAwOyBrIDwgbW9tZW50cy5sZW5ndGg7IGsrKykge1xuICAgICAgICAgICAgaWYgKG1vbWVudHNba10ubTAwID4gbWluQ29tcG9uZW50V2VpZ2h0KSB7XG4gICAgICAgICAgICAgICAgZWxpZ2libGVNb21lbnRzLnB1c2gobW9tZW50c1trXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBpZiBhdCBsZWFzdCAyIG1vbWVudHMgYXJlIGZvdW5kIHdoaWNoIGhhdmUgYXQgbGVhc3QgbWluQ29tcG9uZW50V2VpZ2h0cyBjb3ZlcmVkXG4gICAgICAgIGlmIChlbGlnaWJsZU1vbWVudHMubGVuZ3RoID49IDIpIHtcbiAgICAgICAgICAgIG1hdGNoaW5nTW9tZW50cyA9IHNpbWlsYXJNb21lbnRzKGVsaWdpYmxlTW9tZW50cyk7XG4gICAgICAgICAgICBhdmcgPSAwO1xuICAgICAgICAgICAgLy8gZGV0ZXJtaW5lIHRoZSBzaW1pbGFyaXR5IG9mIHRoZSBtb21lbnRzXG4gICAgICAgICAgICBmb3IgKCBrID0gMDsgayA8IG1hdGNoaW5nTW9tZW50cy5sZW5ndGg7IGsrKykge1xuICAgICAgICAgICAgICAgIGF2ZyArPSBtYXRjaGluZ01vbWVudHNba10ucmFkO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBPbmx5IHR3byBvZiB0aGUgbW9tZW50cyBhcmUgYWxsb3dlZCBub3QgdG8gZml0IGludG8gdGhlIGVxdWF0aW9uXG4gICAgICAgICAgICAvLyBhZGQgdGhlIHBhdGNoIHRvIHRoZSBzZXRcbiAgICAgICAgICAgIGlmIChtYXRjaGluZ01vbWVudHMubGVuZ3RoID4gMVxuICAgICAgICAgICAgICAgICAgICAmJiBtYXRjaGluZ01vbWVudHMubGVuZ3RoID49IChlbGlnaWJsZU1vbWVudHMubGVuZ3RoIC8gNCkgKiAzXG4gICAgICAgICAgICAgICAgICAgICYmIG1hdGNoaW5nTW9tZW50cy5sZW5ndGggPiBtb21lbnRzLmxlbmd0aCAvIDQpIHtcbiAgICAgICAgICAgICAgICBhdmcgLz0gbWF0Y2hpbmdNb21lbnRzLmxlbmd0aDtcbiAgICAgICAgICAgICAgICBwYXRjaCA9IHtcbiAgICAgICAgICAgICAgICAgICAgaW5kZXg6IHBhdGNoUG9zWzFdICogX251bVBhdGNoZXMueCArIHBhdGNoUG9zWzBdLFxuICAgICAgICAgICAgICAgICAgICBwb3M6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHg6IHgsXG4gICAgICAgICAgICAgICAgICAgICAgICB5OiB5XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIGJveDogW1xuICAgICAgICAgICAgICAgICAgICAgICAgdmVjMi5jbG9uZShbeCwgeV0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmVjMi5jbG9uZShbeCArIF9zdWJJbWFnZVdyYXBwZXIuc2l6ZS54LCB5XSksXG4gICAgICAgICAgICAgICAgICAgICAgICB2ZWMyLmNsb25lKFt4ICsgX3N1YkltYWdlV3JhcHBlci5zaXplLngsIHkgKyBfc3ViSW1hZ2VXcmFwcGVyLnNpemUueV0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmVjMi5jbG9uZShbeCwgeSArIF9zdWJJbWFnZVdyYXBwZXIuc2l6ZS55XSlcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgbW9tZW50czogbWF0Y2hpbmdNb21lbnRzLFxuICAgICAgICAgICAgICAgICAgICByYWQ6IGF2ZyxcbiAgICAgICAgICAgICAgICAgICAgdmVjOiB2ZWMyLmNsb25lKFtNYXRoLmNvcyhhdmcpLCBNYXRoLnNpbihhdmcpXSlcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHBhdGNoZXNGb3VuZC5wdXNoKHBhdGNoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcGF0Y2hlc0ZvdW5kO1xufVxuXG4vKipcbiAqIGZpbmRzIHBhdGNoZXMgd2hpY2ggYXJlIGNvbm5lY3RlZCBhbmQgc2hhcmUgdGhlIHNhbWUgb3JpZW50YXRpb25cbiAqIEBwYXJhbSB7T2JqZWN0fSBwYXRjaGVzRm91bmRcbiAqL1xuZnVuY3Rpb24gcmFzdGVyaXplQW5ndWxhclNpbWlsYXJpdHkocGF0Y2hlc0ZvdW5kKSB7XG4gICAgdmFyIGxhYmVsID0gMCxcbiAgICAgICAgdGhyZXNob2xkID0gMC45NSxcbiAgICAgICAgY3VycklkeCA9IDAsXG4gICAgICAgIGosXG4gICAgICAgIHBhdGNoLFxuICAgICAgICBoc3YgPSBbMCwgMSwgMV0sXG4gICAgICAgIHJnYiA9IFswLCAwLCAwXTtcblxuICAgIGZ1bmN0aW9uIG5vdFlldFByb2Nlc3NlZCgpIHtcbiAgICAgICAgdmFyIGk7XG4gICAgICAgIGZvciAoIGkgPSAwOyBpIDwgX3BhdGNoTGFiZWxHcmlkLmRhdGEubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChfcGF0Y2hMYWJlbEdyaWQuZGF0YVtpXSA9PT0gMCAmJiBfcGF0Y2hHcmlkLmRhdGFbaV0gPT09IDEpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gaTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gX3BhdGNoTGFiZWxHcmlkLmxlbmd0aDtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiB0cmFjZShjdXJyZW50SWR4KSB7XG4gICAgICAgIHZhciB4LFxuICAgICAgICAgICAgeSxcbiAgICAgICAgICAgIGN1cnJlbnRQYXRjaCxcbiAgICAgICAgICAgIGlkeCxcbiAgICAgICAgICAgIGRpcixcbiAgICAgICAgICAgIGN1cnJlbnQgPSB7XG4gICAgICAgICAgICAgICAgeDogY3VycmVudElkeCAlIF9wYXRjaExhYmVsR3JpZC5zaXplLngsXG4gICAgICAgICAgICAgICAgeTogKGN1cnJlbnRJZHggLyBfcGF0Y2hMYWJlbEdyaWQuc2l6ZS54KSB8IDBcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzaW1pbGFyaXR5O1xuXG4gICAgICAgIGlmIChjdXJyZW50SWR4IDwgX3BhdGNoTGFiZWxHcmlkLmRhdGEubGVuZ3RoKSB7XG4gICAgICAgICAgICBjdXJyZW50UGF0Y2ggPSBfaW1hZ2VUb1BhdGNoR3JpZC5kYXRhW2N1cnJlbnRJZHhdO1xuICAgICAgICAgICAgLy8gYXNzaWduIGxhYmVsXG4gICAgICAgICAgICBfcGF0Y2hMYWJlbEdyaWQuZGF0YVtjdXJyZW50SWR4XSA9IGxhYmVsO1xuICAgICAgICAgICAgZm9yICggZGlyID0gMDsgZGlyIDwgVHJhY2VyLnNlYXJjaERpcmVjdGlvbnMubGVuZ3RoOyBkaXIrKykge1xuICAgICAgICAgICAgICAgIHkgPSBjdXJyZW50LnkgKyBUcmFjZXIuc2VhcmNoRGlyZWN0aW9uc1tkaXJdWzBdO1xuICAgICAgICAgICAgICAgIHggPSBjdXJyZW50LnggKyBUcmFjZXIuc2VhcmNoRGlyZWN0aW9uc1tkaXJdWzFdO1xuICAgICAgICAgICAgICAgIGlkeCA9IHkgKiBfcGF0Y2hMYWJlbEdyaWQuc2l6ZS54ICsgeDtcblxuICAgICAgICAgICAgICAgIC8vIGNvbnRpbnVlIGlmIHBhdGNoIGVtcHR5XG4gICAgICAgICAgICAgICAgaWYgKF9wYXRjaEdyaWQuZGF0YVtpZHhdID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIF9wYXRjaExhYmVsR3JpZC5kYXRhW2lkeF0gPSBOdW1iZXIuTUFYX1ZBTFVFO1xuICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAoX3BhdGNoTGFiZWxHcmlkLmRhdGFbaWR4XSA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICBzaW1pbGFyaXR5ID0gTWF0aC5hYnModmVjMi5kb3QoX2ltYWdlVG9QYXRjaEdyaWQuZGF0YVtpZHhdLnZlYywgY3VycmVudFBhdGNoLnZlYykpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoc2ltaWxhcml0eSA+IHRocmVzaG9sZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2UoaWR4KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIHByZXBhcmUgZm9yIGZpbmRpbmcgdGhlIHJpZ2h0IHBhdGNoZXNcbiAgICBBcnJheUhlbHBlci5pbml0KF9wYXRjaEdyaWQuZGF0YSwgMCk7XG4gICAgQXJyYXlIZWxwZXIuaW5pdChfcGF0Y2hMYWJlbEdyaWQuZGF0YSwgMCk7XG4gICAgQXJyYXlIZWxwZXIuaW5pdChfaW1hZ2VUb1BhdGNoR3JpZC5kYXRhLCBudWxsKTtcblxuICAgIGZvciAoIGogPSAwOyBqIDwgcGF0Y2hlc0ZvdW5kLmxlbmd0aDsgaisrKSB7XG4gICAgICAgIHBhdGNoID0gcGF0Y2hlc0ZvdW5kW2pdO1xuICAgICAgICBfaW1hZ2VUb1BhdGNoR3JpZC5kYXRhW3BhdGNoLmluZGV4XSA9IHBhdGNoO1xuICAgICAgICBfcGF0Y2hHcmlkLmRhdGFbcGF0Y2guaW5kZXhdID0gMTtcbiAgICB9XG5cbiAgICAvLyByYXN0ZXJpemUgdGhlIHBhdGNoZXMgZm91bmQgdG8gZGV0ZXJtaW5lIGFyZWFcbiAgICBfcGF0Y2hHcmlkLnplcm9Cb3JkZXIoKTtcblxuICAgIHdoaWxlICgoIGN1cnJJZHggPSBub3RZZXRQcm9jZXNzZWQoKSkgPCBfcGF0Y2hMYWJlbEdyaWQuZGF0YS5sZW5ndGgpIHtcbiAgICAgICAgbGFiZWwrKztcbiAgICAgICAgdHJhY2UoY3VycklkeCk7XG4gICAgfVxuXG4gICAgLy8gZHJhdyBwYXRjaC1sYWJlbHMgaWYgcmVxdWVzdGVkXG4gICAgaWYgKEVOVi5kZXZlbG9wbWVudCAmJiBfY29uZmlnLmRlYnVnLnNob3dQYXRjaExhYmVscykge1xuICAgICAgICBmb3IgKCBqID0gMDsgaiA8IF9wYXRjaExhYmVsR3JpZC5kYXRhLmxlbmd0aDsgaisrKSB7XG4gICAgICAgICAgICBpZiAoX3BhdGNoTGFiZWxHcmlkLmRhdGFbal0gPiAwICYmIF9wYXRjaExhYmVsR3JpZC5kYXRhW2pdIDw9IGxhYmVsKSB7XG4gICAgICAgICAgICAgICAgcGF0Y2ggPSBfaW1hZ2VUb1BhdGNoR3JpZC5kYXRhW2pdO1xuICAgICAgICAgICAgICAgIGhzdlswXSA9IChfcGF0Y2hMYWJlbEdyaWQuZGF0YVtqXSAvIChsYWJlbCArIDEpKSAqIDM2MDtcbiAgICAgICAgICAgICAgICBoc3YycmdiKGhzdiwgcmdiKTtcbiAgICAgICAgICAgICAgICBJbWFnZURlYnVnLmRyYXdSZWN0KHBhdGNoLnBvcywgX3N1YkltYWdlV3JhcHBlci5zaXplLCBfY2FudmFzQ29udGFpbmVyLmN0eC5iaW5hcnksXG4gICAgICAgICAgICAgICAgICAgIHtjb2xvcjogXCJyZ2IoXCIgKyByZ2Iuam9pbihcIixcIikgKyBcIilcIiwgbGluZVdpZHRoOiAyfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbGFiZWw7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgICBpbml0OiBmdW5jdGlvbihpbnB1dEltYWdlV3JhcHBlciwgY29uZmlnKSB7XG4gICAgICAgIF9jb25maWcgPSBjb25maWc7XG4gICAgICAgIF9pbnB1dEltYWdlV3JhcHBlciA9IGlucHV0SW1hZ2VXcmFwcGVyO1xuXG4gICAgICAgIGluaXRCdWZmZXJzKCk7XG4gICAgICAgIGluaXRDYW52YXMoKTtcbiAgICB9LFxuXG4gICAgbG9jYXRlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgdmFyIHBhdGNoZXNGb3VuZCxcbiAgICAgICAgICAgIHRvcExhYmVscyxcbiAgICAgICAgICAgIGJveGVzO1xuXG4gICAgICAgIGlmIChfY29uZmlnLmhhbGZTYW1wbGUpIHtcbiAgICAgICAgICAgIGhhbGZTYW1wbGUoX2lucHV0SW1hZ2VXcmFwcGVyLCBfY3VycmVudEltYWdlV3JhcHBlcik7XG4gICAgICAgIH1cblxuICAgICAgICBiaW5hcml6ZUltYWdlKCk7XG4gICAgICAgIHBhdGNoZXNGb3VuZCA9IGZpbmRQYXRjaGVzKCk7XG4gICAgICAgIC8vIHJldHVybiB1bmxlc3MgNSUgb3IgbW9yZSBwYXRjaGVzIGFyZSBmb3VuZFxuICAgICAgICBpZiAocGF0Y2hlc0ZvdW5kLmxlbmd0aCA8IF9udW1QYXRjaGVzLnggKiBfbnVtUGF0Y2hlcy55ICogMC4wNSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICAvLyByYXN0ZXJyaXplIGFyZWEgYnkgY29tcGFyaW5nIGFuZ3VsYXIgc2ltaWxhcml0eTtcbiAgICAgICAgdmFyIG1heExhYmVsID0gcmFzdGVyaXplQW5ndWxhclNpbWlsYXJpdHkocGF0Y2hlc0ZvdW5kKTtcbiAgICAgICAgaWYgKG1heExhYmVsIDwgMSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBzZWFyY2ggZm9yIGFyZWEgd2l0aCB0aGUgbW9zdCBwYXRjaGVzIChiaWdnZXN0IGNvbm5lY3RlZCBhcmVhKVxuICAgICAgICB0b3BMYWJlbHMgPSBmaW5kQmlnZ2VzdENvbm5lY3RlZEFyZWFzKG1heExhYmVsKTtcbiAgICAgICAgaWYgKHRvcExhYmVscy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgYm94ZXMgPSBmaW5kQm94ZXModG9wTGFiZWxzLCBtYXhMYWJlbCk7XG4gICAgICAgIHJldHVybiBib3hlcztcbiAgICB9LFxuXG4gICAgY2hlY2tJbWFnZUNvbnN0cmFpbnRzOiBmdW5jdGlvbihpbnB1dFN0cmVhbSwgY29uZmlnKSB7XG4gICAgICAgIHZhciBwYXRjaFNpemUsXG4gICAgICAgICAgICB3aWR0aCA9IGlucHV0U3RyZWFtLmdldFdpZHRoKCksXG4gICAgICAgICAgICBoZWlnaHQgPSBpbnB1dFN0cmVhbS5nZXRIZWlnaHQoKSxcbiAgICAgICAgICAgIGhhbGZTYW1wbGUgPSBjb25maWcuaGFsZlNhbXBsZSA/IDAuNSA6IDEsXG4gICAgICAgICAgICBzaXplLFxuICAgICAgICAgICAgYXJlYTtcblxuICAgICAgICAvLyBjYWxjdWxhdGUgd2lkdGggYW5kIGhlaWdodCBiYXNlZCBvbiBhcmVhXG4gICAgICAgIGlmIChpbnB1dFN0cmVhbS5nZXRDb25maWcoKS5hcmVhKSB7XG4gICAgICAgICAgICBhcmVhID0gY29tcHV0ZUltYWdlQXJlYSh3aWR0aCwgaGVpZ2h0LCBpbnB1dFN0cmVhbS5nZXRDb25maWcoKS5hcmVhKTtcbiAgICAgICAgICAgIGlucHV0U3RyZWFtLnNldFRvcFJpZ2h0KHt4OiBhcmVhLnN4LCB5OiBhcmVhLnN5fSk7XG4gICAgICAgICAgICBpbnB1dFN0cmVhbS5zZXRDYW52YXNTaXplKHt4OiB3aWR0aCwgeTogaGVpZ2h0fSk7XG4gICAgICAgICAgICB3aWR0aCA9IGFyZWEuc3c7XG4gICAgICAgICAgICBoZWlnaHQgPSBhcmVhLnNoO1xuICAgICAgICB9XG5cbiAgICAgICAgc2l6ZSA9IHtcbiAgICAgICAgICAgIHg6IE1hdGguZmxvb3Iod2lkdGggKiBoYWxmU2FtcGxlKSxcbiAgICAgICAgICAgIHk6IE1hdGguZmxvb3IoaGVpZ2h0ICogaGFsZlNhbXBsZSlcbiAgICAgICAgfTtcblxuICAgICAgICBwYXRjaFNpemUgPSBjYWxjdWxhdGVQYXRjaFNpemUoY29uZmlnLnBhdGNoU2l6ZSwgc2l6ZSk7XG4gICAgICAgIGlmIChFTlYuZGV2ZWxvcG1lbnQpIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiUGF0Y2gtU2l6ZTogXCIgKyBKU09OLnN0cmluZ2lmeShwYXRjaFNpemUpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0U3RyZWFtLnNldFdpZHRoKE1hdGguZmxvb3IoTWF0aC5mbG9vcihzaXplLnggLyBwYXRjaFNpemUueCkgKiAoMSAvIGhhbGZTYW1wbGUpICogcGF0Y2hTaXplLngpKTtcbiAgICAgICAgaW5wdXRTdHJlYW0uc2V0SGVpZ2h0KE1hdGguZmxvb3IoTWF0aC5mbG9vcihzaXplLnkgLyBwYXRjaFNpemUueSkgKiAoMSAvIGhhbGZTYW1wbGUpICogcGF0Y2hTaXplLnkpKTtcblxuICAgICAgICBpZiAoKGlucHV0U3RyZWFtLmdldFdpZHRoKCkgJSBwYXRjaFNpemUueCkgPT09IDAgJiYgKGlucHV0U3RyZWFtLmdldEhlaWdodCgpICUgcGF0Y2hTaXplLnkpID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIkltYWdlIGRpbWVuc2lvbnMgZG8gbm90IGNvbXBseSB3aXRoIHRoZSBjdXJyZW50IHNldHRpbmdzOiBXaWR0aCAoXCIgK1xuICAgICAgICAgICAgd2lkdGggKyBcIiApYW5kIGhlaWdodCAoXCIgKyBoZWlnaHQgK1xuICAgICAgICAgICAgXCIpIG11c3QgYSBtdWx0aXBsZSBvZiBcIiArIHBhdGNoU2l6ZS54KTtcbiAgICB9XG59O1xuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vc3JjL2xvY2F0b3IvYmFyY29kZV9sb2NhdG9yLmpzIiwiaW1wb3J0IFRyYWNlciBmcm9tICcuL3RyYWNlcic7XG5cbi8qKlxuICogaHR0cDovL3d3dy5jb2RlcHJvamVjdC5jb20vVGlwcy80MDcxNzIvQ29ubmVjdGVkLUNvbXBvbmVudC1MYWJlbGluZy1hbmQtVmVjdG9yaXphdGlvblxuICovXG52YXIgUmFzdGVyaXplciA9IHtcbiAgICBjcmVhdGVDb250b3VyMkQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZGlyOiBudWxsLFxuICAgICAgICAgICAgaW5kZXg6IG51bGwsXG4gICAgICAgICAgICBmaXJzdFZlcnRleDogbnVsbCxcbiAgICAgICAgICAgIGluc2lkZUNvbnRvdXJzOiBudWxsLFxuICAgICAgICAgICAgbmV4dHBlZXI6IG51bGwsXG4gICAgICAgICAgICBwcmV2cGVlcjogbnVsbFxuICAgICAgICB9O1xuICAgIH0sXG4gICAgQ09OVE9VUl9ESVI6IHtcbiAgICAgICAgQ1dfRElSOiAwLFxuICAgICAgICBDQ1dfRElSOiAxLFxuICAgICAgICBVTktOT1dOX0RJUjogMlxuICAgIH0sXG4gICAgRElSOiB7XG4gICAgICAgIE9VVFNJREVfRURHRTogLTMyNzY3LFxuICAgICAgICBJTlNJREVfRURHRTogLTMyNzY2XG4gICAgfSxcbiAgICBjcmVhdGU6IGZ1bmN0aW9uKGltYWdlV3JhcHBlciwgbGFiZWxXcmFwcGVyKSB7XG4gICAgICAgIHZhciBpbWFnZURhdGEgPSBpbWFnZVdyYXBwZXIuZGF0YSxcbiAgICAgICAgICAgIGxhYmVsRGF0YSA9IGxhYmVsV3JhcHBlci5kYXRhLFxuICAgICAgICAgICAgd2lkdGggPSBpbWFnZVdyYXBwZXIuc2l6ZS54LFxuICAgICAgICAgICAgaGVpZ2h0ID0gaW1hZ2VXcmFwcGVyLnNpemUueSxcbiAgICAgICAgICAgIHRyYWNlciA9IFRyYWNlci5jcmVhdGUoaW1hZ2VXcmFwcGVyLCBsYWJlbFdyYXBwZXIpO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICByYXN0ZXJpemU6IGZ1bmN0aW9uKGRlcHRobGFiZWwpIHtcbiAgICAgICAgICAgICAgICB2YXIgY29sb3IsXG4gICAgICAgICAgICAgICAgICAgIGJjLFxuICAgICAgICAgICAgICAgICAgICBsYyxcbiAgICAgICAgICAgICAgICAgICAgbGFiZWxpbmRleCxcbiAgICAgICAgICAgICAgICAgICAgY3gsXG4gICAgICAgICAgICAgICAgICAgIGN5LFxuICAgICAgICAgICAgICAgICAgICBjb2xvck1hcCA9IFtdLFxuICAgICAgICAgICAgICAgICAgICB2ZXJ0ZXgsXG4gICAgICAgICAgICAgICAgICAgIHAsXG4gICAgICAgICAgICAgICAgICAgIGNjLFxuICAgICAgICAgICAgICAgICAgICBzYyxcbiAgICAgICAgICAgICAgICAgICAgcG9zLFxuICAgICAgICAgICAgICAgICAgICBjb25uZWN0ZWRDb3VudCA9IDAsXG4gICAgICAgICAgICAgICAgICAgIGk7XG5cbiAgICAgICAgICAgICAgICBmb3IgKCBpID0gMDsgaSA8IDQwMDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yTWFwW2ldID0gMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb2xvck1hcFswXSA9IGltYWdlRGF0YVswXTtcbiAgICAgICAgICAgICAgICBjYyA9IG51bGw7XG4gICAgICAgICAgICAgICAgZm9yICggY3kgPSAxOyBjeSA8IGhlaWdodCAtIDE7IGN5KyspIHtcbiAgICAgICAgICAgICAgICAgICAgbGFiZWxpbmRleCA9IDA7XG4gICAgICAgICAgICAgICAgICAgIGJjID0gY29sb3JNYXBbMF07XG4gICAgICAgICAgICAgICAgICAgIGZvciAoIGN4ID0gMTsgY3ggPCB3aWR0aCAtIDE7IGN4KyspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvcyA9IGN5ICogd2lkdGggKyBjeDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsYWJlbERhdGFbcG9zXSA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yID0gaW1hZ2VEYXRhW3Bvc107XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNvbG9yICE9PSBiYykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobGFiZWxpbmRleCA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGMgPSBjb25uZWN0ZWRDb3VudCArIDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvck1hcFtsY10gPSBjb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJjID0gY29sb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJ0ZXggPSB0cmFjZXIuY29udG91clRyYWNpbmcoY3ksIGN4LCBsYywgY29sb3IsIFJhc3Rlcml6ZXIuRElSLk9VVFNJREVfRURHRSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodmVydGV4ICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29ubmVjdGVkQ291bnQrKztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbGluZGV4ID0gbGM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcCA9IFJhc3Rlcml6ZXIuY3JlYXRlQ29udG91cjJEKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcC5kaXIgPSBSYXN0ZXJpemVyLkNPTlRPVVJfRElSLkNXX0RJUjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwLmluZGV4ID0gbGFiZWxpbmRleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwLmZpcnN0VmVydGV4ID0gdmVydGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAubmV4dHBlZXIgPSBjYztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwLmluc2lkZUNvbnRvdXJzID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY2MgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2MucHJldnBlZXIgPSBwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYyA9IHA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJ0ZXggPSB0cmFjZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuY29udG91clRyYWNpbmcoY3ksIGN4LCBSYXN0ZXJpemVyLkRJUi5JTlNJREVfRURHRSwgY29sb3IsIGxhYmVsaW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHZlcnRleCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAgPSBSYXN0ZXJpemVyLmNyZWF0ZUNvbnRvdXIyRCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAuZmlyc3RWZXJ0ZXggPSB2ZXJ0ZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcC5pbnNpZGVDb250b3VycyA9IG51bGw7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRlcHRobGFiZWwgPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcC5kaXIgPSBSYXN0ZXJpemVyLkNPTlRPVVJfRElSLkNDV19ESVI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcC5kaXIgPSBSYXN0ZXJpemVyLkNPTlRPVVJfRElSLkNXX0RJUjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcC5pbmRleCA9IGRlcHRobGFiZWw7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2MgPSBjYztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAoKHNjICE9PSBudWxsKSAmJiBzYy5pbmRleCAhPT0gbGFiZWxpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYyA9IHNjLm5leHRwZWVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc2MgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcC5uZXh0cGVlciA9IHNjLmluc2lkZUNvbnRvdXJzO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc2MuaW5zaWRlQ29udG91cnMgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjLmluc2lkZUNvbnRvdXJzLnByZXZwZWVyID0gcDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYy5pbnNpZGVDb250b3VycyA9IHA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWxEYXRhW3Bvc10gPSBsYWJlbGluZGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAobGFiZWxEYXRhW3Bvc10gPT09IFJhc3Rlcml6ZXIuRElSLk9VVFNJREVfRURHRVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8fCBsYWJlbERhdGFbcG9zXSA9PT0gUmFzdGVyaXplci5ESVIuSU5TSURFX0VER0UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbGluZGV4ID0gMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobGFiZWxEYXRhW3Bvc10gPT09IFJhc3Rlcml6ZXIuRElSLklOU0lERV9FREdFKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJjID0gaW1hZ2VEYXRhW3Bvc107XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmMgPSBjb2xvck1hcFswXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsaW5kZXggPSBsYWJlbERhdGFbcG9zXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYyA9IGNvbG9yTWFwW2xhYmVsaW5kZXhdO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHNjID0gY2M7XG4gICAgICAgICAgICAgICAgd2hpbGUgKHNjICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHNjLmluZGV4ID0gZGVwdGhsYWJlbDtcbiAgICAgICAgICAgICAgICAgICAgc2MgPSBzYy5uZXh0cGVlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgY2M6IGNjLFxuICAgICAgICAgICAgICAgICAgICBjb3VudDogY29ubmVjdGVkQ291bnRcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGRlYnVnOiB7XG4gICAgICAgICAgICAgICAgZHJhd0NvbnRvdXI6IGZ1bmN0aW9uKGNhbnZhcywgZmlyc3RDb250b3VyKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBjdHggPSBjYW52YXMuZ2V0Q29udGV4dChcIjJkXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgcHEgPSBmaXJzdENvbnRvdXIsXG4gICAgICAgICAgICAgICAgICAgICAgICBpcSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHEsXG4gICAgICAgICAgICAgICAgICAgICAgICBwO1xuXG4gICAgICAgICAgICAgICAgICAgIGN0eC5zdHJva2VTdHlsZSA9IFwicmVkXCI7XG4gICAgICAgICAgICAgICAgICAgIGN0eC5maWxsU3R5bGUgPSBcInJlZFwiO1xuICAgICAgICAgICAgICAgICAgICBjdHgubGluZVdpZHRoID0gMTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAocHEgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlxID0gcHEuaW5zaWRlQ29udG91cnM7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpcSA9IG51bGw7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB3aGlsZSAocHEgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpcSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHEgPSBpcTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpcSA9IGlxLm5leHRwZWVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBxID0gcHE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHEgPSBwcS5uZXh0cGVlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocHEgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXEgPSBwcS5pbnNpZGVDb250b3VycztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpcSA9IG51bGw7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHEuZGlyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFJhc3Rlcml6ZXIuQ09OVE9VUl9ESVIuQ1dfRElSOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0eC5zdHJva2VTdHlsZSA9IFwicmVkXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFJhc3Rlcml6ZXIuQ09OVE9VUl9ESVIuQ0NXX0RJUjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdHguc3Ryb2tlU3R5bGUgPSBcImJsdWVcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgUmFzdGVyaXplci5DT05UT1VSX0RJUi5VTktOT1dOX0RJUjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdHguc3Ryb2tlU3R5bGUgPSBcImdyZWVuXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHAgPSBxLmZpcnN0VmVydGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgY3R4LmJlZ2luUGF0aCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY3R4Lm1vdmVUbyhwLngsIHAueSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBkbyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcCA9IHAubmV4dDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdHgubGluZVRvKHAueCwgcC55KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gd2hpbGUgKHAgIT09IHEuZmlyc3RWZXJ0ZXgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY3R4LnN0cm9rZSgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IFJhc3Rlcml6ZXI7XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9zcmMvbG9jYXRvci9yYXN0ZXJpemVyLmpzIiwiLyogQHByZXNlcnZlIEFTTSBCRUdJTiAqL1xuLyogZXNsaW50LWRpc2FibGUgZXFlcWVxKi9cbmZ1bmN0aW9uIFNrZWxldG9uaXplcihzdGRsaWIsIGZvcmVpZ24sIGJ1ZmZlcikge1xuICAgIFwidXNlIGFzbVwiO1xuXG4gICAgdmFyIGltYWdlcyA9IG5ldyBzdGRsaWIuVWludDhBcnJheShidWZmZXIpLFxuICAgICAgICBzaXplID0gZm9yZWlnbi5zaXplIHwgMCxcbiAgICAgICAgaW11bCA9IHN0ZGxpYi5NYXRoLmltdWw7XG5cbiAgICBmdW5jdGlvbiBlcm9kZShpbkltYWdlUHRyLCBvdXRJbWFnZVB0cikge1xuICAgICAgICBpbkltYWdlUHRyID0gaW5JbWFnZVB0ciB8IDA7XG4gICAgICAgIG91dEltYWdlUHRyID0gb3V0SW1hZ2VQdHIgfCAwO1xuXG4gICAgICAgIHZhciB2ID0gMCxcbiAgICAgICAgICAgIHUgPSAwLFxuICAgICAgICAgICAgc3VtID0gMCxcbiAgICAgICAgICAgIHlTdGFydDEgPSAwLFxuICAgICAgICAgICAgeVN0YXJ0MiA9IDAsXG4gICAgICAgICAgICB4U3RhcnQxID0gMCxcbiAgICAgICAgICAgIHhTdGFydDIgPSAwLFxuICAgICAgICAgICAgb2Zmc2V0ID0gMDtcblxuICAgICAgICBmb3IgKCB2ID0gMTsgKHYgfCAwKSA8ICgoc2l6ZSAtIDEpIHwgMCk7IHYgPSAodiArIDEpIHwgMCkge1xuICAgICAgICAgICAgb2Zmc2V0ID0gKG9mZnNldCArIHNpemUpIHwgMDtcbiAgICAgICAgICAgIGZvciAoIHUgPSAxOyAodSB8IDApIDwgKChzaXplIC0gMSkgfCAwKTsgdSA9ICh1ICsgMSkgfCAwKSB7XG4gICAgICAgICAgICAgICAgeVN0YXJ0MSA9IChvZmZzZXQgLSBzaXplKSB8IDA7XG4gICAgICAgICAgICAgICAgeVN0YXJ0MiA9IChvZmZzZXQgKyBzaXplKSB8IDA7XG4gICAgICAgICAgICAgICAgeFN0YXJ0MSA9ICh1IC0gMSkgfCAwO1xuICAgICAgICAgICAgICAgIHhTdGFydDIgPSAodSArIDEpIHwgMDtcbiAgICAgICAgICAgICAgICBzdW0gPSAoKGltYWdlc1soaW5JbWFnZVB0ciArIHlTdGFydDEgKyB4U3RhcnQxKSB8IDBdIHwgMClcbiAgICAgICAgICAgICAgICAgICAgKyAoaW1hZ2VzWyhpbkltYWdlUHRyICsgeVN0YXJ0MSArIHhTdGFydDIpIHwgMF0gfCAwKVxuICAgICAgICAgICAgICAgICAgICArIChpbWFnZXNbKGluSW1hZ2VQdHIgKyBvZmZzZXQgKyB1KSB8IDBdIHwgMClcbiAgICAgICAgICAgICAgICAgICAgKyAoaW1hZ2VzWyhpbkltYWdlUHRyICsgeVN0YXJ0MiArIHhTdGFydDEpIHwgMF0gfCAwKVxuICAgICAgICAgICAgICAgICAgICArIChpbWFnZXNbKGluSW1hZ2VQdHIgKyB5U3RhcnQyICsgeFN0YXJ0MikgfCAwXSB8IDApKSB8IDA7XG4gICAgICAgICAgICAgICAgaWYgKChzdW0gfCAwKSA9PSAoNSB8IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIGltYWdlc1sob3V0SW1hZ2VQdHIgKyBvZmZzZXQgKyB1KSB8IDBdID0gMTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBpbWFnZXNbKG91dEltYWdlUHRyICsgb2Zmc2V0ICsgdSkgfCAwXSA9IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBzdWJ0cmFjdChhSW1hZ2VQdHIsIGJJbWFnZVB0ciwgb3V0SW1hZ2VQdHIpIHtcbiAgICAgICAgYUltYWdlUHRyID0gYUltYWdlUHRyIHwgMDtcbiAgICAgICAgYkltYWdlUHRyID0gYkltYWdlUHRyIHwgMDtcbiAgICAgICAgb3V0SW1hZ2VQdHIgPSBvdXRJbWFnZVB0ciB8IDA7XG5cbiAgICAgICAgdmFyIGxlbmd0aCA9IDA7XG5cbiAgICAgICAgbGVuZ3RoID0gaW11bChzaXplLCBzaXplKSB8IDA7XG5cbiAgICAgICAgd2hpbGUgKChsZW5ndGggfCAwKSA+IDApIHtcbiAgICAgICAgICAgIGxlbmd0aCA9IChsZW5ndGggLSAxKSB8IDA7XG4gICAgICAgICAgICBpbWFnZXNbKG91dEltYWdlUHRyICsgbGVuZ3RoKSB8IDBdID1cbiAgICAgICAgICAgICAgICAoKGltYWdlc1soYUltYWdlUHRyICsgbGVuZ3RoKSB8IDBdIHwgMCkgLSAoaW1hZ2VzWyhiSW1hZ2VQdHIgKyBsZW5ndGgpIHwgMF0gfCAwKSkgfCAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gYml0d2lzZU9yKGFJbWFnZVB0ciwgYkltYWdlUHRyLCBvdXRJbWFnZVB0cikge1xuICAgICAgICBhSW1hZ2VQdHIgPSBhSW1hZ2VQdHIgfCAwO1xuICAgICAgICBiSW1hZ2VQdHIgPSBiSW1hZ2VQdHIgfCAwO1xuICAgICAgICBvdXRJbWFnZVB0ciA9IG91dEltYWdlUHRyIHwgMDtcblxuICAgICAgICB2YXIgbGVuZ3RoID0gMDtcblxuICAgICAgICBsZW5ndGggPSBpbXVsKHNpemUsIHNpemUpIHwgMDtcblxuICAgICAgICB3aGlsZSAoKGxlbmd0aCB8IDApID4gMCkge1xuICAgICAgICAgICAgbGVuZ3RoID0gKGxlbmd0aCAtIDEpIHwgMDtcbiAgICAgICAgICAgIGltYWdlc1sob3V0SW1hZ2VQdHIgKyBsZW5ndGgpIHwgMF0gPVxuICAgICAgICAgICAgICAgICgoaW1hZ2VzWyhhSW1hZ2VQdHIgKyBsZW5ndGgpIHwgMF0gfCAwKSB8IChpbWFnZXNbKGJJbWFnZVB0ciArIGxlbmd0aCkgfCAwXSB8IDApKSB8IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBmdW5jdGlvbiBjb3VudE5vblplcm8oaW1hZ2VQdHIpIHtcbiAgICAgICAgaW1hZ2VQdHIgPSBpbWFnZVB0ciB8IDA7XG5cbiAgICAgICAgdmFyIHN1bSA9IDAsXG4gICAgICAgICAgICBsZW5ndGggPSAwO1xuXG4gICAgICAgIGxlbmd0aCA9IGltdWwoc2l6ZSwgc2l6ZSkgfCAwO1xuXG4gICAgICAgIHdoaWxlICgobGVuZ3RoIHwgMCkgPiAwKSB7XG4gICAgICAgICAgICBsZW5ndGggPSAobGVuZ3RoIC0gMSkgfCAwO1xuICAgICAgICAgICAgc3VtID0gKChzdW0gfCAwKSArIChpbWFnZXNbKGltYWdlUHRyICsgbGVuZ3RoKSB8IDBdIHwgMCkpIHwgMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAoc3VtIHwgMCk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gaW5pdChpbWFnZVB0ciwgdmFsdWUpIHtcbiAgICAgICAgaW1hZ2VQdHIgPSBpbWFnZVB0ciB8IDA7XG4gICAgICAgIHZhbHVlID0gdmFsdWUgfCAwO1xuXG4gICAgICAgIHZhciBsZW5ndGggPSAwO1xuXG4gICAgICAgIGxlbmd0aCA9IGltdWwoc2l6ZSwgc2l6ZSkgfCAwO1xuXG4gICAgICAgIHdoaWxlICgobGVuZ3RoIHwgMCkgPiAwKSB7XG4gICAgICAgICAgICBsZW5ndGggPSAobGVuZ3RoIC0gMSkgfCAwO1xuICAgICAgICAgICAgaW1hZ2VzWyhpbWFnZVB0ciArIGxlbmd0aCkgfCAwXSA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gZGlsYXRlKGluSW1hZ2VQdHIsIG91dEltYWdlUHRyKSB7XG4gICAgICAgIGluSW1hZ2VQdHIgPSBpbkltYWdlUHRyIHwgMDtcbiAgICAgICAgb3V0SW1hZ2VQdHIgPSBvdXRJbWFnZVB0ciB8IDA7XG5cbiAgICAgICAgdmFyIHYgPSAwLFxuICAgICAgICAgICAgdSA9IDAsXG4gICAgICAgICAgICBzdW0gPSAwLFxuICAgICAgICAgICAgeVN0YXJ0MSA9IDAsXG4gICAgICAgICAgICB5U3RhcnQyID0gMCxcbiAgICAgICAgICAgIHhTdGFydDEgPSAwLFxuICAgICAgICAgICAgeFN0YXJ0MiA9IDAsXG4gICAgICAgICAgICBvZmZzZXQgPSAwO1xuXG4gICAgICAgIGZvciAoIHYgPSAxOyAodiB8IDApIDwgKChzaXplIC0gMSkgfCAwKTsgdiA9ICh2ICsgMSkgfCAwKSB7XG4gICAgICAgICAgICBvZmZzZXQgPSAob2Zmc2V0ICsgc2l6ZSkgfCAwO1xuICAgICAgICAgICAgZm9yICggdSA9IDE7ICh1IHwgMCkgPCAoKHNpemUgLSAxKSB8IDApOyB1ID0gKHUgKyAxKSB8IDApIHtcbiAgICAgICAgICAgICAgICB5U3RhcnQxID0gKG9mZnNldCAtIHNpemUpIHwgMDtcbiAgICAgICAgICAgICAgICB5U3RhcnQyID0gKG9mZnNldCArIHNpemUpIHwgMDtcbiAgICAgICAgICAgICAgICB4U3RhcnQxID0gKHUgLSAxKSB8IDA7XG4gICAgICAgICAgICAgICAgeFN0YXJ0MiA9ICh1ICsgMSkgfCAwO1xuICAgICAgICAgICAgICAgIHN1bSA9ICgoaW1hZ2VzWyhpbkltYWdlUHRyICsgeVN0YXJ0MSArIHhTdGFydDEpIHwgMF0gfCAwKVxuICAgICAgICAgICAgICAgICAgICArIChpbWFnZXNbKGluSW1hZ2VQdHIgKyB5U3RhcnQxICsgeFN0YXJ0MikgfCAwXSB8IDApXG4gICAgICAgICAgICAgICAgICAgICsgKGltYWdlc1soaW5JbWFnZVB0ciArIG9mZnNldCArIHUpIHwgMF0gfCAwKVxuICAgICAgICAgICAgICAgICAgICArIChpbWFnZXNbKGluSW1hZ2VQdHIgKyB5U3RhcnQyICsgeFN0YXJ0MSkgfCAwXSB8IDApXG4gICAgICAgICAgICAgICAgICAgICsgKGltYWdlc1soaW5JbWFnZVB0ciArIHlTdGFydDIgKyB4U3RhcnQyKSB8IDBdIHwgMCkpIHwgMDtcbiAgICAgICAgICAgICAgICBpZiAoKHN1bSB8IDApID4gKDAgfCAwKSkge1xuICAgICAgICAgICAgICAgICAgICBpbWFnZXNbKG91dEltYWdlUHRyICsgb2Zmc2V0ICsgdSkgfCAwXSA9IDE7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgaW1hZ2VzWyhvdXRJbWFnZVB0ciArIG9mZnNldCArIHUpIHwgMF0gPSAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gbWVtY3B5KHNyY0ltYWdlUHRyLCBkc3RJbWFnZVB0cikge1xuICAgICAgICBzcmNJbWFnZVB0ciA9IHNyY0ltYWdlUHRyIHwgMDtcbiAgICAgICAgZHN0SW1hZ2VQdHIgPSBkc3RJbWFnZVB0ciB8IDA7XG5cbiAgICAgICAgdmFyIGxlbmd0aCA9IDA7XG5cbiAgICAgICAgbGVuZ3RoID0gaW11bChzaXplLCBzaXplKSB8IDA7XG5cbiAgICAgICAgd2hpbGUgKChsZW5ndGggfCAwKSA+IDApIHtcbiAgICAgICAgICAgIGxlbmd0aCA9IChsZW5ndGggLSAxKSB8IDA7XG4gICAgICAgICAgICBpbWFnZXNbKGRzdEltYWdlUHRyICsgbGVuZ3RoKSB8IDBdID0gKGltYWdlc1soc3JjSW1hZ2VQdHIgKyBsZW5ndGgpIHwgMF0gfCAwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIHplcm9Cb3JkZXIoaW1hZ2VQdHIpIHtcbiAgICAgICAgaW1hZ2VQdHIgPSBpbWFnZVB0ciB8IDA7XG5cbiAgICAgICAgdmFyIHggPSAwLFxuICAgICAgICAgICAgeSA9IDA7XG5cbiAgICAgICAgZm9yICggeCA9IDA7ICh4IHwgMCkgPCAoKHNpemUgLSAxKSB8IDApOyB4ID0gKHggKyAxKSB8IDApIHtcbiAgICAgICAgICAgIGltYWdlc1soaW1hZ2VQdHIgKyB4KSB8IDBdID0gMDtcbiAgICAgICAgICAgIGltYWdlc1soaW1hZ2VQdHIgKyB5KSB8IDBdID0gMDtcbiAgICAgICAgICAgIHkgPSAoKHkgKyBzaXplKSAtIDEpIHwgMDtcbiAgICAgICAgICAgIGltYWdlc1soaW1hZ2VQdHIgKyB5KSB8IDBdID0gMDtcbiAgICAgICAgICAgIHkgPSAoeSArIDEpIHwgMDtcbiAgICAgICAgfVxuICAgICAgICBmb3IgKCB4ID0gMDsgKHggfCAwKSA8IChzaXplIHwgMCk7IHggPSAoeCArIDEpIHwgMCkge1xuICAgICAgICAgICAgaW1hZ2VzWyhpbWFnZVB0ciArIHkpIHwgMF0gPSAwO1xuICAgICAgICAgICAgeSA9ICh5ICsgMSkgfCAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gc2tlbGV0b25pemUoKSB7XG4gICAgICAgIHZhciBzdWJJbWFnZVB0ciA9IDAsXG4gICAgICAgICAgICBlcm9kZWRJbWFnZVB0ciA9IDAsXG4gICAgICAgICAgICB0ZW1wSW1hZ2VQdHIgPSAwLFxuICAgICAgICAgICAgc2tlbEltYWdlUHRyID0gMCxcbiAgICAgICAgICAgIHN1bSA9IDAsXG4gICAgICAgICAgICBkb25lID0gMDtcblxuICAgICAgICBlcm9kZWRJbWFnZVB0ciA9IGltdWwoc2l6ZSwgc2l6ZSkgfCAwO1xuICAgICAgICB0ZW1wSW1hZ2VQdHIgPSAoZXJvZGVkSW1hZ2VQdHIgKyBlcm9kZWRJbWFnZVB0cikgfCAwO1xuICAgICAgICBza2VsSW1hZ2VQdHIgPSAodGVtcEltYWdlUHRyICsgZXJvZGVkSW1hZ2VQdHIpIHwgMDtcblxuICAgICAgICAvLyBpbml0IHNrZWwtaW1hZ2VcbiAgICAgICAgaW5pdChza2VsSW1hZ2VQdHIsIDApO1xuICAgICAgICB6ZXJvQm9yZGVyKHN1YkltYWdlUHRyKTtcblxuICAgICAgICBkbyB7XG4gICAgICAgICAgICBlcm9kZShzdWJJbWFnZVB0ciwgZXJvZGVkSW1hZ2VQdHIpO1xuICAgICAgICAgICAgZGlsYXRlKGVyb2RlZEltYWdlUHRyLCB0ZW1wSW1hZ2VQdHIpO1xuICAgICAgICAgICAgc3VidHJhY3Qoc3ViSW1hZ2VQdHIsIHRlbXBJbWFnZVB0ciwgdGVtcEltYWdlUHRyKTtcbiAgICAgICAgICAgIGJpdHdpc2VPcihza2VsSW1hZ2VQdHIsIHRlbXBJbWFnZVB0ciwgc2tlbEltYWdlUHRyKTtcbiAgICAgICAgICAgIG1lbWNweShlcm9kZWRJbWFnZVB0ciwgc3ViSW1hZ2VQdHIpO1xuICAgICAgICAgICAgc3VtID0gY291bnROb25aZXJvKHN1YkltYWdlUHRyKSB8IDA7XG4gICAgICAgICAgICBkb25lID0gKChzdW0gfCAwKSA9PSAwIHwgMCk7XG4gICAgICAgIH0gd2hpbGUgKCFkb25lKTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgc2tlbGV0b25pemU6IHNrZWxldG9uaXplXG4gICAgfTtcbn1cbi8qIEBwcmVzZXJ2ZSBBU00gRU5EICovXG5leHBvcnQgZGVmYXVsdCBTa2VsZXRvbml6ZXI7XG4vKiBlc2xpbnQtZW5hYmxlIGVxZXFlcSovXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9zcmMvbG9jYXRvci9za2VsZXRvbml6ZXIuanMiLCJpbXBvcnQgQmFyY29kZVJlYWRlciBmcm9tICcuL2JhcmNvZGVfcmVhZGVyJztcblxuZnVuY3Rpb24gVHdvT2ZGaXZlUmVhZGVyKG9wdHMpIHtcbiAgICBCYXJjb2RlUmVhZGVyLmNhbGwodGhpcywgb3B0cyk7XG4gICAgdGhpcy5iYXJTcGFjZVJhdGlvID0gWzEsIDFdO1xufVxuXG52YXIgTiA9IDEsXG4gICAgVyA9IDMsXG4gICAgcHJvcGVydGllcyA9IHtcbiAgICAgICAgU1RBUlRfUEFUVEVSTjoge3ZhbHVlOiBbVywgTiwgVywgTiwgTiwgTl19LFxuICAgICAgICBTVE9QX1BBVFRFUk46IHt2YWx1ZTogW1csIE4sIE4sIE4sIFddfSxcbiAgICAgICAgQ09ERV9QQVRURVJOOiB7dmFsdWU6IFtcbiAgICAgICAgICAgIFtOLCBOLCBXLCBXLCBOXSxcbiAgICAgICAgICAgIFtXLCBOLCBOLCBOLCBXXSxcbiAgICAgICAgICAgIFtOLCBXLCBOLCBOLCBXXSxcbiAgICAgICAgICAgIFtXLCBXLCBOLCBOLCBOXSxcbiAgICAgICAgICAgIFtOLCBOLCBXLCBOLCBXXSxcbiAgICAgICAgICAgIFtXLCBOLCBXLCBOLCBOXSxcbiAgICAgICAgICAgIFtOLCBXLCBXLCBOLCBOXSxcbiAgICAgICAgICAgIFtOLCBOLCBOLCBXLCBXXSxcbiAgICAgICAgICAgIFtXLCBOLCBOLCBXLCBOXSxcbiAgICAgICAgICAgIFtOLCBXLCBOLCBXLCBOXVxuICAgICAgICBdfSxcbiAgICAgICAgU0lOR0xFX0NPREVfRVJST1I6IHt2YWx1ZTogMC43OCwgd3JpdGFibGU6IHRydWV9LFxuICAgICAgICBBVkdfQ09ERV9FUlJPUjoge3ZhbHVlOiAwLjMwLCB3cml0YWJsZTogdHJ1ZX0sXG4gICAgICAgIEZPUk1BVDoge3ZhbHVlOiBcIjJvZjVcIn1cbiAgICB9O1xuXG5jb25zdCBzdGFydFBhdHRlcm5MZW5ndGggPSBwcm9wZXJ0aWVzLlNUQVJUX1BBVFRFUk4udmFsdWUucmVkdWNlKChzdW0sIHZhbCkgPT4gc3VtICsgdmFsLCAwKTtcblxuVHdvT2ZGaXZlUmVhZGVyLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoQmFyY29kZVJlYWRlci5wcm90b3R5cGUsIHByb3BlcnRpZXMpO1xuVHdvT2ZGaXZlUmVhZGVyLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IFR3b09mRml2ZVJlYWRlcjtcblxuVHdvT2ZGaXZlUmVhZGVyLnByb3RvdHlwZS5fZmluZFBhdHRlcm4gPSBmdW5jdGlvbihwYXR0ZXJuLCBvZmZzZXQsIGlzV2hpdGUsIHRyeUhhcmRlcikge1xuICAgIHZhciBjb3VudGVyID0gW10sXG4gICAgICAgIHNlbGYgPSB0aGlzLFxuICAgICAgICBpLFxuICAgICAgICBjb3VudGVyUG9zID0gMCxcbiAgICAgICAgYmVzdE1hdGNoID0ge1xuICAgICAgICAgICAgZXJyb3I6IE51bWJlci5NQVhfVkFMVUUsXG4gICAgICAgICAgICBjb2RlOiAtMSxcbiAgICAgICAgICAgIHN0YXJ0OiAwLFxuICAgICAgICAgICAgZW5kOiAwXG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yLFxuICAgICAgICBqLFxuICAgICAgICBzdW0sXG4gICAgICAgIGVwc2lsb24gPSBzZWxmLkFWR19DT0RFX0VSUk9SO1xuXG4gICAgaXNXaGl0ZSA9IGlzV2hpdGUgfHwgZmFsc2U7XG4gICAgdHJ5SGFyZGVyID0gdHJ5SGFyZGVyIHx8IGZhbHNlO1xuXG4gICAgaWYgKCFvZmZzZXQpIHtcbiAgICAgICAgb2Zmc2V0ID0gc2VsZi5fbmV4dFNldChzZWxmLl9yb3cpO1xuICAgIH1cblxuICAgIGZvciAoIGkgPSAwOyBpIDwgcGF0dGVybi5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb3VudGVyW2ldID0gMDtcbiAgICB9XG5cbiAgICBmb3IgKCBpID0gb2Zmc2V0OyBpIDwgc2VsZi5fcm93Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmIChzZWxmLl9yb3dbaV0gXiBpc1doaXRlKSB7XG4gICAgICAgICAgICBjb3VudGVyW2NvdW50ZXJQb3NdKys7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAoY291bnRlclBvcyA9PT0gY291bnRlci5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgICAgICAgc3VtID0gMDtcbiAgICAgICAgICAgICAgICBmb3IgKCBqID0gMDsgaiA8IGNvdW50ZXIubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICAgICAgICAgICAgc3VtICs9IGNvdW50ZXJbal07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVycm9yID0gc2VsZi5fbWF0Y2hQYXR0ZXJuKGNvdW50ZXIsIHBhdHRlcm4pO1xuICAgICAgICAgICAgICAgIGlmIChlcnJvciA8IGVwc2lsb24pIHtcbiAgICAgICAgICAgICAgICAgICAgYmVzdE1hdGNoLmVycm9yID0gZXJyb3I7XG4gICAgICAgICAgICAgICAgICAgIGJlc3RNYXRjaC5zdGFydCA9IGkgLSBzdW07XG4gICAgICAgICAgICAgICAgICAgIGJlc3RNYXRjaC5lbmQgPSBpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYmVzdE1hdGNoO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodHJ5SGFyZGVyKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvciAoaiA9IDA7IGogPCBjb3VudGVyLmxlbmd0aCAtIDI7IGorKykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY291bnRlcltqXSA9IGNvdW50ZXJbaiArIDJdO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGNvdW50ZXJbY291bnRlci5sZW5ndGggLSAyXSA9IDA7XG4gICAgICAgICAgICAgICAgICAgIGNvdW50ZXJbY291bnRlci5sZW5ndGggLSAxXSA9IDA7XG4gICAgICAgICAgICAgICAgICAgIGNvdW50ZXJQb3MtLTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvdW50ZXJQb3MrKztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvdW50ZXJbY291bnRlclBvc10gPSAxO1xuICAgICAgICAgICAgaXNXaGl0ZSA9ICFpc1doaXRlO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xufTtcblxuVHdvT2ZGaXZlUmVhZGVyLnByb3RvdHlwZS5fZmluZFN0YXJ0ID0gZnVuY3Rpb24oKSB7XG4gICAgdmFyIHNlbGYgPSB0aGlzLFxuICAgICAgICBsZWFkaW5nV2hpdGVzcGFjZVN0YXJ0LFxuICAgICAgICBvZmZzZXQgPSBzZWxmLl9uZXh0U2V0KHNlbGYuX3JvdyksXG4gICAgICAgIHN0YXJ0SW5mbyxcbiAgICAgICAgbmFycm93QmFyV2lkdGggPSAxO1xuXG4gICAgd2hpbGUgKCFzdGFydEluZm8pIHtcbiAgICAgICAgc3RhcnRJbmZvID0gc2VsZi5fZmluZFBhdHRlcm4oc2VsZi5TVEFSVF9QQVRURVJOLCBvZmZzZXQsIGZhbHNlLCB0cnVlKTtcbiAgICAgICAgaWYgKCFzdGFydEluZm8pIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIG5hcnJvd0JhcldpZHRoID0gTWF0aC5mbG9vcigoc3RhcnRJbmZvLmVuZCAtIHN0YXJ0SW5mby5zdGFydCkgLyBzdGFydFBhdHRlcm5MZW5ndGgpO1xuICAgICAgICBsZWFkaW5nV2hpdGVzcGFjZVN0YXJ0ID0gc3RhcnRJbmZvLnN0YXJ0IC0gbmFycm93QmFyV2lkdGggKiA1O1xuICAgICAgICBpZiAobGVhZGluZ1doaXRlc3BhY2VTdGFydCA+PSAwKSB7XG4gICAgICAgICAgICBpZiAoc2VsZi5fbWF0Y2hSYW5nZShsZWFkaW5nV2hpdGVzcGFjZVN0YXJ0LCBzdGFydEluZm8uc3RhcnQsIDApKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHN0YXJ0SW5mbztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBvZmZzZXQgPSBzdGFydEluZm8uZW5kO1xuICAgICAgICBzdGFydEluZm8gPSBudWxsO1xuICAgIH1cbn07XG5cblR3b09mRml2ZVJlYWRlci5wcm90b3R5cGUuX3ZlcmlmeVRyYWlsaW5nV2hpdGVzcGFjZSA9IGZ1bmN0aW9uKGVuZEluZm8pIHtcbiAgICB2YXIgc2VsZiA9IHRoaXMsXG4gICAgICAgIHRyYWlsaW5nV2hpdGVzcGFjZUVuZDtcblxuICAgIHRyYWlsaW5nV2hpdGVzcGFjZUVuZCA9IGVuZEluZm8uZW5kICsgKChlbmRJbmZvLmVuZCAtIGVuZEluZm8uc3RhcnQpIC8gMik7XG4gICAgaWYgKHRyYWlsaW5nV2hpdGVzcGFjZUVuZCA8IHNlbGYuX3Jvdy5sZW5ndGgpIHtcbiAgICAgICAgaWYgKHNlbGYuX21hdGNoUmFuZ2UoZW5kSW5mby5lbmQsIHRyYWlsaW5nV2hpdGVzcGFjZUVuZCwgMCkpIHtcbiAgICAgICAgICAgIHJldHVybiBlbmRJbmZvO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xufTtcblxuVHdvT2ZGaXZlUmVhZGVyLnByb3RvdHlwZS5fZmluZEVuZCA9IGZ1bmN0aW9uKCkge1xuICAgIHZhciBzZWxmID0gdGhpcyxcbiAgICAgICAgZW5kSW5mbyxcbiAgICAgICAgdG1wLFxuICAgICAgICBvZmZzZXQ7XG5cbiAgICBzZWxmLl9yb3cucmV2ZXJzZSgpO1xuICAgIG9mZnNldCA9IHNlbGYuX25leHRTZXQoc2VsZi5fcm93KTtcbiAgICBlbmRJbmZvID0gc2VsZi5fZmluZFBhdHRlcm4oc2VsZi5TVE9QX1BBVFRFUk4sIG9mZnNldCwgZmFsc2UsIHRydWUpO1xuICAgIHNlbGYuX3Jvdy5yZXZlcnNlKCk7XG5cbiAgICBpZiAoZW5kSW5mbyA9PT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICAvLyByZXZlcnNlIG51bWJlcnNcbiAgICB0bXAgPSBlbmRJbmZvLnN0YXJ0O1xuICAgIGVuZEluZm8uc3RhcnQgPSBzZWxmLl9yb3cubGVuZ3RoIC0gZW5kSW5mby5lbmQ7XG4gICAgZW5kSW5mby5lbmQgPSBzZWxmLl9yb3cubGVuZ3RoIC0gdG1wO1xuXG4gICAgcmV0dXJuIGVuZEluZm8gIT09IG51bGwgPyBzZWxmLl92ZXJpZnlUcmFpbGluZ1doaXRlc3BhY2UoZW5kSW5mbykgOiBudWxsO1xufTtcblxuVHdvT2ZGaXZlUmVhZGVyLnByb3RvdHlwZS5fZGVjb2RlQ29kZSA9IGZ1bmN0aW9uKGNvdW50ZXIpIHtcbiAgICB2YXIgaixcbiAgICAgICAgc2VsZiA9IHRoaXMsXG4gICAgICAgIHN1bSA9IDAsXG4gICAgICAgIG5vcm1hbGl6ZWQsXG4gICAgICAgIGVycm9yLFxuICAgICAgICBlcHNpbG9uID0gc2VsZi5BVkdfQ09ERV9FUlJPUixcbiAgICAgICAgY29kZSxcbiAgICAgICAgYmVzdE1hdGNoID0ge1xuICAgICAgICAgICAgZXJyb3I6IE51bWJlci5NQVhfVkFMVUUsXG4gICAgICAgICAgICBjb2RlOiAtMSxcbiAgICAgICAgICAgIHN0YXJ0OiAwLFxuICAgICAgICAgICAgZW5kOiAwXG4gICAgICAgIH07XG5cbiAgICBmb3IgKCBqID0gMDsgaiA8IGNvdW50ZXIubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgc3VtICs9IGNvdW50ZXJbal07XG4gICAgfVxuICAgIGZvciAoY29kZSA9IDA7IGNvZGUgPCBzZWxmLkNPREVfUEFUVEVSTi5sZW5ndGg7IGNvZGUrKykge1xuICAgICAgICBlcnJvciA9IHNlbGYuX21hdGNoUGF0dGVybihjb3VudGVyLCBzZWxmLkNPREVfUEFUVEVSTltjb2RlXSk7XG4gICAgICAgIGlmIChlcnJvciA8IGJlc3RNYXRjaC5lcnJvcikge1xuICAgICAgICAgICAgYmVzdE1hdGNoLmNvZGUgPSBjb2RlO1xuICAgICAgICAgICAgYmVzdE1hdGNoLmVycm9yID0gZXJyb3I7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaWYgKGJlc3RNYXRjaC5lcnJvciA8IGVwc2lsb24pIHtcbiAgICAgICAgcmV0dXJuIGJlc3RNYXRjaDtcbiAgICB9XG59O1xuXG5Ud29PZkZpdmVSZWFkZXIucHJvdG90eXBlLl9kZWNvZGVQYXlsb2FkID0gZnVuY3Rpb24oY291bnRlcnMsIHJlc3VsdCwgZGVjb2RlZENvZGVzKSB7XG4gICAgdmFyIGksXG4gICAgICAgIHNlbGYgPSB0aGlzLFxuICAgICAgICBwb3MgPSAwLFxuICAgICAgICBjb3VudGVyTGVuZ3RoID0gY291bnRlcnMubGVuZ3RoLFxuICAgICAgICBjb3VudGVyID0gWzAsIDAsIDAsIDAsIDBdLFxuICAgICAgICBjb2RlO1xuXG4gICAgd2hpbGUgKHBvcyA8IGNvdW50ZXJMZW5ndGgpIHtcbiAgICAgICAgZm9yIChpID0gMDsgaSA8IDU7IGkrKykge1xuICAgICAgICAgICAgY291bnRlcltpXSA9IGNvdW50ZXJzW3Bvc10gKiB0aGlzLmJhclNwYWNlUmF0aW9bMF07XG4gICAgICAgICAgICBwb3MgKz0gMjtcbiAgICAgICAgfVxuICAgICAgICBjb2RlID0gc2VsZi5fZGVjb2RlQ29kZShjb3VudGVyKTtcbiAgICAgICAgaWYgKCFjb2RlKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICByZXN1bHQucHVzaChjb2RlLmNvZGUgKyBcIlwiKTtcbiAgICAgICAgZGVjb2RlZENvZGVzLnB1c2goY29kZSk7XG4gICAgfVxuICAgIHJldHVybiBjb2RlO1xufTtcblxuVHdvT2ZGaXZlUmVhZGVyLnByb3RvdHlwZS5fdmVyaWZ5Q291bnRlckxlbmd0aCA9IGZ1bmN0aW9uKGNvdW50ZXJzKSB7XG4gICAgcmV0dXJuIChjb3VudGVycy5sZW5ndGggJSAxMCA9PT0gMCk7XG59O1xuXG5Ud29PZkZpdmVSZWFkZXIucHJvdG90eXBlLl9kZWNvZGUgPSBmdW5jdGlvbigpIHtcbiAgICB2YXIgc3RhcnRJbmZvLFxuICAgICAgICBlbmRJbmZvLFxuICAgICAgICBzZWxmID0gdGhpcyxcbiAgICAgICAgY29kZSxcbiAgICAgICAgcmVzdWx0ID0gW10sXG4gICAgICAgIGRlY29kZWRDb2RlcyA9IFtdLFxuICAgICAgICBjb3VudGVycztcblxuICAgIHN0YXJ0SW5mbyA9IHNlbGYuX2ZpbmRTdGFydCgpO1xuICAgIGlmICghc3RhcnRJbmZvKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBkZWNvZGVkQ29kZXMucHVzaChzdGFydEluZm8pO1xuXG4gICAgZW5kSW5mbyA9IHNlbGYuX2ZpbmRFbmQoKTtcbiAgICBpZiAoIWVuZEluZm8pIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY291bnRlcnMgPSBzZWxmLl9maWxsQ291bnRlcnMoc3RhcnRJbmZvLmVuZCwgZW5kSW5mby5zdGFydCwgZmFsc2UpO1xuICAgIGlmICghc2VsZi5fdmVyaWZ5Q291bnRlckxlbmd0aChjb3VudGVycykpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGNvZGUgPSBzZWxmLl9kZWNvZGVQYXlsb2FkKGNvdW50ZXJzLCByZXN1bHQsIGRlY29kZWRDb2Rlcyk7XG4gICAgaWYgKCFjb2RlKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBpZiAocmVzdWx0Lmxlbmd0aCA8IDUpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgZGVjb2RlZENvZGVzLnB1c2goZW5kSW5mbyk7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgY29kZTogcmVzdWx0LmpvaW4oXCJcIiksXG4gICAgICAgIHN0YXJ0OiBzdGFydEluZm8uc3RhcnQsXG4gICAgICAgIGVuZDogZW5kSW5mby5lbmQsXG4gICAgICAgIHN0YXJ0SW5mbzogc3RhcnRJbmZvLFxuICAgICAgICBkZWNvZGVkQ29kZXM6IGRlY29kZWRDb2Rlc1xuICAgIH07XG59O1xuXG5leHBvcnQgZGVmYXVsdCBUd29PZkZpdmVSZWFkZXI7XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9zcmMvcmVhZGVyLzJvZjVfcmVhZGVyLmpzIiwiaW1wb3J0IEJhcmNvZGVSZWFkZXIgZnJvbSAnLi9iYXJjb2RlX3JlYWRlcic7XG5cbmZ1bmN0aW9uIENvZGFiYXJSZWFkZXIoKSB7XG4gICAgQmFyY29kZVJlYWRlci5jYWxsKHRoaXMpO1xuICAgIHRoaXMuX2NvdW50ZXJzID0gW107XG59XG5cbnZhciBwcm9wZXJ0aWVzID0ge1xuICAgIEFMUEhBQkVUSF9TVFJJTkc6IHt2YWx1ZTogXCIwMTIzNDU2Nzg5LSQ6Ly4rQUJDRFwifSxcbiAgICBBTFBIQUJFVDoge3ZhbHVlOiBbNDgsIDQ5LCA1MCwgNTEsIDUyLCA1MywgNTQsIDU1LCA1NiwgNTcsIDQ1LCAzNiwgNTgsIDQ3LCA0NiwgNDMsIDY1LCA2NiwgNjcsIDY4XX0sXG4gICAgQ0hBUkFDVEVSX0VOQ09ESU5HUzoge3ZhbHVlOiBbMHgwMDMsIDB4MDA2LCAweDAwOSwgMHgwNjAsIDB4MDEyLCAweDA0MiwgMHgwMjEsIDB4MDI0LCAweDAzMCwgMHgwNDgsIDB4MDBjLCAweDAxOCxcbiAgICAgICAgMHgwNDUsIDB4MDUxLCAweDA1NCwgMHgwMTUsIDB4MDFBLCAweDAyOSwgMHgwMEIsIDB4MDBFXX0sXG4gICAgU1RBUlRfRU5EOiB7dmFsdWU6IFsweDAxQSwgMHgwMjksIDB4MDBCLCAweDAwRV19LFxuICAgIE1JTl9FTkNPREVEX0NIQVJTOiB7dmFsdWU6IDR9LFxuICAgIE1BWF9BQ0NFUFRBQkxFOiB7dmFsdWU6IDIuMH0sXG4gICAgUEFERElORzoge3ZhbHVlOiAxLjV9LFxuICAgIEZPUk1BVDoge3ZhbHVlOiBcImNvZGFiYXJcIiwgd3JpdGVhYmxlOiBmYWxzZX1cbn07XG5cbkNvZGFiYXJSZWFkZXIucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShCYXJjb2RlUmVhZGVyLnByb3RvdHlwZSwgcHJvcGVydGllcyk7XG5Db2RhYmFyUmVhZGVyLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IENvZGFiYXJSZWFkZXI7XG5cbkNvZGFiYXJSZWFkZXIucHJvdG90eXBlLl9kZWNvZGUgPSBmdW5jdGlvbigpIHtcbiAgICB2YXIgc2VsZiA9IHRoaXMsXG4gICAgICAgIHJlc3VsdCA9IFtdLFxuICAgICAgICBzdGFydCxcbiAgICAgICAgZGVjb2RlZENoYXIsXG4gICAgICAgIHBhdHRlcm4sXG4gICAgICAgIG5leHRTdGFydCxcbiAgICAgICAgZW5kO1xuXG4gICAgdGhpcy5fY291bnRlcnMgPSBzZWxmLl9maWxsQ291bnRlcnMoKTtcbiAgICBzdGFydCA9IHNlbGYuX2ZpbmRTdGFydCgpO1xuICAgIGlmICghc3RhcnQpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIG5leHRTdGFydCA9IHN0YXJ0LnN0YXJ0Q291bnRlcjtcblxuICAgIGRvIHtcbiAgICAgICAgcGF0dGVybiA9IHNlbGYuX3RvUGF0dGVybihuZXh0U3RhcnQpO1xuICAgICAgICBpZiAocGF0dGVybiA8IDApIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGRlY29kZWRDaGFyID0gc2VsZi5fcGF0dGVyblRvQ2hhcihwYXR0ZXJuKTtcbiAgICAgICAgaWYgKGRlY29kZWRDaGFyIDwgMCl7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICByZXN1bHQucHVzaChkZWNvZGVkQ2hhcik7XG4gICAgICAgIG5leHRTdGFydCArPSA4O1xuICAgICAgICBpZiAocmVzdWx0Lmxlbmd0aCA+IDEgJiYgc2VsZi5faXNTdGFydEVuZChwYXR0ZXJuKSkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9IHdoaWxlIChuZXh0U3RhcnQgPCBzZWxmLl9jb3VudGVycy5sZW5ndGgpO1xuXG4gICAgLy8gdmVyaWZ5IGVuZFxuICAgIGlmICgocmVzdWx0Lmxlbmd0aCAtIDIpIDwgc2VsZi5NSU5fRU5DT0RFRF9DSEFSUyB8fCAhc2VsZi5faXNTdGFydEVuZChwYXR0ZXJuKSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICAvLyB2ZXJpZnkgZW5kIHdoaXRlIHNwYWNlXG4gICAgaWYgKCFzZWxmLl92ZXJpZnlXaGl0ZXNwYWNlKHN0YXJ0LnN0YXJ0Q291bnRlciwgbmV4dFN0YXJ0IC0gOCkpe1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAoIXNlbGYuX3ZhbGlkYXRlUmVzdWx0KHJlc3VsdCwgc3RhcnQuc3RhcnRDb3VudGVyKSl7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIG5leHRTdGFydCA9IG5leHRTdGFydCA+IHNlbGYuX2NvdW50ZXJzLmxlbmd0aCA/IHNlbGYuX2NvdW50ZXJzLmxlbmd0aCA6IG5leHRTdGFydDtcbiAgICBlbmQgPSBzdGFydC5zdGFydCArIHNlbGYuX3N1bUNvdW50ZXJzKHN0YXJ0LnN0YXJ0Q291bnRlciwgbmV4dFN0YXJ0IC0gOCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgICBjb2RlOiByZXN1bHQuam9pbihcIlwiKSxcbiAgICAgICAgc3RhcnQ6IHN0YXJ0LnN0YXJ0LFxuICAgICAgICBlbmQ6IGVuZCxcbiAgICAgICAgc3RhcnRJbmZvOiBzdGFydCxcbiAgICAgICAgZGVjb2RlZENvZGVzOiByZXN1bHRcbiAgICB9O1xufTtcblxuQ29kYWJhclJlYWRlci5wcm90b3R5cGUuX3ZlcmlmeVdoaXRlc3BhY2UgPSBmdW5jdGlvbihzdGFydENvdW50ZXIsIGVuZENvdW50ZXIpIHtcbiAgICBpZiAoKHN0YXJ0Q291bnRlciAtIDEgPD0gMClcbiAgICAgICAgICAgIHx8IHRoaXMuX2NvdW50ZXJzW3N0YXJ0Q291bnRlciAtIDFdID49ICh0aGlzLl9jYWxjdWxhdGVQYXR0ZXJuTGVuZ3RoKHN0YXJ0Q291bnRlcikgLyAyLjApKSB7XG4gICAgICAgIGlmICgoZW5kQ291bnRlciArIDggPj0gdGhpcy5fY291bnRlcnMubGVuZ3RoKVxuICAgICAgICAgICAgICAgIHx8IHRoaXMuX2NvdW50ZXJzW2VuZENvdW50ZXIgKyA3XSA+PSAodGhpcy5fY2FsY3VsYXRlUGF0dGVybkxlbmd0aChlbmRDb3VudGVyKSAvIDIuMCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbn07XG5cbkNvZGFiYXJSZWFkZXIucHJvdG90eXBlLl9jYWxjdWxhdGVQYXR0ZXJuTGVuZ3RoID0gZnVuY3Rpb24ob2Zmc2V0KSB7XG4gICAgdmFyIGksXG4gICAgICAgIHN1bSA9IDA7XG5cbiAgICBmb3IgKGkgPSBvZmZzZXQ7IGkgPCBvZmZzZXQgKyA3OyBpKyspIHtcbiAgICAgICAgc3VtICs9IHRoaXMuX2NvdW50ZXJzW2ldO1xuICAgIH1cblxuICAgIHJldHVybiBzdW07XG59O1xuXG5Db2RhYmFyUmVhZGVyLnByb3RvdHlwZS5fdGhyZXNob2xkUmVzdWx0UGF0dGVybiA9IGZ1bmN0aW9uKHJlc3VsdCwgc3RhcnRDb3VudGVyKXtcbiAgICB2YXIgc2VsZiA9IHRoaXMsXG4gICAgICAgIGNhdGVnb3JpemF0aW9uID0ge1xuICAgICAgICAgICAgc3BhY2U6IHtcbiAgICAgICAgICAgICAgICBuYXJyb3c6IHsgc2l6ZTogMCwgY291bnRzOiAwLCBtaW46IDAsIG1heDogTnVtYmVyLk1BWF9WQUxVRX0sXG4gICAgICAgICAgICAgICAgd2lkZToge3NpemU6IDAsIGNvdW50czogMCwgbWluOiAwLCBtYXg6IE51bWJlci5NQVhfVkFMVUV9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgYmFyOiB7XG4gICAgICAgICAgICAgICAgbmFycm93OiB7IHNpemU6IDAsIGNvdW50czogMCwgbWluOiAwLCBtYXg6IE51bWJlci5NQVhfVkFMVUV9LFxuICAgICAgICAgICAgICAgIHdpZGU6IHsgc2l6ZTogMCwgY291bnRzOiAwLCBtaW46IDAsIG1heDogTnVtYmVyLk1BWF9WQUxVRX1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAga2luZCxcbiAgICAgICAgY2F0LFxuICAgICAgICBpLFxuICAgICAgICBqLFxuICAgICAgICBwb3MgPSBzdGFydENvdW50ZXIsXG4gICAgICAgIHBhdHRlcm47XG5cbiAgICBmb3IgKGkgPSAwOyBpIDwgcmVzdWx0Lmxlbmd0aDsgaSsrKXtcbiAgICAgICAgcGF0dGVybiA9IHNlbGYuX2NoYXJUb1BhdHRlcm4ocmVzdWx0W2ldKTtcbiAgICAgICAgZm9yIChqID0gNjsgaiA+PSAwOyBqLS0pIHtcbiAgICAgICAgICAgIGtpbmQgPSAoaiAmIDEpID09PSAyID8gY2F0ZWdvcml6YXRpb24uYmFyIDogY2F0ZWdvcml6YXRpb24uc3BhY2U7XG4gICAgICAgICAgICBjYXQgPSAocGF0dGVybiAmIDEpID09PSAxID8ga2luZC53aWRlIDoga2luZC5uYXJyb3c7XG4gICAgICAgICAgICBjYXQuc2l6ZSArPSBzZWxmLl9jb3VudGVyc1twb3MgKyBqXTtcbiAgICAgICAgICAgIGNhdC5jb3VudHMrKztcbiAgICAgICAgICAgIHBhdHRlcm4gPj49IDE7XG4gICAgICAgIH1cbiAgICAgICAgcG9zICs9IDg7XG4gICAgfVxuXG4gICAgW1wic3BhY2VcIiwgXCJiYXJcIl0uZm9yRWFjaChmdW5jdGlvbihrZXkpIHtcbiAgICAgICAgdmFyIG5ld2tpbmQgPSBjYXRlZ29yaXphdGlvbltrZXldO1xuICAgICAgICBuZXdraW5kLndpZGUubWluID1cbiAgICAgICAgICAgIE1hdGguZmxvb3IoKG5ld2tpbmQubmFycm93LnNpemUgLyBuZXdraW5kLm5hcnJvdy5jb3VudHMgKyBuZXdraW5kLndpZGUuc2l6ZSAvIG5ld2tpbmQud2lkZS5jb3VudHMpIC8gMik7XG4gICAgICAgIG5ld2tpbmQubmFycm93Lm1heCA9IE1hdGguY2VpbChuZXdraW5kLndpZGUubWluKTtcbiAgICAgICAgbmV3a2luZC53aWRlLm1heCA9IE1hdGguY2VpbCgobmV3a2luZC53aWRlLnNpemUgKiBzZWxmLk1BWF9BQ0NFUFRBQkxFICsgc2VsZi5QQURESU5HKSAvIG5ld2tpbmQud2lkZS5jb3VudHMpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGNhdGVnb3JpemF0aW9uO1xufTtcblxuQ29kYWJhclJlYWRlci5wcm90b3R5cGUuX2NoYXJUb1BhdHRlcm4gPSBmdW5jdGlvbihjaGFyKSB7XG4gICAgdmFyIHNlbGYgPSB0aGlzLFxuICAgICAgICBjaGFyQ29kZSA9IGNoYXIuY2hhckNvZGVBdCgwKSxcbiAgICAgICAgaTtcblxuICAgIGZvciAoaSA9IDA7IGkgPCBzZWxmLkFMUEhBQkVULmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmIChzZWxmLkFMUEhBQkVUW2ldID09PSBjaGFyQ29kZSl7XG4gICAgICAgICAgICByZXR1cm4gc2VsZi5DSEFSQUNURVJfRU5DT0RJTkdTW2ldO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiAweDA7XG59O1xuXG5Db2RhYmFyUmVhZGVyLnByb3RvdHlwZS5fdmFsaWRhdGVSZXN1bHQgPSBmdW5jdGlvbihyZXN1bHQsIHN0YXJ0Q291bnRlcikge1xuICAgIHZhciBzZWxmID0gdGhpcyxcbiAgICAgICAgdGhyZXNob2xkcyA9IHNlbGYuX3RocmVzaG9sZFJlc3VsdFBhdHRlcm4ocmVzdWx0LCBzdGFydENvdW50ZXIpLFxuICAgICAgICBpLFxuICAgICAgICBqLFxuICAgICAgICBraW5kLFxuICAgICAgICBjYXQsXG4gICAgICAgIHNpemUsXG4gICAgICAgIHBvcyA9IHN0YXJ0Q291bnRlcixcbiAgICAgICAgcGF0dGVybjtcblxuICAgIGZvciAoaSA9IDA7IGkgPCByZXN1bHQubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgcGF0dGVybiA9IHNlbGYuX2NoYXJUb1BhdHRlcm4ocmVzdWx0W2ldKTtcbiAgICAgICAgZm9yIChqID0gNjsgaiA+PSAwOyBqLS0pIHtcbiAgICAgICAgICAgIGtpbmQgPSAoaiAmIDEpID09PSAwID8gdGhyZXNob2xkcy5iYXIgOiB0aHJlc2hvbGRzLnNwYWNlO1xuICAgICAgICAgICAgY2F0ID0gKHBhdHRlcm4gJiAxKSA9PT0gMSA/IGtpbmQud2lkZSA6IGtpbmQubmFycm93O1xuICAgICAgICAgICAgc2l6ZSA9IHNlbGYuX2NvdW50ZXJzW3BvcyArIGpdO1xuICAgICAgICAgICAgaWYgKHNpemUgPCBjYXQubWluIHx8IHNpemUgPiBjYXQubWF4KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcGF0dGVybiA+Pj0gMTtcbiAgICAgICAgfVxuICAgICAgICBwb3MgKz0gODtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG59O1xuXG5Db2RhYmFyUmVhZGVyLnByb3RvdHlwZS5fcGF0dGVyblRvQ2hhciA9IGZ1bmN0aW9uKHBhdHRlcm4pIHtcbiAgICB2YXIgaSxcbiAgICAgICAgc2VsZiA9IHRoaXM7XG5cbiAgICBmb3IgKGkgPSAwOyBpIDwgc2VsZi5DSEFSQUNURVJfRU5DT0RJTkdTLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmIChzZWxmLkNIQVJBQ1RFUl9FTkNPRElOR1NbaV0gPT09IHBhdHRlcm4pIHtcbiAgICAgICAgICAgIHJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKHNlbGYuQUxQSEFCRVRbaV0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiAtMTtcbn07XG5cbkNvZGFiYXJSZWFkZXIucHJvdG90eXBlLl9jb21wdXRlQWx0ZXJuYXRpbmdUaHJlc2hvbGQgPSBmdW5jdGlvbihvZmZzZXQsIGVuZCkge1xuICAgIHZhciBpLFxuICAgICAgICBtaW4gPSBOdW1iZXIuTUFYX1ZBTFVFLFxuICAgICAgICBtYXggPSAwLFxuICAgICAgICBjb3VudGVyO1xuXG4gICAgZm9yIChpID0gb2Zmc2V0OyBpIDwgZW5kOyBpICs9IDIpe1xuICAgICAgICBjb3VudGVyID0gdGhpcy5fY291bnRlcnNbaV07XG4gICAgICAgIGlmIChjb3VudGVyID4gbWF4KSB7XG4gICAgICAgICAgICBtYXggPSBjb3VudGVyO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjb3VudGVyIDwgbWluKSB7XG4gICAgICAgICAgICBtaW4gPSBjb3VudGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuICgobWluICsgbWF4KSAvIDIuMCkgfCAwO1xufTtcblxuQ29kYWJhclJlYWRlci5wcm90b3R5cGUuX3RvUGF0dGVybiA9IGZ1bmN0aW9uKG9mZnNldCkge1xuICAgIHZhciBudW1Db3VudGVycyA9IDcsXG4gICAgICAgIGVuZCA9IG9mZnNldCArIG51bUNvdW50ZXJzLFxuICAgICAgICBiYXJUaHJlc2hvbGQsXG4gICAgICAgIHNwYWNlVGhyZXNob2xkLFxuICAgICAgICBiaXRtYXNrID0gMSA8PCAobnVtQ291bnRlcnMgLSAxKSxcbiAgICAgICAgcGF0dGVybiA9IDAsXG4gICAgICAgIGksXG4gICAgICAgIHRocmVzaG9sZDtcblxuICAgIGlmIChlbmQgPiB0aGlzLl9jb3VudGVycy5sZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIC0xO1xuICAgIH1cblxuICAgIGJhclRocmVzaG9sZCA9IHRoaXMuX2NvbXB1dGVBbHRlcm5hdGluZ1RocmVzaG9sZChvZmZzZXQsIGVuZCk7XG4gICAgc3BhY2VUaHJlc2hvbGQgPSB0aGlzLl9jb21wdXRlQWx0ZXJuYXRpbmdUaHJlc2hvbGQob2Zmc2V0ICsgMSwgZW5kKTtcblxuICAgIGZvciAoaSA9IDA7IGkgPCBudW1Db3VudGVyczsgaSsrKXtcbiAgICAgICAgdGhyZXNob2xkID0gKGkgJiAxKSA9PT0gMCA/IGJhclRocmVzaG9sZCA6IHNwYWNlVGhyZXNob2xkO1xuICAgICAgICBpZiAodGhpcy5fY291bnRlcnNbb2Zmc2V0ICsgaV0gPiB0aHJlc2hvbGQpIHtcbiAgICAgICAgICAgIHBhdHRlcm4gfD0gYml0bWFzaztcbiAgICAgICAgfVxuICAgICAgICBiaXRtYXNrID4+PSAxO1xuICAgIH1cblxuICAgIHJldHVybiBwYXR0ZXJuO1xufTtcblxuQ29kYWJhclJlYWRlci5wcm90b3R5cGUuX2lzU3RhcnRFbmQgPSBmdW5jdGlvbihwYXR0ZXJuKSB7XG4gICAgdmFyIGk7XG5cbiAgICBmb3IgKGkgPSAwOyBpIDwgdGhpcy5TVEFSVF9FTkQubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKHRoaXMuU1RBUlRfRU5EW2ldID09PSBwYXR0ZXJuKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG59O1xuXG5Db2RhYmFyUmVhZGVyLnByb3RvdHlwZS5fc3VtQ291bnRlcnMgPSBmdW5jdGlvbihzdGFydCwgZW5kKSB7XG4gICAgdmFyIGksXG4gICAgICAgIHN1bSA9IDA7XG5cbiAgICBmb3IgKGkgPSBzdGFydDsgaSA8IGVuZDsgaSsrKSB7XG4gICAgICAgIHN1bSArPSB0aGlzLl9jb3VudGVyc1tpXTtcbiAgICB9XG4gICAgcmV0dXJuIHN1bTtcbn07XG5cbkNvZGFiYXJSZWFkZXIucHJvdG90eXBlLl9maW5kU3RhcnQgPSBmdW5jdGlvbigpIHtcbiAgICB2YXIgc2VsZiA9IHRoaXMsXG4gICAgICAgIGksXG4gICAgICAgIHBhdHRlcm4sXG4gICAgICAgIHN0YXJ0ID0gc2VsZi5fbmV4dFVuc2V0KHNlbGYuX3JvdyksXG4gICAgICAgIGVuZDtcblxuICAgIGZvciAoaSA9IDE7IGkgPCB0aGlzLl9jb3VudGVycy5sZW5ndGg7IGkrKykge1xuICAgICAgICBwYXR0ZXJuID0gc2VsZi5fdG9QYXR0ZXJuKGkpO1xuICAgICAgICBpZiAocGF0dGVybiAhPT0gLTEgJiYgc2VsZi5faXNTdGFydEVuZChwYXR0ZXJuKSkge1xuICAgICAgICAgICAgLy8gVE9ETzogTG9vayBmb3Igd2hpdGVzcGFjZSBhaGVhZFxuICAgICAgICAgICAgc3RhcnQgKz0gc2VsZi5fc3VtQ291bnRlcnMoMCwgaSk7XG4gICAgICAgICAgICBlbmQgPSBzdGFydCArIHNlbGYuX3N1bUNvdW50ZXJzKGksIGkgKyA4KTtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgc3RhcnQ6IHN0YXJ0LFxuICAgICAgICAgICAgICAgIGVuZDogZW5kLFxuICAgICAgICAgICAgICAgIHN0YXJ0Q291bnRlcjogaSxcbiAgICAgICAgICAgICAgICBlbmRDb3VudGVyOiBpICsgOFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgIH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IENvZGFiYXJSZWFkZXI7XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9zcmMvcmVhZGVyL2NvZGFiYXJfcmVhZGVyLmpzIiwiaW1wb3J0IEJhcmNvZGVSZWFkZXIgZnJvbSAnLi9iYXJjb2RlX3JlYWRlcic7XG5cbmZ1bmN0aW9uIENvZGUxMjhSZWFkZXIoKSB7XG4gICAgQmFyY29kZVJlYWRlci5jYWxsKHRoaXMpO1xufVxuXG52YXIgcHJvcGVydGllcyA9IHtcbiAgICBDT0RFX1NISUZUOiB7dmFsdWU6IDk4fSxcbiAgICBDT0RFX0M6IHt2YWx1ZTogOTl9LFxuICAgIENPREVfQjoge3ZhbHVlOiAxMDB9LFxuICAgIENPREVfQToge3ZhbHVlOiAxMDF9LFxuICAgIFNUQVJUX0NPREVfQToge3ZhbHVlOiAxMDN9LFxuICAgIFNUQVJUX0NPREVfQjoge3ZhbHVlOiAxMDR9LFxuICAgIFNUQVJUX0NPREVfQzoge3ZhbHVlOiAxMDV9LFxuICAgIFNUT1BfQ09ERToge3ZhbHVlOiAxMDZ9LFxuICAgIENPREVfUEFUVEVSTjoge3ZhbHVlOiBbXG4gICAgICAgIFsyLCAxLCAyLCAyLCAyLCAyXSxcbiAgICAgICAgWzIsIDIsIDIsIDEsIDIsIDJdLFxuICAgICAgICBbMiwgMiwgMiwgMiwgMiwgMV0sXG4gICAgICAgIFsxLCAyLCAxLCAyLCAyLCAzXSxcbiAgICAgICAgWzEsIDIsIDEsIDMsIDIsIDJdLFxuICAgICAgICBbMSwgMywgMSwgMiwgMiwgMl0sXG4gICAgICAgIFsxLCAyLCAyLCAyLCAxLCAzXSxcbiAgICAgICAgWzEsIDIsIDIsIDMsIDEsIDJdLFxuICAgICAgICBbMSwgMywgMiwgMiwgMSwgMl0sXG4gICAgICAgIFsyLCAyLCAxLCAyLCAxLCAzXSxcbiAgICAgICAgWzIsIDIsIDEsIDMsIDEsIDJdLFxuICAgICAgICBbMiwgMywgMSwgMiwgMSwgMl0sXG4gICAgICAgIFsxLCAxLCAyLCAyLCAzLCAyXSxcbiAgICAgICAgWzEsIDIsIDIsIDEsIDMsIDJdLFxuICAgICAgICBbMSwgMiwgMiwgMiwgMywgMV0sXG4gICAgICAgIFsxLCAxLCAzLCAyLCAyLCAyXSxcbiAgICAgICAgWzEsIDIsIDMsIDEsIDIsIDJdLFxuICAgICAgICBbMSwgMiwgMywgMiwgMiwgMV0sXG4gICAgICAgIFsyLCAyLCAzLCAyLCAxLCAxXSxcbiAgICAgICAgWzIsIDIsIDEsIDEsIDMsIDJdLFxuICAgICAgICBbMiwgMiwgMSwgMiwgMywgMV0sXG4gICAgICAgIFsyLCAxLCAzLCAyLCAxLCAyXSxcbiAgICAgICAgWzIsIDIsIDMsIDEsIDEsIDJdLFxuICAgICAgICBbMywgMSwgMiwgMSwgMywgMV0sXG4gICAgICAgIFszLCAxLCAxLCAyLCAyLCAyXSxcbiAgICAgICAgWzMsIDIsIDEsIDEsIDIsIDJdLFxuICAgICAgICBbMywgMiwgMSwgMiwgMiwgMV0sXG4gICAgICAgIFszLCAxLCAyLCAyLCAxLCAyXSxcbiAgICAgICAgWzMsIDIsIDIsIDEsIDEsIDJdLFxuICAgICAgICBbMywgMiwgMiwgMiwgMSwgMV0sXG4gICAgICAgIFsyLCAxLCAyLCAxLCAyLCAzXSxcbiAgICAgICAgWzIsIDEsIDIsIDMsIDIsIDFdLFxuICAgICAgICBbMiwgMywgMiwgMSwgMiwgMV0sXG4gICAgICAgIFsxLCAxLCAxLCAzLCAyLCAzXSxcbiAgICAgICAgWzEsIDMsIDEsIDEsIDIsIDNdLFxuICAgICAgICBbMSwgMywgMSwgMywgMiwgMV0sXG4gICAgICAgIFsxLCAxLCAyLCAzLCAxLCAzXSxcbiAgICAgICAgWzEsIDMsIDIsIDEsIDEsIDNdLFxuICAgICAgICBbMSwgMywgMiwgMywgMSwgMV0sXG4gICAgICAgIFsyLCAxLCAxLCAzLCAxLCAzXSxcbiAgICAgICAgWzIsIDMsIDEsIDEsIDEsIDNdLFxuICAgICAgICBbMiwgMywgMSwgMywgMSwgMV0sXG4gICAgICAgIFsxLCAxLCAyLCAxLCAzLCAzXSxcbiAgICAgICAgWzEsIDEsIDIsIDMsIDMsIDFdLFxuICAgICAgICBbMSwgMywgMiwgMSwgMywgMV0sXG4gICAgICAgIFsxLCAxLCAzLCAxLCAyLCAzXSxcbiAgICAgICAgWzEsIDEsIDMsIDMsIDIsIDFdLFxuICAgICAgICBbMSwgMywgMywgMSwgMiwgMV0sXG4gICAgICAgIFszLCAxLCAzLCAxLCAyLCAxXSxcbiAgICAgICAgWzIsIDEsIDEsIDMsIDMsIDFdLFxuICAgICAgICBbMiwgMywgMSwgMSwgMywgMV0sXG4gICAgICAgIFsyLCAxLCAzLCAxLCAxLCAzXSxcbiAgICAgICAgWzIsIDEsIDMsIDMsIDEsIDFdLFxuICAgICAgICBbMiwgMSwgMywgMSwgMywgMV0sXG4gICAgICAgIFszLCAxLCAxLCAxLCAyLCAzXSxcbiAgICAgICAgWzMsIDEsIDEsIDMsIDIsIDFdLFxuICAgICAgICBbMywgMywgMSwgMSwgMiwgMV0sXG4gICAgICAgIFszLCAxLCAyLCAxLCAxLCAzXSxcbiAgICAgICAgWzMsIDEsIDIsIDMsIDEsIDFdLFxuICAgICAgICBbMywgMywgMiwgMSwgMSwgMV0sXG4gICAgICAgIFszLCAxLCA0LCAxLCAxLCAxXSxcbiAgICAgICAgWzIsIDIsIDEsIDQsIDEsIDFdLFxuICAgICAgICBbNCwgMywgMSwgMSwgMSwgMV0sXG4gICAgICAgIFsxLCAxLCAxLCAyLCAyLCA0XSxcbiAgICAgICAgWzEsIDEsIDEsIDQsIDIsIDJdLFxuICAgICAgICBbMSwgMiwgMSwgMSwgMiwgNF0sXG4gICAgICAgIFsxLCAyLCAxLCA0LCAyLCAxXSxcbiAgICAgICAgWzEsIDQsIDEsIDEsIDIsIDJdLFxuICAgICAgICBbMSwgNCwgMSwgMiwgMiwgMV0sXG4gICAgICAgIFsxLCAxLCAyLCAyLCAxLCA0XSxcbiAgICAgICAgWzEsIDEsIDIsIDQsIDEsIDJdLFxuICAgICAgICBbMSwgMiwgMiwgMSwgMSwgNF0sXG4gICAgICAgIFsxLCAyLCAyLCA0LCAxLCAxXSxcbiAgICAgICAgWzEsIDQsIDIsIDEsIDEsIDJdLFxuICAgICAgICBbMSwgNCwgMiwgMiwgMSwgMV0sXG4gICAgICAgIFsyLCA0LCAxLCAyLCAxLCAxXSxcbiAgICAgICAgWzIsIDIsIDEsIDEsIDEsIDRdLFxuICAgICAgICBbNCwgMSwgMywgMSwgMSwgMV0sXG4gICAgICAgIFsyLCA0LCAxLCAxLCAxLCAyXSxcbiAgICAgICAgWzEsIDMsIDQsIDEsIDEsIDFdLFxuICAgICAgICBbMSwgMSwgMSwgMiwgNCwgMl0sXG4gICAgICAgIFsxLCAyLCAxLCAxLCA0LCAyXSxcbiAgICAgICAgWzEsIDIsIDEsIDIsIDQsIDFdLFxuICAgICAgICBbMSwgMSwgNCwgMiwgMSwgMl0sXG4gICAgICAgIFsxLCAyLCA0LCAxLCAxLCAyXSxcbiAgICAgICAgWzEsIDIsIDQsIDIsIDEsIDFdLFxuICAgICAgICBbNCwgMSwgMSwgMiwgMSwgMl0sXG4gICAgICAgIFs0LCAyLCAxLCAxLCAxLCAyXSxcbiAgICAgICAgWzQsIDIsIDEsIDIsIDEsIDFdLFxuICAgICAgICBbMiwgMSwgMiwgMSwgNCwgMV0sXG4gICAgICAgIFsyLCAxLCA0LCAxLCAyLCAxXSxcbiAgICAgICAgWzQsIDEsIDIsIDEsIDIsIDFdLFxuICAgICAgICBbMSwgMSwgMSwgMSwgNCwgM10sXG4gICAgICAgIFsxLCAxLCAxLCAzLCA0LCAxXSxcbiAgICAgICAgWzEsIDMsIDEsIDEsIDQsIDFdLFxuICAgICAgICBbMSwgMSwgNCwgMSwgMSwgM10sXG4gICAgICAgIFsxLCAxLCA0LCAzLCAxLCAxXSxcbiAgICAgICAgWzQsIDEsIDEsIDEsIDEsIDNdLFxuICAgICAgICBbNCwgMSwgMSwgMywgMSwgMV0sXG4gICAgICAgIFsxLCAxLCAzLCAxLCA0LCAxXSxcbiAgICAgICAgWzEsIDEsIDQsIDEsIDMsIDFdLFxuICAgICAgICBbMywgMSwgMSwgMSwgNCwgMV0sXG4gICAgICAgIFs0LCAxLCAxLCAxLCAzLCAxXSxcbiAgICAgICAgWzIsIDEsIDEsIDQsIDEsIDJdLFxuICAgICAgICBbMiwgMSwgMSwgMiwgMSwgNF0sXG4gICAgICAgIFsyLCAxLCAxLCAyLCAzLCAyXSxcbiAgICAgICAgWzIsIDMsIDMsIDEsIDEsIDEsIDJdXG4gICAgXX0sXG4gICAgU0lOR0xFX0NPREVfRVJST1I6IHt2YWx1ZTogMC42NH0sXG4gICAgQVZHX0NPREVfRVJST1I6IHt2YWx1ZTogMC4zMH0sXG4gICAgRk9STUFUOiB7dmFsdWU6IFwiY29kZV8xMjhcIiwgd3JpdGVhYmxlOiBmYWxzZX0sXG4gICAgTU9EVUxFX0lORElDRVM6IHt2YWx1ZToge2JhcjogWzAsIDIsIDRdLCBzcGFjZTogWzEsIDMsIDVdfX1cbn07XG5cbkNvZGUxMjhSZWFkZXIucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShCYXJjb2RlUmVhZGVyLnByb3RvdHlwZSwgcHJvcGVydGllcyk7XG5Db2RlMTI4UmVhZGVyLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IENvZGUxMjhSZWFkZXI7XG5cbkNvZGUxMjhSZWFkZXIucHJvdG90eXBlLl9kZWNvZGVDb2RlID0gZnVuY3Rpb24oc3RhcnQsIGNvcnJlY3Rpb24pIHtcbiAgICB2YXIgY291bnRlciA9IFswLCAwLCAwLCAwLCAwLCAwXSxcbiAgICAgICAgaSxcbiAgICAgICAgc2VsZiA9IHRoaXMsXG4gICAgICAgIG9mZnNldCA9IHN0YXJ0LFxuICAgICAgICBpc1doaXRlID0gIXNlbGYuX3Jvd1tvZmZzZXRdLFxuICAgICAgICBjb3VudGVyUG9zID0gMCxcbiAgICAgICAgYmVzdE1hdGNoID0ge1xuICAgICAgICAgICAgZXJyb3I6IE51bWJlci5NQVhfVkFMVUUsXG4gICAgICAgICAgICBjb2RlOiAtMSxcbiAgICAgICAgICAgIHN0YXJ0OiBzdGFydCxcbiAgICAgICAgICAgIGVuZDogc3RhcnQsXG4gICAgICAgICAgICBjb3JyZWN0aW9uOiB7XG4gICAgICAgICAgICAgICAgYmFyOiAxLFxuICAgICAgICAgICAgICAgIHNwYWNlOiAxXG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGNvZGUsXG4gICAgICAgIGVycm9yO1xuXG4gICAgZm9yICggaSA9IG9mZnNldDsgaSA8IHNlbGYuX3Jvdy5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAoc2VsZi5fcm93W2ldIF4gaXNXaGl0ZSkge1xuICAgICAgICAgICAgY291bnRlcltjb3VudGVyUG9zXSsrO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKGNvdW50ZXJQb3MgPT09IGNvdW50ZXIubGVuZ3RoIC0gMSkge1xuICAgICAgICAgICAgICAgIGlmIChjb3JyZWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIHNlbGYuX2NvcnJlY3QoY291bnRlciwgY29ycmVjdGlvbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGZvciAoY29kZSA9IDA7IGNvZGUgPCBzZWxmLkNPREVfUEFUVEVSTi5sZW5ndGg7IGNvZGUrKykge1xuICAgICAgICAgICAgICAgICAgICBlcnJvciA9IHNlbGYuX21hdGNoUGF0dGVybihjb3VudGVyLCBzZWxmLkNPREVfUEFUVEVSTltjb2RlXSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlcnJvciA8IGJlc3RNYXRjaC5lcnJvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmVzdE1hdGNoLmNvZGUgPSBjb2RlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmVzdE1hdGNoLmVycm9yID0gZXJyb3I7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYmVzdE1hdGNoLmVuZCA9IGk7XG4gICAgICAgICAgICAgICAgaWYgKGJlc3RNYXRjaC5jb2RlID09PSAtMSB8fCBiZXN0TWF0Y2guZXJyb3IgPiBzZWxmLkFWR19DT0RFX0VSUk9SKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoc2VsZi5DT0RFX1BBVFRFUk5bYmVzdE1hdGNoLmNvZGVdKSB7XG4gICAgICAgICAgICAgICAgICAgIGJlc3RNYXRjaC5jb3JyZWN0aW9uLmJhciA9IGNhbGN1bGF0ZUNvcnJlY3Rpb24oXG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxmLkNPREVfUEFUVEVSTltiZXN0TWF0Y2guY29kZV0sIGNvdW50ZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLk1PRFVMRV9JTkRJQ0VTLmJhcik7XG4gICAgICAgICAgICAgICAgICAgIGJlc3RNYXRjaC5jb3JyZWN0aW9uLnNwYWNlID0gY2FsY3VsYXRlQ29ycmVjdGlvbihcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuQ09ERV9QQVRURVJOW2Jlc3RNYXRjaC5jb2RlXSwgY291bnRlcixcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuTU9EVUxFX0lORElDRVMuc3BhY2UpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gYmVzdE1hdGNoO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb3VudGVyUG9zKys7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb3VudGVyW2NvdW50ZXJQb3NdID0gMTtcbiAgICAgICAgICAgIGlzV2hpdGUgPSAhaXNXaGl0ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbn07XG5cbkNvZGUxMjhSZWFkZXIucHJvdG90eXBlLl9jb3JyZWN0ID0gZnVuY3Rpb24oY291bnRlciwgY29ycmVjdGlvbikge1xuICAgIHRoaXMuX2NvcnJlY3RCYXJzKGNvdW50ZXIsIGNvcnJlY3Rpb24uYmFyLCB0aGlzLk1PRFVMRV9JTkRJQ0VTLmJhcik7XG4gICAgdGhpcy5fY29ycmVjdEJhcnMoY291bnRlciwgY29ycmVjdGlvbi5zcGFjZSwgdGhpcy5NT0RVTEVfSU5ESUNFUy5zcGFjZSk7XG59O1xuXG5Db2RlMTI4UmVhZGVyLnByb3RvdHlwZS5fZmluZFN0YXJ0ID0gZnVuY3Rpb24oKSB7XG4gICAgdmFyIGNvdW50ZXIgPSBbMCwgMCwgMCwgMCwgMCwgMF0sXG4gICAgICAgIGksXG4gICAgICAgIHNlbGYgPSB0aGlzLFxuICAgICAgICBvZmZzZXQgPSBzZWxmLl9uZXh0U2V0KHNlbGYuX3JvdyksXG4gICAgICAgIGlzV2hpdGUgPSBmYWxzZSxcbiAgICAgICAgY291bnRlclBvcyA9IDAsXG4gICAgICAgIGJlc3RNYXRjaCA9IHtcbiAgICAgICAgICAgIGVycm9yOiBOdW1iZXIuTUFYX1ZBTFVFLFxuICAgICAgICAgICAgY29kZTogLTEsXG4gICAgICAgICAgICBzdGFydDogMCxcbiAgICAgICAgICAgIGVuZDogMCxcbiAgICAgICAgICAgIGNvcnJlY3Rpb246IHtcbiAgICAgICAgICAgICAgICBiYXI6IDEsXG4gICAgICAgICAgICAgICAgc3BhY2U6IDFcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgY29kZSxcbiAgICAgICAgZXJyb3IsXG4gICAgICAgIGosXG4gICAgICAgIHN1bTtcblxuICAgIGZvciAoIGkgPSBvZmZzZXQ7IGkgPCBzZWxmLl9yb3cubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKHNlbGYuX3Jvd1tpXSBeIGlzV2hpdGUpIHtcbiAgICAgICAgICAgIGNvdW50ZXJbY291bnRlclBvc10rKztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChjb3VudGVyUG9zID09PSBjb3VudGVyLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICAgICAgICBzdW0gPSAwO1xuICAgICAgICAgICAgICAgIGZvciAoIGogPSAwOyBqIDwgY291bnRlci5sZW5ndGg7IGorKykge1xuICAgICAgICAgICAgICAgICAgICBzdW0gKz0gY291bnRlcltqXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZm9yIChjb2RlID0gc2VsZi5TVEFSVF9DT0RFX0E7IGNvZGUgPD0gc2VsZi5TVEFSVF9DT0RFX0M7IGNvZGUrKykge1xuICAgICAgICAgICAgICAgICAgICBlcnJvciA9IHNlbGYuX21hdGNoUGF0dGVybihjb3VudGVyLCBzZWxmLkNPREVfUEFUVEVSTltjb2RlXSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlcnJvciA8IGJlc3RNYXRjaC5lcnJvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmVzdE1hdGNoLmNvZGUgPSBjb2RlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmVzdE1hdGNoLmVycm9yID0gZXJyb3I7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGJlc3RNYXRjaC5lcnJvciA8IHNlbGYuQVZHX0NPREVfRVJST1IpIHtcbiAgICAgICAgICAgICAgICAgICAgYmVzdE1hdGNoLnN0YXJ0ID0gaSAtIHN1bTtcbiAgICAgICAgICAgICAgICAgICAgYmVzdE1hdGNoLmVuZCA9IGk7XG4gICAgICAgICAgICAgICAgICAgIGJlc3RNYXRjaC5jb3JyZWN0aW9uLmJhciA9IGNhbGN1bGF0ZUNvcnJlY3Rpb24oXG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxmLkNPREVfUEFUVEVSTltiZXN0TWF0Y2guY29kZV0sIGNvdW50ZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLk1PRFVMRV9JTkRJQ0VTLmJhcik7XG4gICAgICAgICAgICAgICAgICAgIGJlc3RNYXRjaC5jb3JyZWN0aW9uLnNwYWNlID0gY2FsY3VsYXRlQ29ycmVjdGlvbihcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuQ09ERV9QQVRURVJOW2Jlc3RNYXRjaC5jb2RlXSwgY291bnRlcixcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuTU9EVUxFX0lORElDRVMuc3BhY2UpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYmVzdE1hdGNoO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGZvciAoIGogPSAwOyBqIDwgNDsgaisrKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvdW50ZXJbal0gPSBjb3VudGVyW2ogKyAyXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY291bnRlcls0XSA9IDA7XG4gICAgICAgICAgICAgICAgY291bnRlcls1XSA9IDA7XG4gICAgICAgICAgICAgICAgY291bnRlclBvcy0tO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb3VudGVyUG9zKys7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb3VudGVyW2NvdW50ZXJQb3NdID0gMTtcbiAgICAgICAgICAgIGlzV2hpdGUgPSAhaXNXaGl0ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbn07XG5cbkNvZGUxMjhSZWFkZXIucHJvdG90eXBlLl9kZWNvZGUgPSBmdW5jdGlvbigpIHtcbiAgICB2YXIgc2VsZiA9IHRoaXMsXG4gICAgICAgIHN0YXJ0SW5mbyA9IHNlbGYuX2ZpbmRTdGFydCgpLFxuICAgICAgICBjb2RlID0gbnVsbCxcbiAgICAgICAgZG9uZSA9IGZhbHNlLFxuICAgICAgICByZXN1bHQgPSBbXSxcbiAgICAgICAgbXVsdGlwbGllciA9IDAsXG4gICAgICAgIGNoZWNrc3VtID0gMCxcbiAgICAgICAgY29kZXNldCxcbiAgICAgICAgcmF3UmVzdWx0ID0gW10sXG4gICAgICAgIGRlY29kZWRDb2RlcyA9IFtdLFxuICAgICAgICBzaGlmdE5leHQgPSBmYWxzZSxcbiAgICAgICAgdW5zaGlmdCxcbiAgICAgICAgcmVtb3ZlTGFzdENoYXJhY3RlciA9IHRydWU7XG5cbiAgICBpZiAoc3RhcnRJbmZvID09PSBudWxsKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBjb2RlID0ge1xuICAgICAgICBjb2RlOiBzdGFydEluZm8uY29kZSxcbiAgICAgICAgc3RhcnQ6IHN0YXJ0SW5mby5zdGFydCxcbiAgICAgICAgZW5kOiBzdGFydEluZm8uZW5kLFxuICAgICAgICBjb3JyZWN0aW9uOiB7XG4gICAgICAgICAgICBiYXI6IHN0YXJ0SW5mby5jb3JyZWN0aW9uLmJhcixcbiAgICAgICAgICAgIHNwYWNlOiBzdGFydEluZm8uY29ycmVjdGlvbi5zcGFjZVxuICAgICAgICB9XG4gICAgfTtcbiAgICBkZWNvZGVkQ29kZXMucHVzaChjb2RlKTtcbiAgICBjaGVja3N1bSA9IGNvZGUuY29kZTtcbiAgICBzd2l0Y2ggKGNvZGUuY29kZSkge1xuICAgIGNhc2Ugc2VsZi5TVEFSVF9DT0RFX0E6XG4gICAgICAgIGNvZGVzZXQgPSBzZWxmLkNPREVfQTtcbiAgICAgICAgYnJlYWs7XG4gICAgY2FzZSBzZWxmLlNUQVJUX0NPREVfQjpcbiAgICAgICAgY29kZXNldCA9IHNlbGYuQ09ERV9CO1xuICAgICAgICBicmVhaztcbiAgICBjYXNlIHNlbGYuU1RBUlRfQ09ERV9DOlxuICAgICAgICBjb2Rlc2V0ID0gc2VsZi5DT0RFX0M7XG4gICAgICAgIGJyZWFrO1xuICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHdoaWxlICghZG9uZSkge1xuICAgICAgICB1bnNoaWZ0ID0gc2hpZnROZXh0O1xuICAgICAgICBzaGlmdE5leHQgPSBmYWxzZTtcbiAgICAgICAgY29kZSA9IHNlbGYuX2RlY29kZUNvZGUoY29kZS5lbmQsIGNvZGUuY29ycmVjdGlvbik7XG4gICAgICAgIGlmIChjb2RlICE9PSBudWxsKSB7XG4gICAgICAgICAgICBpZiAoY29kZS5jb2RlICE9PSBzZWxmLlNUT1BfQ09ERSkge1xuICAgICAgICAgICAgICAgIHJlbW92ZUxhc3RDaGFyYWN0ZXIgPSB0cnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoY29kZS5jb2RlICE9PSBzZWxmLlNUT1BfQ09ERSkge1xuICAgICAgICAgICAgICAgIHJhd1Jlc3VsdC5wdXNoKGNvZGUuY29kZSk7XG4gICAgICAgICAgICAgICAgbXVsdGlwbGllcisrO1xuICAgICAgICAgICAgICAgIGNoZWNrc3VtICs9IG11bHRpcGxpZXIgKiBjb2RlLmNvZGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkZWNvZGVkQ29kZXMucHVzaChjb2RlKTtcblxuICAgICAgICAgICAgc3dpdGNoIChjb2Rlc2V0KSB7XG4gICAgICAgICAgICBjYXNlIHNlbGYuQ09ERV9BOlxuICAgICAgICAgICAgICAgIGlmIChjb2RlLmNvZGUgPCA2NCkge1xuICAgICAgICAgICAgICAgICAgICByZXN1bHQucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKDMyICsgY29kZS5jb2RlKSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChjb2RlLmNvZGUgPCA5Nikge1xuICAgICAgICAgICAgICAgICAgICByZXN1bHQucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKGNvZGUuY29kZSAtIDY0KSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGNvZGUuY29kZSAhPT0gc2VsZi5TVE9QX0NPREUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlbW92ZUxhc3RDaGFyYWN0ZXIgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKGNvZGUuY29kZSkge1xuICAgICAgICAgICAgICAgICAgICBjYXNlIHNlbGYuQ09ERV9TSElGVDpcbiAgICAgICAgICAgICAgICAgICAgICAgIHNoaWZ0TmV4dCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2Rlc2V0ID0gc2VsZi5DT0RFX0I7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBzZWxmLkNPREVfQjpcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvZGVzZXQgPSBzZWxmLkNPREVfQjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICBjYXNlIHNlbGYuQ09ERV9DOlxuICAgICAgICAgICAgICAgICAgICAgICAgY29kZXNldCA9IHNlbGYuQ09ERV9DO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIGNhc2Ugc2VsZi5TVE9QX0NPREU6XG4gICAgICAgICAgICAgICAgICAgICAgICBkb25lID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBzZWxmLkNPREVfQjpcbiAgICAgICAgICAgICAgICBpZiAoY29kZS5jb2RlIDwgOTYpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZSgzMiArIGNvZGUuY29kZSkpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChjb2RlLmNvZGUgIT09IHNlbGYuU1RPUF9DT0RFKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZW1vdmVMYXN0Q2hhcmFjdGVyID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChjb2RlLmNvZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBzZWxmLkNPREVfU0hJRlQ6XG4gICAgICAgICAgICAgICAgICAgICAgICBzaGlmdE5leHQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29kZXNldCA9IHNlbGYuQ09ERV9BO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIGNhc2Ugc2VsZi5DT0RFX0E6XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2Rlc2V0ID0gc2VsZi5DT0RFX0E7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBzZWxmLkNPREVfQzpcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvZGVzZXQgPSBzZWxmLkNPREVfQztcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICBjYXNlIHNlbGYuU1RPUF9DT0RFOlxuICAgICAgICAgICAgICAgICAgICAgICAgZG9uZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2Ugc2VsZi5DT0RFX0M6XG4gICAgICAgICAgICAgICAgaWYgKGNvZGUuY29kZSA8IDEwMCkge1xuICAgICAgICAgICAgICAgICAgICByZXN1bHQucHVzaChjb2RlLmNvZGUgPCAxMCA/IFwiMFwiICsgY29kZS5jb2RlIDogY29kZS5jb2RlKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBpZiAoY29kZS5jb2RlICE9PSBzZWxmLlNUT1BfQ09ERSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVtb3ZlTGFzdENoYXJhY3RlciA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoY29kZS5jb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgIGNhc2Ugc2VsZi5DT0RFX0E6XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2Rlc2V0ID0gc2VsZi5DT0RFX0E7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBzZWxmLkNPREVfQjpcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvZGVzZXQgPSBzZWxmLkNPREVfQjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICBjYXNlIHNlbGYuU1RPUF9DT0RFOlxuICAgICAgICAgICAgICAgICAgICAgICAgZG9uZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGRvbmUgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmICh1bnNoaWZ0KSB7XG4gICAgICAgICAgICBjb2Rlc2V0ID0gY29kZXNldCA9PT0gc2VsZi5DT0RFX0EgPyBzZWxmLkNPREVfQiA6IHNlbGYuQ09ERV9BO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGNvZGUgPT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29kZS5lbmQgPSBzZWxmLl9uZXh0VW5zZXQoc2VsZi5fcm93LCBjb2RlLmVuZCk7XG4gICAgaWYgKCFzZWxmLl92ZXJpZnlUcmFpbGluZ1doaXRlc3BhY2UoY29kZSkpe1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjaGVja3N1bSAtPSBtdWx0aXBsaWVyICogcmF3UmVzdWx0W3Jhd1Jlc3VsdC5sZW5ndGggLSAxXTtcbiAgICBpZiAoY2hlY2tzdW0gJSAxMDMgIT09IHJhd1Jlc3VsdFtyYXdSZXN1bHQubGVuZ3RoIC0gMV0pIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaWYgKCFyZXN1bHQubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIC8vIHJlbW92ZSBsYXN0IGNvZGUgZnJvbSByZXN1bHQgKGNoZWNrc3VtKVxuICAgIGlmIChyZW1vdmVMYXN0Q2hhcmFjdGVyKSB7XG4gICAgICAgIHJlc3VsdC5zcGxpY2UocmVzdWx0Lmxlbmd0aCAtIDEsIDEpO1xuICAgIH1cblxuXG4gICAgcmV0dXJuIHtcbiAgICAgICAgY29kZTogcmVzdWx0LmpvaW4oXCJcIiksXG4gICAgICAgIHN0YXJ0OiBzdGFydEluZm8uc3RhcnQsXG4gICAgICAgIGVuZDogY29kZS5lbmQsXG4gICAgICAgIGNvZGVzZXQ6IGNvZGVzZXQsXG4gICAgICAgIHN0YXJ0SW5mbzogc3RhcnRJbmZvLFxuICAgICAgICBkZWNvZGVkQ29kZXM6IGRlY29kZWRDb2RlcyxcbiAgICAgICAgZW5kSW5mbzogY29kZVxuICAgIH07XG59O1xuXG5cbkJhcmNvZGVSZWFkZXIucHJvdG90eXBlLl92ZXJpZnlUcmFpbGluZ1doaXRlc3BhY2UgPSBmdW5jdGlvbihlbmRJbmZvKSB7XG4gICAgdmFyIHNlbGYgPSB0aGlzLFxuICAgICAgICB0cmFpbGluZ1doaXRlc3BhY2VFbmQ7XG5cbiAgICB0cmFpbGluZ1doaXRlc3BhY2VFbmQgPSBlbmRJbmZvLmVuZCArICgoZW5kSW5mby5lbmQgLSBlbmRJbmZvLnN0YXJ0KSAvIDIpO1xuICAgIGlmICh0cmFpbGluZ1doaXRlc3BhY2VFbmQgPCBzZWxmLl9yb3cubGVuZ3RoKSB7XG4gICAgICAgIGlmIChzZWxmLl9tYXRjaFJhbmdlKGVuZEluZm8uZW5kLCB0cmFpbGluZ1doaXRlc3BhY2VFbmQsIDApKSB7XG4gICAgICAgICAgICByZXR1cm4gZW5kSW5mbztcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbn07XG5cbmZ1bmN0aW9uIGNhbGN1bGF0ZUNvcnJlY3Rpb24oZXhwZWN0ZWQsIG5vcm1hbGl6ZWQsIGluZGljZXMpIHtcbiAgICB2YXIgbGVuZ3RoID0gaW5kaWNlcy5sZW5ndGgsXG4gICAgICAgIHN1bU5vcm1hbGl6ZWQgPSAwLFxuICAgICAgICBzdW1FeHBlY3RlZCA9IDA7XG5cbiAgICB3aGlsZShsZW5ndGgtLSkge1xuICAgICAgICBzdW1FeHBlY3RlZCArPSBleHBlY3RlZFtpbmRpY2VzW2xlbmd0aF1dO1xuICAgICAgICBzdW1Ob3JtYWxpemVkICs9IG5vcm1hbGl6ZWRbaW5kaWNlc1tsZW5ndGhdXTtcbiAgICB9XG4gICAgcmV0dXJuIHN1bUV4cGVjdGVkL3N1bU5vcm1hbGl6ZWQ7XG59XG5cbmV4cG9ydCBkZWZhdWx0IENvZGUxMjhSZWFkZXI7XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9zcmMvcmVhZGVyL2NvZGVfMTI4X3JlYWRlci5qcyIsImltcG9ydCBDb2RlMzlSZWFkZXIgZnJvbSAnLi9jb2RlXzM5X3JlYWRlcic7XG5cbmZ1bmN0aW9uIENvZGUzOVZJTlJlYWRlcigpIHtcbiAgICBDb2RlMzlSZWFkZXIuY2FsbCh0aGlzKTtcbn1cblxudmFyIHBhdHRlcm5zID0ge1xuICAgIElPUTogL1tJT1FdL2csXG4gICAgQVowOTogL1tBLVowLTldezE3fS9cbn07XG5cbkNvZGUzOVZJTlJlYWRlci5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKENvZGUzOVJlYWRlci5wcm90b3R5cGUpO1xuQ29kZTM5VklOUmVhZGVyLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IENvZGUzOVZJTlJlYWRlcjtcblxuLy8gQ3JpYmJlZCBmcm9tOlxuLy8gaHR0cHM6Ly9naXRodWIuY29tL3p4aW5nL3p4aW5nL2Jsb2IvbWFzdGVyL2NvcmUvc3JjL21haW4vamF2YS9jb20vZ29vZ2xlL3p4aW5nL2NsaWVudC9yZXN1bHQvVklOUmVzdWx0UGFyc2VyLmphdmFcbkNvZGUzOVZJTlJlYWRlci5wcm90b3R5cGUuX2RlY29kZSA9IGZ1bmN0aW9uKCkge1xuICAgIHZhciByZXN1bHQgPSBDb2RlMzlSZWFkZXIucHJvdG90eXBlLl9kZWNvZGUuYXBwbHkodGhpcyk7XG4gICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgdmFyIGNvZGUgPSByZXN1bHQuY29kZTtcblxuICAgIGlmICghY29kZSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb2RlID0gY29kZS5yZXBsYWNlKHBhdHRlcm5zLklPUSwgJycpO1xuXG4gICAgaWYgKCFjb2RlLm1hdGNoKHBhdHRlcm5zLkFaMDkpKSB7XG4gICAgICAgIGlmIChFTlYuZGV2ZWxvcG1lbnQpIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdGYWlsZWQgQVowOSBwYXR0ZXJuIGNvZGU6JywgY29kZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLl9jaGVja0NoZWNrc3VtKGNvZGUpKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJlc3VsdC5jb2RlID0gY29kZTtcbiAgICByZXR1cm4gcmVzdWx0O1xufTtcblxuQ29kZTM5VklOUmVhZGVyLnByb3RvdHlwZS5fY2hlY2tDaGVja3N1bSA9IGZ1bmN0aW9uKGNvZGUpIHtcbiAgICAvLyBUT0RPXG4gICAgcmV0dXJuICEhY29kZTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IENvZGUzOVZJTlJlYWRlcjtcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3NyYy9yZWFkZXIvY29kZV8zOV92aW5fcmVhZGVyLmpzIiwiaW1wb3J0IEJhcmNvZGVSZWFkZXIgZnJvbSAnLi9iYXJjb2RlX3JlYWRlcic7XG5pbXBvcnQgQXJyYXlIZWxwZXIgZnJvbSAnLi4vY29tbW9uL2FycmF5X2hlbHBlcic7XG5cbmZ1bmN0aW9uIENvZGU5M1JlYWRlcigpIHtcbiAgICBCYXJjb2RlUmVhZGVyLmNhbGwodGhpcyk7XG59XG5cbmNvbnN0IEFMUEhBQkVUSF9TVFJJTkcgPSBcIjAxMjM0NTY3ODlBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWi0uICQvKyVhYmNkKlwiO1xuXG52YXIgcHJvcGVydGllcyA9IHtcbiAgICBBTFBIQUJFVEhfU1RSSU5HOiB7dmFsdWU6IEFMUEhBQkVUSF9TVFJJTkd9LFxuICAgIEFMUEhBQkVUOiB7dmFsdWU6IEFMUEhBQkVUSF9TVFJJTkcuc3BsaXQoJycpLm1hcChjaGFyID0+IGNoYXIuY2hhckNvZGVBdCgwKSl9LFxuICAgIENIQVJBQ1RFUl9FTkNPRElOR1M6IHt2YWx1ZTogW1xuICAgICAgICAweDExNCwgMHgxNDgsIDB4MTQ0LCAweDE0MiwgMHgxMjgsIDB4MTI0LCAweDEyMiwgMHgxNTAsIDB4MTEyLCAweDEwQSxcbiAgICAgICAgMHgxQTgsIDB4MUE0LCAweDFBMiwgMHgxOTQsIDB4MTkyLCAweDE4QSwgMHgxNjgsIDB4MTY0LCAweDE2MiwgMHgxMzQsXG4gICAgICAgIDB4MTFBLCAweDE1OCwgMHgxNEMsIDB4MTQ2LCAweDEyQywgMHgxMTYsIDB4MUI0LCAweDFCMiwgMHgxQUMsIDB4MUE2LFxuICAgICAgICAweDE5NiwgMHgxOUEsIDB4MTZDLCAweDE2NiwgMHgxMzYsIDB4MTNBLCAweDEyRSwgMHgxRDQsIDB4MUQyLCAweDFDQSxcbiAgICAgICAgMHgxNkUsIDB4MTc2LCAweDFBRSwgMHgxMjYsIDB4MURBLCAweDFENiwgMHgxMzIsIDB4MTVFXG4gICAgXX0sXG4gICAgQVNURVJJU0s6IHt2YWx1ZTogMHgxNUV9LFxuICAgIEZPUk1BVDoge3ZhbHVlOiBcImNvZGVfOTNcIiwgd3JpdGVhYmxlOiBmYWxzZX1cbn07XG5cbkNvZGU5M1JlYWRlci5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKEJhcmNvZGVSZWFkZXIucHJvdG90eXBlLCBwcm9wZXJ0aWVzKTtcbkNvZGU5M1JlYWRlci5wcm90b3R5cGUuY29uc3RydWN0b3IgPSBDb2RlOTNSZWFkZXI7XG5cbkNvZGU5M1JlYWRlci5wcm90b3R5cGUuX2RlY29kZSA9IGZ1bmN0aW9uKCkge1xuICAgIHZhciBzZWxmID0gdGhpcyxcbiAgICAgICAgY291bnRlcnMgPSBbMCwgMCwgMCwgMCwgMCwgMF0sXG4gICAgICAgIHJlc3VsdCA9IFtdLFxuICAgICAgICBzdGFydCA9IHNlbGYuX2ZpbmRTdGFydCgpLFxuICAgICAgICBkZWNvZGVkQ2hhcixcbiAgICAgICAgbGFzdFN0YXJ0LFxuICAgICAgICBwYXR0ZXJuLFxuICAgICAgICBuZXh0U3RhcnQ7XG5cbiAgICBpZiAoIXN0YXJ0KSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBuZXh0U3RhcnQgPSBzZWxmLl9uZXh0U2V0KHNlbGYuX3Jvdywgc3RhcnQuZW5kKTtcblxuICAgIGRvIHtcbiAgICAgICAgY291bnRlcnMgPSBzZWxmLl90b0NvdW50ZXJzKG5leHRTdGFydCwgY291bnRlcnMpO1xuICAgICAgICBwYXR0ZXJuID0gc2VsZi5fdG9QYXR0ZXJuKGNvdW50ZXJzKTtcbiAgICAgICAgaWYgKHBhdHRlcm4gPCAwKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBkZWNvZGVkQ2hhciA9IHNlbGYuX3BhdHRlcm5Ub0NoYXIocGF0dGVybik7XG4gICAgICAgIGlmIChkZWNvZGVkQ2hhciA8IDApe1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgcmVzdWx0LnB1c2goZGVjb2RlZENoYXIpO1xuICAgICAgICBsYXN0U3RhcnQgPSBuZXh0U3RhcnQ7XG4gICAgICAgIG5leHRTdGFydCArPSBBcnJheUhlbHBlci5zdW0oY291bnRlcnMpO1xuICAgICAgICBuZXh0U3RhcnQgPSBzZWxmLl9uZXh0U2V0KHNlbGYuX3JvdywgbmV4dFN0YXJ0KTtcbiAgICB9IHdoaWxlIChkZWNvZGVkQ2hhciAhPT0gJyonKTtcbiAgICByZXN1bHQucG9wKCk7XG5cbiAgICBpZiAoIXJlc3VsdC5sZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaWYgKCFzZWxmLl92ZXJpZnlFbmQobGFzdFN0YXJ0LCBuZXh0U3RhcnQsIGNvdW50ZXJzKSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAoIXNlbGYuX3ZlcmlmeUNoZWNrc3VtcyhyZXN1bHQpKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJlc3VsdCA9IHJlc3VsdC5zbGljZSgwLCByZXN1bHQubGVuZ3RoIC0gMik7XG4gICAgaWYgKChyZXN1bHQgPSBzZWxmLl9kZWNvZGVFeHRlbmRlZChyZXN1bHQpKSA9PT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9O1xuXG4gICAgcmV0dXJuIHtcbiAgICAgICAgY29kZTogcmVzdWx0LmpvaW4oXCJcIiksXG4gICAgICAgIHN0YXJ0OiBzdGFydC5zdGFydCxcbiAgICAgICAgZW5kOiBuZXh0U3RhcnQsXG4gICAgICAgIHN0YXJ0SW5mbzogc3RhcnQsXG4gICAgICAgIGRlY29kZWRDb2RlczogcmVzdWx0XG4gICAgfTtcbn07XG5cbkNvZGU5M1JlYWRlci5wcm90b3R5cGUuX3ZlcmlmeUVuZCA9IGZ1bmN0aW9uKGxhc3RTdGFydCwgbmV4dFN0YXJ0KSB7XG4gICAgaWYgKGxhc3RTdGFydCA9PT0gbmV4dFN0YXJ0IHx8ICF0aGlzLl9yb3dbbmV4dFN0YXJ0XSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xufTtcblxuQ29kZTkzUmVhZGVyLnByb3RvdHlwZS5fcGF0dGVyblRvQ2hhciA9IGZ1bmN0aW9uKHBhdHRlcm4pIHtcbiAgICB2YXIgaSxcbiAgICAgICAgc2VsZiA9IHRoaXM7XG5cbiAgICBmb3IgKGkgPSAwOyBpIDwgc2VsZi5DSEFSQUNURVJfRU5DT0RJTkdTLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmIChzZWxmLkNIQVJBQ1RFUl9FTkNPRElOR1NbaV0gPT09IHBhdHRlcm4pIHtcbiAgICAgICAgICAgIHJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKHNlbGYuQUxQSEFCRVRbaV0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiAtMTtcbn07XG5cbkNvZGU5M1JlYWRlci5wcm90b3R5cGUuX3RvUGF0dGVybiA9IGZ1bmN0aW9uKGNvdW50ZXJzKSB7XG4gICAgY29uc3QgbnVtQ291bnRlcnMgPSBjb3VudGVycy5sZW5ndGg7XG4gICAgbGV0IHBhdHRlcm4gPSAwO1xuICAgIGxldCBzdW0gPSAwO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbnVtQ291bnRlcnM7IGkrKykge1xuICAgICAgICBzdW0gKz0gY291bnRlcnNbaV07XG4gICAgfVxuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBudW1Db3VudGVyczsgaSsrKSB7XG4gICAgICAgIGxldCBub3JtYWxpemVkID0gTWF0aC5yb3VuZChjb3VudGVyc1tpXSAqIDkgLyBzdW0pO1xuICAgICAgICBpZiAobm9ybWFsaXplZCA8IDEgfHwgbm9ybWFsaXplZCA+IDQpIHtcbiAgICAgICAgICAgIHJldHVybiAtMTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoKGkgJiAxKSA9PT0gMCkge1xuICAgICAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBub3JtYWxpemVkOyBqKyspIHtcbiAgICAgICAgICAgICAgICBwYXR0ZXJuID0gKHBhdHRlcm4gPDwgMSkgfCAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcGF0dGVybiA8PD0gbm9ybWFsaXplZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBwYXR0ZXJuO1xufTtcblxuQ29kZTkzUmVhZGVyLnByb3RvdHlwZS5fZmluZFN0YXJ0ID0gZnVuY3Rpb24oKSB7XG4gICAgdmFyIHNlbGYgPSB0aGlzLFxuICAgICAgICBvZmZzZXQgPSBzZWxmLl9uZXh0U2V0KHNlbGYuX3JvdyksXG4gICAgICAgIHBhdHRlcm5TdGFydCA9IG9mZnNldCxcbiAgICAgICAgY291bnRlciA9IFswLCAwLCAwLCAwLCAwLCAwXSxcbiAgICAgICAgY291bnRlclBvcyA9IDAsXG4gICAgICAgIGlzV2hpdGUgPSBmYWxzZSxcbiAgICAgICAgaSxcbiAgICAgICAgaixcbiAgICAgICAgd2hpdGVTcGFjZU11c3RTdGFydDtcblxuICAgIGZvciAoIGkgPSBvZmZzZXQ7IGkgPCBzZWxmLl9yb3cubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKHNlbGYuX3Jvd1tpXSBeIGlzV2hpdGUpIHtcbiAgICAgICAgICAgIGNvdW50ZXJbY291bnRlclBvc10rKztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChjb3VudGVyUG9zID09PSBjb3VudGVyLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICAgICAgICAvLyBmaW5kIHN0YXJ0IHBhdHRlcm5cbiAgICAgICAgICAgICAgICBpZiAoc2VsZi5fdG9QYXR0ZXJuKGNvdW50ZXIpID09PSBzZWxmLkFTVEVSSVNLKSB7XG4gICAgICAgICAgICAgICAgICAgIHdoaXRlU3BhY2VNdXN0U3RhcnQgPSBNYXRoLmZsb29yKE1hdGgubWF4KDAsIHBhdHRlcm5TdGFydCAtICgoaSAtIHBhdHRlcm5TdGFydCkgLyA0KSkpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoc2VsZi5fbWF0Y2hSYW5nZSh3aGl0ZVNwYWNlTXVzdFN0YXJ0LCBwYXR0ZXJuU3RhcnQsIDApKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0OiBwYXR0ZXJuU3RhcnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5kOiBpXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcGF0dGVyblN0YXJ0ICs9IGNvdW50ZXJbMF0gKyBjb3VudGVyWzFdO1xuICAgICAgICAgICAgICAgIGZvciAoIGogPSAwOyBqIDwgNDsgaisrKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvdW50ZXJbal0gPSBjb3VudGVyW2ogKyAyXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY291bnRlcls0XSA9IDA7XG4gICAgICAgICAgICAgICAgY291bnRlcls1XSA9IDA7XG4gICAgICAgICAgICAgICAgY291bnRlclBvcy0tO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb3VudGVyUG9zKys7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb3VudGVyW2NvdW50ZXJQb3NdID0gMTtcbiAgICAgICAgICAgIGlzV2hpdGUgPSAhaXNXaGl0ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbn07XG5cbkNvZGU5M1JlYWRlci5wcm90b3R5cGUuX2RlY29kZUV4dGVuZGVkID0gZnVuY3Rpb24oY2hhckFycmF5KSB7XG4gICAgY29uc3QgbGVuZ3RoID0gY2hhckFycmF5Lmxlbmd0aDtcbiAgICBjb25zdCByZXN1bHQgPSBbXTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IGNoYXIgPSBjaGFyQXJyYXlbaV07XG4gICAgICAgIGlmIChjaGFyID49ICdhJyAmJiBjaGFyIDw9ICdkJykge1xuICAgICAgICAgICAgaWYgKGkgPiAobGVuZ3RoIC0gMikpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IG5leHRDaGFyID0gY2hhckFycmF5WysraV07XG4gICAgICAgICAgICBjb25zdCBuZXh0Q2hhckNvZGUgPSBuZXh0Q2hhci5jaGFyQ29kZUF0KDApO1xuICAgICAgICAgICAgbGV0IGRlY29kZWRDaGFyO1xuICAgICAgICAgICAgc3dpdGNoIChjaGFyKSB7XG4gICAgICAgICAgICBjYXNlICdhJzpcbiAgICAgICAgICAgICAgICBpZiAobmV4dENoYXIgPj0gJ0EnICYmIG5leHRDaGFyIDw9ICdaJykge1xuICAgICAgICAgICAgICAgICAgICBkZWNvZGVkQ2hhciA9IFN0cmluZy5mcm9tQ2hhckNvZGUobmV4dENoYXJDb2RlIC0gNjQpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2InOlxuICAgICAgICAgICAgICAgIGlmIChuZXh0Q2hhciA+PSAnQScgJiYgbmV4dENoYXIgPD0gJ0UnKSB7XG4gICAgICAgICAgICAgICAgICAgIGRlY29kZWRDaGFyID0gU3RyaW5nLmZyb21DaGFyQ29kZShuZXh0Q2hhckNvZGUgLSAzOCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChuZXh0Q2hhciA+PSAnRicgJiYgbmV4dENoYXIgPD0gJ0onKSB7XG4gICAgICAgICAgICAgICAgICAgIGRlY29kZWRDaGFyID0gU3RyaW5nLmZyb21DaGFyQ29kZShuZXh0Q2hhckNvZGUgLSAxMSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChuZXh0Q2hhciA+PSAnSycgJiYgbmV4dENoYXIgPD0gJ08nKSB7XG4gICAgICAgICAgICAgICAgICAgIGRlY29kZWRDaGFyID0gU3RyaW5nLmZyb21DaGFyQ29kZShuZXh0Q2hhckNvZGUgKyAxNik7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChuZXh0Q2hhciA+PSAnUCcgJiYgbmV4dENoYXIgPD0gJ1MnKSB7XG4gICAgICAgICAgICAgICAgICAgIGRlY29kZWRDaGFyID0gU3RyaW5nLmZyb21DaGFyQ29kZShuZXh0Q2hhckNvZGUgKyA0Myk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChuZXh0Q2hhciA+PSAnVCcgJiYgbmV4dENoYXIgPD0gJ1onKSB7XG4gICAgICAgICAgICAgICAgICAgIGRlY29kZWRDaGFyID0gU3RyaW5nLmZyb21DaGFyQ29kZSgxMjcpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2MnOlxuICAgICAgICAgICAgICAgIGlmIChuZXh0Q2hhciA+PSAnQScgJiYgbmV4dENoYXIgPD0gJ08nKSB7XG4gICAgICAgICAgICAgICAgICAgIGRlY29kZWRDaGFyID0gU3RyaW5nLmZyb21DaGFyQ29kZShuZXh0Q2hhckNvZGUgLSAzMik7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChuZXh0Q2hhciA9PT0gJ1onKSB7XG4gICAgICAgICAgICAgICAgICAgIGRlY29kZWRDaGFyID0gJzonO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2QnOlxuICAgICAgICAgICAgICAgIGlmIChuZXh0Q2hhciA+PSAnQScgJiYgbmV4dENoYXIgPD0gJ1onKSB7XG4gICAgICAgICAgICAgICAgICAgIGRlY29kZWRDaGFyID0gU3RyaW5nLmZyb21DaGFyQ29kZShuZXh0Q2hhckNvZGUgKyAzMik7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmVzdWx0LnB1c2goZGVjb2RlZENoYXIpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmVzdWx0LnB1c2goY2hhcik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbn07XG5cbkNvZGU5M1JlYWRlci5wcm90b3R5cGUuX3ZlcmlmeUNoZWNrc3VtcyA9IGZ1bmN0aW9uKGNoYXJBcnJheSkge1xuICAgIHJldHVybiB0aGlzLl9tYXRjaENoZWNrQ2hhcihjaGFyQXJyYXksIGNoYXJBcnJheS5sZW5ndGggLSAyLCAyMClcbiAgICAgICAgJiYgdGhpcy5fbWF0Y2hDaGVja0NoYXIoY2hhckFycmF5LCBjaGFyQXJyYXkubGVuZ3RoIC0gMSwgMTUpO1xufTtcblxuQ29kZTkzUmVhZGVyLnByb3RvdHlwZS5fbWF0Y2hDaGVja0NoYXIgPSBmdW5jdGlvbihjaGFyQXJyYXksIGluZGV4LCBtYXhXZWlnaHQpIHtcbiAgICBjb25zdCBhcnJheVRvQ2hlY2sgPSBjaGFyQXJyYXkuc2xpY2UoMCwgaW5kZXgpO1xuICAgIGNvbnN0IGxlbmd0aCA9IGFycmF5VG9DaGVjay5sZW5ndGg7XG4gICAgY29uc3Qgd2VpZ2h0ZWRTdW1zID0gYXJyYXlUb0NoZWNrLnJlZHVjZSgoc3VtLCBjaGFyLCBpKSA9PiB7XG4gICAgICAgIGNvbnN0IHdlaWdodCA9ICgoKGkgKiAtMSkgKyAobGVuZ3RoIC0gMSkpICUgbWF4V2VpZ2h0KSArIDE7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5BTFBIQUJFVC5pbmRleE9mKGNoYXIuY2hhckNvZGVBdCgwKSk7XG4gICAgICAgIHJldHVybiBzdW0gKyAod2VpZ2h0ICogdmFsdWUpO1xuICAgIH0sIDApO1xuXG4gICAgY29uc3QgY2hlY2tDaGFyID0gdGhpcy5BTFBIQUJFVFsod2VpZ2h0ZWRTdW1zICUgNDcpXTtcbiAgICByZXR1cm4gY2hlY2tDaGFyID09PSBjaGFyQXJyYXlbaW5kZXhdLmNoYXJDb2RlQXQoMCk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBDb2RlOTNSZWFkZXI7XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9zcmMvcmVhZGVyL2NvZGVfOTNfcmVhZGVyLmpzIiwiaW1wb3J0IEVBTlJlYWRlciBmcm9tICcuL2Vhbl9yZWFkZXInO1xuXG5mdW5jdGlvbiBFQU4yUmVhZGVyKCkge1xuICAgIEVBTlJlYWRlci5jYWxsKHRoaXMpO1xufVxuXG52YXIgcHJvcGVydGllcyA9IHtcbiAgICBGT1JNQVQ6IHt2YWx1ZTogXCJlYW5fMlwiLCB3cml0ZWFibGU6IGZhbHNlfVxufTtcblxuRUFOMlJlYWRlci5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKEVBTlJlYWRlci5wcm90b3R5cGUsIHByb3BlcnRpZXMpO1xuRUFOMlJlYWRlci5wcm90b3R5cGUuY29uc3RydWN0b3IgPSBFQU4yUmVhZGVyO1xuXG5FQU4yUmVhZGVyLnByb3RvdHlwZS5kZWNvZGUgPSBmdW5jdGlvbihyb3csIHN0YXJ0KSB7XG4gICAgdGhpcy5fcm93ID0gcm93O1xuICAgIHZhciBjb3VudGVycyA9IFswLCAwLCAwLCAwXSxcbiAgICAgICAgY29kZUZyZXF1ZW5jeSA9IDAsXG4gICAgICAgIGkgPSAwLFxuICAgICAgICBvZmZzZXQgPSBzdGFydCxcbiAgICAgICAgZW5kID0gdGhpcy5fcm93Lmxlbmd0aCxcbiAgICAgICAgY29kZSxcbiAgICAgICAgcmVzdWx0ID0gW10sXG4gICAgICAgIGRlY29kZWRDb2RlcyA9IFtdO1xuXG4gICAgZm9yIChpID0gMDsgaSA8IDIgJiYgb2Zmc2V0IDwgZW5kOyBpKyspIHtcbiAgICAgICAgY29kZSA9IHRoaXMuX2RlY29kZUNvZGUob2Zmc2V0KTtcbiAgICAgICAgaWYgKCFjb2RlKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBkZWNvZGVkQ29kZXMucHVzaChjb2RlKTtcbiAgICAgICAgcmVzdWx0LnB1c2goY29kZS5jb2RlICUgMTApO1xuICAgICAgICBpZiAoY29kZS5jb2RlID49IHRoaXMuQ09ERV9HX1NUQVJUKSB7XG4gICAgICAgICAgICBjb2RlRnJlcXVlbmN5IHw9IDEgPDwgKDEgLSBpKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaSAhPSAxKSB7XG4gICAgICAgICAgICBvZmZzZXQgPSB0aGlzLl9uZXh0U2V0KHRoaXMuX3JvdywgY29kZS5lbmQpO1xuICAgICAgICAgICAgb2Zmc2V0ID0gdGhpcy5fbmV4dFVuc2V0KHRoaXMuX3Jvdywgb2Zmc2V0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlmIChyZXN1bHQubGVuZ3RoICE9IDIgfHwgKHBhcnNlSW50KHJlc3VsdC5qb2luKFwiXCIpKSAlIDQpICAhPT0gY29kZUZyZXF1ZW5jeSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgY29kZTogcmVzdWx0LmpvaW4oXCJcIiksXG4gICAgICAgIGRlY29kZWRDb2RlcyxcbiAgICAgICAgZW5kOiBjb2RlLmVuZFxuICAgIH07XG59O1xuXG5leHBvcnQgZGVmYXVsdCBFQU4yUmVhZGVyO1xuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vc3JjL3JlYWRlci9lYW5fMl9yZWFkZXIuanMiLCJpbXBvcnQgRUFOUmVhZGVyIGZyb20gJy4vZWFuX3JlYWRlcic7XG5cbmZ1bmN0aW9uIEVBTjVSZWFkZXIoKSB7XG4gICAgRUFOUmVhZGVyLmNhbGwodGhpcyk7XG59XG5cbnZhciBwcm9wZXJ0aWVzID0ge1xuICAgIEZPUk1BVDoge3ZhbHVlOiBcImVhbl81XCIsIHdyaXRlYWJsZTogZmFsc2V9XG59O1xuXG5jb25zdCBDSEVDS19ESUdJVF9FTkNPRElOR1MgPSBbMjQsIDIwLCAxOCwgMTcsIDEyLCA2LCAzLCAxMCwgOSwgNV07XG5cbkVBTjVSZWFkZXIucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShFQU5SZWFkZXIucHJvdG90eXBlLCBwcm9wZXJ0aWVzKTtcbkVBTjVSZWFkZXIucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gRUFONVJlYWRlcjtcblxuRUFONVJlYWRlci5wcm90b3R5cGUuZGVjb2RlID0gZnVuY3Rpb24ocm93LCBzdGFydCkge1xuICAgIHRoaXMuX3JvdyA9IHJvdztcbiAgICB2YXIgY291bnRlcnMgPSBbMCwgMCwgMCwgMF0sXG4gICAgICAgIGNvZGVGcmVxdWVuY3kgPSAwLFxuICAgICAgICBpID0gMCxcbiAgICAgICAgb2Zmc2V0ID0gc3RhcnQsXG4gICAgICAgIGVuZCA9IHRoaXMuX3Jvdy5sZW5ndGgsXG4gICAgICAgIGNvZGUsXG4gICAgICAgIHJlc3VsdCA9IFtdLFxuICAgICAgICBkZWNvZGVkQ29kZXMgPSBbXTtcblxuICAgIGZvciAoaSA9IDA7IGkgPCA1ICYmIG9mZnNldCA8IGVuZDsgaSsrKSB7XG4gICAgICAgIGNvZGUgPSB0aGlzLl9kZWNvZGVDb2RlKG9mZnNldCk7XG4gICAgICAgIGlmICghY29kZSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgZGVjb2RlZENvZGVzLnB1c2goY29kZSk7XG4gICAgICAgIHJlc3VsdC5wdXNoKGNvZGUuY29kZSAlIDEwKTtcbiAgICAgICAgaWYgKGNvZGUuY29kZSA+PSB0aGlzLkNPREVfR19TVEFSVCkge1xuICAgICAgICAgICAgY29kZUZyZXF1ZW5jeSB8PSAxIDw8ICg0IC0gaSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGkgIT0gNCkge1xuICAgICAgICAgICAgb2Zmc2V0ID0gdGhpcy5fbmV4dFNldCh0aGlzLl9yb3csIGNvZGUuZW5kKTtcbiAgICAgICAgICAgIG9mZnNldCA9IHRoaXMuX25leHRVbnNldCh0aGlzLl9yb3csIG9mZnNldCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAocmVzdWx0Lmxlbmd0aCAhPSA1KSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmIChleHRlbnNpb25DaGVja3N1bShyZXN1bHQpICE9PSBkZXRlcm1pbmVDaGVja0RpZ2l0KGNvZGVGcmVxdWVuY3kpKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgICBjb2RlOiByZXN1bHQuam9pbihcIlwiKSxcbiAgICAgICAgZGVjb2RlZENvZGVzLFxuICAgICAgICBlbmQ6IGNvZGUuZW5kXG4gICAgfTtcbn07XG5cbmZ1bmN0aW9uIGRldGVybWluZUNoZWNrRGlnaXQoY29kZUZyZXF1ZW5jeSkge1xuICAgIHZhciBpO1xuICAgIGZvciAoaSA9IDA7IGkgPCAxMDsgaSsrKSB7XG4gICAgICAgIGlmIChjb2RlRnJlcXVlbmN5ID09PSBDSEVDS19ESUdJVF9FTkNPRElOR1NbaV0pIHtcbiAgICAgICAgICAgIHJldHVybiBpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xufVxuXG5cbmZ1bmN0aW9uIGV4dGVuc2lvbkNoZWNrc3VtKHJlc3VsdCkge1xuICAgIHZhciBsZW5ndGggPSByZXN1bHQubGVuZ3RoLFxuICAgICAgICBzdW0gPSAwLFxuICAgICAgICBpO1xuXG4gICAgZm9yIChpID0gbGVuZ3RoIC0gMjsgaSA+PSAwOyBpIC09IDIpIHtcbiAgICAgICAgc3VtICs9IHJlc3VsdFtpXTtcbiAgICB9XG4gICAgc3VtICo9IDM7XG4gICAgZm9yIChpID0gbGVuZ3RoIC0gMTsgaSA+PSAwOyBpIC09IDIpIHtcbiAgICAgICAgc3VtICs9IHJlc3VsdFtpXTtcbiAgICB9XG4gICAgc3VtICo9IDM7XG4gICAgcmV0dXJuIHN1bSAlIDEwO1xufVxuXG5leHBvcnQgZGVmYXVsdCBFQU41UmVhZGVyO1xuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vc3JjL3JlYWRlci9lYW5fNV9yZWFkZXIuanMiLCJpbXBvcnQgRUFOUmVhZGVyIGZyb20gJy4vZWFuX3JlYWRlcic7XG5cbmZ1bmN0aW9uIEVBTjhSZWFkZXIob3B0cywgc3VwcGxlbWVudHMpIHtcbiAgICBFQU5SZWFkZXIuY2FsbCh0aGlzLCBvcHRzLCBzdXBwbGVtZW50cyk7XG59XG5cbnZhciBwcm9wZXJ0aWVzID0ge1xuICAgIEZPUk1BVDoge3ZhbHVlOiBcImVhbl84XCIsIHdyaXRlYWJsZTogZmFsc2V9XG59O1xuXG5FQU44UmVhZGVyLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoRUFOUmVhZGVyLnByb3RvdHlwZSwgcHJvcGVydGllcyk7XG5FQU44UmVhZGVyLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IEVBTjhSZWFkZXI7XG5cbkVBTjhSZWFkZXIucHJvdG90eXBlLl9kZWNvZGVQYXlsb2FkID0gZnVuY3Rpb24oY29kZSwgcmVzdWx0LCBkZWNvZGVkQ29kZXMpIHtcbiAgICB2YXIgaSxcbiAgICAgICAgc2VsZiA9IHRoaXM7XG5cbiAgICBmb3IgKCBpID0gMDsgaSA8IDQ7IGkrKykge1xuICAgICAgICBjb2RlID0gc2VsZi5fZGVjb2RlQ29kZShjb2RlLmVuZCwgc2VsZi5DT0RFX0dfU1RBUlQpO1xuICAgICAgICBpZiAoIWNvZGUpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIHJlc3VsdC5wdXNoKGNvZGUuY29kZSk7XG4gICAgICAgIGRlY29kZWRDb2Rlcy5wdXNoKGNvZGUpO1xuICAgIH1cblxuICAgIGNvZGUgPSBzZWxmLl9maW5kUGF0dGVybihzZWxmLk1JRERMRV9QQVRURVJOLCBjb2RlLmVuZCwgdHJ1ZSwgZmFsc2UpO1xuICAgIGlmIChjb2RlID09PSBudWxsKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBkZWNvZGVkQ29kZXMucHVzaChjb2RlKTtcblxuICAgIGZvciAoIGkgPSAwOyBpIDwgNDsgaSsrKSB7XG4gICAgICAgIGNvZGUgPSBzZWxmLl9kZWNvZGVDb2RlKGNvZGUuZW5kLCBzZWxmLkNPREVfR19TVEFSVCk7XG4gICAgICAgIGlmICghY29kZSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgZGVjb2RlZENvZGVzLnB1c2goY29kZSk7XG4gICAgICAgIHJlc3VsdC5wdXNoKGNvZGUuY29kZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvZGU7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBFQU44UmVhZGVyO1xuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vc3JjL3JlYWRlci9lYW5fOF9yZWFkZXIuanMiLCJpbXBvcnQgQmFyY29kZVJlYWRlciBmcm9tICcuL2JhcmNvZGVfcmVhZGVyJztcbmltcG9ydCB7bWVyZ2V9IGZyb20gJ2xvZGFzaCc7XG5cbmZ1bmN0aW9uIEkyb2Y1UmVhZGVyKG9wdHMpIHtcbiAgICBvcHRzID0gbWVyZ2UoZ2V0RGVmYXVsQ29uZmlnKCksIG9wdHMpO1xuICAgIEJhcmNvZGVSZWFkZXIuY2FsbCh0aGlzLCBvcHRzKTtcbiAgICB0aGlzLmJhclNwYWNlUmF0aW8gPSBbMSwgMV07XG4gICAgaWYgKG9wdHMubm9ybWFsaXplQmFyU3BhY2VXaWR0aCkge1xuICAgICAgICB0aGlzLlNJTkdMRV9DT0RFX0VSUk9SID0gMC4zODtcbiAgICAgICAgdGhpcy5BVkdfQ09ERV9FUlJPUiA9IDAuMDk7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBnZXREZWZhdWxDb25maWcoKSB7XG4gICAgdmFyIGNvbmZpZyA9IHt9O1xuXG4gICAgT2JqZWN0LmtleXMoSTJvZjVSZWFkZXIuQ09ORklHX0tFWVMpLmZvckVhY2goZnVuY3Rpb24oa2V5KSB7XG4gICAgICAgIGNvbmZpZ1trZXldID0gSTJvZjVSZWFkZXIuQ09ORklHX0tFWVNba2V5XS5kZWZhdWx0O1xuICAgIH0pO1xuICAgIHJldHVybiBjb25maWc7XG59XG5cbnZhciBOID0gMSxcbiAgICBXID0gMyxcbiAgICBwcm9wZXJ0aWVzID0ge1xuICAgICAgICBTVEFSVF9QQVRURVJOOiB7dmFsdWU6IFtOLCBOLCBOLCBOXX0sXG4gICAgICAgIFNUT1BfUEFUVEVSTjoge3ZhbHVlOiBbTiwgTiwgV119LFxuICAgICAgICBDT0RFX1BBVFRFUk46IHt2YWx1ZTogW1xuICAgICAgICAgICAgW04sIE4sIFcsIFcsIE5dLFxuICAgICAgICAgICAgW1csIE4sIE4sIE4sIFddLFxuICAgICAgICAgICAgW04sIFcsIE4sIE4sIFddLFxuICAgICAgICAgICAgW1csIFcsIE4sIE4sIE5dLFxuICAgICAgICAgICAgW04sIE4sIFcsIE4sIFddLFxuICAgICAgICAgICAgW1csIE4sIFcsIE4sIE5dLFxuICAgICAgICAgICAgW04sIFcsIFcsIE4sIE5dLFxuICAgICAgICAgICAgW04sIE4sIE4sIFcsIFddLFxuICAgICAgICAgICAgW1csIE4sIE4sIFcsIE5dLFxuICAgICAgICAgICAgW04sIFcsIE4sIFcsIE5dXG4gICAgICAgIF19LFxuICAgICAgICBTSU5HTEVfQ09ERV9FUlJPUjoge3ZhbHVlOiAwLjc4LCB3cml0YWJsZTogdHJ1ZX0sXG4gICAgICAgIEFWR19DT0RFX0VSUk9SOiB7dmFsdWU6IDAuMzgsIHdyaXRhYmxlOiB0cnVlfSxcbiAgICAgICAgTUFYX0NPUlJFQ1RJT05fRkFDVE9SOiB7dmFsdWU6IDV9LFxuICAgICAgICBGT1JNQVQ6IHt2YWx1ZTogXCJpMm9mNVwifVxuICAgIH07XG5cbkkyb2Y1UmVhZGVyLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoQmFyY29kZVJlYWRlci5wcm90b3R5cGUsIHByb3BlcnRpZXMpO1xuSTJvZjVSZWFkZXIucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gSTJvZjVSZWFkZXI7XG5cbkkyb2Y1UmVhZGVyLnByb3RvdHlwZS5fbWF0Y2hQYXR0ZXJuID0gZnVuY3Rpb24oY291bnRlciwgY29kZSkge1xuICAgIGlmICh0aGlzLmNvbmZpZy5ub3JtYWxpemVCYXJTcGFjZVdpZHRoKSB7XG4gICAgICAgIHZhciBpLFxuICAgICAgICAgICAgY291bnRlclN1bSA9IFswLCAwXSxcbiAgICAgICAgICAgIGNvZGVTdW0gPSBbMCwgMF0sXG4gICAgICAgICAgICBjb3JyZWN0aW9uID0gWzAsIDBdLFxuICAgICAgICAgICAgY29ycmVjdGlvblJhdGlvID0gdGhpcy5NQVhfQ09SUkVDVElPTl9GQUNUT1IsXG4gICAgICAgICAgICBjb3JyZWN0aW9uUmF0aW9JbnZlcnNlID0gMSAvIGNvcnJlY3Rpb25SYXRpbztcblxuICAgICAgICBmb3IgKGkgPSAwOyBpIDwgY291bnRlci5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY291bnRlclN1bVtpICUgMl0gKz0gY291bnRlcltpXTtcbiAgICAgICAgICAgIGNvZGVTdW1baSAlIDJdICs9IGNvZGVbaV07XG4gICAgICAgIH1cbiAgICAgICAgY29ycmVjdGlvblswXSA9IGNvZGVTdW1bMF0gLyBjb3VudGVyU3VtWzBdO1xuICAgICAgICBjb3JyZWN0aW9uWzFdID0gY29kZVN1bVsxXSAvIGNvdW50ZXJTdW1bMV07XG5cbiAgICAgICAgY29ycmVjdGlvblswXSA9IE1hdGgubWF4KE1hdGgubWluKGNvcnJlY3Rpb25bMF0sIGNvcnJlY3Rpb25SYXRpbyksIGNvcnJlY3Rpb25SYXRpb0ludmVyc2UpO1xuICAgICAgICBjb3JyZWN0aW9uWzFdID0gTWF0aC5tYXgoTWF0aC5taW4oY29ycmVjdGlvblsxXSwgY29ycmVjdGlvblJhdGlvKSwgY29ycmVjdGlvblJhdGlvSW52ZXJzZSk7XG4gICAgICAgIHRoaXMuYmFyU3BhY2VSYXRpbyA9IGNvcnJlY3Rpb247XG4gICAgICAgIGZvciAoaSA9IDA7IGkgPCBjb3VudGVyLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb3VudGVyW2ldICo9IHRoaXMuYmFyU3BhY2VSYXRpb1tpICUgMl07XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIEJhcmNvZGVSZWFkZXIucHJvdG90eXBlLl9tYXRjaFBhdHRlcm4uY2FsbCh0aGlzLCBjb3VudGVyLCBjb2RlKTtcbn07XG5cbkkyb2Y1UmVhZGVyLnByb3RvdHlwZS5fZmluZFBhdHRlcm4gPSBmdW5jdGlvbihwYXR0ZXJuLCBvZmZzZXQsIGlzV2hpdGUsIHRyeUhhcmRlcikge1xuICAgIHZhciBjb3VudGVyID0gW10sXG4gICAgICAgIHNlbGYgPSB0aGlzLFxuICAgICAgICBpLFxuICAgICAgICBjb3VudGVyUG9zID0gMCxcbiAgICAgICAgYmVzdE1hdGNoID0ge1xuICAgICAgICAgICAgZXJyb3I6IE51bWJlci5NQVhfVkFMVUUsXG4gICAgICAgICAgICBjb2RlOiAtMSxcbiAgICAgICAgICAgIHN0YXJ0OiAwLFxuICAgICAgICAgICAgZW5kOiAwXG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yLFxuICAgICAgICBqLFxuICAgICAgICBzdW0sXG4gICAgICAgIG5vcm1hbGl6ZWQsXG4gICAgICAgIGVwc2lsb24gPSBzZWxmLkFWR19DT0RFX0VSUk9SO1xuXG4gICAgaXNXaGl0ZSA9IGlzV2hpdGUgfHwgZmFsc2U7XG4gICAgdHJ5SGFyZGVyID0gdHJ5SGFyZGVyIHx8IGZhbHNlO1xuXG4gICAgaWYgKCFvZmZzZXQpIHtcbiAgICAgICAgb2Zmc2V0ID0gc2VsZi5fbmV4dFNldChzZWxmLl9yb3cpO1xuICAgIH1cblxuICAgIGZvciAoIGkgPSAwOyBpIDwgcGF0dGVybi5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb3VudGVyW2ldID0gMDtcbiAgICB9XG5cbiAgICBmb3IgKCBpID0gb2Zmc2V0OyBpIDwgc2VsZi5fcm93Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmIChzZWxmLl9yb3dbaV0gXiBpc1doaXRlKSB7XG4gICAgICAgICAgICBjb3VudGVyW2NvdW50ZXJQb3NdKys7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAoY291bnRlclBvcyA9PT0gY291bnRlci5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgICAgICAgc3VtID0gMDtcbiAgICAgICAgICAgICAgICBmb3IgKCBqID0gMDsgaiA8IGNvdW50ZXIubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICAgICAgICAgICAgc3VtICs9IGNvdW50ZXJbal07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVycm9yID0gc2VsZi5fbWF0Y2hQYXR0ZXJuKGNvdW50ZXIsIHBhdHRlcm4pO1xuICAgICAgICAgICAgICAgIGlmIChlcnJvciA8IGVwc2lsb24pIHtcbiAgICAgICAgICAgICAgICAgICAgYmVzdE1hdGNoLmVycm9yID0gZXJyb3I7XG4gICAgICAgICAgICAgICAgICAgIGJlc3RNYXRjaC5zdGFydCA9IGkgLSBzdW07XG4gICAgICAgICAgICAgICAgICAgIGJlc3RNYXRjaC5lbmQgPSBpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYmVzdE1hdGNoO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodHJ5SGFyZGVyKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvciAoaiA9IDA7IGogPCBjb3VudGVyLmxlbmd0aCAtIDI7IGorKykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY291bnRlcltqXSA9IGNvdW50ZXJbaiArIDJdO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGNvdW50ZXJbY291bnRlci5sZW5ndGggLSAyXSA9IDA7XG4gICAgICAgICAgICAgICAgICAgIGNvdW50ZXJbY291bnRlci5sZW5ndGggLSAxXSA9IDA7XG4gICAgICAgICAgICAgICAgICAgIGNvdW50ZXJQb3MtLTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvdW50ZXJQb3MrKztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvdW50ZXJbY291bnRlclBvc10gPSAxO1xuICAgICAgICAgICAgaXNXaGl0ZSA9ICFpc1doaXRlO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xufTtcblxuSTJvZjVSZWFkZXIucHJvdG90eXBlLl9maW5kU3RhcnQgPSBmdW5jdGlvbigpIHtcbiAgICB2YXIgc2VsZiA9IHRoaXMsXG4gICAgICAgIGxlYWRpbmdXaGl0ZXNwYWNlU3RhcnQsXG4gICAgICAgIG9mZnNldCA9IHNlbGYuX25leHRTZXQoc2VsZi5fcm93KSxcbiAgICAgICAgc3RhcnRJbmZvLFxuICAgICAgICBuYXJyb3dCYXJXaWR0aCA9IDE7XG5cbiAgICB3aGlsZSAoIXN0YXJ0SW5mbykge1xuICAgICAgICBzdGFydEluZm8gPSBzZWxmLl9maW5kUGF0dGVybihzZWxmLlNUQVJUX1BBVFRFUk4sIG9mZnNldCwgZmFsc2UsIHRydWUpO1xuICAgICAgICBpZiAoIXN0YXJ0SW5mbykge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgbmFycm93QmFyV2lkdGggPSBNYXRoLmZsb29yKChzdGFydEluZm8uZW5kIC0gc3RhcnRJbmZvLnN0YXJ0KSAvIDQpO1xuICAgICAgICBsZWFkaW5nV2hpdGVzcGFjZVN0YXJ0ID0gc3RhcnRJbmZvLnN0YXJ0IC0gbmFycm93QmFyV2lkdGggKiAxMDtcbiAgICAgICAgaWYgKGxlYWRpbmdXaGl0ZXNwYWNlU3RhcnQgPj0gMCkge1xuICAgICAgICAgICAgaWYgKHNlbGYuX21hdGNoUmFuZ2UobGVhZGluZ1doaXRlc3BhY2VTdGFydCwgc3RhcnRJbmZvLnN0YXJ0LCAwKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBzdGFydEluZm87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgb2Zmc2V0ID0gc3RhcnRJbmZvLmVuZDtcbiAgICAgICAgc3RhcnRJbmZvID0gbnVsbDtcbiAgICB9XG59O1xuXG5JMm9mNVJlYWRlci5wcm90b3R5cGUuX3ZlcmlmeVRyYWlsaW5nV2hpdGVzcGFjZSA9IGZ1bmN0aW9uKGVuZEluZm8pIHtcbiAgICB2YXIgc2VsZiA9IHRoaXMsXG4gICAgICAgIHRyYWlsaW5nV2hpdGVzcGFjZUVuZDtcblxuICAgIHRyYWlsaW5nV2hpdGVzcGFjZUVuZCA9IGVuZEluZm8uZW5kICsgKChlbmRJbmZvLmVuZCAtIGVuZEluZm8uc3RhcnQpIC8gMik7XG4gICAgaWYgKHRyYWlsaW5nV2hpdGVzcGFjZUVuZCA8IHNlbGYuX3Jvdy5sZW5ndGgpIHtcbiAgICAgICAgaWYgKHNlbGYuX21hdGNoUmFuZ2UoZW5kSW5mby5lbmQsIHRyYWlsaW5nV2hpdGVzcGFjZUVuZCwgMCkpIHtcbiAgICAgICAgICAgIHJldHVybiBlbmRJbmZvO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xufTtcblxuSTJvZjVSZWFkZXIucHJvdG90eXBlLl9maW5kRW5kID0gZnVuY3Rpb24oKSB7XG4gICAgdmFyIHNlbGYgPSB0aGlzLFxuICAgICAgICBlbmRJbmZvLFxuICAgICAgICB0bXA7XG5cbiAgICBzZWxmLl9yb3cucmV2ZXJzZSgpO1xuICAgIGVuZEluZm8gPSBzZWxmLl9maW5kUGF0dGVybihzZWxmLlNUT1BfUEFUVEVSTik7XG4gICAgc2VsZi5fcm93LnJldmVyc2UoKTtcblxuICAgIGlmIChlbmRJbmZvID09PSBudWxsKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIC8vIHJldmVyc2UgbnVtYmVyc1xuICAgIHRtcCA9IGVuZEluZm8uc3RhcnQ7XG4gICAgZW5kSW5mby5zdGFydCA9IHNlbGYuX3Jvdy5sZW5ndGggLSBlbmRJbmZvLmVuZDtcbiAgICBlbmRJbmZvLmVuZCA9IHNlbGYuX3Jvdy5sZW5ndGggLSB0bXA7XG5cbiAgICByZXR1cm4gZW5kSW5mbyAhPT0gbnVsbCA/IHNlbGYuX3ZlcmlmeVRyYWlsaW5nV2hpdGVzcGFjZShlbmRJbmZvKSA6IG51bGw7XG59O1xuXG5JMm9mNVJlYWRlci5wcm90b3R5cGUuX2RlY29kZVBhaXIgPSBmdW5jdGlvbihjb3VudGVyUGFpcikge1xuICAgIHZhciBpLFxuICAgICAgICBjb2RlLFxuICAgICAgICBjb2RlcyA9IFtdLFxuICAgICAgICBzZWxmID0gdGhpcztcblxuICAgIGZvciAoaSA9IDA7IGkgPCBjb3VudGVyUGFpci5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb2RlID0gc2VsZi5fZGVjb2RlQ29kZShjb3VudGVyUGFpcltpXSk7XG4gICAgICAgIGlmICghY29kZSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgY29kZXMucHVzaChjb2RlKTtcbiAgICB9XG4gICAgcmV0dXJuIGNvZGVzO1xufTtcblxuSTJvZjVSZWFkZXIucHJvdG90eXBlLl9kZWNvZGVDb2RlID0gZnVuY3Rpb24oY291bnRlcikge1xuICAgIHZhciBqLFxuICAgICAgICBzZWxmID0gdGhpcyxcbiAgICAgICAgc3VtID0gMCxcbiAgICAgICAgbm9ybWFsaXplZCxcbiAgICAgICAgZXJyb3IsXG4gICAgICAgIGVwc2lsb24gPSBzZWxmLkFWR19DT0RFX0VSUk9SLFxuICAgICAgICBjb2RlLFxuICAgICAgICBiZXN0TWF0Y2ggPSB7XG4gICAgICAgICAgICBlcnJvcjogTnVtYmVyLk1BWF9WQUxVRSxcbiAgICAgICAgICAgIGNvZGU6IC0xLFxuICAgICAgICAgICAgc3RhcnQ6IDAsXG4gICAgICAgICAgICBlbmQ6IDBcbiAgICAgICAgfTtcblxuICAgIGZvciAoIGogPSAwOyBqIDwgY291bnRlci5sZW5ndGg7IGorKykge1xuICAgICAgICBzdW0gKz0gY291bnRlcltqXTtcbiAgICB9XG4gICAgZm9yIChjb2RlID0gMDsgY29kZSA8IHNlbGYuQ09ERV9QQVRURVJOLmxlbmd0aDsgY29kZSsrKSB7XG4gICAgICAgIGVycm9yID0gc2VsZi5fbWF0Y2hQYXR0ZXJuKGNvdW50ZXIsIHNlbGYuQ09ERV9QQVRURVJOW2NvZGVdKTtcbiAgICAgICAgaWYgKGVycm9yIDwgYmVzdE1hdGNoLmVycm9yKSB7XG4gICAgICAgICAgICBiZXN0TWF0Y2guY29kZSA9IGNvZGU7XG4gICAgICAgICAgICBiZXN0TWF0Y2guZXJyb3IgPSBlcnJvcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAoYmVzdE1hdGNoLmVycm9yIDwgZXBzaWxvbikge1xuICAgICAgICByZXR1cm4gYmVzdE1hdGNoO1xuICAgIH1cbn07XG5cbkkyb2Y1UmVhZGVyLnByb3RvdHlwZS5fZGVjb2RlUGF5bG9hZCA9IGZ1bmN0aW9uKGNvdW50ZXJzLCByZXN1bHQsIGRlY29kZWRDb2Rlcykge1xuICAgIHZhciBpLFxuICAgICAgICBzZWxmID0gdGhpcyxcbiAgICAgICAgcG9zID0gMCxcbiAgICAgICAgY291bnRlckxlbmd0aCA9IGNvdW50ZXJzLmxlbmd0aCxcbiAgICAgICAgY291bnRlclBhaXIgPSBbWzAsIDAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMCwgMF1dLFxuICAgICAgICBjb2RlcztcblxuICAgIHdoaWxlIChwb3MgPCBjb3VudGVyTGVuZ3RoKSB7XG4gICAgICAgIGZvciAoaSA9IDA7IGkgPCA1OyBpKyspIHtcbiAgICAgICAgICAgIGNvdW50ZXJQYWlyWzBdW2ldID0gY291bnRlcnNbcG9zXSAqIHRoaXMuYmFyU3BhY2VSYXRpb1swXTtcbiAgICAgICAgICAgIGNvdW50ZXJQYWlyWzFdW2ldID0gY291bnRlcnNbcG9zICsgMV0gKiB0aGlzLmJhclNwYWNlUmF0aW9bMV07XG4gICAgICAgICAgICBwb3MgKz0gMjtcbiAgICAgICAgfVxuICAgICAgICBjb2RlcyA9IHNlbGYuX2RlY29kZVBhaXIoY291bnRlclBhaXIpO1xuICAgICAgICBpZiAoIWNvZGVzKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBmb3IgKGkgPSAwOyBpIDwgY29kZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKGNvZGVzW2ldLmNvZGUgKyBcIlwiKTtcbiAgICAgICAgICAgIGRlY29kZWRDb2Rlcy5wdXNoKGNvZGVzW2ldKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gY29kZXM7XG59O1xuXG5JMm9mNVJlYWRlci5wcm90b3R5cGUuX3ZlcmlmeUNvdW50ZXJMZW5ndGggPSBmdW5jdGlvbihjb3VudGVycykge1xuICAgIHJldHVybiAoY291bnRlcnMubGVuZ3RoICUgMTAgPT09IDApO1xufTtcblxuSTJvZjVSZWFkZXIucHJvdG90eXBlLl9kZWNvZGUgPSBmdW5jdGlvbigpIHtcbiAgICB2YXIgc3RhcnRJbmZvLFxuICAgICAgICBlbmRJbmZvLFxuICAgICAgICBzZWxmID0gdGhpcyxcbiAgICAgICAgY29kZSxcbiAgICAgICAgcmVzdWx0ID0gW10sXG4gICAgICAgIGRlY29kZWRDb2RlcyA9IFtdLFxuICAgICAgICBjb3VudGVycztcblxuICAgIHN0YXJ0SW5mbyA9IHNlbGYuX2ZpbmRTdGFydCgpO1xuICAgIGlmICghc3RhcnRJbmZvKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBkZWNvZGVkQ29kZXMucHVzaChzdGFydEluZm8pO1xuXG4gICAgZW5kSW5mbyA9IHNlbGYuX2ZpbmRFbmQoKTtcbiAgICBpZiAoIWVuZEluZm8pIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY291bnRlcnMgPSBzZWxmLl9maWxsQ291bnRlcnMoc3RhcnRJbmZvLmVuZCwgZW5kSW5mby5zdGFydCwgZmFsc2UpO1xuICAgIGlmICghc2VsZi5fdmVyaWZ5Q291bnRlckxlbmd0aChjb3VudGVycykpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGNvZGUgPSBzZWxmLl9kZWNvZGVQYXlsb2FkKGNvdW50ZXJzLCByZXN1bHQsIGRlY29kZWRDb2Rlcyk7XG4gICAgaWYgKCFjb2RlKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBpZiAocmVzdWx0Lmxlbmd0aCAlIDIgIT09IDAgfHxcbiAgICAgICAgICAgIHJlc3VsdC5sZW5ndGggPCA2KSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGRlY29kZWRDb2Rlcy5wdXNoKGVuZEluZm8pO1xuICAgIHJldHVybiB7XG4gICAgICAgIGNvZGU6IHJlc3VsdC5qb2luKFwiXCIpLFxuICAgICAgICBzdGFydDogc3RhcnRJbmZvLnN0YXJ0LFxuICAgICAgICBlbmQ6IGVuZEluZm8uZW5kLFxuICAgICAgICBzdGFydEluZm86IHN0YXJ0SW5mbyxcbiAgICAgICAgZGVjb2RlZENvZGVzOiBkZWNvZGVkQ29kZXNcbiAgICB9O1xufTtcblxuSTJvZjVSZWFkZXIuQ09ORklHX0tFWVMgPSB7XG4gICAgbm9ybWFsaXplQmFyU3BhY2VXaWR0aDoge1xuICAgICAgICAndHlwZSc6ICdib29sZWFuJyxcbiAgICAgICAgJ2RlZmF1bHQnOiBmYWxzZSxcbiAgICAgICAgJ2Rlc2NyaXB0aW9uJzogJ0lmIHRydWUsIHRoZSByZWFkZXIgdHJpZXMgdG8gbm9ybWFsaXplIHRoZScgK1xuICAgICAgICAnd2lkdGgtZGlmZmVyZW5jZSBiZXR3ZWVuIGJhcnMgYW5kIHNwYWNlcydcbiAgICB9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBJMm9mNVJlYWRlcjtcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3NyYy9yZWFkZXIvaTJvZjVfcmVhZGVyLmpzIiwiaW1wb3J0IEVBTlJlYWRlciBmcm9tICcuL2Vhbl9yZWFkZXInO1xuXG5mdW5jdGlvbiBVUENFUmVhZGVyKG9wdHMsIHN1cHBsZW1lbnRzKSB7XG4gICAgRUFOUmVhZGVyLmNhbGwodGhpcywgb3B0cywgc3VwcGxlbWVudHMpO1xufVxuXG52YXIgcHJvcGVydGllcyA9IHtcbiAgICBDT0RFX0ZSRVFVRU5DWToge3ZhbHVlOiBbXG4gICAgICAgIFsgNTYsIDUyLCA1MCwgNDksIDQ0LCAzOCwgMzUsIDQyLCA0MSwgMzcgXSxcbiAgICAgICAgWzcsIDExLCAxMywgMTQsIDE5LCAyNSwgMjgsIDIxLCAyMiwgMjZdXX0sXG4gICAgU1RPUF9QQVRURVJOOiB7IHZhbHVlOiBbMSAvIDYgKiA3LCAxIC8gNiAqIDcsIDEgLyA2ICogNywgMSAvIDYgKiA3LCAxIC8gNiAqIDcsIDEgLyA2ICogN119LFxuICAgIEZPUk1BVDoge3ZhbHVlOiBcInVwY19lXCIsIHdyaXRlYWJsZTogZmFsc2V9XG59O1xuXG5VUENFUmVhZGVyLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoRUFOUmVhZGVyLnByb3RvdHlwZSwgcHJvcGVydGllcyk7XG5VUENFUmVhZGVyLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IFVQQ0VSZWFkZXI7XG5cblVQQ0VSZWFkZXIucHJvdG90eXBlLl9kZWNvZGVQYXlsb2FkID0gZnVuY3Rpb24oY29kZSwgcmVzdWx0LCBkZWNvZGVkQ29kZXMpIHtcbiAgICB2YXIgaSxcbiAgICAgICAgc2VsZiA9IHRoaXMsXG4gICAgICAgIGNvZGVGcmVxdWVuY3kgPSAweDA7XG5cbiAgICBmb3IgKCBpID0gMDsgaSA8IDY7IGkrKykge1xuICAgICAgICBjb2RlID0gc2VsZi5fZGVjb2RlQ29kZShjb2RlLmVuZCk7XG4gICAgICAgIGlmICghY29kZSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNvZGUuY29kZSA+PSBzZWxmLkNPREVfR19TVEFSVCkge1xuICAgICAgICAgICAgY29kZS5jb2RlID0gY29kZS5jb2RlIC0gc2VsZi5DT0RFX0dfU1RBUlQ7XG4gICAgICAgICAgICBjb2RlRnJlcXVlbmN5IHw9IDEgPDwgKDUgLSBpKTtcbiAgICAgICAgfVxuICAgICAgICByZXN1bHQucHVzaChjb2RlLmNvZGUpO1xuICAgICAgICBkZWNvZGVkQ29kZXMucHVzaChjb2RlKTtcbiAgICB9XG4gICAgaWYgKCFzZWxmLl9kZXRlcm1pbmVQYXJpdHkoY29kZUZyZXF1ZW5jeSwgcmVzdWx0KSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gY29kZTtcbn07XG5cblVQQ0VSZWFkZXIucHJvdG90eXBlLl9kZXRlcm1pbmVQYXJpdHkgPSBmdW5jdGlvbihjb2RlRnJlcXVlbmN5LCByZXN1bHQpIHtcbiAgICB2YXIgaSxcbiAgICAgICAgbnJTeXN0ZW07XG5cbiAgICBmb3IgKG5yU3lzdGVtID0gMDsgbnJTeXN0ZW0gPCB0aGlzLkNPREVfRlJFUVVFTkNZLmxlbmd0aDsgbnJTeXN0ZW0rKyl7XG4gICAgICAgIGZvciAoIGkgPSAwOyBpIDwgdGhpcy5DT0RFX0ZSRVFVRU5DWVtuclN5c3RlbV0ubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChjb2RlRnJlcXVlbmN5ID09PSB0aGlzLkNPREVfRlJFUVVFTkNZW25yU3lzdGVtXVtpXSkge1xuICAgICAgICAgICAgICAgIHJlc3VsdC51bnNoaWZ0KG5yU3lzdGVtKTtcbiAgICAgICAgICAgICAgICByZXN1bHQucHVzaChpKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG59O1xuXG5VUENFUmVhZGVyLnByb3RvdHlwZS5fY29udmVydFRvVVBDQSA9IGZ1bmN0aW9uKHJlc3VsdCkge1xuICAgIHZhciB1cGNhID0gW3Jlc3VsdFswXV0sXG4gICAgICAgIGxhc3REaWdpdCA9IHJlc3VsdFtyZXN1bHQubGVuZ3RoIC0gMl07XG5cbiAgICBpZiAobGFzdERpZ2l0IDw9IDIpIHtcbiAgICAgICAgdXBjYSA9IHVwY2EuY29uY2F0KHJlc3VsdC5zbGljZSgxLCAzKSlcbiAgICAgICAgICAgIC5jb25jYXQoW2xhc3REaWdpdCwgMCwgMCwgMCwgMF0pXG4gICAgICAgICAgICAuY29uY2F0KHJlc3VsdC5zbGljZSgzLCA2KSk7XG4gICAgfSBlbHNlIGlmIChsYXN0RGlnaXQgPT09IDMpIHtcbiAgICAgICAgdXBjYSA9IHVwY2EuY29uY2F0KHJlc3VsdC5zbGljZSgxLCA0KSlcbiAgICAgICAgICAgIC5jb25jYXQoWzAsIDAsIDAsIDAsIDBdKVxuICAgICAgICAgICAgLmNvbmNhdChyZXN1bHQuc2xpY2UoNCwgNikpO1xuICAgIH0gZWxzZSBpZiAobGFzdERpZ2l0ID09PSA0KSB7XG4gICAgICAgIHVwY2EgPSB1cGNhLmNvbmNhdChyZXN1bHQuc2xpY2UoMSwgNSkpXG4gICAgICAgICAgICAuY29uY2F0KFswLCAwLCAwLCAwLCAwLCByZXN1bHRbNV1dKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICB1cGNhID0gdXBjYS5jb25jYXQocmVzdWx0LnNsaWNlKDEsIDYpKVxuICAgICAgICAgICAgLmNvbmNhdChbMCwgMCwgMCwgMCwgbGFzdERpZ2l0XSk7XG4gICAgfVxuXG4gICAgdXBjYS5wdXNoKHJlc3VsdFtyZXN1bHQubGVuZ3RoIC0gMV0pO1xuICAgIHJldHVybiB1cGNhO1xufTtcblxuVVBDRVJlYWRlci5wcm90b3R5cGUuX2NoZWNrc3VtID0gZnVuY3Rpb24ocmVzdWx0KSB7XG4gICAgcmV0dXJuIEVBTlJlYWRlci5wcm90b3R5cGUuX2NoZWNrc3VtLmNhbGwodGhpcywgdGhpcy5fY29udmVydFRvVVBDQShyZXN1bHQpKTtcbn07XG5cblVQQ0VSZWFkZXIucHJvdG90eXBlLl9maW5kRW5kID0gZnVuY3Rpb24ob2Zmc2V0LCBpc1doaXRlKSB7XG4gICAgaXNXaGl0ZSA9IHRydWU7XG4gICAgcmV0dXJuIEVBTlJlYWRlci5wcm90b3R5cGUuX2ZpbmRFbmQuY2FsbCh0aGlzLCBvZmZzZXQsIGlzV2hpdGUpO1xufTtcblxuVVBDRVJlYWRlci5wcm90b3R5cGUuX3ZlcmlmeVRyYWlsaW5nV2hpdGVzcGFjZSA9IGZ1bmN0aW9uKGVuZEluZm8pIHtcbiAgICB2YXIgc2VsZiA9IHRoaXMsXG4gICAgICAgIHRyYWlsaW5nV2hpdGVzcGFjZUVuZDtcblxuICAgIHRyYWlsaW5nV2hpdGVzcGFjZUVuZCA9IGVuZEluZm8uZW5kICsgKChlbmRJbmZvLmVuZCAtIGVuZEluZm8uc3RhcnQpIC8gMik7XG4gICAgaWYgKHRyYWlsaW5nV2hpdGVzcGFjZUVuZCA8IHNlbGYuX3Jvdy5sZW5ndGgpIHtcbiAgICAgICAgaWYgKHNlbGYuX21hdGNoUmFuZ2UoZW5kSW5mby5lbmQsIHRyYWlsaW5nV2hpdGVzcGFjZUVuZCwgMCkpIHtcbiAgICAgICAgICAgIHJldHVybiBlbmRJbmZvO1xuICAgICAgICB9XG4gICAgfVxufTtcblxuZXhwb3J0IGRlZmF1bHQgVVBDRVJlYWRlcjtcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3NyYy9yZWFkZXIvdXBjX2VfcmVhZGVyLmpzIiwiaW1wb3J0IEVBTlJlYWRlciBmcm9tICcuL2Vhbl9yZWFkZXInO1xuXG5mdW5jdGlvbiBVUENSZWFkZXIob3B0cywgc3VwcGxlbWVudHMpIHtcbiAgICBFQU5SZWFkZXIuY2FsbCh0aGlzLCBvcHRzLCBzdXBwbGVtZW50cyk7XG59XG5cbnZhciBwcm9wZXJ0aWVzID0ge1xuICAgIEZPUk1BVDoge3ZhbHVlOiBcInVwY19hXCIsIHdyaXRlYWJsZTogZmFsc2V9XG59O1xuXG5VUENSZWFkZXIucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShFQU5SZWFkZXIucHJvdG90eXBlLCBwcm9wZXJ0aWVzKTtcblVQQ1JlYWRlci5wcm90b3R5cGUuY29uc3RydWN0b3IgPSBVUENSZWFkZXI7XG5cblVQQ1JlYWRlci5wcm90b3R5cGUuX2RlY29kZSA9IGZ1bmN0aW9uKCkge1xuICAgIHZhciByZXN1bHQgPSBFQU5SZWFkZXIucHJvdG90eXBlLl9kZWNvZGUuY2FsbCh0aGlzKTtcblxuICAgIGlmIChyZXN1bHQgJiYgcmVzdWx0LmNvZGUgJiYgcmVzdWx0LmNvZGUubGVuZ3RoID09PSAxMyAmJiByZXN1bHQuY29kZS5jaGFyQXQoMCkgPT09IFwiMFwiKSB7XG4gICAgICAgIHJlc3VsdC5jb2RlID0gcmVzdWx0LmNvZGUuc3Vic3RyaW5nKDEpO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFVQQ1JlYWRlcjtcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3NyYy9yZWFkZXIvdXBjX3JlYWRlci5qcyIsIm1vZHVsZS5leHBvcnRzID0gY29weVxuXG4vKipcbiAqIENvcHkgdGhlIHZhbHVlcyBmcm9tIG9uZSBtYXQyIHRvIGFub3RoZXJcbiAqXG4gKiBAYWxpYXMgbWF0Mi5jb3B5XG4gKiBAcGFyYW0ge21hdDJ9IG91dCB0aGUgcmVjZWl2aW5nIG1hdHJpeFxuICogQHBhcmFtIHttYXQyfSBhIHRoZSBzb3VyY2UgbWF0cml4XG4gKiBAcmV0dXJucyB7bWF0Mn0gb3V0XG4gKi9cbmZ1bmN0aW9uIGNvcHkob3V0LCBhKSB7XG4gIG91dFswXSA9IGFbMF1cbiAgb3V0WzFdID0gYVsxXVxuICBvdXRbMl0gPSBhWzJdXG4gIG91dFszXSA9IGFbM11cbiAgcmV0dXJuIG91dFxufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9+L2dsLW1hdDIvY29weS5qc1xuLy8gbW9kdWxlIGlkID0gNzhcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwibW9kdWxlLmV4cG9ydHMgPSBjcmVhdGVcblxuLyoqXG4gKiBDcmVhdGVzIGEgbmV3IGlkZW50aXR5IG1hdDJcbiAqXG4gKiBAYWxpYXMgbWF0Mi5jcmVhdGVcbiAqIEByZXR1cm5zIHttYXQyfSBhIG5ldyAyeDIgbWF0cml4XG4gKi9cbmZ1bmN0aW9uIGNyZWF0ZSgpIHtcbiAgdmFyIG91dCA9IG5ldyBGbG9hdDMyQXJyYXkoNClcbiAgb3V0WzBdID0gMVxuICBvdXRbMV0gPSAwXG4gIG91dFsyXSA9IDBcbiAgb3V0WzNdID0gMVxuICByZXR1cm4gb3V0XG59XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL34vZ2wtbWF0Mi9jcmVhdGUuanNcbi8vIG1vZHVsZSBpZCA9IDc5XG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsIm1vZHVsZS5leHBvcnRzID0gaW52ZXJ0XG5cbi8qKlxuICogSW52ZXJ0cyBhIG1hdDJcbiAqXG4gKiBAYWxpYXMgbWF0Mi5pbnZlcnRcbiAqIEBwYXJhbSB7bWF0Mn0gb3V0IHRoZSByZWNlaXZpbmcgbWF0cml4XG4gKiBAcGFyYW0ge21hdDJ9IGEgdGhlIHNvdXJjZSBtYXRyaXhcbiAqIEByZXR1cm5zIHttYXQyfSBvdXRcbiAqL1xuZnVuY3Rpb24gaW52ZXJ0KG91dCwgYSkge1xuICB2YXIgYTAgPSBhWzBdXG4gIHZhciBhMSA9IGFbMV1cbiAgdmFyIGEyID0gYVsyXVxuICB2YXIgYTMgPSBhWzNdXG4gIHZhciBkZXQgPSBhMCAqIGEzIC0gYTIgKiBhMVxuXG4gIGlmICghZGV0KSByZXR1cm4gbnVsbFxuICBkZXQgPSAxLjAgLyBkZXRcblxuICBvdXRbMF0gPSAgYTMgKiBkZXRcbiAgb3V0WzFdID0gLWExICogZGV0XG4gIG91dFsyXSA9IC1hMiAqIGRldFxuICBvdXRbM10gPSAgYTAgKiBkZXRcblxuICByZXR1cm4gb3V0XG59XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL34vZ2wtbWF0Mi9pbnZlcnQuanNcbi8vIG1vZHVsZSBpZCA9IDgwXG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsIm1vZHVsZS5leHBvcnRzID0gc2NhbGVcblxuLyoqXG4gKiBTY2FsZXMgYSB2ZWMyIGJ5IGEgc2NhbGFyIG51bWJlclxuICpcbiAqIEBwYXJhbSB7dmVjMn0gb3V0IHRoZSByZWNlaXZpbmcgdmVjdG9yXG4gKiBAcGFyYW0ge3ZlYzJ9IGEgdGhlIHZlY3RvciB0byBzY2FsZVxuICogQHBhcmFtIHtOdW1iZXJ9IGIgYW1vdW50IHRvIHNjYWxlIHRoZSB2ZWN0b3IgYnlcbiAqIEByZXR1cm5zIHt2ZWMyfSBvdXRcbiAqL1xuZnVuY3Rpb24gc2NhbGUob3V0LCBhLCBiKSB7XG4gICAgb3V0WzBdID0gYVswXSAqIGJcbiAgICBvdXRbMV0gPSBhWzFdICogYlxuICAgIHJldHVybiBvdXRcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL34vZ2wtdmVjMi9zY2FsZS5qc1xuLy8gbW9kdWxlIGlkID0gODFcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwibW9kdWxlLmV4cG9ydHMgPSB0cmFuc2Zvcm1NYXQyXG5cbi8qKlxuICogVHJhbnNmb3JtcyB0aGUgdmVjMiB3aXRoIGEgbWF0MlxuICpcbiAqIEBwYXJhbSB7dmVjMn0gb3V0IHRoZSByZWNlaXZpbmcgdmVjdG9yXG4gKiBAcGFyYW0ge3ZlYzJ9IGEgdGhlIHZlY3RvciB0byB0cmFuc2Zvcm1cbiAqIEBwYXJhbSB7bWF0Mn0gbSBtYXRyaXggdG8gdHJhbnNmb3JtIHdpdGhcbiAqIEByZXR1cm5zIHt2ZWMyfSBvdXRcbiAqL1xuZnVuY3Rpb24gdHJhbnNmb3JtTWF0MihvdXQsIGEsIG0pIHtcbiAgICB2YXIgeCA9IGFbMF0sXG4gICAgICAgIHkgPSBhWzFdXG4gICAgb3V0WzBdID0gbVswXSAqIHggKyBtWzJdICogeVxuICAgIG91dFsxXSA9IG1bMV0gKiB4ICsgbVszXSAqIHlcbiAgICByZXR1cm4gb3V0XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9+L2dsLXZlYzIvdHJhbnNmb3JtTWF0Mi5qc1xuLy8gbW9kdWxlIGlkID0gODJcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwibW9kdWxlLmV4cG9ydHMgPSBjbG9uZTtcblxuLyoqXG4gKiBDcmVhdGVzIGEgbmV3IHZlYzMgaW5pdGlhbGl6ZWQgd2l0aCB2YWx1ZXMgZnJvbSBhbiBleGlzdGluZyB2ZWN0b3JcbiAqXG4gKiBAcGFyYW0ge3ZlYzN9IGEgdmVjdG9yIHRvIGNsb25lXG4gKiBAcmV0dXJucyB7dmVjM30gYSBuZXcgM0QgdmVjdG9yXG4gKi9cbmZ1bmN0aW9uIGNsb25lKGEpIHtcbiAgICB2YXIgb3V0ID0gbmV3IEZsb2F0MzJBcnJheSgzKVxuICAgIG91dFswXSA9IGFbMF1cbiAgICBvdXRbMV0gPSBhWzFdXG4gICAgb3V0WzJdID0gYVsyXVxuICAgIHJldHVybiBvdXRcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL34vZ2wtdmVjMy9jbG9uZS5qc1xuLy8gbW9kdWxlIGlkID0gODNcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwidmFyIGhhc2hDbGVhciA9IHJlcXVpcmUoJy4vX2hhc2hDbGVhcicpLFxuICAgIGhhc2hEZWxldGUgPSByZXF1aXJlKCcuL19oYXNoRGVsZXRlJyksXG4gICAgaGFzaEdldCA9IHJlcXVpcmUoJy4vX2hhc2hHZXQnKSxcbiAgICBoYXNoSGFzID0gcmVxdWlyZSgnLi9faGFzaEhhcycpLFxuICAgIGhhc2hTZXQgPSByZXF1aXJlKCcuL19oYXNoU2V0Jyk7XG5cbi8qKlxuICogQ3JlYXRlcyBhIGhhc2ggb2JqZWN0LlxuICpcbiAqIEBwcml2YXRlXG4gKiBAY29uc3RydWN0b3JcbiAqIEBwYXJhbSB7QXJyYXl9IFtlbnRyaWVzXSBUaGUga2V5LXZhbHVlIHBhaXJzIHRvIGNhY2hlLlxuICovXG5mdW5jdGlvbiBIYXNoKGVudHJpZXMpIHtcbiAgdmFyIGluZGV4ID0gLTEsXG4gICAgICBsZW5ndGggPSBlbnRyaWVzID09IG51bGwgPyAwIDogZW50cmllcy5sZW5ndGg7XG5cbiAgdGhpcy5jbGVhcigpO1xuICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgIHZhciBlbnRyeSA9IGVudHJpZXNbaW5kZXhdO1xuICAgIHRoaXMuc2V0KGVudHJ5WzBdLCBlbnRyeVsxXSk7XG4gIH1cbn1cblxuLy8gQWRkIG1ldGhvZHMgdG8gYEhhc2hgLlxuSGFzaC5wcm90b3R5cGUuY2xlYXIgPSBoYXNoQ2xlYXI7XG5IYXNoLnByb3RvdHlwZVsnZGVsZXRlJ10gPSBoYXNoRGVsZXRlO1xuSGFzaC5wcm90b3R5cGUuZ2V0ID0gaGFzaEdldDtcbkhhc2gucHJvdG90eXBlLmhhcyA9IGhhc2hIYXM7XG5IYXNoLnByb3RvdHlwZS5zZXQgPSBoYXNoU2V0O1xuXG5tb2R1bGUuZXhwb3J0cyA9IEhhc2g7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL34vbG9kYXNoL19IYXNoLmpzXG4vLyBtb2R1bGUgaWQgPSA4NFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiLCJ2YXIgTGlzdENhY2hlID0gcmVxdWlyZSgnLi9fTGlzdENhY2hlJyksXG4gICAgc3RhY2tDbGVhciA9IHJlcXVpcmUoJy4vX3N0YWNrQ2xlYXInKSxcbiAgICBzdGFja0RlbGV0ZSA9IHJlcXVpcmUoJy4vX3N0YWNrRGVsZXRlJyksXG4gICAgc3RhY2tHZXQgPSByZXF1aXJlKCcuL19zdGFja0dldCcpLFxuICAgIHN0YWNrSGFzID0gcmVxdWlyZSgnLi9fc3RhY2tIYXMnKSxcbiAgICBzdGFja1NldCA9IHJlcXVpcmUoJy4vX3N0YWNrU2V0Jyk7XG5cbi8qKlxuICogQ3JlYXRlcyBhIHN0YWNrIGNhY2hlIG9iamVjdCB0byBzdG9yZSBrZXktdmFsdWUgcGFpcnMuXG4gKlxuICogQHByaXZhdGVcbiAqIEBjb25zdHJ1Y3RvclxuICogQHBhcmFtIHtBcnJheX0gW2VudHJpZXNdIFRoZSBrZXktdmFsdWUgcGFpcnMgdG8gY2FjaGUuXG4gKi9cbmZ1bmN0aW9uIFN0YWNrKGVudHJpZXMpIHtcbiAgdmFyIGRhdGEgPSB0aGlzLl9fZGF0YV9fID0gbmV3IExpc3RDYWNoZShlbnRyaWVzKTtcbiAgdGhpcy5zaXplID0gZGF0YS5zaXplO1xufVxuXG4vLyBBZGQgbWV0aG9kcyB0byBgU3RhY2tgLlxuU3RhY2sucHJvdG90eXBlLmNsZWFyID0gc3RhY2tDbGVhcjtcblN0YWNrLnByb3RvdHlwZVsnZGVsZXRlJ10gPSBzdGFja0RlbGV0ZTtcblN0YWNrLnByb3RvdHlwZS5nZXQgPSBzdGFja0dldDtcblN0YWNrLnByb3RvdHlwZS5oYXMgPSBzdGFja0hhcztcblN0YWNrLnByb3RvdHlwZS5zZXQgPSBzdGFja1NldDtcblxubW9kdWxlLmV4cG9ydHMgPSBTdGFjaztcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vfi9sb2Rhc2gvX1N0YWNrLmpzXG4vLyBtb2R1bGUgaWQgPSA4NVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiLCJ2YXIgcm9vdCA9IHJlcXVpcmUoJy4vX3Jvb3QnKTtcblxuLyoqIEJ1aWx0LWluIHZhbHVlIHJlZmVyZW5jZXMuICovXG52YXIgVWludDhBcnJheSA9IHJvb3QuVWludDhBcnJheTtcblxubW9kdWxlLmV4cG9ydHMgPSBVaW50OEFycmF5O1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9+L2xvZGFzaC9fVWludDhBcnJheS5qc1xuLy8gbW9kdWxlIGlkID0gODZcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwiLyoqXG4gKiBBIGZhc3RlciBhbHRlcm5hdGl2ZSB0byBgRnVuY3Rpb24jYXBwbHlgLCB0aGlzIGZ1bmN0aW9uIGludm9rZXMgYGZ1bmNgXG4gKiB3aXRoIHRoZSBgdGhpc2AgYmluZGluZyBvZiBgdGhpc0FyZ2AgYW5kIHRoZSBhcmd1bWVudHMgb2YgYGFyZ3NgLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBpbnZva2UuXG4gKiBAcGFyYW0geyp9IHRoaXNBcmcgVGhlIGB0aGlzYCBiaW5kaW5nIG9mIGBmdW5jYC5cbiAqIEBwYXJhbSB7QXJyYXl9IGFyZ3MgVGhlIGFyZ3VtZW50cyB0byBpbnZva2UgYGZ1bmNgIHdpdGguXG4gKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgcmVzdWx0IG9mIGBmdW5jYC5cbiAqL1xuZnVuY3Rpb24gYXBwbHkoZnVuYywgdGhpc0FyZywgYXJncykge1xuICBzd2l0Y2ggKGFyZ3MubGVuZ3RoKSB7XG4gICAgY2FzZSAwOiByZXR1cm4gZnVuYy5jYWxsKHRoaXNBcmcpO1xuICAgIGNhc2UgMTogcmV0dXJuIGZ1bmMuY2FsbCh0aGlzQXJnLCBhcmdzWzBdKTtcbiAgICBjYXNlIDI6IHJldHVybiBmdW5jLmNhbGwodGhpc0FyZywgYXJnc1swXSwgYXJnc1sxXSk7XG4gICAgY2FzZSAzOiByZXR1cm4gZnVuYy5jYWxsKHRoaXNBcmcsIGFyZ3NbMF0sIGFyZ3NbMV0sIGFyZ3NbMl0pO1xuICB9XG4gIHJldHVybiBmdW5jLmFwcGx5KHRoaXNBcmcsIGFyZ3MpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGFwcGx5O1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9+L2xvZGFzaC9fYXBwbHkuanNcbi8vIG1vZHVsZSBpZCA9IDg3XG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsInZhciBiYXNlVGltZXMgPSByZXF1aXJlKCcuL19iYXNlVGltZXMnKSxcbiAgICBpc0FyZ3VtZW50cyA9IHJlcXVpcmUoJy4vaXNBcmd1bWVudHMnKSxcbiAgICBpc0FycmF5ID0gcmVxdWlyZSgnLi9pc0FycmF5JyksXG4gICAgaXNCdWZmZXIgPSByZXF1aXJlKCcuL2lzQnVmZmVyJyksXG4gICAgaXNJbmRleCA9IHJlcXVpcmUoJy4vX2lzSW5kZXgnKSxcbiAgICBpc1R5cGVkQXJyYXkgPSByZXF1aXJlKCcuL2lzVHlwZWRBcnJheScpO1xuXG4vKiogVXNlZCBmb3IgYnVpbHQtaW4gbWV0aG9kIHJlZmVyZW5jZXMuICovXG52YXIgb2JqZWN0UHJvdG8gPSBPYmplY3QucHJvdG90eXBlO1xuXG4vKiogVXNlZCB0byBjaGVjayBvYmplY3RzIGZvciBvd24gcHJvcGVydGllcy4gKi9cbnZhciBoYXNPd25Qcm9wZXJ0eSA9IG9iamVjdFByb3RvLmhhc093blByb3BlcnR5O1xuXG4vKipcbiAqIENyZWF0ZXMgYW4gYXJyYXkgb2YgdGhlIGVudW1lcmFibGUgcHJvcGVydHkgbmFtZXMgb2YgdGhlIGFycmF5LWxpa2UgYHZhbHVlYC5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gcXVlcnkuXG4gKiBAcGFyYW0ge2Jvb2xlYW59IGluaGVyaXRlZCBTcGVjaWZ5IHJldHVybmluZyBpbmhlcml0ZWQgcHJvcGVydHkgbmFtZXMuXG4gKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIGFycmF5IG9mIHByb3BlcnR5IG5hbWVzLlxuICovXG5mdW5jdGlvbiBhcnJheUxpa2VLZXlzKHZhbHVlLCBpbmhlcml0ZWQpIHtcbiAgdmFyIGlzQXJyID0gaXNBcnJheSh2YWx1ZSksXG4gICAgICBpc0FyZyA9ICFpc0FyciAmJiBpc0FyZ3VtZW50cyh2YWx1ZSksXG4gICAgICBpc0J1ZmYgPSAhaXNBcnIgJiYgIWlzQXJnICYmIGlzQnVmZmVyKHZhbHVlKSxcbiAgICAgIGlzVHlwZSA9ICFpc0FyciAmJiAhaXNBcmcgJiYgIWlzQnVmZiAmJiBpc1R5cGVkQXJyYXkodmFsdWUpLFxuICAgICAgc2tpcEluZGV4ZXMgPSBpc0FyciB8fCBpc0FyZyB8fCBpc0J1ZmYgfHwgaXNUeXBlLFxuICAgICAgcmVzdWx0ID0gc2tpcEluZGV4ZXMgPyBiYXNlVGltZXModmFsdWUubGVuZ3RoLCBTdHJpbmcpIDogW10sXG4gICAgICBsZW5ndGggPSByZXN1bHQubGVuZ3RoO1xuXG4gIGZvciAodmFyIGtleSBpbiB2YWx1ZSkge1xuICAgIGlmICgoaW5oZXJpdGVkIHx8IGhhc093blByb3BlcnR5LmNhbGwodmFsdWUsIGtleSkpICYmXG4gICAgICAgICEoc2tpcEluZGV4ZXMgJiYgKFxuICAgICAgICAgICAvLyBTYWZhcmkgOSBoYXMgZW51bWVyYWJsZSBgYXJndW1lbnRzLmxlbmd0aGAgaW4gc3RyaWN0IG1vZGUuXG4gICAgICAgICAgIGtleSA9PSAnbGVuZ3RoJyB8fFxuICAgICAgICAgICAvLyBOb2RlLmpzIDAuMTAgaGFzIGVudW1lcmFibGUgbm9uLWluZGV4IHByb3BlcnRpZXMgb24gYnVmZmVycy5cbiAgICAgICAgICAgKGlzQnVmZiAmJiAoa2V5ID09ICdvZmZzZXQnIHx8IGtleSA9PSAncGFyZW50JykpIHx8XG4gICAgICAgICAgIC8vIFBoYW50b21KUyAyIGhhcyBlbnVtZXJhYmxlIG5vbi1pbmRleCBwcm9wZXJ0aWVzIG9uIHR5cGVkIGFycmF5cy5cbiAgICAgICAgICAgKGlzVHlwZSAmJiAoa2V5ID09ICdidWZmZXInIHx8IGtleSA9PSAnYnl0ZUxlbmd0aCcgfHwga2V5ID09ICdieXRlT2Zmc2V0JykpIHx8XG4gICAgICAgICAgIC8vIFNraXAgaW5kZXggcHJvcGVydGllcy5cbiAgICAgICAgICAgaXNJbmRleChrZXksIGxlbmd0aClcbiAgICAgICAgKSkpIHtcbiAgICAgIHJlc3VsdC5wdXNoKGtleSk7XG4gICAgfVxuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gYXJyYXlMaWtlS2V5cztcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vfi9sb2Rhc2gvX2FycmF5TGlrZUtleXMuanNcbi8vIG1vZHVsZSBpZCA9IDg4XG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsIi8qKlxuICogQSBzcGVjaWFsaXplZCB2ZXJzaW9uIG9mIGBfLm1hcGAgZm9yIGFycmF5cyB3aXRob3V0IHN1cHBvcnQgZm9yIGl0ZXJhdGVlXG4gKiBzaG9ydGhhbmRzLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge0FycmF5fSBbYXJyYXldIFRoZSBhcnJheSB0byBpdGVyYXRlIG92ZXIuXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBpdGVyYXRlZSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgbWFwcGVkIGFycmF5LlxuICovXG5mdW5jdGlvbiBhcnJheU1hcChhcnJheSwgaXRlcmF0ZWUpIHtcbiAgdmFyIGluZGV4ID0gLTEsXG4gICAgICBsZW5ndGggPSBhcnJheSA9PSBudWxsID8gMCA6IGFycmF5Lmxlbmd0aCxcbiAgICAgIHJlc3VsdCA9IEFycmF5KGxlbmd0aCk7XG5cbiAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICByZXN1bHRbaW5kZXhdID0gaXRlcmF0ZWUoYXJyYXlbaW5kZXhdLCBpbmRleCwgYXJyYXkpO1xuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gYXJyYXlNYXA7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL34vbG9kYXNoL19hcnJheU1hcC5qc1xuLy8gbW9kdWxlIGlkID0gODlcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwiLyoqXG4gKiBBcHBlbmRzIHRoZSBlbGVtZW50cyBvZiBgdmFsdWVzYCB0byBgYXJyYXlgLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gbW9kaWZ5LlxuICogQHBhcmFtIHtBcnJheX0gdmFsdWVzIFRoZSB2YWx1ZXMgdG8gYXBwZW5kLlxuICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIGBhcnJheWAuXG4gKi9cbmZ1bmN0aW9uIGFycmF5UHVzaChhcnJheSwgdmFsdWVzKSB7XG4gIHZhciBpbmRleCA9IC0xLFxuICAgICAgbGVuZ3RoID0gdmFsdWVzLmxlbmd0aCxcbiAgICAgIG9mZnNldCA9IGFycmF5Lmxlbmd0aDtcblxuICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgIGFycmF5W29mZnNldCArIGluZGV4XSA9IHZhbHVlc1tpbmRleF07XG4gIH1cbiAgcmV0dXJuIGFycmF5O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGFycmF5UHVzaDtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vfi9sb2Rhc2gvX2FycmF5UHVzaC5qc1xuLy8gbW9kdWxlIGlkID0gOTBcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwidmFyIGlzT2JqZWN0ID0gcmVxdWlyZSgnLi9pc09iamVjdCcpO1xuXG4vKiogQnVpbHQtaW4gdmFsdWUgcmVmZXJlbmNlcy4gKi9cbnZhciBvYmplY3RDcmVhdGUgPSBPYmplY3QuY3JlYXRlO1xuXG4vKipcbiAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmNyZWF0ZWAgd2l0aG91dCBzdXBwb3J0IGZvciBhc3NpZ25pbmdcbiAqIHByb3BlcnRpZXMgdG8gdGhlIGNyZWF0ZWQgb2JqZWN0LlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge09iamVjdH0gcHJvdG8gVGhlIG9iamVjdCB0byBpbmhlcml0IGZyb20uXG4gKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBuZXcgb2JqZWN0LlxuICovXG52YXIgYmFzZUNyZWF0ZSA9IChmdW5jdGlvbigpIHtcbiAgZnVuY3Rpb24gb2JqZWN0KCkge31cbiAgcmV0dXJuIGZ1bmN0aW9uKHByb3RvKSB7XG4gICAgaWYgKCFpc09iamVjdChwcm90bykpIHtcbiAgICAgIHJldHVybiB7fTtcbiAgICB9XG4gICAgaWYgKG9iamVjdENyZWF0ZSkge1xuICAgICAgcmV0dXJuIG9iamVjdENyZWF0ZShwcm90byk7XG4gICAgfVxuICAgIG9iamVjdC5wcm90b3R5cGUgPSBwcm90bztcbiAgICB2YXIgcmVzdWx0ID0gbmV3IG9iamVjdDtcbiAgICBvYmplY3QucHJvdG90eXBlID0gdW5kZWZpbmVkO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH07XG59KCkpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGJhc2VDcmVhdGU7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL34vbG9kYXNoL19iYXNlQ3JlYXRlLmpzXG4vLyBtb2R1bGUgaWQgPSA5MVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiLCJ2YXIgYXJyYXlQdXNoID0gcmVxdWlyZSgnLi9fYXJyYXlQdXNoJyksXG4gICAgaXNGbGF0dGVuYWJsZSA9IHJlcXVpcmUoJy4vX2lzRmxhdHRlbmFibGUnKTtcblxuLyoqXG4gKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5mbGF0dGVuYCB3aXRoIHN1cHBvcnQgZm9yIHJlc3RyaWN0aW5nIGZsYXR0ZW5pbmcuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBmbGF0dGVuLlxuICogQHBhcmFtIHtudW1iZXJ9IGRlcHRoIFRoZSBtYXhpbXVtIHJlY3Vyc2lvbiBkZXB0aC5cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gW3ByZWRpY2F0ZT1pc0ZsYXR0ZW5hYmxlXSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICogQHBhcmFtIHtib29sZWFufSBbaXNTdHJpY3RdIFJlc3RyaWN0IHRvIHZhbHVlcyB0aGF0IHBhc3MgYHByZWRpY2F0ZWAgY2hlY2tzLlxuICogQHBhcmFtIHtBcnJheX0gW3Jlc3VsdD1bXV0gVGhlIGluaXRpYWwgcmVzdWx0IHZhbHVlLlxuICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgZmxhdHRlbmVkIGFycmF5LlxuICovXG5mdW5jdGlvbiBiYXNlRmxhdHRlbihhcnJheSwgZGVwdGgsIHByZWRpY2F0ZSwgaXNTdHJpY3QsIHJlc3VsdCkge1xuICB2YXIgaW5kZXggPSAtMSxcbiAgICAgIGxlbmd0aCA9IGFycmF5Lmxlbmd0aDtcblxuICBwcmVkaWNhdGUgfHwgKHByZWRpY2F0ZSA9IGlzRmxhdHRlbmFibGUpO1xuICByZXN1bHQgfHwgKHJlc3VsdCA9IFtdKTtcblxuICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgIHZhciB2YWx1ZSA9IGFycmF5W2luZGV4XTtcbiAgICBpZiAoZGVwdGggPiAwICYmIHByZWRpY2F0ZSh2YWx1ZSkpIHtcbiAgICAgIGlmIChkZXB0aCA+IDEpIHtcbiAgICAgICAgLy8gUmVjdXJzaXZlbHkgZmxhdHRlbiBhcnJheXMgKHN1c2NlcHRpYmxlIHRvIGNhbGwgc3RhY2sgbGltaXRzKS5cbiAgICAgICAgYmFzZUZsYXR0ZW4odmFsdWUsIGRlcHRoIC0gMSwgcHJlZGljYXRlLCBpc1N0cmljdCwgcmVzdWx0KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGFycmF5UHVzaChyZXN1bHQsIHZhbHVlKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKCFpc1N0cmljdCkge1xuICAgICAgcmVzdWx0W3Jlc3VsdC5sZW5ndGhdID0gdmFsdWU7XG4gICAgfVxuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gYmFzZUZsYXR0ZW47XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL34vbG9kYXNoL19iYXNlRmxhdHRlbi5qc1xuLy8gbW9kdWxlIGlkID0gOTJcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwidmFyIGNyZWF0ZUJhc2VGb3IgPSByZXF1aXJlKCcuL19jcmVhdGVCYXNlRm9yJyk7XG5cbi8qKlxuICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYGJhc2VGb3JPd25gIHdoaWNoIGl0ZXJhdGVzIG92ZXIgYG9iamVjdGBcbiAqIHByb3BlcnRpZXMgcmV0dXJuZWQgYnkgYGtleXNGdW5jYCBhbmQgaW52b2tlcyBgaXRlcmF0ZWVgIGZvciBlYWNoIHByb3BlcnR5LlxuICogSXRlcmF0ZWUgZnVuY3Rpb25zIG1heSBleGl0IGl0ZXJhdGlvbiBlYXJseSBieSBleHBsaWNpdGx5IHJldHVybmluZyBgZmFsc2VgLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gaXRlcmF0ZSBvdmVyLlxuICogQHBhcmFtIHtGdW5jdGlvbn0gaXRlcmF0ZWUgVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAqIEBwYXJhbSB7RnVuY3Rpb259IGtleXNGdW5jIFRoZSBmdW5jdGlvbiB0byBnZXQgdGhlIGtleXMgb2YgYG9iamVjdGAuXG4gKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIGBvYmplY3RgLlxuICovXG52YXIgYmFzZUZvciA9IGNyZWF0ZUJhc2VGb3IoKTtcblxubW9kdWxlLmV4cG9ydHMgPSBiYXNlRm9yO1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9+L2xvZGFzaC9fYmFzZUZvci5qc1xuLy8gbW9kdWxlIGlkID0gOTNcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwidmFyIGNhc3RQYXRoID0gcmVxdWlyZSgnLi9fY2FzdFBhdGgnKSxcbiAgICB0b0tleSA9IHJlcXVpcmUoJy4vX3RvS2V5Jyk7XG5cbi8qKlxuICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uZ2V0YCB3aXRob3V0IHN1cHBvcnQgZm9yIGRlZmF1bHQgdmFsdWVzLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gKiBAcGFyYW0ge0FycmF5fHN0cmluZ30gcGF0aCBUaGUgcGF0aCBvZiB0aGUgcHJvcGVydHkgdG8gZ2V0LlxuICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIHJlc29sdmVkIHZhbHVlLlxuICovXG5mdW5jdGlvbiBiYXNlR2V0KG9iamVjdCwgcGF0aCkge1xuICBwYXRoID0gY2FzdFBhdGgocGF0aCwgb2JqZWN0KTtcblxuICB2YXIgaW5kZXggPSAwLFxuICAgICAgbGVuZ3RoID0gcGF0aC5sZW5ndGg7XG5cbiAgd2hpbGUgKG9iamVjdCAhPSBudWxsICYmIGluZGV4IDwgbGVuZ3RoKSB7XG4gICAgb2JqZWN0ID0gb2JqZWN0W3RvS2V5KHBhdGhbaW5kZXgrK10pXTtcbiAgfVxuICByZXR1cm4gKGluZGV4ICYmIGluZGV4ID09IGxlbmd0aCkgPyBvYmplY3QgOiB1bmRlZmluZWQ7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gYmFzZUdldDtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vfi9sb2Rhc2gvX2Jhc2VHZXQuanNcbi8vIG1vZHVsZSBpZCA9IDk0XG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsIi8qKlxuICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uaGFzSW5gIHdpdGhvdXQgc3VwcG9ydCBmb3IgZGVlcCBwYXRocy5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtPYmplY3R9IFtvYmplY3RdIFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gKiBAcGFyYW0ge0FycmF5fHN0cmluZ30ga2V5IFRoZSBrZXkgdG8gY2hlY2suXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYGtleWAgZXhpc3RzLCBlbHNlIGBmYWxzZWAuXG4gKi9cbmZ1bmN0aW9uIGJhc2VIYXNJbihvYmplY3QsIGtleSkge1xuICByZXR1cm4gb2JqZWN0ICE9IG51bGwgJiYga2V5IGluIE9iamVjdChvYmplY3QpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGJhc2VIYXNJbjtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vfi9sb2Rhc2gvX2Jhc2VIYXNJbi5qc1xuLy8gbW9kdWxlIGlkID0gOTVcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwidmFyIGJhc2VHZXRUYWcgPSByZXF1aXJlKCcuL19iYXNlR2V0VGFnJyksXG4gICAgaXNPYmplY3RMaWtlID0gcmVxdWlyZSgnLi9pc09iamVjdExpa2UnKTtcblxuLyoqIGBPYmplY3QjdG9TdHJpbmdgIHJlc3VsdCByZWZlcmVuY2VzLiAqL1xudmFyIGFyZ3NUYWcgPSAnW29iamVjdCBBcmd1bWVudHNdJztcblxuLyoqXG4gKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5pc0FyZ3VtZW50c2AuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYW4gYGFyZ3VtZW50c2Agb2JqZWN0LFxuICovXG5mdW5jdGlvbiBiYXNlSXNBcmd1bWVudHModmFsdWUpIHtcbiAgcmV0dXJuIGlzT2JqZWN0TGlrZSh2YWx1ZSkgJiYgYmFzZUdldFRhZyh2YWx1ZSkgPT0gYXJnc1RhZztcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBiYXNlSXNBcmd1bWVudHM7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL34vbG9kYXNoL19iYXNlSXNBcmd1bWVudHMuanNcbi8vIG1vZHVsZSBpZCA9IDk2XG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsInZhciBpc0Z1bmN0aW9uID0gcmVxdWlyZSgnLi9pc0Z1bmN0aW9uJyksXG4gICAgaXNNYXNrZWQgPSByZXF1aXJlKCcuL19pc01hc2tlZCcpLFxuICAgIGlzT2JqZWN0ID0gcmVxdWlyZSgnLi9pc09iamVjdCcpLFxuICAgIHRvU291cmNlID0gcmVxdWlyZSgnLi9fdG9Tb3VyY2UnKTtcblxuLyoqXG4gKiBVc2VkIHRvIG1hdGNoIGBSZWdFeHBgXG4gKiBbc3ludGF4IGNoYXJhY3RlcnNdKGh0dHA6Ly9lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzcuMC8jc2VjLXBhdHRlcm5zKS5cbiAqL1xudmFyIHJlUmVnRXhwQ2hhciA9IC9bXFxcXF4kLiorPygpW1xcXXt9fF0vZztcblxuLyoqIFVzZWQgdG8gZGV0ZWN0IGhvc3QgY29uc3RydWN0b3JzIChTYWZhcmkpLiAqL1xudmFyIHJlSXNIb3N0Q3RvciA9IC9eXFxbb2JqZWN0IC4rP0NvbnN0cnVjdG9yXFxdJC87XG5cbi8qKiBVc2VkIGZvciBidWlsdC1pbiBtZXRob2QgcmVmZXJlbmNlcy4gKi9cbnZhciBmdW5jUHJvdG8gPSBGdW5jdGlvbi5wcm90b3R5cGUsXG4gICAgb2JqZWN0UHJvdG8gPSBPYmplY3QucHJvdG90eXBlO1xuXG4vKiogVXNlZCB0byByZXNvbHZlIHRoZSBkZWNvbXBpbGVkIHNvdXJjZSBvZiBmdW5jdGlvbnMuICovXG52YXIgZnVuY1RvU3RyaW5nID0gZnVuY1Byb3RvLnRvU3RyaW5nO1xuXG4vKiogVXNlZCB0byBjaGVjayBvYmplY3RzIGZvciBvd24gcHJvcGVydGllcy4gKi9cbnZhciBoYXNPd25Qcm9wZXJ0eSA9IG9iamVjdFByb3RvLmhhc093blByb3BlcnR5O1xuXG4vKiogVXNlZCB0byBkZXRlY3QgaWYgYSBtZXRob2QgaXMgbmF0aXZlLiAqL1xudmFyIHJlSXNOYXRpdmUgPSBSZWdFeHAoJ14nICtcbiAgZnVuY1RvU3RyaW5nLmNhbGwoaGFzT3duUHJvcGVydHkpLnJlcGxhY2UocmVSZWdFeHBDaGFyLCAnXFxcXCQmJylcbiAgLnJlcGxhY2UoL2hhc093blByb3BlcnR5fChmdW5jdGlvbikuKj8oPz1cXFxcXFwoKXwgZm9yIC4rPyg/PVxcXFxcXF0pL2csICckMS4qPycpICsgJyQnXG4pO1xuXG4vKipcbiAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmlzTmF0aXZlYCB3aXRob3V0IGJhZCBzaGltIGNoZWNrcy5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhIG5hdGl2ZSBmdW5jdGlvbixcbiAqICBlbHNlIGBmYWxzZWAuXG4gKi9cbmZ1bmN0aW9uIGJhc2VJc05hdGl2ZSh2YWx1ZSkge1xuICBpZiAoIWlzT2JqZWN0KHZhbHVlKSB8fCBpc01hc2tlZCh2YWx1ZSkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgdmFyIHBhdHRlcm4gPSBpc0Z1bmN0aW9uKHZhbHVlKSA/IHJlSXNOYXRpdmUgOiByZUlzSG9zdEN0b3I7XG4gIHJldHVybiBwYXR0ZXJuLnRlc3QodG9Tb3VyY2UodmFsdWUpKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBiYXNlSXNOYXRpdmU7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL34vbG9kYXNoL19iYXNlSXNOYXRpdmUuanNcbi8vIG1vZHVsZSBpZCA9IDk3XG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsInZhciBiYXNlR2V0VGFnID0gcmVxdWlyZSgnLi9fYmFzZUdldFRhZycpLFxuICAgIGlzTGVuZ3RoID0gcmVxdWlyZSgnLi9pc0xlbmd0aCcpLFxuICAgIGlzT2JqZWN0TGlrZSA9IHJlcXVpcmUoJy4vaXNPYmplY3RMaWtlJyk7XG5cbi8qKiBgT2JqZWN0I3RvU3RyaW5nYCByZXN1bHQgcmVmZXJlbmNlcy4gKi9cbnZhciBhcmdzVGFnID0gJ1tvYmplY3QgQXJndW1lbnRzXScsXG4gICAgYXJyYXlUYWcgPSAnW29iamVjdCBBcnJheV0nLFxuICAgIGJvb2xUYWcgPSAnW29iamVjdCBCb29sZWFuXScsXG4gICAgZGF0ZVRhZyA9ICdbb2JqZWN0IERhdGVdJyxcbiAgICBlcnJvclRhZyA9ICdbb2JqZWN0IEVycm9yXScsXG4gICAgZnVuY1RhZyA9ICdbb2JqZWN0IEZ1bmN0aW9uXScsXG4gICAgbWFwVGFnID0gJ1tvYmplY3QgTWFwXScsXG4gICAgbnVtYmVyVGFnID0gJ1tvYmplY3QgTnVtYmVyXScsXG4gICAgb2JqZWN0VGFnID0gJ1tvYmplY3QgT2JqZWN0XScsXG4gICAgcmVnZXhwVGFnID0gJ1tvYmplY3QgUmVnRXhwXScsXG4gICAgc2V0VGFnID0gJ1tvYmplY3QgU2V0XScsXG4gICAgc3RyaW5nVGFnID0gJ1tvYmplY3QgU3RyaW5nXScsXG4gICAgd2Vha01hcFRhZyA9ICdbb2JqZWN0IFdlYWtNYXBdJztcblxudmFyIGFycmF5QnVmZmVyVGFnID0gJ1tvYmplY3QgQXJyYXlCdWZmZXJdJyxcbiAgICBkYXRhVmlld1RhZyA9ICdbb2JqZWN0IERhdGFWaWV3XScsXG4gICAgZmxvYXQzMlRhZyA9ICdbb2JqZWN0IEZsb2F0MzJBcnJheV0nLFxuICAgIGZsb2F0NjRUYWcgPSAnW29iamVjdCBGbG9hdDY0QXJyYXldJyxcbiAgICBpbnQ4VGFnID0gJ1tvYmplY3QgSW50OEFycmF5XScsXG4gICAgaW50MTZUYWcgPSAnW29iamVjdCBJbnQxNkFycmF5XScsXG4gICAgaW50MzJUYWcgPSAnW29iamVjdCBJbnQzMkFycmF5XScsXG4gICAgdWludDhUYWcgPSAnW29iamVjdCBVaW50OEFycmF5XScsXG4gICAgdWludDhDbGFtcGVkVGFnID0gJ1tvYmplY3QgVWludDhDbGFtcGVkQXJyYXldJyxcbiAgICB1aW50MTZUYWcgPSAnW29iamVjdCBVaW50MTZBcnJheV0nLFxuICAgIHVpbnQzMlRhZyA9ICdbb2JqZWN0IFVpbnQzMkFycmF5XSc7XG5cbi8qKiBVc2VkIHRvIGlkZW50aWZ5IGB0b1N0cmluZ1RhZ2AgdmFsdWVzIG9mIHR5cGVkIGFycmF5cy4gKi9cbnZhciB0eXBlZEFycmF5VGFncyA9IHt9O1xudHlwZWRBcnJheVRhZ3NbZmxvYXQzMlRhZ10gPSB0eXBlZEFycmF5VGFnc1tmbG9hdDY0VGFnXSA9XG50eXBlZEFycmF5VGFnc1tpbnQ4VGFnXSA9IHR5cGVkQXJyYXlUYWdzW2ludDE2VGFnXSA9XG50eXBlZEFycmF5VGFnc1tpbnQzMlRhZ10gPSB0eXBlZEFycmF5VGFnc1t1aW50OFRhZ10gPVxudHlwZWRBcnJheVRhZ3NbdWludDhDbGFtcGVkVGFnXSA9IHR5cGVkQXJyYXlUYWdzW3VpbnQxNlRhZ10gPVxudHlwZWRBcnJheVRhZ3NbdWludDMyVGFnXSA9IHRydWU7XG50eXBlZEFycmF5VGFnc1thcmdzVGFnXSA9IHR5cGVkQXJyYXlUYWdzW2FycmF5VGFnXSA9XG50eXBlZEFycmF5VGFnc1thcnJheUJ1ZmZlclRhZ10gPSB0eXBlZEFycmF5VGFnc1tib29sVGFnXSA9XG50eXBlZEFycmF5VGFnc1tkYXRhVmlld1RhZ10gPSB0eXBlZEFycmF5VGFnc1tkYXRlVGFnXSA9XG50eXBlZEFycmF5VGFnc1tlcnJvclRhZ10gPSB0eXBlZEFycmF5VGFnc1tmdW5jVGFnXSA9XG50eXBlZEFycmF5VGFnc1ttYXBUYWddID0gdHlwZWRBcnJheVRhZ3NbbnVtYmVyVGFnXSA9XG50eXBlZEFycmF5VGFnc1tvYmplY3RUYWddID0gdHlwZWRBcnJheVRhZ3NbcmVnZXhwVGFnXSA9XG50eXBlZEFycmF5VGFnc1tzZXRUYWddID0gdHlwZWRBcnJheVRhZ3Nbc3RyaW5nVGFnXSA9XG50eXBlZEFycmF5VGFnc1t3ZWFrTWFwVGFnXSA9IGZhbHNlO1xuXG4vKipcbiAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmlzVHlwZWRBcnJheWAgd2l0aG91dCBOb2RlLmpzIG9wdGltaXphdGlvbnMuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSB0eXBlZCBhcnJheSwgZWxzZSBgZmFsc2VgLlxuICovXG5mdW5jdGlvbiBiYXNlSXNUeXBlZEFycmF5KHZhbHVlKSB7XG4gIHJldHVybiBpc09iamVjdExpa2UodmFsdWUpICYmXG4gICAgaXNMZW5ndGgodmFsdWUubGVuZ3RoKSAmJiAhIXR5cGVkQXJyYXlUYWdzW2Jhc2VHZXRUYWcodmFsdWUpXTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBiYXNlSXNUeXBlZEFycmF5O1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9+L2xvZGFzaC9fYmFzZUlzVHlwZWRBcnJheS5qc1xuLy8gbW9kdWxlIGlkID0gOThcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwidmFyIGlzT2JqZWN0ID0gcmVxdWlyZSgnLi9pc09iamVjdCcpLFxuICAgIGlzUHJvdG90eXBlID0gcmVxdWlyZSgnLi9faXNQcm90b3R5cGUnKSxcbiAgICBuYXRpdmVLZXlzSW4gPSByZXF1aXJlKCcuL19uYXRpdmVLZXlzSW4nKTtcblxuLyoqIFVzZWQgZm9yIGJ1aWx0LWluIG1ldGhvZCByZWZlcmVuY2VzLiAqL1xudmFyIG9iamVjdFByb3RvID0gT2JqZWN0LnByb3RvdHlwZTtcblxuLyoqIFVzZWQgdG8gY2hlY2sgb2JqZWN0cyBmb3Igb3duIHByb3BlcnRpZXMuICovXG52YXIgaGFzT3duUHJvcGVydHkgPSBvYmplY3RQcm90by5oYXNPd25Qcm9wZXJ0eTtcblxuLyoqXG4gKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5rZXlzSW5gIHdoaWNoIGRvZXNuJ3QgdHJlYXQgc3BhcnNlIGFycmF5cyBhcyBkZW5zZS5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBhcnJheSBvZiBwcm9wZXJ0eSBuYW1lcy5cbiAqL1xuZnVuY3Rpb24gYmFzZUtleXNJbihvYmplY3QpIHtcbiAgaWYgKCFpc09iamVjdChvYmplY3QpKSB7XG4gICAgcmV0dXJuIG5hdGl2ZUtleXNJbihvYmplY3QpO1xuICB9XG4gIHZhciBpc1Byb3RvID0gaXNQcm90b3R5cGUob2JqZWN0KSxcbiAgICAgIHJlc3VsdCA9IFtdO1xuXG4gIGZvciAodmFyIGtleSBpbiBvYmplY3QpIHtcbiAgICBpZiAoIShrZXkgPT0gJ2NvbnN0cnVjdG9yJyAmJiAoaXNQcm90byB8fCAhaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIGtleSkpKSkge1xuICAgICAgcmVzdWx0LnB1c2goa2V5KTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBiYXNlS2V5c0luO1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9+L2xvZGFzaC9fYmFzZUtleXNJbi5qc1xuLy8gbW9kdWxlIGlkID0gOTlcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwidmFyIFN0YWNrID0gcmVxdWlyZSgnLi9fU3RhY2snKSxcbiAgICBhc3NpZ25NZXJnZVZhbHVlID0gcmVxdWlyZSgnLi9fYXNzaWduTWVyZ2VWYWx1ZScpLFxuICAgIGJhc2VGb3IgPSByZXF1aXJlKCcuL19iYXNlRm9yJyksXG4gICAgYmFzZU1lcmdlRGVlcCA9IHJlcXVpcmUoJy4vX2Jhc2VNZXJnZURlZXAnKSxcbiAgICBpc09iamVjdCA9IHJlcXVpcmUoJy4vaXNPYmplY3QnKSxcbiAgICBrZXlzSW4gPSByZXF1aXJlKCcuL2tleXNJbicpO1xuXG4vKipcbiAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLm1lcmdlYCB3aXRob3V0IHN1cHBvcnQgZm9yIG11bHRpcGxlIHNvdXJjZXMuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIGRlc3RpbmF0aW9uIG9iamVjdC5cbiAqIEBwYXJhbSB7T2JqZWN0fSBzb3VyY2UgVGhlIHNvdXJjZSBvYmplY3QuXG4gKiBAcGFyYW0ge251bWJlcn0gc3JjSW5kZXggVGhlIGluZGV4IG9mIGBzb3VyY2VgLlxuICogQHBhcmFtIHtGdW5jdGlvbn0gW2N1c3RvbWl6ZXJdIFRoZSBmdW5jdGlvbiB0byBjdXN0b21pemUgbWVyZ2VkIHZhbHVlcy5cbiAqIEBwYXJhbSB7T2JqZWN0fSBbc3RhY2tdIFRyYWNrcyB0cmF2ZXJzZWQgc291cmNlIHZhbHVlcyBhbmQgdGhlaXIgbWVyZ2VkXG4gKiAgY291bnRlcnBhcnRzLlxuICovXG5mdW5jdGlvbiBiYXNlTWVyZ2Uob2JqZWN0LCBzb3VyY2UsIHNyY0luZGV4LCBjdXN0b21pemVyLCBzdGFjaykge1xuICBpZiAob2JqZWN0ID09PSBzb3VyY2UpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgYmFzZUZvcihzb3VyY2UsIGZ1bmN0aW9uKHNyY1ZhbHVlLCBrZXkpIHtcbiAgICBpZiAoaXNPYmplY3Qoc3JjVmFsdWUpKSB7XG4gICAgICBzdGFjayB8fCAoc3RhY2sgPSBuZXcgU3RhY2spO1xuICAgICAgYmFzZU1lcmdlRGVlcChvYmplY3QsIHNvdXJjZSwga2V5LCBzcmNJbmRleCwgYmFzZU1lcmdlLCBjdXN0b21pemVyLCBzdGFjayk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgdmFyIG5ld1ZhbHVlID0gY3VzdG9taXplclxuICAgICAgICA/IGN1c3RvbWl6ZXIob2JqZWN0W2tleV0sIHNyY1ZhbHVlLCAoa2V5ICsgJycpLCBvYmplY3QsIHNvdXJjZSwgc3RhY2spXG4gICAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgICBpZiAobmV3VmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBuZXdWYWx1ZSA9IHNyY1ZhbHVlO1xuICAgICAgfVxuICAgICAgYXNzaWduTWVyZ2VWYWx1ZShvYmplY3QsIGtleSwgbmV3VmFsdWUpO1xuICAgIH1cbiAgfSwga2V5c0luKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBiYXNlTWVyZ2U7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL34vbG9kYXNoL19iYXNlTWVyZ2UuanNcbi8vIG1vZHVsZSBpZCA9IDEwMFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiLCJ2YXIgYXNzaWduTWVyZ2VWYWx1ZSA9IHJlcXVpcmUoJy4vX2Fzc2lnbk1lcmdlVmFsdWUnKSxcbiAgICBjbG9uZUJ1ZmZlciA9IHJlcXVpcmUoJy4vX2Nsb25lQnVmZmVyJyksXG4gICAgY2xvbmVUeXBlZEFycmF5ID0gcmVxdWlyZSgnLi9fY2xvbmVUeXBlZEFycmF5JyksXG4gICAgY29weUFycmF5ID0gcmVxdWlyZSgnLi9fY29weUFycmF5JyksXG4gICAgaW5pdENsb25lT2JqZWN0ID0gcmVxdWlyZSgnLi9faW5pdENsb25lT2JqZWN0JyksXG4gICAgaXNBcmd1bWVudHMgPSByZXF1aXJlKCcuL2lzQXJndW1lbnRzJyksXG4gICAgaXNBcnJheSA9IHJlcXVpcmUoJy4vaXNBcnJheScpLFxuICAgIGlzQXJyYXlMaWtlT2JqZWN0ID0gcmVxdWlyZSgnLi9pc0FycmF5TGlrZU9iamVjdCcpLFxuICAgIGlzQnVmZmVyID0gcmVxdWlyZSgnLi9pc0J1ZmZlcicpLFxuICAgIGlzRnVuY3Rpb24gPSByZXF1aXJlKCcuL2lzRnVuY3Rpb24nKSxcbiAgICBpc09iamVjdCA9IHJlcXVpcmUoJy4vaXNPYmplY3QnKSxcbiAgICBpc1BsYWluT2JqZWN0ID0gcmVxdWlyZSgnLi9pc1BsYWluT2JqZWN0JyksXG4gICAgaXNUeXBlZEFycmF5ID0gcmVxdWlyZSgnLi9pc1R5cGVkQXJyYXknKSxcbiAgICB0b1BsYWluT2JqZWN0ID0gcmVxdWlyZSgnLi90b1BsYWluT2JqZWN0Jyk7XG5cbi8qKlxuICogQSBzcGVjaWFsaXplZCB2ZXJzaW9uIG9mIGBiYXNlTWVyZ2VgIGZvciBhcnJheXMgYW5kIG9iamVjdHMgd2hpY2ggcGVyZm9ybXNcbiAqIGRlZXAgbWVyZ2VzIGFuZCB0cmFja3MgdHJhdmVyc2VkIG9iamVjdHMgZW5hYmxpbmcgb2JqZWN0cyB3aXRoIGNpcmN1bGFyXG4gKiByZWZlcmVuY2VzIHRvIGJlIG1lcmdlZC5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgZGVzdGluYXRpb24gb2JqZWN0LlxuICogQHBhcmFtIHtPYmplY3R9IHNvdXJjZSBUaGUgc291cmNlIG9iamVjdC5cbiAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgdmFsdWUgdG8gbWVyZ2UuXG4gKiBAcGFyYW0ge251bWJlcn0gc3JjSW5kZXggVGhlIGluZGV4IG9mIGBzb3VyY2VgLlxuICogQHBhcmFtIHtGdW5jdGlvbn0gbWVyZ2VGdW5jIFRoZSBmdW5jdGlvbiB0byBtZXJnZSB2YWx1ZXMuXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBbY3VzdG9taXplcl0gVGhlIGZ1bmN0aW9uIHRvIGN1c3RvbWl6ZSBhc3NpZ25lZCB2YWx1ZXMuXG4gKiBAcGFyYW0ge09iamVjdH0gW3N0YWNrXSBUcmFja3MgdHJhdmVyc2VkIHNvdXJjZSB2YWx1ZXMgYW5kIHRoZWlyIG1lcmdlZFxuICogIGNvdW50ZXJwYXJ0cy5cbiAqL1xuZnVuY3Rpb24gYmFzZU1lcmdlRGVlcChvYmplY3QsIHNvdXJjZSwga2V5LCBzcmNJbmRleCwgbWVyZ2VGdW5jLCBjdXN0b21pemVyLCBzdGFjaykge1xuICB2YXIgb2JqVmFsdWUgPSBvYmplY3Rba2V5XSxcbiAgICAgIHNyY1ZhbHVlID0gc291cmNlW2tleV0sXG4gICAgICBzdGFja2VkID0gc3RhY2suZ2V0KHNyY1ZhbHVlKTtcblxuICBpZiAoc3RhY2tlZCkge1xuICAgIGFzc2lnbk1lcmdlVmFsdWUob2JqZWN0LCBrZXksIHN0YWNrZWQpO1xuICAgIHJldHVybjtcbiAgfVxuICB2YXIgbmV3VmFsdWUgPSBjdXN0b21pemVyXG4gICAgPyBjdXN0b21pemVyKG9ialZhbHVlLCBzcmNWYWx1ZSwgKGtleSArICcnKSwgb2JqZWN0LCBzb3VyY2UsIHN0YWNrKVxuICAgIDogdW5kZWZpbmVkO1xuXG4gIHZhciBpc0NvbW1vbiA9IG5ld1ZhbHVlID09PSB1bmRlZmluZWQ7XG5cbiAgaWYgKGlzQ29tbW9uKSB7XG4gICAgdmFyIGlzQXJyID0gaXNBcnJheShzcmNWYWx1ZSksXG4gICAgICAgIGlzQnVmZiA9ICFpc0FyciAmJiBpc0J1ZmZlcihzcmNWYWx1ZSksXG4gICAgICAgIGlzVHlwZWQgPSAhaXNBcnIgJiYgIWlzQnVmZiAmJiBpc1R5cGVkQXJyYXkoc3JjVmFsdWUpO1xuXG4gICAgbmV3VmFsdWUgPSBzcmNWYWx1ZTtcbiAgICBpZiAoaXNBcnIgfHwgaXNCdWZmIHx8IGlzVHlwZWQpIHtcbiAgICAgIGlmIChpc0FycmF5KG9ialZhbHVlKSkge1xuICAgICAgICBuZXdWYWx1ZSA9IG9ialZhbHVlO1xuICAgICAgfVxuICAgICAgZWxzZSBpZiAoaXNBcnJheUxpa2VPYmplY3Qob2JqVmFsdWUpKSB7XG4gICAgICAgIG5ld1ZhbHVlID0gY29weUFycmF5KG9ialZhbHVlKTtcbiAgICAgIH1cbiAgICAgIGVsc2UgaWYgKGlzQnVmZikge1xuICAgICAgICBpc0NvbW1vbiA9IGZhbHNlO1xuICAgICAgICBuZXdWYWx1ZSA9IGNsb25lQnVmZmVyKHNyY1ZhbHVlLCB0cnVlKTtcbiAgICAgIH1cbiAgICAgIGVsc2UgaWYgKGlzVHlwZWQpIHtcbiAgICAgICAgaXNDb21tb24gPSBmYWxzZTtcbiAgICAgICAgbmV3VmFsdWUgPSBjbG9uZVR5cGVkQXJyYXkoc3JjVmFsdWUsIHRydWUpO1xuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgIG5ld1ZhbHVlID0gW107XG4gICAgICB9XG4gICAgfVxuICAgIGVsc2UgaWYgKGlzUGxhaW5PYmplY3Qoc3JjVmFsdWUpIHx8IGlzQXJndW1lbnRzKHNyY1ZhbHVlKSkge1xuICAgICAgbmV3VmFsdWUgPSBvYmpWYWx1ZTtcbiAgICAgIGlmIChpc0FyZ3VtZW50cyhvYmpWYWx1ZSkpIHtcbiAgICAgICAgbmV3VmFsdWUgPSB0b1BsYWluT2JqZWN0KG9ialZhbHVlKTtcbiAgICAgIH1cbiAgICAgIGVsc2UgaWYgKCFpc09iamVjdChvYmpWYWx1ZSkgfHwgKHNyY0luZGV4ICYmIGlzRnVuY3Rpb24ob2JqVmFsdWUpKSkge1xuICAgICAgICBuZXdWYWx1ZSA9IGluaXRDbG9uZU9iamVjdChzcmNWYWx1ZSk7XG4gICAgICB9XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgaXNDb21tb24gPSBmYWxzZTtcbiAgICB9XG4gIH1cbiAgaWYgKGlzQ29tbW9uKSB7XG4gICAgLy8gUmVjdXJzaXZlbHkgbWVyZ2Ugb2JqZWN0cyBhbmQgYXJyYXlzIChzdXNjZXB0aWJsZSB0byBjYWxsIHN0YWNrIGxpbWl0cykuXG4gICAgc3RhY2suc2V0KHNyY1ZhbHVlLCBuZXdWYWx1ZSk7XG4gICAgbWVyZ2VGdW5jKG5ld1ZhbHVlLCBzcmNWYWx1ZSwgc3JjSW5kZXgsIGN1c3RvbWl6ZXIsIHN0YWNrKTtcbiAgICBzdGFja1snZGVsZXRlJ10oc3JjVmFsdWUpO1xuICB9XG4gIGFzc2lnbk1lcmdlVmFsdWUob2JqZWN0LCBrZXksIG5ld1ZhbHVlKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBiYXNlTWVyZ2VEZWVwO1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9+L2xvZGFzaC9fYmFzZU1lcmdlRGVlcC5qc1xuLy8gbW9kdWxlIGlkID0gMTAxXG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsInZhciBiYXNlUGlja0J5ID0gcmVxdWlyZSgnLi9fYmFzZVBpY2tCeScpLFxuICAgIGhhc0luID0gcmVxdWlyZSgnLi9oYXNJbicpO1xuXG4vKipcbiAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnBpY2tgIHdpdGhvdXQgc3VwcG9ydCBmb3IgaW5kaXZpZHVhbFxuICogcHJvcGVydHkgaWRlbnRpZmllcnMuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIHNvdXJjZSBvYmplY3QuXG4gKiBAcGFyYW0ge3N0cmluZ1tdfSBwYXRocyBUaGUgcHJvcGVydHkgcGF0aHMgdG8gcGljay5cbiAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIG5ldyBvYmplY3QuXG4gKi9cbmZ1bmN0aW9uIGJhc2VQaWNrKG9iamVjdCwgcGF0aHMpIHtcbiAgcmV0dXJuIGJhc2VQaWNrQnkob2JqZWN0LCBwYXRocywgZnVuY3Rpb24odmFsdWUsIHBhdGgpIHtcbiAgICByZXR1cm4gaGFzSW4ob2JqZWN0LCBwYXRoKTtcbiAgfSk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gYmFzZVBpY2s7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL34vbG9kYXNoL19iYXNlUGljay5qc1xuLy8gbW9kdWxlIGlkID0gMTAyXG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsInZhciBiYXNlR2V0ID0gcmVxdWlyZSgnLi9fYmFzZUdldCcpLFxuICAgIGJhc2VTZXQgPSByZXF1aXJlKCcuL19iYXNlU2V0JyksXG4gICAgY2FzdFBhdGggPSByZXF1aXJlKCcuL19jYXN0UGF0aCcpO1xuXG4vKipcbiAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mICBgXy5waWNrQnlgIHdpdGhvdXQgc3VwcG9ydCBmb3IgaXRlcmF0ZWUgc2hvcnRoYW5kcy5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgc291cmNlIG9iamVjdC5cbiAqIEBwYXJhbSB7c3RyaW5nW119IHBhdGhzIFRoZSBwcm9wZXJ0eSBwYXRocyB0byBwaWNrLlxuICogQHBhcmFtIHtGdW5jdGlvbn0gcHJlZGljYXRlIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBwcm9wZXJ0eS5cbiAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIG5ldyBvYmplY3QuXG4gKi9cbmZ1bmN0aW9uIGJhc2VQaWNrQnkob2JqZWN0LCBwYXRocywgcHJlZGljYXRlKSB7XG4gIHZhciBpbmRleCA9IC0xLFxuICAgICAgbGVuZ3RoID0gcGF0aHMubGVuZ3RoLFxuICAgICAgcmVzdWx0ID0ge307XG5cbiAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICB2YXIgcGF0aCA9IHBhdGhzW2luZGV4XSxcbiAgICAgICAgdmFsdWUgPSBiYXNlR2V0KG9iamVjdCwgcGF0aCk7XG5cbiAgICBpZiAocHJlZGljYXRlKHZhbHVlLCBwYXRoKSkge1xuICAgICAgYmFzZVNldChyZXN1bHQsIGNhc3RQYXRoKHBhdGgsIG9iamVjdCksIHZhbHVlKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBiYXNlUGlja0J5O1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9+L2xvZGFzaC9fYmFzZVBpY2tCeS5qc1xuLy8gbW9kdWxlIGlkID0gMTAzXG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsInZhciBpZGVudGl0eSA9IHJlcXVpcmUoJy4vaWRlbnRpdHknKSxcbiAgICBvdmVyUmVzdCA9IHJlcXVpcmUoJy4vX292ZXJSZXN0JyksXG4gICAgc2V0VG9TdHJpbmcgPSByZXF1aXJlKCcuL19zZXRUb1N0cmluZycpO1xuXG4vKipcbiAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnJlc3RgIHdoaWNoIGRvZXNuJ3QgdmFsaWRhdGUgb3IgY29lcmNlIGFyZ3VtZW50cy5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gYXBwbHkgYSByZXN0IHBhcmFtZXRlciB0by5cbiAqIEBwYXJhbSB7bnVtYmVyfSBbc3RhcnQ9ZnVuYy5sZW5ndGgtMV0gVGhlIHN0YXJ0IHBvc2l0aW9uIG9mIHRoZSByZXN0IHBhcmFtZXRlci5cbiAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGZ1bmN0aW9uLlxuICovXG5mdW5jdGlvbiBiYXNlUmVzdChmdW5jLCBzdGFydCkge1xuICByZXR1cm4gc2V0VG9TdHJpbmcob3ZlclJlc3QoZnVuYywgc3RhcnQsIGlkZW50aXR5KSwgZnVuYyArICcnKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBiYXNlUmVzdDtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vfi9sb2Rhc2gvX2Jhc2VSZXN0LmpzXG4vLyBtb2R1bGUgaWQgPSAxMDRcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwidmFyIGFzc2lnblZhbHVlID0gcmVxdWlyZSgnLi9fYXNzaWduVmFsdWUnKSxcbiAgICBjYXN0UGF0aCA9IHJlcXVpcmUoJy4vX2Nhc3RQYXRoJyksXG4gICAgaXNJbmRleCA9IHJlcXVpcmUoJy4vX2lzSW5kZXgnKSxcbiAgICBpc09iamVjdCA9IHJlcXVpcmUoJy4vaXNPYmplY3QnKSxcbiAgICB0b0tleSA9IHJlcXVpcmUoJy4vX3RvS2V5Jyk7XG5cbi8qKlxuICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uc2V0YC5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIG1vZGlmeS5cbiAqIEBwYXJhbSB7QXJyYXl8c3RyaW5nfSBwYXRoIFRoZSBwYXRoIG9mIHRoZSBwcm9wZXJ0eSB0byBzZXQuXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBzZXQuXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBbY3VzdG9taXplcl0gVGhlIGZ1bmN0aW9uIHRvIGN1c3RvbWl6ZSBwYXRoIGNyZWF0aW9uLlxuICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyBgb2JqZWN0YC5cbiAqL1xuZnVuY3Rpb24gYmFzZVNldChvYmplY3QsIHBhdGgsIHZhbHVlLCBjdXN0b21pemVyKSB7XG4gIGlmICghaXNPYmplY3Qob2JqZWN0KSkge1xuICAgIHJldHVybiBvYmplY3Q7XG4gIH1cbiAgcGF0aCA9IGNhc3RQYXRoKHBhdGgsIG9iamVjdCk7XG5cbiAgdmFyIGluZGV4ID0gLTEsXG4gICAgICBsZW5ndGggPSBwYXRoLmxlbmd0aCxcbiAgICAgIGxhc3RJbmRleCA9IGxlbmd0aCAtIDEsXG4gICAgICBuZXN0ZWQgPSBvYmplY3Q7XG5cbiAgd2hpbGUgKG5lc3RlZCAhPSBudWxsICYmICsraW5kZXggPCBsZW5ndGgpIHtcbiAgICB2YXIga2V5ID0gdG9LZXkocGF0aFtpbmRleF0pLFxuICAgICAgICBuZXdWYWx1ZSA9IHZhbHVlO1xuXG4gICAgaWYgKGluZGV4ICE9IGxhc3RJbmRleCkge1xuICAgICAgdmFyIG9ialZhbHVlID0gbmVzdGVkW2tleV07XG4gICAgICBuZXdWYWx1ZSA9IGN1c3RvbWl6ZXIgPyBjdXN0b21pemVyKG9ialZhbHVlLCBrZXksIG5lc3RlZCkgOiB1bmRlZmluZWQ7XG4gICAgICBpZiAobmV3VmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBuZXdWYWx1ZSA9IGlzT2JqZWN0KG9ialZhbHVlKVxuICAgICAgICAgID8gb2JqVmFsdWVcbiAgICAgICAgICA6IChpc0luZGV4KHBhdGhbaW5kZXggKyAxXSkgPyBbXSA6IHt9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgYXNzaWduVmFsdWUobmVzdGVkLCBrZXksIG5ld1ZhbHVlKTtcbiAgICBuZXN0ZWQgPSBuZXN0ZWRba2V5XTtcbiAgfVxuICByZXR1cm4gb2JqZWN0O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGJhc2VTZXQ7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL34vbG9kYXNoL19iYXNlU2V0LmpzXG4vLyBtb2R1bGUgaWQgPSAxMDVcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwidmFyIGNvbnN0YW50ID0gcmVxdWlyZSgnLi9jb25zdGFudCcpLFxuICAgIGRlZmluZVByb3BlcnR5ID0gcmVxdWlyZSgnLi9fZGVmaW5lUHJvcGVydHknKSxcbiAgICBpZGVudGl0eSA9IHJlcXVpcmUoJy4vaWRlbnRpdHknKTtcblxuLyoqXG4gKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgc2V0VG9TdHJpbmdgIHdpdGhvdXQgc3VwcG9ydCBmb3IgaG90IGxvb3Agc2hvcnRpbmcuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIG1vZGlmeS5cbiAqIEBwYXJhbSB7RnVuY3Rpb259IHN0cmluZyBUaGUgYHRvU3RyaW5nYCByZXN1bHQuXG4gKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgYGZ1bmNgLlxuICovXG52YXIgYmFzZVNldFRvU3RyaW5nID0gIWRlZmluZVByb3BlcnR5ID8gaWRlbnRpdHkgOiBmdW5jdGlvbihmdW5jLCBzdHJpbmcpIHtcbiAgcmV0dXJuIGRlZmluZVByb3BlcnR5KGZ1bmMsICd0b1N0cmluZycsIHtcbiAgICAnY29uZmlndXJhYmxlJzogdHJ1ZSxcbiAgICAnZW51bWVyYWJsZSc6IGZhbHNlLFxuICAgICd2YWx1ZSc6IGNvbnN0YW50KHN0cmluZyksXG4gICAgJ3dyaXRhYmxlJzogdHJ1ZVxuICB9KTtcbn07XG5cbm1vZHVsZS5leHBvcnRzID0gYmFzZVNldFRvU3RyaW5nO1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9+L2xvZGFzaC9fYmFzZVNldFRvU3RyaW5nLmpzXG4vLyBtb2R1bGUgaWQgPSAxMDZcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwiLyoqXG4gKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy50aW1lc2Agd2l0aG91dCBzdXBwb3J0IGZvciBpdGVyYXRlZSBzaG9ydGhhbmRzXG4gKiBvciBtYXggYXJyYXkgbGVuZ3RoIGNoZWNrcy5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtudW1iZXJ9IG4gVGhlIG51bWJlciBvZiB0aW1lcyB0byBpbnZva2UgYGl0ZXJhdGVlYC5cbiAqIEBwYXJhbSB7RnVuY3Rpb259IGl0ZXJhdGVlIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIGFycmF5IG9mIHJlc3VsdHMuXG4gKi9cbmZ1bmN0aW9uIGJhc2VUaW1lcyhuLCBpdGVyYXRlZSkge1xuICB2YXIgaW5kZXggPSAtMSxcbiAgICAgIHJlc3VsdCA9IEFycmF5KG4pO1xuXG4gIHdoaWxlICgrK2luZGV4IDwgbikge1xuICAgIHJlc3VsdFtpbmRleF0gPSBpdGVyYXRlZShpbmRleCk7XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBiYXNlVGltZXM7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL34vbG9kYXNoL19iYXNlVGltZXMuanNcbi8vIG1vZHVsZSBpZCA9IDEwN1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiLCJ2YXIgU3ltYm9sID0gcmVxdWlyZSgnLi9fU3ltYm9sJyksXG4gICAgYXJyYXlNYXAgPSByZXF1aXJlKCcuL19hcnJheU1hcCcpLFxuICAgIGlzQXJyYXkgPSByZXF1aXJlKCcuL2lzQXJyYXknKSxcbiAgICBpc1N5bWJvbCA9IHJlcXVpcmUoJy4vaXNTeW1ib2wnKTtcblxuLyoqIFVzZWQgYXMgcmVmZXJlbmNlcyBmb3IgdmFyaW91cyBgTnVtYmVyYCBjb25zdGFudHMuICovXG52YXIgSU5GSU5JVFkgPSAxIC8gMDtcblxuLyoqIFVzZWQgdG8gY29udmVydCBzeW1ib2xzIHRvIHByaW1pdGl2ZXMgYW5kIHN0cmluZ3MuICovXG52YXIgc3ltYm9sUHJvdG8gPSBTeW1ib2wgPyBTeW1ib2wucHJvdG90eXBlIDogdW5kZWZpbmVkLFxuICAgIHN5bWJvbFRvU3RyaW5nID0gc3ltYm9sUHJvdG8gPyBzeW1ib2xQcm90by50b1N0cmluZyA6IHVuZGVmaW5lZDtcblxuLyoqXG4gKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy50b1N0cmluZ2Agd2hpY2ggZG9lc24ndCBjb252ZXJ0IG51bGxpc2hcbiAqIHZhbHVlcyB0byBlbXB0eSBzdHJpbmdzLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBwcm9jZXNzLlxuICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgc3RyaW5nLlxuICovXG5mdW5jdGlvbiBiYXNlVG9TdHJpbmcodmFsdWUpIHtcbiAgLy8gRXhpdCBlYXJseSBmb3Igc3RyaW5ncyB0byBhdm9pZCBhIHBlcmZvcm1hbmNlIGhpdCBpbiBzb21lIGVudmlyb25tZW50cy5cbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PSAnc3RyaW5nJykge1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuICBpZiAoaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAvLyBSZWN1cnNpdmVseSBjb252ZXJ0IHZhbHVlcyAoc3VzY2VwdGlibGUgdG8gY2FsbCBzdGFjayBsaW1pdHMpLlxuICAgIHJldHVybiBhcnJheU1hcCh2YWx1ZSwgYmFzZVRvU3RyaW5nKSArICcnO1xuICB9XG4gIGlmIChpc1N5bWJvbCh2YWx1ZSkpIHtcbiAgICByZXR1cm4gc3ltYm9sVG9TdHJpbmcgPyBzeW1ib2xUb1N0cmluZy5jYWxsKHZhbHVlKSA6ICcnO1xuICB9XG4gIHZhciByZXN1bHQgPSAodmFsdWUgKyAnJyk7XG4gIHJldHVybiAocmVzdWx0ID09ICcwJyAmJiAoMSAvIHZhbHVlKSA9PSAtSU5GSU5JVFkpID8gJy0wJyA6IHJlc3VsdDtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBiYXNlVG9TdHJpbmc7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL34vbG9kYXNoL19iYXNlVG9TdHJpbmcuanNcbi8vIG1vZHVsZSBpZCA9IDEwOFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiLCIvKipcbiAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnVuYXJ5YCB3aXRob3V0IHN1cHBvcnQgZm9yIHN0b3JpbmcgbWV0YWRhdGEuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGNhcCBhcmd1bWVudHMgZm9yLlxuICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgY2FwcGVkIGZ1bmN0aW9uLlxuICovXG5mdW5jdGlvbiBiYXNlVW5hcnkoZnVuYykge1xuICByZXR1cm4gZnVuY3Rpb24odmFsdWUpIHtcbiAgICByZXR1cm4gZnVuYyh2YWx1ZSk7XG4gIH07XG59XG5cbm1vZHVsZS5leHBvcnRzID0gYmFzZVVuYXJ5O1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9+L2xvZGFzaC9fYmFzZVVuYXJ5LmpzXG4vLyBtb2R1bGUgaWQgPSAxMDlcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwidmFyIFVpbnQ4QXJyYXkgPSByZXF1aXJlKCcuL19VaW50OEFycmF5Jyk7XG5cbi8qKlxuICogQ3JlYXRlcyBhIGNsb25lIG9mIGBhcnJheUJ1ZmZlcmAuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7QXJyYXlCdWZmZXJ9IGFycmF5QnVmZmVyIFRoZSBhcnJheSBidWZmZXIgdG8gY2xvbmUuXG4gKiBAcmV0dXJucyB7QXJyYXlCdWZmZXJ9IFJldHVybnMgdGhlIGNsb25lZCBhcnJheSBidWZmZXIuXG4gKi9cbmZ1bmN0aW9uIGNsb25lQXJyYXlCdWZmZXIoYXJyYXlCdWZmZXIpIHtcbiAgdmFyIHJlc3VsdCA9IG5ldyBhcnJheUJ1ZmZlci5jb25zdHJ1Y3RvcihhcnJheUJ1ZmZlci5ieXRlTGVuZ3RoKTtcbiAgbmV3IFVpbnQ4QXJyYXkocmVzdWx0KS5zZXQobmV3IFVpbnQ4QXJyYXkoYXJyYXlCdWZmZXIpKTtcbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBjbG9uZUFycmF5QnVmZmVyO1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9+L2xvZGFzaC9fY2xvbmVBcnJheUJ1ZmZlci5qc1xuLy8gbW9kdWxlIGlkID0gMTEwXG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsInZhciByb290ID0gcmVxdWlyZSgnLi9fcm9vdCcpO1xuXG4vKiogRGV0ZWN0IGZyZWUgdmFyaWFibGUgYGV4cG9ydHNgLiAqL1xudmFyIGZyZWVFeHBvcnRzID0gdHlwZW9mIGV4cG9ydHMgPT0gJ29iamVjdCcgJiYgZXhwb3J0cyAmJiAhZXhwb3J0cy5ub2RlVHlwZSAmJiBleHBvcnRzO1xuXG4vKiogRGV0ZWN0IGZyZWUgdmFyaWFibGUgYG1vZHVsZWAuICovXG52YXIgZnJlZU1vZHVsZSA9IGZyZWVFeHBvcnRzICYmIHR5cGVvZiBtb2R1bGUgPT0gJ29iamVjdCcgJiYgbW9kdWxlICYmICFtb2R1bGUubm9kZVR5cGUgJiYgbW9kdWxlO1xuXG4vKiogRGV0ZWN0IHRoZSBwb3B1bGFyIENvbW1vbkpTIGV4dGVuc2lvbiBgbW9kdWxlLmV4cG9ydHNgLiAqL1xudmFyIG1vZHVsZUV4cG9ydHMgPSBmcmVlTW9kdWxlICYmIGZyZWVNb2R1bGUuZXhwb3J0cyA9PT0gZnJlZUV4cG9ydHM7XG5cbi8qKiBCdWlsdC1pbiB2YWx1ZSByZWZlcmVuY2VzLiAqL1xudmFyIEJ1ZmZlciA9IG1vZHVsZUV4cG9ydHMgPyByb290LkJ1ZmZlciA6IHVuZGVmaW5lZCxcbiAgICBhbGxvY1Vuc2FmZSA9IEJ1ZmZlciA/IEJ1ZmZlci5hbGxvY1Vuc2FmZSA6IHVuZGVmaW5lZDtcblxuLyoqXG4gKiBDcmVhdGVzIGEgY2xvbmUgb2YgIGBidWZmZXJgLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge0J1ZmZlcn0gYnVmZmVyIFRoZSBidWZmZXIgdG8gY2xvbmUuXG4gKiBAcGFyYW0ge2Jvb2xlYW59IFtpc0RlZXBdIFNwZWNpZnkgYSBkZWVwIGNsb25lLlxuICogQHJldHVybnMge0J1ZmZlcn0gUmV0dXJucyB0aGUgY2xvbmVkIGJ1ZmZlci5cbiAqL1xuZnVuY3Rpb24gY2xvbmVCdWZmZXIoYnVmZmVyLCBpc0RlZXApIHtcbiAgaWYgKGlzRGVlcCkge1xuICAgIHJldHVybiBidWZmZXIuc2xpY2UoKTtcbiAgfVxuICB2YXIgbGVuZ3RoID0gYnVmZmVyLmxlbmd0aCxcbiAgICAgIHJlc3VsdCA9IGFsbG9jVW5zYWZlID8gYWxsb2NVbnNhZmUobGVuZ3RoKSA6IG5ldyBidWZmZXIuY29uc3RydWN0b3IobGVuZ3RoKTtcblxuICBidWZmZXIuY29weShyZXN1bHQpO1xuICByZXR1cm4gcmVzdWx0O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGNsb25lQnVmZmVyO1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9+L2xvZGFzaC9fY2xvbmVCdWZmZXIuanNcbi8vIG1vZHVsZSBpZCA9IDExMVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiLCJ2YXIgY2xvbmVBcnJheUJ1ZmZlciA9IHJlcXVpcmUoJy4vX2Nsb25lQXJyYXlCdWZmZXInKTtcblxuLyoqXG4gKiBDcmVhdGVzIGEgY2xvbmUgb2YgYHR5cGVkQXJyYXlgLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge09iamVjdH0gdHlwZWRBcnJheSBUaGUgdHlwZWQgYXJyYXkgdG8gY2xvbmUuXG4gKiBAcGFyYW0ge2Jvb2xlYW59IFtpc0RlZXBdIFNwZWNpZnkgYSBkZWVwIGNsb25lLlxuICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgY2xvbmVkIHR5cGVkIGFycmF5LlxuICovXG5mdW5jdGlvbiBjbG9uZVR5cGVkQXJyYXkodHlwZWRBcnJheSwgaXNEZWVwKSB7XG4gIHZhciBidWZmZXIgPSBpc0RlZXAgPyBjbG9uZUFycmF5QnVmZmVyKHR5cGVkQXJyYXkuYnVmZmVyKSA6IHR5cGVkQXJyYXkuYnVmZmVyO1xuICByZXR1cm4gbmV3IHR5cGVkQXJyYXkuY29uc3RydWN0b3IoYnVmZmVyLCB0eXBlZEFycmF5LmJ5dGVPZmZzZXQsIHR5cGVkQXJyYXkubGVuZ3RoKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBjbG9uZVR5cGVkQXJyYXk7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL34vbG9kYXNoL19jbG9uZVR5cGVkQXJyYXkuanNcbi8vIG1vZHVsZSBpZCA9IDExMlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiLCIvKipcbiAqIENvcGllcyB0aGUgdmFsdWVzIG9mIGBzb3VyY2VgIHRvIGBhcnJheWAuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7QXJyYXl9IHNvdXJjZSBUaGUgYXJyYXkgdG8gY29weSB2YWx1ZXMgZnJvbS5cbiAqIEBwYXJhbSB7QXJyYXl9IFthcnJheT1bXV0gVGhlIGFycmF5IHRvIGNvcHkgdmFsdWVzIHRvLlxuICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIGBhcnJheWAuXG4gKi9cbmZ1bmN0aW9uIGNvcHlBcnJheShzb3VyY2UsIGFycmF5KSB7XG4gIHZhciBpbmRleCA9IC0xLFxuICAgICAgbGVuZ3RoID0gc291cmNlLmxlbmd0aDtcblxuICBhcnJheSB8fCAoYXJyYXkgPSBBcnJheShsZW5ndGgpKTtcbiAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICBhcnJheVtpbmRleF0gPSBzb3VyY2VbaW5kZXhdO1xuICB9XG4gIHJldHVybiBhcnJheTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBjb3B5QXJyYXk7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL34vbG9kYXNoL19jb3B5QXJyYXkuanNcbi8vIG1vZHVsZSBpZCA9IDExM1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiLCJ2YXIgYXNzaWduVmFsdWUgPSByZXF1aXJlKCcuL19hc3NpZ25WYWx1ZScpLFxuICAgIGJhc2VBc3NpZ25WYWx1ZSA9IHJlcXVpcmUoJy4vX2Jhc2VBc3NpZ25WYWx1ZScpO1xuXG4vKipcbiAqIENvcGllcyBwcm9wZXJ0aWVzIG9mIGBzb3VyY2VgIHRvIGBvYmplY3RgLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge09iamVjdH0gc291cmNlIFRoZSBvYmplY3QgdG8gY29weSBwcm9wZXJ0aWVzIGZyb20uXG4gKiBAcGFyYW0ge0FycmF5fSBwcm9wcyBUaGUgcHJvcGVydHkgaWRlbnRpZmllcnMgdG8gY29weS5cbiAqIEBwYXJhbSB7T2JqZWN0fSBbb2JqZWN0PXt9XSBUaGUgb2JqZWN0IHRvIGNvcHkgcHJvcGVydGllcyB0by5cbiAqIEBwYXJhbSB7RnVuY3Rpb259IFtjdXN0b21pemVyXSBUaGUgZnVuY3Rpb24gdG8gY3VzdG9taXplIGNvcGllZCB2YWx1ZXMuXG4gKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIGBvYmplY3RgLlxuICovXG5mdW5jdGlvbiBjb3B5T2JqZWN0KHNvdXJjZSwgcHJvcHMsIG9iamVjdCwgY3VzdG9taXplcikge1xuICB2YXIgaXNOZXcgPSAhb2JqZWN0O1xuICBvYmplY3QgfHwgKG9iamVjdCA9IHt9KTtcblxuICB2YXIgaW5kZXggPSAtMSxcbiAgICAgIGxlbmd0aCA9IHByb3BzLmxlbmd0aDtcblxuICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgIHZhciBrZXkgPSBwcm9wc1tpbmRleF07XG5cbiAgICB2YXIgbmV3VmFsdWUgPSBjdXN0b21pemVyXG4gICAgICA/IGN1c3RvbWl6ZXIob2JqZWN0W2tleV0sIHNvdXJjZVtrZXldLCBrZXksIG9iamVjdCwgc291cmNlKVxuICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICBpZiAobmV3VmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgbmV3VmFsdWUgPSBzb3VyY2Vba2V5XTtcbiAgICB9XG4gICAgaWYgKGlzTmV3KSB7XG4gICAgICBiYXNlQXNzaWduVmFsdWUob2JqZWN0LCBrZXksIG5ld1ZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYXNzaWduVmFsdWUob2JqZWN0LCBrZXksIG5ld1ZhbHVlKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG9iamVjdDtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBjb3B5T2JqZWN0O1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9+L2xvZGFzaC9fY29weU9iamVjdC5qc1xuLy8gbW9kdWxlIGlkID0gMTE0XG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsInZhciByb290ID0gcmVxdWlyZSgnLi9fcm9vdCcpO1xuXG4vKiogVXNlZCB0byBkZXRlY3Qgb3ZlcnJlYWNoaW5nIGNvcmUtanMgc2hpbXMuICovXG52YXIgY29yZUpzRGF0YSA9IHJvb3RbJ19fY29yZS1qc19zaGFyZWRfXyddO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGNvcmVKc0RhdGE7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL34vbG9kYXNoL19jb3JlSnNEYXRhLmpzXG4vLyBtb2R1bGUgaWQgPSAxMTVcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwidmFyIGJhc2VSZXN0ID0gcmVxdWlyZSgnLi9fYmFzZVJlc3QnKSxcbiAgICBpc0l0ZXJhdGVlQ2FsbCA9IHJlcXVpcmUoJy4vX2lzSXRlcmF0ZWVDYWxsJyk7XG5cbi8qKlxuICogQ3JlYXRlcyBhIGZ1bmN0aW9uIGxpa2UgYF8uYXNzaWduYC5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtGdW5jdGlvbn0gYXNzaWduZXIgVGhlIGZ1bmN0aW9uIHRvIGFzc2lnbiB2YWx1ZXMuXG4gKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBhc3NpZ25lciBmdW5jdGlvbi5cbiAqL1xuZnVuY3Rpb24gY3JlYXRlQXNzaWduZXIoYXNzaWduZXIpIHtcbiAgcmV0dXJuIGJhc2VSZXN0KGZ1bmN0aW9uKG9iamVjdCwgc291cmNlcykge1xuICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICBsZW5ndGggPSBzb3VyY2VzLmxlbmd0aCxcbiAgICAgICAgY3VzdG9taXplciA9IGxlbmd0aCA+IDEgPyBzb3VyY2VzW2xlbmd0aCAtIDFdIDogdW5kZWZpbmVkLFxuICAgICAgICBndWFyZCA9IGxlbmd0aCA+IDIgPyBzb3VyY2VzWzJdIDogdW5kZWZpbmVkO1xuXG4gICAgY3VzdG9taXplciA9IChhc3NpZ25lci5sZW5ndGggPiAzICYmIHR5cGVvZiBjdXN0b21pemVyID09ICdmdW5jdGlvbicpXG4gICAgICA/IChsZW5ndGgtLSwgY3VzdG9taXplcilcbiAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgaWYgKGd1YXJkICYmIGlzSXRlcmF0ZWVDYWxsKHNvdXJjZXNbMF0sIHNvdXJjZXNbMV0sIGd1YXJkKSkge1xuICAgICAgY3VzdG9taXplciA9IGxlbmd0aCA8IDMgPyB1bmRlZmluZWQgOiBjdXN0b21pemVyO1xuICAgICAgbGVuZ3RoID0gMTtcbiAgICB9XG4gICAgb2JqZWN0ID0gT2JqZWN0KG9iamVjdCk7XG4gICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgIHZhciBzb3VyY2UgPSBzb3VyY2VzW2luZGV4XTtcbiAgICAgIGlmIChzb3VyY2UpIHtcbiAgICAgICAgYXNzaWduZXIob2JqZWN0LCBzb3VyY2UsIGluZGV4LCBjdXN0b21pemVyKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG9iamVjdDtcbiAgfSk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gY3JlYXRlQXNzaWduZXI7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL34vbG9kYXNoL19jcmVhdGVBc3NpZ25lci5qc1xuLy8gbW9kdWxlIGlkID0gMTE2XG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsIi8qKlxuICogQ3JlYXRlcyBhIGJhc2UgZnVuY3Rpb24gZm9yIG1ldGhvZHMgbGlrZSBgXy5mb3JJbmAgYW5kIGBfLmZvck93bmAuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gW2Zyb21SaWdodF0gU3BlY2lmeSBpdGVyYXRpbmcgZnJvbSByaWdodCB0byBsZWZ0LlxuICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgYmFzZSBmdW5jdGlvbi5cbiAqL1xuZnVuY3Rpb24gY3JlYXRlQmFzZUZvcihmcm9tUmlnaHQpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uKG9iamVjdCwgaXRlcmF0ZWUsIGtleXNGdW5jKSB7XG4gICAgdmFyIGluZGV4ID0gLTEsXG4gICAgICAgIGl0ZXJhYmxlID0gT2JqZWN0KG9iamVjdCksXG4gICAgICAgIHByb3BzID0ga2V5c0Z1bmMob2JqZWN0KSxcbiAgICAgICAgbGVuZ3RoID0gcHJvcHMubGVuZ3RoO1xuXG4gICAgd2hpbGUgKGxlbmd0aC0tKSB7XG4gICAgICB2YXIga2V5ID0gcHJvcHNbZnJvbVJpZ2h0ID8gbGVuZ3RoIDogKytpbmRleF07XG4gICAgICBpZiAoaXRlcmF0ZWUoaXRlcmFibGVba2V5XSwga2V5LCBpdGVyYWJsZSkgPT09IGZhbHNlKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gb2JqZWN0O1xuICB9O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGNyZWF0ZUJhc2VGb3I7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL34vbG9kYXNoL19jcmVhdGVCYXNlRm9yLmpzXG4vLyBtb2R1bGUgaWQgPSAxMTdcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwidmFyIGZsYXR0ZW4gPSByZXF1aXJlKCcuL2ZsYXR0ZW4nKSxcbiAgICBvdmVyUmVzdCA9IHJlcXVpcmUoJy4vX292ZXJSZXN0JyksXG4gICAgc2V0VG9TdHJpbmcgPSByZXF1aXJlKCcuL19zZXRUb1N0cmluZycpO1xuXG4vKipcbiAqIEEgc3BlY2lhbGl6ZWQgdmVyc2lvbiBvZiBgYmFzZVJlc3RgIHdoaWNoIGZsYXR0ZW5zIHRoZSByZXN0IGFycmF5LlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBhcHBseSBhIHJlc3QgcGFyYW1ldGVyIHRvLlxuICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgZnVuY3Rpb24uXG4gKi9cbmZ1bmN0aW9uIGZsYXRSZXN0KGZ1bmMpIHtcbiAgcmV0dXJuIHNldFRvU3RyaW5nKG92ZXJSZXN0KGZ1bmMsIHVuZGVmaW5lZCwgZmxhdHRlbiksIGZ1bmMgKyAnJyk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZmxhdFJlc3Q7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL34vbG9kYXNoL19mbGF0UmVzdC5qc1xuLy8gbW9kdWxlIGlkID0gMTE4XG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsInZhciBTeW1ib2wgPSByZXF1aXJlKCcuL19TeW1ib2wnKTtcblxuLyoqIFVzZWQgZm9yIGJ1aWx0LWluIG1ldGhvZCByZWZlcmVuY2VzLiAqL1xudmFyIG9iamVjdFByb3RvID0gT2JqZWN0LnByb3RvdHlwZTtcblxuLyoqIFVzZWQgdG8gY2hlY2sgb2JqZWN0cyBmb3Igb3duIHByb3BlcnRpZXMuICovXG52YXIgaGFzT3duUHJvcGVydHkgPSBvYmplY3RQcm90by5oYXNPd25Qcm9wZXJ0eTtcblxuLyoqXG4gKiBVc2VkIHRvIHJlc29sdmUgdGhlXG4gKiBbYHRvU3RyaW5nVGFnYF0oaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNy4wLyNzZWMtb2JqZWN0LnByb3RvdHlwZS50b3N0cmluZylcbiAqIG9mIHZhbHVlcy5cbiAqL1xudmFyIG5hdGl2ZU9iamVjdFRvU3RyaW5nID0gb2JqZWN0UHJvdG8udG9TdHJpbmc7XG5cbi8qKiBCdWlsdC1pbiB2YWx1ZSByZWZlcmVuY2VzLiAqL1xudmFyIHN5bVRvU3RyaW5nVGFnID0gU3ltYm9sID8gU3ltYm9sLnRvU3RyaW5nVGFnIDogdW5kZWZpbmVkO1xuXG4vKipcbiAqIEEgc3BlY2lhbGl6ZWQgdmVyc2lvbiBvZiBgYmFzZUdldFRhZ2Agd2hpY2ggaWdub3JlcyBgU3ltYm9sLnRvU3RyaW5nVGFnYCB2YWx1ZXMuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHF1ZXJ5LlxuICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgcmF3IGB0b1N0cmluZ1RhZ2AuXG4gKi9cbmZ1bmN0aW9uIGdldFJhd1RhZyh2YWx1ZSkge1xuICB2YXIgaXNPd24gPSBoYXNPd25Qcm9wZXJ0eS5jYWxsKHZhbHVlLCBzeW1Ub1N0cmluZ1RhZyksXG4gICAgICB0YWcgPSB2YWx1ZVtzeW1Ub1N0cmluZ1RhZ107XG5cbiAgdHJ5IHtcbiAgICB2YWx1ZVtzeW1Ub1N0cmluZ1RhZ10gPSB1bmRlZmluZWQ7XG4gICAgdmFyIHVubWFza2VkID0gdHJ1ZTtcbiAgfSBjYXRjaCAoZSkge31cblxuICB2YXIgcmVzdWx0ID0gbmF0aXZlT2JqZWN0VG9TdHJpbmcuY2FsbCh2YWx1ZSk7XG4gIGlmICh1bm1hc2tlZCkge1xuICAgIGlmIChpc093bikge1xuICAgICAgdmFsdWVbc3ltVG9TdHJpbmdUYWddID0gdGFnO1xuICAgIH0gZWxzZSB7XG4gICAgICBkZWxldGUgdmFsdWVbc3ltVG9TdHJpbmdUYWddO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGdldFJhd1RhZztcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vfi9sb2Rhc2gvX2dldFJhd1RhZy5qc1xuLy8gbW9kdWxlIGlkID0gMTE5XG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsIi8qKlxuICogR2V0cyB0aGUgdmFsdWUgYXQgYGtleWAgb2YgYG9iamVjdGAuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7T2JqZWN0fSBbb2JqZWN0XSBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSBwcm9wZXJ0eSB0byBnZXQuXG4gKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgcHJvcGVydHkgdmFsdWUuXG4gKi9cbmZ1bmN0aW9uIGdldFZhbHVlKG9iamVjdCwga2V5KSB7XG4gIHJldHVybiBvYmplY3QgPT0gbnVsbCA/IHVuZGVmaW5lZCA6IG9iamVjdFtrZXldO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGdldFZhbHVlO1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9+L2xvZGFzaC9fZ2V0VmFsdWUuanNcbi8vIG1vZHVsZSBpZCA9IDEyMFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiLCJ2YXIgY2FzdFBhdGggPSByZXF1aXJlKCcuL19jYXN0UGF0aCcpLFxuICAgIGlzQXJndW1lbnRzID0gcmVxdWlyZSgnLi9pc0FyZ3VtZW50cycpLFxuICAgIGlzQXJyYXkgPSByZXF1aXJlKCcuL2lzQXJyYXknKSxcbiAgICBpc0luZGV4ID0gcmVxdWlyZSgnLi9faXNJbmRleCcpLFxuICAgIGlzTGVuZ3RoID0gcmVxdWlyZSgnLi9pc0xlbmd0aCcpLFxuICAgIHRvS2V5ID0gcmVxdWlyZSgnLi9fdG9LZXknKTtcblxuLyoqXG4gKiBDaGVja3MgaWYgYHBhdGhgIGV4aXN0cyBvbiBgb2JqZWN0YC5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICogQHBhcmFtIHtBcnJheXxzdHJpbmd9IHBhdGggVGhlIHBhdGggdG8gY2hlY2suXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBoYXNGdW5jIFRoZSBmdW5jdGlvbiB0byBjaGVjayBwcm9wZXJ0aWVzLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGBwYXRoYCBleGlzdHMsIGVsc2UgYGZhbHNlYC5cbiAqL1xuZnVuY3Rpb24gaGFzUGF0aChvYmplY3QsIHBhdGgsIGhhc0Z1bmMpIHtcbiAgcGF0aCA9IGNhc3RQYXRoKHBhdGgsIG9iamVjdCk7XG5cbiAgdmFyIGluZGV4ID0gLTEsXG4gICAgICBsZW5ndGggPSBwYXRoLmxlbmd0aCxcbiAgICAgIHJlc3VsdCA9IGZhbHNlO1xuXG4gIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgdmFyIGtleSA9IHRvS2V5KHBhdGhbaW5kZXhdKTtcbiAgICBpZiAoIShyZXN1bHQgPSBvYmplY3QgIT0gbnVsbCAmJiBoYXNGdW5jKG9iamVjdCwga2V5KSkpIHtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBvYmplY3QgPSBvYmplY3Rba2V5XTtcbiAgfVxuICBpZiAocmVzdWx0IHx8ICsraW5kZXggIT0gbGVuZ3RoKSB7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuICBsZW5ndGggPSBvYmplY3QgPT0gbnVsbCA/IDAgOiBvYmplY3QubGVuZ3RoO1xuICByZXR1cm4gISFsZW5ndGggJiYgaXNMZW5ndGgobGVuZ3RoKSAmJiBpc0luZGV4KGtleSwgbGVuZ3RoKSAmJlxuICAgIChpc0FycmF5KG9iamVjdCkgfHwgaXNBcmd1bWVudHMob2JqZWN0KSk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaGFzUGF0aDtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vfi9sb2Rhc2gvX2hhc1BhdGguanNcbi8vIG1vZHVsZSBpZCA9IDEyMVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiLCJ2YXIgbmF0aXZlQ3JlYXRlID0gcmVxdWlyZSgnLi9fbmF0aXZlQ3JlYXRlJyk7XG5cbi8qKlxuICogUmVtb3ZlcyBhbGwga2V5LXZhbHVlIGVudHJpZXMgZnJvbSB0aGUgaGFzaC5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQG5hbWUgY2xlYXJcbiAqIEBtZW1iZXJPZiBIYXNoXG4gKi9cbmZ1bmN0aW9uIGhhc2hDbGVhcigpIHtcbiAgdGhpcy5fX2RhdGFfXyA9IG5hdGl2ZUNyZWF0ZSA/IG5hdGl2ZUNyZWF0ZShudWxsKSA6IHt9O1xuICB0aGlzLnNpemUgPSAwO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGhhc2hDbGVhcjtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vfi9sb2Rhc2gvX2hhc2hDbGVhci5qc1xuLy8gbW9kdWxlIGlkID0gMTIyXG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsIi8qKlxuICogUmVtb3ZlcyBga2V5YCBhbmQgaXRzIHZhbHVlIGZyb20gdGhlIGhhc2guXG4gKlxuICogQHByaXZhdGVcbiAqIEBuYW1lIGRlbGV0ZVxuICogQG1lbWJlck9mIEhhc2hcbiAqIEBwYXJhbSB7T2JqZWN0fSBoYXNoIFRoZSBoYXNoIHRvIG1vZGlmeS5cbiAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgdmFsdWUgdG8gcmVtb3ZlLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIHRoZSBlbnRyeSB3YXMgcmVtb3ZlZCwgZWxzZSBgZmFsc2VgLlxuICovXG5mdW5jdGlvbiBoYXNoRGVsZXRlKGtleSkge1xuICB2YXIgcmVzdWx0ID0gdGhpcy5oYXMoa2V5KSAmJiBkZWxldGUgdGhpcy5fX2RhdGFfX1trZXldO1xuICB0aGlzLnNpemUgLT0gcmVzdWx0ID8gMSA6IDA7XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaGFzaERlbGV0ZTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vfi9sb2Rhc2gvX2hhc2hEZWxldGUuanNcbi8vIG1vZHVsZSBpZCA9IDEyM1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiLCJ2YXIgbmF0aXZlQ3JlYXRlID0gcmVxdWlyZSgnLi9fbmF0aXZlQ3JlYXRlJyk7XG5cbi8qKiBVc2VkIHRvIHN0YW5kLWluIGZvciBgdW5kZWZpbmVkYCBoYXNoIHZhbHVlcy4gKi9cbnZhciBIQVNIX1VOREVGSU5FRCA9ICdfX2xvZGFzaF9oYXNoX3VuZGVmaW5lZF9fJztcblxuLyoqIFVzZWQgZm9yIGJ1aWx0LWluIG1ldGhvZCByZWZlcmVuY2VzLiAqL1xudmFyIG9iamVjdFByb3RvID0gT2JqZWN0LnByb3RvdHlwZTtcblxuLyoqIFVzZWQgdG8gY2hlY2sgb2JqZWN0cyBmb3Igb3duIHByb3BlcnRpZXMuICovXG52YXIgaGFzT3duUHJvcGVydHkgPSBvYmplY3RQcm90by5oYXNPd25Qcm9wZXJ0eTtcblxuLyoqXG4gKiBHZXRzIHRoZSBoYXNoIHZhbHVlIGZvciBga2V5YC5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQG5hbWUgZ2V0XG4gKiBAbWVtYmVyT2YgSGFzaFxuICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSB2YWx1ZSB0byBnZXQuXG4gKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgZW50cnkgdmFsdWUuXG4gKi9cbmZ1bmN0aW9uIGhhc2hHZXQoa2V5KSB7XG4gIHZhciBkYXRhID0gdGhpcy5fX2RhdGFfXztcbiAgaWYgKG5hdGl2ZUNyZWF0ZSkge1xuICAgIHZhciByZXN1bHQgPSBkYXRhW2tleV07XG4gICAgcmV0dXJuIHJlc3VsdCA9PT0gSEFTSF9VTkRFRklORUQgPyB1bmRlZmluZWQgOiByZXN1bHQ7XG4gIH1cbiAgcmV0dXJuIGhhc093blByb3BlcnR5LmNhbGwoZGF0YSwga2V5KSA/IGRhdGFba2V5XSA6IHVuZGVmaW5lZDtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBoYXNoR2V0O1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9+L2xvZGFzaC9faGFzaEdldC5qc1xuLy8gbW9kdWxlIGlkID0gMTI0XG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsInZhciBuYXRpdmVDcmVhdGUgPSByZXF1aXJlKCcuL19uYXRpdmVDcmVhdGUnKTtcblxuLyoqIFVzZWQgZm9yIGJ1aWx0LWluIG1ldGhvZCByZWZlcmVuY2VzLiAqL1xudmFyIG9iamVjdFByb3RvID0gT2JqZWN0LnByb3RvdHlwZTtcblxuLyoqIFVzZWQgdG8gY2hlY2sgb2JqZWN0cyBmb3Igb3duIHByb3BlcnRpZXMuICovXG52YXIgaGFzT3duUHJvcGVydHkgPSBvYmplY3RQcm90by5oYXNPd25Qcm9wZXJ0eTtcblxuLyoqXG4gKiBDaGVja3MgaWYgYSBoYXNoIHZhbHVlIGZvciBga2V5YCBleGlzdHMuXG4gKlxuICogQHByaXZhdGVcbiAqIEBuYW1lIGhhc1xuICogQG1lbWJlck9mIEhhc2hcbiAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgZW50cnkgdG8gY2hlY2suXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYW4gZW50cnkgZm9yIGBrZXlgIGV4aXN0cywgZWxzZSBgZmFsc2VgLlxuICovXG5mdW5jdGlvbiBoYXNoSGFzKGtleSkge1xuICB2YXIgZGF0YSA9IHRoaXMuX19kYXRhX187XG4gIHJldHVybiBuYXRpdmVDcmVhdGUgPyAoZGF0YVtrZXldICE9PSB1bmRlZmluZWQpIDogaGFzT3duUHJvcGVydHkuY2FsbChkYXRhLCBrZXkpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGhhc2hIYXM7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL34vbG9kYXNoL19oYXNoSGFzLmpzXG4vLyBtb2R1bGUgaWQgPSAxMjVcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwidmFyIG5hdGl2ZUNyZWF0ZSA9IHJlcXVpcmUoJy4vX25hdGl2ZUNyZWF0ZScpO1xuXG4vKiogVXNlZCB0byBzdGFuZC1pbiBmb3IgYHVuZGVmaW5lZGAgaGFzaCB2YWx1ZXMuICovXG52YXIgSEFTSF9VTkRFRklORUQgPSAnX19sb2Rhc2hfaGFzaF91bmRlZmluZWRfXyc7XG5cbi8qKlxuICogU2V0cyB0aGUgaGFzaCBga2V5YCB0byBgdmFsdWVgLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAbmFtZSBzZXRcbiAqIEBtZW1iZXJPZiBIYXNoXG4gKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIHZhbHVlIHRvIHNldC5cbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHNldC5cbiAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIGhhc2ggaW5zdGFuY2UuXG4gKi9cbmZ1bmN0aW9uIGhhc2hTZXQoa2V5LCB2YWx1ZSkge1xuICB2YXIgZGF0YSA9IHRoaXMuX19kYXRhX187XG4gIHRoaXMuc2l6ZSArPSB0aGlzLmhhcyhrZXkpID8gMCA6IDE7XG4gIGRhdGFba2V5XSA9IChuYXRpdmVDcmVhdGUgJiYgdmFsdWUgPT09IHVuZGVmaW5lZCkgPyBIQVNIX1VOREVGSU5FRCA6IHZhbHVlO1xuICByZXR1cm4gdGhpcztcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBoYXNoU2V0O1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9+L2xvZGFzaC9faGFzaFNldC5qc1xuLy8gbW9kdWxlIGlkID0gMTI2XG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsInZhciBiYXNlQ3JlYXRlID0gcmVxdWlyZSgnLi9fYmFzZUNyZWF0ZScpLFxuICAgIGdldFByb3RvdHlwZSA9IHJlcXVpcmUoJy4vX2dldFByb3RvdHlwZScpLFxuICAgIGlzUHJvdG90eXBlID0gcmVxdWlyZSgnLi9faXNQcm90b3R5cGUnKTtcblxuLyoqXG4gKiBJbml0aWFsaXplcyBhbiBvYmplY3QgY2xvbmUuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBjbG9uZS5cbiAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIGluaXRpYWxpemVkIGNsb25lLlxuICovXG5mdW5jdGlvbiBpbml0Q2xvbmVPYmplY3Qob2JqZWN0KSB7XG4gIHJldHVybiAodHlwZW9mIG9iamVjdC5jb25zdHJ1Y3RvciA9PSAnZnVuY3Rpb24nICYmICFpc1Byb3RvdHlwZShvYmplY3QpKVxuICAgID8gYmFzZUNyZWF0ZShnZXRQcm90b3R5cGUob2JqZWN0KSlcbiAgICA6IHt9O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGluaXRDbG9uZU9iamVjdDtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vfi9sb2Rhc2gvX2luaXRDbG9uZU9iamVjdC5qc1xuLy8gbW9kdWxlIGlkID0gMTI3XG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsInZhciBTeW1ib2wgPSByZXF1aXJlKCcuL19TeW1ib2wnKSxcbiAgICBpc0FyZ3VtZW50cyA9IHJlcXVpcmUoJy4vaXNBcmd1bWVudHMnKSxcbiAgICBpc0FycmF5ID0gcmVxdWlyZSgnLi9pc0FycmF5Jyk7XG5cbi8qKiBCdWlsdC1pbiB2YWx1ZSByZWZlcmVuY2VzLiAqL1xudmFyIHNwcmVhZGFibGVTeW1ib2wgPSBTeW1ib2wgPyBTeW1ib2wuaXNDb25jYXRTcHJlYWRhYmxlIDogdW5kZWZpbmVkO1xuXG4vKipcbiAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGEgZmxhdHRlbmFibGUgYGFyZ3VtZW50c2Agb2JqZWN0IG9yIGFycmF5LlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGZsYXR0ZW5hYmxlLCBlbHNlIGBmYWxzZWAuXG4gKi9cbmZ1bmN0aW9uIGlzRmxhdHRlbmFibGUodmFsdWUpIHtcbiAgcmV0dXJuIGlzQXJyYXkodmFsdWUpIHx8IGlzQXJndW1lbnRzKHZhbHVlKSB8fFxuICAgICEhKHNwcmVhZGFibGVTeW1ib2wgJiYgdmFsdWUgJiYgdmFsdWVbc3ByZWFkYWJsZVN5bWJvbF0pO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGlzRmxhdHRlbmFibGU7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL34vbG9kYXNoL19pc0ZsYXR0ZW5hYmxlLmpzXG4vLyBtb2R1bGUgaWQgPSAxMjhcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwidmFyIGVxID0gcmVxdWlyZSgnLi9lcScpLFxuICAgIGlzQXJyYXlMaWtlID0gcmVxdWlyZSgnLi9pc0FycmF5TGlrZScpLFxuICAgIGlzSW5kZXggPSByZXF1aXJlKCcuL19pc0luZGV4JyksXG4gICAgaXNPYmplY3QgPSByZXF1aXJlKCcuL2lzT2JqZWN0Jyk7XG5cbi8qKlxuICogQ2hlY2tzIGlmIHRoZSBnaXZlbiBhcmd1bWVudHMgYXJlIGZyb20gYW4gaXRlcmF0ZWUgY2FsbC5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgcG90ZW50aWFsIGl0ZXJhdGVlIHZhbHVlIGFyZ3VtZW50LlxuICogQHBhcmFtIHsqfSBpbmRleCBUaGUgcG90ZW50aWFsIGl0ZXJhdGVlIGluZGV4IG9yIGtleSBhcmd1bWVudC5cbiAqIEBwYXJhbSB7Kn0gb2JqZWN0IFRoZSBwb3RlbnRpYWwgaXRlcmF0ZWUgb2JqZWN0IGFyZ3VtZW50LlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIHRoZSBhcmd1bWVudHMgYXJlIGZyb20gYW4gaXRlcmF0ZWUgY2FsbCxcbiAqICBlbHNlIGBmYWxzZWAuXG4gKi9cbmZ1bmN0aW9uIGlzSXRlcmF0ZWVDYWxsKHZhbHVlLCBpbmRleCwgb2JqZWN0KSB7XG4gIGlmICghaXNPYmplY3Qob2JqZWN0KSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICB2YXIgdHlwZSA9IHR5cGVvZiBpbmRleDtcbiAgaWYgKHR5cGUgPT0gJ251bWJlcidcbiAgICAgICAgPyAoaXNBcnJheUxpa2Uob2JqZWN0KSAmJiBpc0luZGV4KGluZGV4LCBvYmplY3QubGVuZ3RoKSlcbiAgICAgICAgOiAodHlwZSA9PSAnc3RyaW5nJyAmJiBpbmRleCBpbiBvYmplY3QpXG4gICAgICApIHtcbiAgICByZXR1cm4gZXEob2JqZWN0W2luZGV4XSwgdmFsdWUpO1xuICB9XG4gIHJldHVybiBmYWxzZTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBpc0l0ZXJhdGVlQ2FsbDtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vfi9sb2Rhc2gvX2lzSXRlcmF0ZWVDYWxsLmpzXG4vLyBtb2R1bGUgaWQgPSAxMjlcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwidmFyIGlzQXJyYXkgPSByZXF1aXJlKCcuL2lzQXJyYXknKSxcbiAgICBpc1N5bWJvbCA9IHJlcXVpcmUoJy4vaXNTeW1ib2wnKTtcblxuLyoqIFVzZWQgdG8gbWF0Y2ggcHJvcGVydHkgbmFtZXMgd2l0aGluIHByb3BlcnR5IHBhdGhzLiAqL1xudmFyIHJlSXNEZWVwUHJvcCA9IC9cXC58XFxbKD86W15bXFxdXSp8KFtcIiddKSg/Oig/IVxcMSlbXlxcXFxdfFxcXFwuKSo/XFwxKVxcXS8sXG4gICAgcmVJc1BsYWluUHJvcCA9IC9eXFx3KiQvO1xuXG4vKipcbiAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGEgcHJvcGVydHkgbmFtZSBhbmQgbm90IGEgcHJvcGVydHkgcGF0aC5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gKiBAcGFyYW0ge09iamVjdH0gW29iamVjdF0gVGhlIG9iamVjdCB0byBxdWVyeSBrZXlzIG9uLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSBwcm9wZXJ0eSBuYW1lLCBlbHNlIGBmYWxzZWAuXG4gKi9cbmZ1bmN0aW9uIGlzS2V5KHZhbHVlLCBvYmplY3QpIHtcbiAgaWYgKGlzQXJyYXkodmFsdWUpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHZhciB0eXBlID0gdHlwZW9mIHZhbHVlO1xuICBpZiAodHlwZSA9PSAnbnVtYmVyJyB8fCB0eXBlID09ICdzeW1ib2wnIHx8IHR5cGUgPT0gJ2Jvb2xlYW4nIHx8XG4gICAgICB2YWx1ZSA9PSBudWxsIHx8IGlzU3ltYm9sKHZhbHVlKSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIHJldHVybiByZUlzUGxhaW5Qcm9wLnRlc3QodmFsdWUpIHx8ICFyZUlzRGVlcFByb3AudGVzdCh2YWx1ZSkgfHxcbiAgICAob2JqZWN0ICE9IG51bGwgJiYgdmFsdWUgaW4gT2JqZWN0KG9iamVjdCkpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGlzS2V5O1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9+L2xvZGFzaC9faXNLZXkuanNcbi8vIG1vZHVsZSBpZCA9IDEzMFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiLCIvKipcbiAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIHN1aXRhYmxlIGZvciB1c2UgYXMgdW5pcXVlIG9iamVjdCBrZXkuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgc3VpdGFibGUsIGVsc2UgYGZhbHNlYC5cbiAqL1xuZnVuY3Rpb24gaXNLZXlhYmxlKHZhbHVlKSB7XG4gIHZhciB0eXBlID0gdHlwZW9mIHZhbHVlO1xuICByZXR1cm4gKHR5cGUgPT0gJ3N0cmluZycgfHwgdHlwZSA9PSAnbnVtYmVyJyB8fCB0eXBlID09ICdzeW1ib2wnIHx8IHR5cGUgPT0gJ2Jvb2xlYW4nKVxuICAgID8gKHZhbHVlICE9PSAnX19wcm90b19fJylcbiAgICA6ICh2YWx1ZSA9PT0gbnVsbCk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaXNLZXlhYmxlO1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9+L2xvZGFzaC9faXNLZXlhYmxlLmpzXG4vLyBtb2R1bGUgaWQgPSAxMzFcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwidmFyIGNvcmVKc0RhdGEgPSByZXF1aXJlKCcuL19jb3JlSnNEYXRhJyk7XG5cbi8qKiBVc2VkIHRvIGRldGVjdCBtZXRob2RzIG1hc3F1ZXJhZGluZyBhcyBuYXRpdmUuICovXG52YXIgbWFza1NyY0tleSA9IChmdW5jdGlvbigpIHtcbiAgdmFyIHVpZCA9IC9bXi5dKyQvLmV4ZWMoY29yZUpzRGF0YSAmJiBjb3JlSnNEYXRhLmtleXMgJiYgY29yZUpzRGF0YS5rZXlzLklFX1BST1RPIHx8ICcnKTtcbiAgcmV0dXJuIHVpZCA/ICgnU3ltYm9sKHNyYylfMS4nICsgdWlkKSA6ICcnO1xufSgpKTtcblxuLyoqXG4gKiBDaGVja3MgaWYgYGZ1bmNgIGhhcyBpdHMgc291cmNlIG1hc2tlZC5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gY2hlY2suXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYGZ1bmNgIGlzIG1hc2tlZCwgZWxzZSBgZmFsc2VgLlxuICovXG5mdW5jdGlvbiBpc01hc2tlZChmdW5jKSB7XG4gIHJldHVybiAhIW1hc2tTcmNLZXkgJiYgKG1hc2tTcmNLZXkgaW4gZnVuYyk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaXNNYXNrZWQ7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL34vbG9kYXNoL19pc01hc2tlZC5qc1xuLy8gbW9kdWxlIGlkID0gMTMyXG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsIi8qKlxuICogUmVtb3ZlcyBhbGwga2V5LXZhbHVlIGVudHJpZXMgZnJvbSB0aGUgbGlzdCBjYWNoZS5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQG5hbWUgY2xlYXJcbiAqIEBtZW1iZXJPZiBMaXN0Q2FjaGVcbiAqL1xuZnVuY3Rpb24gbGlzdENhY2hlQ2xlYXIoKSB7XG4gIHRoaXMuX19kYXRhX18gPSBbXTtcbiAgdGhpcy5zaXplID0gMDtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBsaXN0Q2FjaGVDbGVhcjtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vfi9sb2Rhc2gvX2xpc3RDYWNoZUNsZWFyLmpzXG4vLyBtb2R1bGUgaWQgPSAxMzNcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwidmFyIGFzc29jSW5kZXhPZiA9IHJlcXVpcmUoJy4vX2Fzc29jSW5kZXhPZicpO1xuXG4vKiogVXNlZCBmb3IgYnVpbHQtaW4gbWV0aG9kIHJlZmVyZW5jZXMuICovXG52YXIgYXJyYXlQcm90byA9IEFycmF5LnByb3RvdHlwZTtcblxuLyoqIEJ1aWx0LWluIHZhbHVlIHJlZmVyZW5jZXMuICovXG52YXIgc3BsaWNlID0gYXJyYXlQcm90by5zcGxpY2U7XG5cbi8qKlxuICogUmVtb3ZlcyBga2V5YCBhbmQgaXRzIHZhbHVlIGZyb20gdGhlIGxpc3QgY2FjaGUuXG4gKlxuICogQHByaXZhdGVcbiAqIEBuYW1lIGRlbGV0ZVxuICogQG1lbWJlck9mIExpc3RDYWNoZVxuICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSB2YWx1ZSB0byByZW1vdmUuXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgdGhlIGVudHJ5IHdhcyByZW1vdmVkLCBlbHNlIGBmYWxzZWAuXG4gKi9cbmZ1bmN0aW9uIGxpc3RDYWNoZURlbGV0ZShrZXkpIHtcbiAgdmFyIGRhdGEgPSB0aGlzLl9fZGF0YV9fLFxuICAgICAgaW5kZXggPSBhc3NvY0luZGV4T2YoZGF0YSwga2V5KTtcblxuICBpZiAoaW5kZXggPCAwKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHZhciBsYXN0SW5kZXggPSBkYXRhLmxlbmd0aCAtIDE7XG4gIGlmIChpbmRleCA9PSBsYXN0SW5kZXgpIHtcbiAgICBkYXRhLnBvcCgpO1xuICB9IGVsc2Uge1xuICAgIHNwbGljZS5jYWxsKGRhdGEsIGluZGV4LCAxKTtcbiAgfVxuICAtLXRoaXMuc2l6ZTtcbiAgcmV0dXJuIHRydWU7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gbGlzdENhY2hlRGVsZXRlO1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9+L2xvZGFzaC9fbGlzdENhY2hlRGVsZXRlLmpzXG4vLyBtb2R1bGUgaWQgPSAxMzRcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwidmFyIGFzc29jSW5kZXhPZiA9IHJlcXVpcmUoJy4vX2Fzc29jSW5kZXhPZicpO1xuXG4vKipcbiAqIEdldHMgdGhlIGxpc3QgY2FjaGUgdmFsdWUgZm9yIGBrZXlgLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAbmFtZSBnZXRcbiAqIEBtZW1iZXJPZiBMaXN0Q2FjaGVcbiAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgdmFsdWUgdG8gZ2V0LlxuICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIGVudHJ5IHZhbHVlLlxuICovXG5mdW5jdGlvbiBsaXN0Q2FjaGVHZXQoa2V5KSB7XG4gIHZhciBkYXRhID0gdGhpcy5fX2RhdGFfXyxcbiAgICAgIGluZGV4ID0gYXNzb2NJbmRleE9mKGRhdGEsIGtleSk7XG5cbiAgcmV0dXJuIGluZGV4IDwgMCA/IHVuZGVmaW5lZCA6IGRhdGFbaW5kZXhdWzFdO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGxpc3RDYWNoZUdldDtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vfi9sb2Rhc2gvX2xpc3RDYWNoZUdldC5qc1xuLy8gbW9kdWxlIGlkID0gMTM1XG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsInZhciBhc3NvY0luZGV4T2YgPSByZXF1aXJlKCcuL19hc3NvY0luZGV4T2YnKTtcblxuLyoqXG4gKiBDaGVja3MgaWYgYSBsaXN0IGNhY2hlIHZhbHVlIGZvciBga2V5YCBleGlzdHMuXG4gKlxuICogQHByaXZhdGVcbiAqIEBuYW1lIGhhc1xuICogQG1lbWJlck9mIExpc3RDYWNoZVxuICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSBlbnRyeSB0byBjaGVjay5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBhbiBlbnRyeSBmb3IgYGtleWAgZXhpc3RzLCBlbHNlIGBmYWxzZWAuXG4gKi9cbmZ1bmN0aW9uIGxpc3RDYWNoZUhhcyhrZXkpIHtcbiAgcmV0dXJuIGFzc29jSW5kZXhPZih0aGlzLl9fZGF0YV9fLCBrZXkpID4gLTE7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gbGlzdENhY2hlSGFzO1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9+L2xvZGFzaC9fbGlzdENhY2hlSGFzLmpzXG4vLyBtb2R1bGUgaWQgPSAxMzZcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwidmFyIGFzc29jSW5kZXhPZiA9IHJlcXVpcmUoJy4vX2Fzc29jSW5kZXhPZicpO1xuXG4vKipcbiAqIFNldHMgdGhlIGxpc3QgY2FjaGUgYGtleWAgdG8gYHZhbHVlYC5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQG5hbWUgc2V0XG4gKiBAbWVtYmVyT2YgTGlzdENhY2hlXG4gKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIHZhbHVlIHRvIHNldC5cbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHNldC5cbiAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIGxpc3QgY2FjaGUgaW5zdGFuY2UuXG4gKi9cbmZ1bmN0aW9uIGxpc3RDYWNoZVNldChrZXksIHZhbHVlKSB7XG4gIHZhciBkYXRhID0gdGhpcy5fX2RhdGFfXyxcbiAgICAgIGluZGV4ID0gYXNzb2NJbmRleE9mKGRhdGEsIGtleSk7XG5cbiAgaWYgKGluZGV4IDwgMCkge1xuICAgICsrdGhpcy5zaXplO1xuICAgIGRhdGEucHVzaChba2V5LCB2YWx1ZV0pO1xuICB9IGVsc2Uge1xuICAgIGRhdGFbaW5kZXhdWzFdID0gdmFsdWU7XG4gIH1cbiAgcmV0dXJuIHRoaXM7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gbGlzdENhY2hlU2V0O1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9+L2xvZGFzaC9fbGlzdENhY2hlU2V0LmpzXG4vLyBtb2R1bGUgaWQgPSAxMzdcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwidmFyIEhhc2ggPSByZXF1aXJlKCcuL19IYXNoJyksXG4gICAgTGlzdENhY2hlID0gcmVxdWlyZSgnLi9fTGlzdENhY2hlJyksXG4gICAgTWFwID0gcmVxdWlyZSgnLi9fTWFwJyk7XG5cbi8qKlxuICogUmVtb3ZlcyBhbGwga2V5LXZhbHVlIGVudHJpZXMgZnJvbSB0aGUgbWFwLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAbmFtZSBjbGVhclxuICogQG1lbWJlck9mIE1hcENhY2hlXG4gKi9cbmZ1bmN0aW9uIG1hcENhY2hlQ2xlYXIoKSB7XG4gIHRoaXMuc2l6ZSA9IDA7XG4gIHRoaXMuX19kYXRhX18gPSB7XG4gICAgJ2hhc2gnOiBuZXcgSGFzaCxcbiAgICAnbWFwJzogbmV3IChNYXAgfHwgTGlzdENhY2hlKSxcbiAgICAnc3RyaW5nJzogbmV3IEhhc2hcbiAgfTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBtYXBDYWNoZUNsZWFyO1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9+L2xvZGFzaC9fbWFwQ2FjaGVDbGVhci5qc1xuLy8gbW9kdWxlIGlkID0gMTM4XG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsInZhciBnZXRNYXBEYXRhID0gcmVxdWlyZSgnLi9fZ2V0TWFwRGF0YScpO1xuXG4vKipcbiAqIFJlbW92ZXMgYGtleWAgYW5kIGl0cyB2YWx1ZSBmcm9tIHRoZSBtYXAuXG4gKlxuICogQHByaXZhdGVcbiAqIEBuYW1lIGRlbGV0ZVxuICogQG1lbWJlck9mIE1hcENhY2hlXG4gKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIHZhbHVlIHRvIHJlbW92ZS5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiB0aGUgZW50cnkgd2FzIHJlbW92ZWQsIGVsc2UgYGZhbHNlYC5cbiAqL1xuZnVuY3Rpb24gbWFwQ2FjaGVEZWxldGUoa2V5KSB7XG4gIHZhciByZXN1bHQgPSBnZXRNYXBEYXRhKHRoaXMsIGtleSlbJ2RlbGV0ZSddKGtleSk7XG4gIHRoaXMuc2l6ZSAtPSByZXN1bHQgPyAxIDogMDtcbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBtYXBDYWNoZURlbGV0ZTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vfi9sb2Rhc2gvX21hcENhY2hlRGVsZXRlLmpzXG4vLyBtb2R1bGUgaWQgPSAxMzlcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwidmFyIGdldE1hcERhdGEgPSByZXF1aXJlKCcuL19nZXRNYXBEYXRhJyk7XG5cbi8qKlxuICogR2V0cyB0aGUgbWFwIHZhbHVlIGZvciBga2V5YC5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQG5hbWUgZ2V0XG4gKiBAbWVtYmVyT2YgTWFwQ2FjaGVcbiAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgdmFsdWUgdG8gZ2V0LlxuICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIGVudHJ5IHZhbHVlLlxuICovXG5mdW5jdGlvbiBtYXBDYWNoZUdldChrZXkpIHtcbiAgcmV0dXJuIGdldE1hcERhdGEodGhpcywga2V5KS5nZXQoa2V5KTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBtYXBDYWNoZUdldDtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vfi9sb2Rhc2gvX21hcENhY2hlR2V0LmpzXG4vLyBtb2R1bGUgaWQgPSAxNDBcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwidmFyIGdldE1hcERhdGEgPSByZXF1aXJlKCcuL19nZXRNYXBEYXRhJyk7XG5cbi8qKlxuICogQ2hlY2tzIGlmIGEgbWFwIHZhbHVlIGZvciBga2V5YCBleGlzdHMuXG4gKlxuICogQHByaXZhdGVcbiAqIEBuYW1lIGhhc1xuICogQG1lbWJlck9mIE1hcENhY2hlXG4gKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIGVudHJ5IHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGFuIGVudHJ5IGZvciBga2V5YCBleGlzdHMsIGVsc2UgYGZhbHNlYC5cbiAqL1xuZnVuY3Rpb24gbWFwQ2FjaGVIYXMoa2V5KSB7XG4gIHJldHVybiBnZXRNYXBEYXRhKHRoaXMsIGtleSkuaGFzKGtleSk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gbWFwQ2FjaGVIYXM7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL34vbG9kYXNoL19tYXBDYWNoZUhhcy5qc1xuLy8gbW9kdWxlIGlkID0gMTQxXG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsInZhciBnZXRNYXBEYXRhID0gcmVxdWlyZSgnLi9fZ2V0TWFwRGF0YScpO1xuXG4vKipcbiAqIFNldHMgdGhlIG1hcCBga2V5YCB0byBgdmFsdWVgLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAbmFtZSBzZXRcbiAqIEBtZW1iZXJPZiBNYXBDYWNoZVxuICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSB2YWx1ZSB0byBzZXQuXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBzZXQuXG4gKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBtYXAgY2FjaGUgaW5zdGFuY2UuXG4gKi9cbmZ1bmN0aW9uIG1hcENhY2hlU2V0KGtleSwgdmFsdWUpIHtcbiAgdmFyIGRhdGEgPSBnZXRNYXBEYXRhKHRoaXMsIGtleSksXG4gICAgICBzaXplID0gZGF0YS5zaXplO1xuXG4gIGRhdGEuc2V0KGtleSwgdmFsdWUpO1xuICB0aGlzLnNpemUgKz0gZGF0YS5zaXplID09IHNpemUgPyAwIDogMTtcbiAgcmV0dXJuIHRoaXM7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gbWFwQ2FjaGVTZXQ7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL34vbG9kYXNoL19tYXBDYWNoZVNldC5qc1xuLy8gbW9kdWxlIGlkID0gMTQyXG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsInZhciBtZW1vaXplID0gcmVxdWlyZSgnLi9tZW1vaXplJyk7XG5cbi8qKiBVc2VkIGFzIHRoZSBtYXhpbXVtIG1lbW9pemUgY2FjaGUgc2l6ZS4gKi9cbnZhciBNQVhfTUVNT0laRV9TSVpFID0gNTAwO1xuXG4vKipcbiAqIEEgc3BlY2lhbGl6ZWQgdmVyc2lvbiBvZiBgXy5tZW1vaXplYCB3aGljaCBjbGVhcnMgdGhlIG1lbW9pemVkIGZ1bmN0aW9uJ3NcbiAqIGNhY2hlIHdoZW4gaXQgZXhjZWVkcyBgTUFYX01FTU9JWkVfU0laRWAuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGhhdmUgaXRzIG91dHB1dCBtZW1vaXplZC5cbiAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IG1lbW9pemVkIGZ1bmN0aW9uLlxuICovXG5mdW5jdGlvbiBtZW1vaXplQ2FwcGVkKGZ1bmMpIHtcbiAgdmFyIHJlc3VsdCA9IG1lbW9pemUoZnVuYywgZnVuY3Rpb24oa2V5KSB7XG4gICAgaWYgKGNhY2hlLnNpemUgPT09IE1BWF9NRU1PSVpFX1NJWkUpIHtcbiAgICAgIGNhY2hlLmNsZWFyKCk7XG4gICAgfVxuICAgIHJldHVybiBrZXk7XG4gIH0pO1xuXG4gIHZhciBjYWNoZSA9IHJlc3VsdC5jYWNoZTtcbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBtZW1vaXplQ2FwcGVkO1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9+L2xvZGFzaC9fbWVtb2l6ZUNhcHBlZC5qc1xuLy8gbW9kdWxlIGlkID0gMTQzXG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsIi8qKlxuICogVGhpcyBmdW5jdGlvbiBpcyBsaWtlXG4gKiBbYE9iamVjdC5rZXlzYF0oaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNy4wLyNzZWMtb2JqZWN0LmtleXMpXG4gKiBleGNlcHQgdGhhdCBpdCBpbmNsdWRlcyBpbmhlcml0ZWQgZW51bWVyYWJsZSBwcm9wZXJ0aWVzLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIGFycmF5IG9mIHByb3BlcnR5IG5hbWVzLlxuICovXG5mdW5jdGlvbiBuYXRpdmVLZXlzSW4ob2JqZWN0KSB7XG4gIHZhciByZXN1bHQgPSBbXTtcbiAgaWYgKG9iamVjdCAhPSBudWxsKSB7XG4gICAgZm9yICh2YXIga2V5IGluIE9iamVjdChvYmplY3QpKSB7XG4gICAgICByZXN1bHQucHVzaChrZXkpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IG5hdGl2ZUtleXNJbjtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vfi9sb2Rhc2gvX25hdGl2ZUtleXNJbi5qc1xuLy8gbW9kdWxlIGlkID0gMTQ0XG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsInZhciBmcmVlR2xvYmFsID0gcmVxdWlyZSgnLi9fZnJlZUdsb2JhbCcpO1xuXG4vKiogRGV0ZWN0IGZyZWUgdmFyaWFibGUgYGV4cG9ydHNgLiAqL1xudmFyIGZyZWVFeHBvcnRzID0gdHlwZW9mIGV4cG9ydHMgPT0gJ29iamVjdCcgJiYgZXhwb3J0cyAmJiAhZXhwb3J0cy5ub2RlVHlwZSAmJiBleHBvcnRzO1xuXG4vKiogRGV0ZWN0IGZyZWUgdmFyaWFibGUgYG1vZHVsZWAuICovXG52YXIgZnJlZU1vZHVsZSA9IGZyZWVFeHBvcnRzICYmIHR5cGVvZiBtb2R1bGUgPT0gJ29iamVjdCcgJiYgbW9kdWxlICYmICFtb2R1bGUubm9kZVR5cGUgJiYgbW9kdWxlO1xuXG4vKiogRGV0ZWN0IHRoZSBwb3B1bGFyIENvbW1vbkpTIGV4dGVuc2lvbiBgbW9kdWxlLmV4cG9ydHNgLiAqL1xudmFyIG1vZHVsZUV4cG9ydHMgPSBmcmVlTW9kdWxlICYmIGZyZWVNb2R1bGUuZXhwb3J0cyA9PT0gZnJlZUV4cG9ydHM7XG5cbi8qKiBEZXRlY3QgZnJlZSB2YXJpYWJsZSBgcHJvY2Vzc2AgZnJvbSBOb2RlLmpzLiAqL1xudmFyIGZyZWVQcm9jZXNzID0gbW9kdWxlRXhwb3J0cyAmJiBmcmVlR2xvYmFsLnByb2Nlc3M7XG5cbi8qKiBVc2VkIHRvIGFjY2VzcyBmYXN0ZXIgTm9kZS5qcyBoZWxwZXJzLiAqL1xudmFyIG5vZGVVdGlsID0gKGZ1bmN0aW9uKCkge1xuICB0cnkge1xuICAgIHJldHVybiBmcmVlUHJvY2VzcyAmJiBmcmVlUHJvY2Vzcy5iaW5kaW5nICYmIGZyZWVQcm9jZXNzLmJpbmRpbmcoJ3V0aWwnKTtcbiAgfSBjYXRjaCAoZSkge31cbn0oKSk7XG5cbm1vZHVsZS5leHBvcnRzID0gbm9kZVV0aWw7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL34vbG9kYXNoL19ub2RlVXRpbC5qc1xuLy8gbW9kdWxlIGlkID0gMTQ1XG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsIi8qKiBVc2VkIGZvciBidWlsdC1pbiBtZXRob2QgcmVmZXJlbmNlcy4gKi9cbnZhciBvYmplY3RQcm90byA9IE9iamVjdC5wcm90b3R5cGU7XG5cbi8qKlxuICogVXNlZCB0byByZXNvbHZlIHRoZVxuICogW2B0b1N0cmluZ1RhZ2BdKGh0dHA6Ly9lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzcuMC8jc2VjLW9iamVjdC5wcm90b3R5cGUudG9zdHJpbmcpXG4gKiBvZiB2YWx1ZXMuXG4gKi9cbnZhciBuYXRpdmVPYmplY3RUb1N0cmluZyA9IG9iamVjdFByb3RvLnRvU3RyaW5nO1xuXG4vKipcbiAqIENvbnZlcnRzIGB2YWx1ZWAgdG8gYSBzdHJpbmcgdXNpbmcgYE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmdgLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjb252ZXJ0LlxuICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgY29udmVydGVkIHN0cmluZy5cbiAqL1xuZnVuY3Rpb24gb2JqZWN0VG9TdHJpbmcodmFsdWUpIHtcbiAgcmV0dXJuIG5hdGl2ZU9iamVjdFRvU3RyaW5nLmNhbGwodmFsdWUpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IG9iamVjdFRvU3RyaW5nO1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9+L2xvZGFzaC9fb2JqZWN0VG9TdHJpbmcuanNcbi8vIG1vZHVsZSBpZCA9IDE0NlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiLCIvKipcbiAqIENyZWF0ZXMgYSB1bmFyeSBmdW5jdGlvbiB0aGF0IGludm9rZXMgYGZ1bmNgIHdpdGggaXRzIGFyZ3VtZW50IHRyYW5zZm9ybWVkLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byB3cmFwLlxuICogQHBhcmFtIHtGdW5jdGlvbn0gdHJhbnNmb3JtIFRoZSBhcmd1bWVudCB0cmFuc2Zvcm0uXG4gKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBmdW5jdGlvbi5cbiAqL1xuZnVuY3Rpb24gb3ZlckFyZyhmdW5jLCB0cmFuc2Zvcm0pIHtcbiAgcmV0dXJuIGZ1bmN0aW9uKGFyZykge1xuICAgIHJldHVybiBmdW5jKHRyYW5zZm9ybShhcmcpKTtcbiAgfTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBvdmVyQXJnO1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9+L2xvZGFzaC9fb3ZlckFyZy5qc1xuLy8gbW9kdWxlIGlkID0gMTQ3XG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsIi8qKiBVc2VkIHRvIGRldGVjdCBob3QgZnVuY3Rpb25zIGJ5IG51bWJlciBvZiBjYWxscyB3aXRoaW4gYSBzcGFuIG9mIG1pbGxpc2Vjb25kcy4gKi9cbnZhciBIT1RfQ09VTlQgPSA4MDAsXG4gICAgSE9UX1NQQU4gPSAxNjtcblxuLyogQnVpbHQtaW4gbWV0aG9kIHJlZmVyZW5jZXMgZm9yIHRob3NlIHdpdGggdGhlIHNhbWUgbmFtZSBhcyBvdGhlciBgbG9kYXNoYCBtZXRob2RzLiAqL1xudmFyIG5hdGl2ZU5vdyA9IERhdGUubm93O1xuXG4vKipcbiAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0J2xsIHNob3J0IG91dCBhbmQgaW52b2tlIGBpZGVudGl0eWAgaW5zdGVhZFxuICogb2YgYGZ1bmNgIHdoZW4gaXQncyBjYWxsZWQgYEhPVF9DT1VOVGAgb3IgbW9yZSB0aW1lcyBpbiBgSE9UX1NQQU5gXG4gKiBtaWxsaXNlY29uZHMuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIHJlc3RyaWN0LlxuICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgc2hvcnRhYmxlIGZ1bmN0aW9uLlxuICovXG5mdW5jdGlvbiBzaG9ydE91dChmdW5jKSB7XG4gIHZhciBjb3VudCA9IDAsXG4gICAgICBsYXN0Q2FsbGVkID0gMDtcblxuICByZXR1cm4gZnVuY3Rpb24oKSB7XG4gICAgdmFyIHN0YW1wID0gbmF0aXZlTm93KCksXG4gICAgICAgIHJlbWFpbmluZyA9IEhPVF9TUEFOIC0gKHN0YW1wIC0gbGFzdENhbGxlZCk7XG5cbiAgICBsYXN0Q2FsbGVkID0gc3RhbXA7XG4gICAgaWYgKHJlbWFpbmluZyA+IDApIHtcbiAgICAgIGlmICgrK2NvdW50ID49IEhPVF9DT1VOVCkge1xuICAgICAgICByZXR1cm4gYXJndW1lbnRzWzBdO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb3VudCA9IDA7XG4gICAgfVxuICAgIHJldHVybiBmdW5jLmFwcGx5KHVuZGVmaW5lZCwgYXJndW1lbnRzKTtcbiAgfTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBzaG9ydE91dDtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vfi9sb2Rhc2gvX3Nob3J0T3V0LmpzXG4vLyBtb2R1bGUgaWQgPSAxNDhcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwidmFyIExpc3RDYWNoZSA9IHJlcXVpcmUoJy4vX0xpc3RDYWNoZScpO1xuXG4vKipcbiAqIFJlbW92ZXMgYWxsIGtleS12YWx1ZSBlbnRyaWVzIGZyb20gdGhlIHN0YWNrLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAbmFtZSBjbGVhclxuICogQG1lbWJlck9mIFN0YWNrXG4gKi9cbmZ1bmN0aW9uIHN0YWNrQ2xlYXIoKSB7XG4gIHRoaXMuX19kYXRhX18gPSBuZXcgTGlzdENhY2hlO1xuICB0aGlzLnNpemUgPSAwO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHN0YWNrQ2xlYXI7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL34vbG9kYXNoL19zdGFja0NsZWFyLmpzXG4vLyBtb2R1bGUgaWQgPSAxNDlcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwiLyoqXG4gKiBSZW1vdmVzIGBrZXlgIGFuZCBpdHMgdmFsdWUgZnJvbSB0aGUgc3RhY2suXG4gKlxuICogQHByaXZhdGVcbiAqIEBuYW1lIGRlbGV0ZVxuICogQG1lbWJlck9mIFN0YWNrXG4gKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIHZhbHVlIHRvIHJlbW92ZS5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiB0aGUgZW50cnkgd2FzIHJlbW92ZWQsIGVsc2UgYGZhbHNlYC5cbiAqL1xuZnVuY3Rpb24gc3RhY2tEZWxldGUoa2V5KSB7XG4gIHZhciBkYXRhID0gdGhpcy5fX2RhdGFfXyxcbiAgICAgIHJlc3VsdCA9IGRhdGFbJ2RlbGV0ZSddKGtleSk7XG5cbiAgdGhpcy5zaXplID0gZGF0YS5zaXplO1xuICByZXR1cm4gcmVzdWx0O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHN0YWNrRGVsZXRlO1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9+L2xvZGFzaC9fc3RhY2tEZWxldGUuanNcbi8vIG1vZHVsZSBpZCA9IDE1MFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiLCIvKipcbiAqIEdldHMgdGhlIHN0YWNrIHZhbHVlIGZvciBga2V5YC5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQG5hbWUgZ2V0XG4gKiBAbWVtYmVyT2YgU3RhY2tcbiAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgdmFsdWUgdG8gZ2V0LlxuICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIGVudHJ5IHZhbHVlLlxuICovXG5mdW5jdGlvbiBzdGFja0dldChrZXkpIHtcbiAgcmV0dXJuIHRoaXMuX19kYXRhX18uZ2V0KGtleSk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gc3RhY2tHZXQ7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL34vbG9kYXNoL19zdGFja0dldC5qc1xuLy8gbW9kdWxlIGlkID0gMTUxXG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsIi8qKlxuICogQ2hlY2tzIGlmIGEgc3RhY2sgdmFsdWUgZm9yIGBrZXlgIGV4aXN0cy5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQG5hbWUgaGFzXG4gKiBAbWVtYmVyT2YgU3RhY2tcbiAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgZW50cnkgdG8gY2hlY2suXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYW4gZW50cnkgZm9yIGBrZXlgIGV4aXN0cywgZWxzZSBgZmFsc2VgLlxuICovXG5mdW5jdGlvbiBzdGFja0hhcyhrZXkpIHtcbiAgcmV0dXJuIHRoaXMuX19kYXRhX18uaGFzKGtleSk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gc3RhY2tIYXM7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL34vbG9kYXNoL19zdGFja0hhcy5qc1xuLy8gbW9kdWxlIGlkID0gMTUyXG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsInZhciBMaXN0Q2FjaGUgPSByZXF1aXJlKCcuL19MaXN0Q2FjaGUnKSxcbiAgICBNYXAgPSByZXF1aXJlKCcuL19NYXAnKSxcbiAgICBNYXBDYWNoZSA9IHJlcXVpcmUoJy4vX01hcENhY2hlJyk7XG5cbi8qKiBVc2VkIGFzIHRoZSBzaXplIHRvIGVuYWJsZSBsYXJnZSBhcnJheSBvcHRpbWl6YXRpb25zLiAqL1xudmFyIExBUkdFX0FSUkFZX1NJWkUgPSAyMDA7XG5cbi8qKlxuICogU2V0cyB0aGUgc3RhY2sgYGtleWAgdG8gYHZhbHVlYC5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQG5hbWUgc2V0XG4gKiBAbWVtYmVyT2YgU3RhY2tcbiAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgdmFsdWUgdG8gc2V0LlxuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gc2V0LlxuICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgc3RhY2sgY2FjaGUgaW5zdGFuY2UuXG4gKi9cbmZ1bmN0aW9uIHN0YWNrU2V0KGtleSwgdmFsdWUpIHtcbiAgdmFyIGRhdGEgPSB0aGlzLl9fZGF0YV9fO1xuICBpZiAoZGF0YSBpbnN0YW5jZW9mIExpc3RDYWNoZSkge1xuICAgIHZhciBwYWlycyA9IGRhdGEuX19kYXRhX187XG4gICAgaWYgKCFNYXAgfHwgKHBhaXJzLmxlbmd0aCA8IExBUkdFX0FSUkFZX1NJWkUgLSAxKSkge1xuICAgICAgcGFpcnMucHVzaChba2V5LCB2YWx1ZV0pO1xuICAgICAgdGhpcy5zaXplID0gKytkYXRhLnNpemU7XG4gICAgICByZXR1cm4gdGhpcztcbiAgICB9XG4gICAgZGF0YSA9IHRoaXMuX19kYXRhX18gPSBuZXcgTWFwQ2FjaGUocGFpcnMpO1xuICB9XG4gIGRhdGEuc2V0KGtleSwgdmFsdWUpO1xuICB0aGlzLnNpemUgPSBkYXRhLnNpemU7XG4gIHJldHVybiB0aGlzO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHN0YWNrU2V0O1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9+L2xvZGFzaC9fc3RhY2tTZXQuanNcbi8vIG1vZHVsZSBpZCA9IDE1M1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiLCJ2YXIgbWVtb2l6ZUNhcHBlZCA9IHJlcXVpcmUoJy4vX21lbW9pemVDYXBwZWQnKTtcblxuLyoqIFVzZWQgdG8gbWF0Y2ggcHJvcGVydHkgbmFtZXMgd2l0aGluIHByb3BlcnR5IHBhdGhzLiAqL1xudmFyIHJlTGVhZGluZ0RvdCA9IC9eXFwuLyxcbiAgICByZVByb3BOYW1lID0gL1teLltcXF1dK3xcXFsoPzooLT9cXGQrKD86XFwuXFxkKyk/KXwoW1wiJ10pKCg/Oig/IVxcMilbXlxcXFxdfFxcXFwuKSo/KVxcMilcXF18KD89KD86XFwufFxcW1xcXSkoPzpcXC58XFxbXFxdfCQpKS9nO1xuXG4vKiogVXNlZCB0byBtYXRjaCBiYWNrc2xhc2hlcyBpbiBwcm9wZXJ0eSBwYXRocy4gKi9cbnZhciByZUVzY2FwZUNoYXIgPSAvXFxcXChcXFxcKT8vZztcblxuLyoqXG4gKiBDb252ZXJ0cyBgc3RyaW5nYCB0byBhIHByb3BlcnR5IHBhdGggYXJyYXkuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7c3RyaW5nfSBzdHJpbmcgVGhlIHN0cmluZyB0byBjb252ZXJ0LlxuICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBwcm9wZXJ0eSBwYXRoIGFycmF5LlxuICovXG52YXIgc3RyaW5nVG9QYXRoID0gbWVtb2l6ZUNhcHBlZChmdW5jdGlvbihzdHJpbmcpIHtcbiAgdmFyIHJlc3VsdCA9IFtdO1xuICBpZiAocmVMZWFkaW5nRG90LnRlc3Qoc3RyaW5nKSkge1xuICAgIHJlc3VsdC5wdXNoKCcnKTtcbiAgfVxuICBzdHJpbmcucmVwbGFjZShyZVByb3BOYW1lLCBmdW5jdGlvbihtYXRjaCwgbnVtYmVyLCBxdW90ZSwgc3RyaW5nKSB7XG4gICAgcmVzdWx0LnB1c2gocXVvdGUgPyBzdHJpbmcucmVwbGFjZShyZUVzY2FwZUNoYXIsICckMScpIDogKG51bWJlciB8fCBtYXRjaCkpO1xuICB9KTtcbiAgcmV0dXJuIHJlc3VsdDtcbn0pO1xuXG5tb2R1bGUuZXhwb3J0cyA9IHN0cmluZ1RvUGF0aDtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vfi9sb2Rhc2gvX3N0cmluZ1RvUGF0aC5qc1xuLy8gbW9kdWxlIGlkID0gMTU0XG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsIi8qKiBVc2VkIGZvciBidWlsdC1pbiBtZXRob2QgcmVmZXJlbmNlcy4gKi9cbnZhciBmdW5jUHJvdG8gPSBGdW5jdGlvbi5wcm90b3R5cGU7XG5cbi8qKiBVc2VkIHRvIHJlc29sdmUgdGhlIGRlY29tcGlsZWQgc291cmNlIG9mIGZ1bmN0aW9ucy4gKi9cbnZhciBmdW5jVG9TdHJpbmcgPSBmdW5jUHJvdG8udG9TdHJpbmc7XG5cbi8qKlxuICogQ29udmVydHMgYGZ1bmNgIHRvIGl0cyBzb3VyY2UgY29kZS5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gY29udmVydC5cbiAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIHNvdXJjZSBjb2RlLlxuICovXG5mdW5jdGlvbiB0b1NvdXJjZShmdW5jKSB7XG4gIGlmIChmdW5jICE9IG51bGwpIHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGZ1bmNUb1N0cmluZy5jYWxsKGZ1bmMpO1xuICAgIH0gY2F0Y2ggKGUpIHt9XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiAoZnVuYyArICcnKTtcbiAgICB9IGNhdGNoIChlKSB7fVxuICB9XG4gIHJldHVybiAnJztcbn1cblxubW9kdWxlLmV4cG9ydHMgPSB0b1NvdXJjZTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vfi9sb2Rhc2gvX3RvU291cmNlLmpzXG4vLyBtb2R1bGUgaWQgPSAxNTVcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwiLyoqXG4gKiBDcmVhdGVzIGEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGB2YWx1ZWAuXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSAyLjQuMFxuICogQGNhdGVnb3J5IFV0aWxcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHJldHVybiBmcm9tIHRoZSBuZXcgZnVuY3Rpb24uXG4gKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBjb25zdGFudCBmdW5jdGlvbi5cbiAqIEBleGFtcGxlXG4gKlxuICogdmFyIG9iamVjdHMgPSBfLnRpbWVzKDIsIF8uY29uc3RhbnQoeyAnYSc6IDEgfSkpO1xuICpcbiAqIGNvbnNvbGUubG9nKG9iamVjdHMpO1xuICogLy8gPT4gW3sgJ2EnOiAxIH0sIHsgJ2EnOiAxIH1dXG4gKlxuICogY29uc29sZS5sb2cob2JqZWN0c1swXSA9PT0gb2JqZWN0c1sxXSk7XG4gKiAvLyA9PiB0cnVlXG4gKi9cbmZ1bmN0aW9uIGNvbnN0YW50KHZhbHVlKSB7XG4gIHJldHVybiBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH07XG59XG5cbm1vZHVsZS5leHBvcnRzID0gY29uc3RhbnQ7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL34vbG9kYXNoL2NvbnN0YW50LmpzXG4vLyBtb2R1bGUgaWQgPSAxNTZcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwidmFyIGJhc2VGbGF0dGVuID0gcmVxdWlyZSgnLi9fYmFzZUZsYXR0ZW4nKTtcblxuLyoqXG4gKiBGbGF0dGVucyBgYXJyYXlgIGEgc2luZ2xlIGxldmVsIGRlZXAuXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSAwLjEuMFxuICogQGNhdGVnb3J5IEFycmF5XG4gKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gZmxhdHRlbi5cbiAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IGZsYXR0ZW5lZCBhcnJheS5cbiAqIEBleGFtcGxlXG4gKlxuICogXy5mbGF0dGVuKFsxLCBbMiwgWzMsIFs0XV0sIDVdXSk7XG4gKiAvLyA9PiBbMSwgMiwgWzMsIFs0XV0sIDVdXG4gKi9cbmZ1bmN0aW9uIGZsYXR0ZW4oYXJyYXkpIHtcbiAgdmFyIGxlbmd0aCA9IGFycmF5ID09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoO1xuICByZXR1cm4gbGVuZ3RoID8gYmFzZUZsYXR0ZW4oYXJyYXksIDEpIDogW107XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZmxhdHRlbjtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vfi9sb2Rhc2gvZmxhdHRlbi5qc1xuLy8gbW9kdWxlIGlkID0gMTU3XG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsInZhciBiYXNlSGFzSW4gPSByZXF1aXJlKCcuL19iYXNlSGFzSW4nKSxcbiAgICBoYXNQYXRoID0gcmVxdWlyZSgnLi9faGFzUGF0aCcpO1xuXG4vKipcbiAqIENoZWNrcyBpZiBgcGF0aGAgaXMgYSBkaXJlY3Qgb3IgaW5oZXJpdGVkIHByb3BlcnR5IG9mIGBvYmplY3RgLlxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgNC4wLjBcbiAqIEBjYXRlZ29yeSBPYmplY3RcbiAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBxdWVyeS5cbiAqIEBwYXJhbSB7QXJyYXl8c3RyaW5nfSBwYXRoIFRoZSBwYXRoIHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGBwYXRoYCBleGlzdHMsIGVsc2UgYGZhbHNlYC5cbiAqIEBleGFtcGxlXG4gKlxuICogdmFyIG9iamVjdCA9IF8uY3JlYXRlKHsgJ2EnOiBfLmNyZWF0ZSh7ICdiJzogMiB9KSB9KTtcbiAqXG4gKiBfLmhhc0luKG9iamVjdCwgJ2EnKTtcbiAqIC8vID0+IHRydWVcbiAqXG4gKiBfLmhhc0luKG9iamVjdCwgJ2EuYicpO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uaGFzSW4ob2JqZWN0LCBbJ2EnLCAnYiddKTtcbiAqIC8vID0+IHRydWVcbiAqXG4gKiBfLmhhc0luKG9iamVjdCwgJ2InKTtcbiAqIC8vID0+IGZhbHNlXG4gKi9cbmZ1bmN0aW9uIGhhc0luKG9iamVjdCwgcGF0aCkge1xuICByZXR1cm4gb2JqZWN0ICE9IG51bGwgJiYgaGFzUGF0aChvYmplY3QsIHBhdGgsIGJhc2VIYXNJbik7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaGFzSW47XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL34vbG9kYXNoL2hhc0luLmpzXG4vLyBtb2R1bGUgaWQgPSAxNThcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwidmFyIGlzQXJyYXlMaWtlID0gcmVxdWlyZSgnLi9pc0FycmF5TGlrZScpLFxuICAgIGlzT2JqZWN0TGlrZSA9IHJlcXVpcmUoJy4vaXNPYmplY3RMaWtlJyk7XG5cbi8qKlxuICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5pc0FycmF5TGlrZWAgZXhjZXB0IHRoYXQgaXQgYWxzbyBjaGVja3MgaWYgYHZhbHVlYFxuICogaXMgYW4gb2JqZWN0LlxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgNC4wLjBcbiAqIEBjYXRlZ29yeSBMYW5nXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGFuIGFycmF5LWxpa2Ugb2JqZWN0LFxuICogIGVsc2UgYGZhbHNlYC5cbiAqIEBleGFtcGxlXG4gKlxuICogXy5pc0FycmF5TGlrZU9iamVjdChbMSwgMiwgM10pO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uaXNBcnJheUxpa2VPYmplY3QoZG9jdW1lbnQuYm9keS5jaGlsZHJlbik7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc0FycmF5TGlrZU9iamVjdCgnYWJjJyk7XG4gKiAvLyA9PiBmYWxzZVxuICpcbiAqIF8uaXNBcnJheUxpa2VPYmplY3QoXy5ub29wKTtcbiAqIC8vID0+IGZhbHNlXG4gKi9cbmZ1bmN0aW9uIGlzQXJyYXlMaWtlT2JqZWN0KHZhbHVlKSB7XG4gIHJldHVybiBpc09iamVjdExpa2UodmFsdWUpICYmIGlzQXJyYXlMaWtlKHZhbHVlKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBpc0FycmF5TGlrZU9iamVjdDtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vfi9sb2Rhc2gvaXNBcnJheUxpa2VPYmplY3QuanNcbi8vIG1vZHVsZSBpZCA9IDE1OVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiLCJ2YXIgYmFzZUdldFRhZyA9IHJlcXVpcmUoJy4vX2Jhc2VHZXRUYWcnKSxcbiAgICBnZXRQcm90b3R5cGUgPSByZXF1aXJlKCcuL19nZXRQcm90b3R5cGUnKSxcbiAgICBpc09iamVjdExpa2UgPSByZXF1aXJlKCcuL2lzT2JqZWN0TGlrZScpO1xuXG4vKiogYE9iamVjdCN0b1N0cmluZ2AgcmVzdWx0IHJlZmVyZW5jZXMuICovXG52YXIgb2JqZWN0VGFnID0gJ1tvYmplY3QgT2JqZWN0XSc7XG5cbi8qKiBVc2VkIGZvciBidWlsdC1pbiBtZXRob2QgcmVmZXJlbmNlcy4gKi9cbnZhciBmdW5jUHJvdG8gPSBGdW5jdGlvbi5wcm90b3R5cGUsXG4gICAgb2JqZWN0UHJvdG8gPSBPYmplY3QucHJvdG90eXBlO1xuXG4vKiogVXNlZCB0byByZXNvbHZlIHRoZSBkZWNvbXBpbGVkIHNvdXJjZSBvZiBmdW5jdGlvbnMuICovXG52YXIgZnVuY1RvU3RyaW5nID0gZnVuY1Byb3RvLnRvU3RyaW5nO1xuXG4vKiogVXNlZCB0byBjaGVjayBvYmplY3RzIGZvciBvd24gcHJvcGVydGllcy4gKi9cbnZhciBoYXNPd25Qcm9wZXJ0eSA9IG9iamVjdFByb3RvLmhhc093blByb3BlcnR5O1xuXG4vKiogVXNlZCB0byBpbmZlciB0aGUgYE9iamVjdGAgY29uc3RydWN0b3IuICovXG52YXIgb2JqZWN0Q3RvclN0cmluZyA9IGZ1bmNUb1N0cmluZy5jYWxsKE9iamVjdCk7XG5cbi8qKlxuICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgYSBwbGFpbiBvYmplY3QsIHRoYXQgaXMsIGFuIG9iamVjdCBjcmVhdGVkIGJ5IHRoZVxuICogYE9iamVjdGAgY29uc3RydWN0b3Igb3Igb25lIHdpdGggYSBgW1tQcm90b3R5cGVdXWAgb2YgYG51bGxgLlxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgMC44LjBcbiAqIEBjYXRlZ29yeSBMYW5nXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgcGxhaW4gb2JqZWN0LCBlbHNlIGBmYWxzZWAuXG4gKiBAZXhhbXBsZVxuICpcbiAqIGZ1bmN0aW9uIEZvbygpIHtcbiAqICAgdGhpcy5hID0gMTtcbiAqIH1cbiAqXG4gKiBfLmlzUGxhaW5PYmplY3QobmV3IEZvbyk7XG4gKiAvLyA9PiBmYWxzZVxuICpcbiAqIF8uaXNQbGFpbk9iamVjdChbMSwgMiwgM10pO1xuICogLy8gPT4gZmFsc2VcbiAqXG4gKiBfLmlzUGxhaW5PYmplY3QoeyAneCc6IDAsICd5JzogMCB9KTtcbiAqIC8vID0+IHRydWVcbiAqXG4gKiBfLmlzUGxhaW5PYmplY3QoT2JqZWN0LmNyZWF0ZShudWxsKSk7XG4gKiAvLyA9PiB0cnVlXG4gKi9cbmZ1bmN0aW9uIGlzUGxhaW5PYmplY3QodmFsdWUpIHtcbiAgaWYgKCFpc09iamVjdExpa2UodmFsdWUpIHx8IGJhc2VHZXRUYWcodmFsdWUpICE9IG9iamVjdFRhZykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICB2YXIgcHJvdG8gPSBnZXRQcm90b3R5cGUodmFsdWUpO1xuICBpZiAocHJvdG8gPT09IG51bGwpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICB2YXIgQ3RvciA9IGhhc093blByb3BlcnR5LmNhbGwocHJvdG8sICdjb25zdHJ1Y3RvcicpICYmIHByb3RvLmNvbnN0cnVjdG9yO1xuICByZXR1cm4gdHlwZW9mIEN0b3IgPT0gJ2Z1bmN0aW9uJyAmJiBDdG9yIGluc3RhbmNlb2YgQ3RvciAmJlxuICAgIGZ1bmNUb1N0cmluZy5jYWxsKEN0b3IpID09IG9iamVjdEN0b3JTdHJpbmc7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaXNQbGFpbk9iamVjdDtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vfi9sb2Rhc2gvaXNQbGFpbk9iamVjdC5qc1xuLy8gbW9kdWxlIGlkID0gMTYwXG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsInZhciBNYXBDYWNoZSA9IHJlcXVpcmUoJy4vX01hcENhY2hlJyk7XG5cbi8qKiBFcnJvciBtZXNzYWdlIGNvbnN0YW50cy4gKi9cbnZhciBGVU5DX0VSUk9SX1RFWFQgPSAnRXhwZWN0ZWQgYSBmdW5jdGlvbic7XG5cbi8qKlxuICogQ3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQgbWVtb2l6ZXMgdGhlIHJlc3VsdCBvZiBgZnVuY2AuIElmIGByZXNvbHZlcmAgaXNcbiAqIHByb3ZpZGVkLCBpdCBkZXRlcm1pbmVzIHRoZSBjYWNoZSBrZXkgZm9yIHN0b3JpbmcgdGhlIHJlc3VsdCBiYXNlZCBvbiB0aGVcbiAqIGFyZ3VtZW50cyBwcm92aWRlZCB0byB0aGUgbWVtb2l6ZWQgZnVuY3Rpb24uIEJ5IGRlZmF1bHQsIHRoZSBmaXJzdCBhcmd1bWVudFxuICogcHJvdmlkZWQgdG8gdGhlIG1lbW9pemVkIGZ1bmN0aW9uIGlzIHVzZWQgYXMgdGhlIG1hcCBjYWNoZSBrZXkuIFRoZSBgZnVuY2BcbiAqIGlzIGludm9rZWQgd2l0aCB0aGUgYHRoaXNgIGJpbmRpbmcgb2YgdGhlIG1lbW9pemVkIGZ1bmN0aW9uLlxuICpcbiAqICoqTm90ZToqKiBUaGUgY2FjaGUgaXMgZXhwb3NlZCBhcyB0aGUgYGNhY2hlYCBwcm9wZXJ0eSBvbiB0aGUgbWVtb2l6ZWRcbiAqIGZ1bmN0aW9uLiBJdHMgY3JlYXRpb24gbWF5IGJlIGN1c3RvbWl6ZWQgYnkgcmVwbGFjaW5nIHRoZSBgXy5tZW1vaXplLkNhY2hlYFxuICogY29uc3RydWN0b3Igd2l0aCBvbmUgd2hvc2UgaW5zdGFuY2VzIGltcGxlbWVudCB0aGVcbiAqIFtgTWFwYF0oaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNy4wLyNzZWMtcHJvcGVydGllcy1vZi10aGUtbWFwLXByb3RvdHlwZS1vYmplY3QpXG4gKiBtZXRob2QgaW50ZXJmYWNlIG9mIGBjbGVhcmAsIGBkZWxldGVgLCBgZ2V0YCwgYGhhc2AsIGFuZCBgc2V0YC5cbiAqXG4gKiBAc3RhdGljXG4gKiBAbWVtYmVyT2YgX1xuICogQHNpbmNlIDAuMS4wXG4gKiBAY2F0ZWdvcnkgRnVuY3Rpb25cbiAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGhhdmUgaXRzIG91dHB1dCBtZW1vaXplZC5cbiAqIEBwYXJhbSB7RnVuY3Rpb259IFtyZXNvbHZlcl0gVGhlIGZ1bmN0aW9uIHRvIHJlc29sdmUgdGhlIGNhY2hlIGtleS5cbiAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IG1lbW9pemVkIGZ1bmN0aW9uLlxuICogQGV4YW1wbGVcbiAqXG4gKiB2YXIgb2JqZWN0ID0geyAnYSc6IDEsICdiJzogMiB9O1xuICogdmFyIG90aGVyID0geyAnYyc6IDMsICdkJzogNCB9O1xuICpcbiAqIHZhciB2YWx1ZXMgPSBfLm1lbW9pemUoXy52YWx1ZXMpO1xuICogdmFsdWVzKG9iamVjdCk7XG4gKiAvLyA9PiBbMSwgMl1cbiAqXG4gKiB2YWx1ZXMob3RoZXIpO1xuICogLy8gPT4gWzMsIDRdXG4gKlxuICogb2JqZWN0LmEgPSAyO1xuICogdmFsdWVzKG9iamVjdCk7XG4gKiAvLyA9PiBbMSwgMl1cbiAqXG4gKiAvLyBNb2RpZnkgdGhlIHJlc3VsdCBjYWNoZS5cbiAqIHZhbHVlcy5jYWNoZS5zZXQob2JqZWN0LCBbJ2EnLCAnYiddKTtcbiAqIHZhbHVlcyhvYmplY3QpO1xuICogLy8gPT4gWydhJywgJ2InXVxuICpcbiAqIC8vIFJlcGxhY2UgYF8ubWVtb2l6ZS5DYWNoZWAuXG4gKiBfLm1lbW9pemUuQ2FjaGUgPSBXZWFrTWFwO1xuICovXG5mdW5jdGlvbiBtZW1vaXplKGZ1bmMsIHJlc29sdmVyKSB7XG4gIGlmICh0eXBlb2YgZnVuYyAhPSAnZnVuY3Rpb24nIHx8IChyZXNvbHZlciAhPSBudWxsICYmIHR5cGVvZiByZXNvbHZlciAhPSAnZnVuY3Rpb24nKSkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoRlVOQ19FUlJPUl9URVhUKTtcbiAgfVxuICB2YXIgbWVtb2l6ZWQgPSBmdW5jdGlvbigpIHtcbiAgICB2YXIgYXJncyA9IGFyZ3VtZW50cyxcbiAgICAgICAga2V5ID0gcmVzb2x2ZXIgPyByZXNvbHZlci5hcHBseSh0aGlzLCBhcmdzKSA6IGFyZ3NbMF0sXG4gICAgICAgIGNhY2hlID0gbWVtb2l6ZWQuY2FjaGU7XG5cbiAgICBpZiAoY2FjaGUuaGFzKGtleSkpIHtcbiAgICAgIHJldHVybiBjYWNoZS5nZXQoa2V5KTtcbiAgICB9XG4gICAgdmFyIHJlc3VsdCA9IGZ1bmMuYXBwbHkodGhpcywgYXJncyk7XG4gICAgbWVtb2l6ZWQuY2FjaGUgPSBjYWNoZS5zZXQoa2V5LCByZXN1bHQpIHx8IGNhY2hlO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH07XG4gIG1lbW9pemVkLmNhY2hlID0gbmV3IChtZW1vaXplLkNhY2hlIHx8IE1hcENhY2hlKTtcbiAgcmV0dXJuIG1lbW9pemVkO1xufVxuXG4vLyBFeHBvc2UgYE1hcENhY2hlYC5cbm1lbW9pemUuQ2FjaGUgPSBNYXBDYWNoZTtcblxubW9kdWxlLmV4cG9ydHMgPSBtZW1vaXplO1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9+L2xvZGFzaC9tZW1vaXplLmpzXG4vLyBtb2R1bGUgaWQgPSAxNjFcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwidmFyIGJhc2VQaWNrID0gcmVxdWlyZSgnLi9fYmFzZVBpY2snKSxcbiAgICBmbGF0UmVzdCA9IHJlcXVpcmUoJy4vX2ZsYXRSZXN0Jyk7XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBvYmplY3QgY29tcG9zZWQgb2YgdGhlIHBpY2tlZCBgb2JqZWN0YCBwcm9wZXJ0aWVzLlxuICpcbiAqIEBzdGF0aWNcbiAqIEBzaW5jZSAwLjEuMFxuICogQG1lbWJlck9mIF9cbiAqIEBjYXRlZ29yeSBPYmplY3RcbiAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIHNvdXJjZSBvYmplY3QuXG4gKiBAcGFyYW0gey4uLihzdHJpbmd8c3RyaW5nW10pfSBbcGF0aHNdIFRoZSBwcm9wZXJ0eSBwYXRocyB0byBwaWNrLlxuICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgbmV3IG9iamVjdC5cbiAqIEBleGFtcGxlXG4gKlxuICogdmFyIG9iamVjdCA9IHsgJ2EnOiAxLCAnYic6ICcyJywgJ2MnOiAzIH07XG4gKlxuICogXy5waWNrKG9iamVjdCwgWydhJywgJ2MnXSk7XG4gKiAvLyA9PiB7ICdhJzogMSwgJ2MnOiAzIH1cbiAqL1xudmFyIHBpY2sgPSBmbGF0UmVzdChmdW5jdGlvbihvYmplY3QsIHBhdGhzKSB7XG4gIHJldHVybiBvYmplY3QgPT0gbnVsbCA/IHt9IDogYmFzZVBpY2sob2JqZWN0LCBwYXRocyk7XG59KTtcblxubW9kdWxlLmV4cG9ydHMgPSBwaWNrO1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9+L2xvZGFzaC9waWNrLmpzXG4vLyBtb2R1bGUgaWQgPSAxNjJcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwiLyoqXG4gKiBUaGlzIG1ldGhvZCByZXR1cm5zIGBmYWxzZWAuXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSA0LjEzLjBcbiAqIEBjYXRlZ29yeSBVdGlsXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgZmFsc2VgLlxuICogQGV4YW1wbGVcbiAqXG4gKiBfLnRpbWVzKDIsIF8uc3R1YkZhbHNlKTtcbiAqIC8vID0+IFtmYWxzZSwgZmFsc2VdXG4gKi9cbmZ1bmN0aW9uIHN0dWJGYWxzZSgpIHtcbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHN0dWJGYWxzZTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vfi9sb2Rhc2gvc3R1YkZhbHNlLmpzXG4vLyBtb2R1bGUgaWQgPSAxNjNcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwidmFyIGNvcHlPYmplY3QgPSByZXF1aXJlKCcuL19jb3B5T2JqZWN0JyksXG4gICAga2V5c0luID0gcmVxdWlyZSgnLi9rZXlzSW4nKTtcblxuLyoqXG4gKiBDb252ZXJ0cyBgdmFsdWVgIHRvIGEgcGxhaW4gb2JqZWN0IGZsYXR0ZW5pbmcgaW5oZXJpdGVkIGVudW1lcmFibGUgc3RyaW5nXG4gKiBrZXllZCBwcm9wZXJ0aWVzIG9mIGB2YWx1ZWAgdG8gb3duIHByb3BlcnRpZXMgb2YgdGhlIHBsYWluIG9iamVjdC5cbiAqXG4gKiBAc3RhdGljXG4gKiBAbWVtYmVyT2YgX1xuICogQHNpbmNlIDMuMC4wXG4gKiBAY2F0ZWdvcnkgTGFuZ1xuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY29udmVydC5cbiAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIGNvbnZlcnRlZCBwbGFpbiBvYmplY3QuXG4gKiBAZXhhbXBsZVxuICpcbiAqIGZ1bmN0aW9uIEZvbygpIHtcbiAqICAgdGhpcy5iID0gMjtcbiAqIH1cbiAqXG4gKiBGb28ucHJvdG90eXBlLmMgPSAzO1xuICpcbiAqIF8uYXNzaWduKHsgJ2EnOiAxIH0sIG5ldyBGb28pO1xuICogLy8gPT4geyAnYSc6IDEsICdiJzogMiB9XG4gKlxuICogXy5hc3NpZ24oeyAnYSc6IDEgfSwgXy50b1BsYWluT2JqZWN0KG5ldyBGb28pKTtcbiAqIC8vID0+IHsgJ2EnOiAxLCAnYic6IDIsICdjJzogMyB9XG4gKi9cbmZ1bmN0aW9uIHRvUGxhaW5PYmplY3QodmFsdWUpIHtcbiAgcmV0dXJuIGNvcHlPYmplY3QodmFsdWUsIGtleXNJbih2YWx1ZSkpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHRvUGxhaW5PYmplY3Q7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL34vbG9kYXNoL3RvUGxhaW5PYmplY3QuanNcbi8vIG1vZHVsZSBpZCA9IDE2NFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiLCJ2YXIgYmFzZVRvU3RyaW5nID0gcmVxdWlyZSgnLi9fYmFzZVRvU3RyaW5nJyk7XG5cbi8qKlxuICogQ29udmVydHMgYHZhbHVlYCB0byBhIHN0cmluZy4gQW4gZW1wdHkgc3RyaW5nIGlzIHJldHVybmVkIGZvciBgbnVsbGBcbiAqIGFuZCBgdW5kZWZpbmVkYCB2YWx1ZXMuIFRoZSBzaWduIG9mIGAtMGAgaXMgcHJlc2VydmVkLlxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgNC4wLjBcbiAqIEBjYXRlZ29yeSBMYW5nXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjb252ZXJ0LlxuICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgY29udmVydGVkIHN0cmluZy5cbiAqIEBleGFtcGxlXG4gKlxuICogXy50b1N0cmluZyhudWxsKTtcbiAqIC8vID0+ICcnXG4gKlxuICogXy50b1N0cmluZygtMCk7XG4gKiAvLyA9PiAnLTAnXG4gKlxuICogXy50b1N0cmluZyhbMSwgMiwgM10pO1xuICogLy8gPT4gJzEsMiwzJ1xuICovXG5mdW5jdGlvbiB0b1N0cmluZyh2YWx1ZSkge1xuICByZXR1cm4gdmFsdWUgPT0gbnVsbCA/ICcnIDogYmFzZVRvU3RyaW5nKHZhbHVlKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSB0b1N0cmluZztcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vfi9sb2Rhc2gvdG9TdHJpbmcuanNcbi8vIG1vZHVsZSBpZCA9IDE2NVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9 \ No newline at end of file diff --git a/barcode_capturing_sale_purchase/static/src/js/sale_barcode.js b/barcode_capturing_sale_purchase/static/src/js/sale_barcode.js new file mode 100644 index 000000000..9c5ad57d1 --- /dev/null +++ b/barcode_capturing_sale_purchase/static/src/js/sale_barcode.js @@ -0,0 +1,114 @@ +odoo.define('barcode_capturing_sale_purchase.sale_barcode', function (require) { + var Widget= require('web.Widget'); + var widgetRegistry = require('web.widget_registry'); + var FieldManagerMixin = require('web.FieldManagerMixin'); + const Dialog = require('web.Dialog'); + var core = require('web.core'); + const _t = core._t; + var rpc = require('web.rpc'); + var beep = new Audio('/barcode_capturing_sale_purchase/static/src/audio/beep_scan.mp3'); + + var SaleOrderBarcode = Widget.extend(FieldManagerMixin, { + init: function (parent, model, context) { + this._super(parent); + FieldManagerMixin.init.call(this); + this._super.apply(this, arguments); + document.addEventListener('click', this._onClickGlobal.bind(this)); + }, + /** + * Function will be executed when the barcode icon is clicked from the sale form view and camera is opened to scan the barcode + * through camera. + * + * @param {ev} it contains the target when mouse is clicked and it checks in function if barcode icon is clicked. + */ + _onClickGlobal(ev){ + var self = this; + var target = ev.target; + if(target.id == 'sale_barcode_btn'){ + var video = document.createElement('video'); + video.setAttribute('id', 'barcode_id') + navigator.mediaDevices.getUserMedia({ video: true }) + .then(function (stream) { + video.srcObject = stream; + video.play(); + const dialog = new Dialog(this, { + title: 'Barcode Scanner', + buttons: + [{ + text: _t('close'), classes: 'btn-primary', close: true, click: function () { + Quagga.stop(); + dialog.close(); + var tracks = video.srcObject.getTracks(); + tracks.forEach(function(track) { + track.stop(); + }); + } + }], + size: 'medium', + $content: video, + }); + dialog.open(); + Quagga.init({ + inputStream : { + name : "Live", + type : "LiveStream", + constraints: { + video: { + facingMode: { + exact: "environment" + } + } + }, + numOfWorkers : navigator.hardwareConcurrency, + target : video + + }, + decoder: { + readers : ['code_128_reader'] + } + }, + function(err){ + if(err){ + console.log(err); + return + } + Quagga.start(); + + } + ); + var last_result=[]; + Quagga.onDetected(function(result){ + var last_code = result.codeResult.code; + last_result.push(last_code); + last_result=[]; + beep.play(); + Quagga.stop(); + dialog.close(); + var tracks = video.srcObject.getTracks(); + tracks.forEach(function(track) { + track.stop(); + }); + if(self.__parentedParent){ + var key = Object.keys(self.__parentedParent.allFieldWidgets)[0]; + order_id = self.__parentedParent.allFieldWidgets[key][0].res_id + } + else{ + return; + } + rpc.query({model: "sale.order", method: "barcode_search", args: [[last_code, order_id]] + }) + .then(function (data) { + if(data == true){ + alert("Product with the scanned Barcode Not Found in the system") + return; + } + }); + }); + }); + } + }, +}); +widgetRegistry.add( + 'sale_barcode', SaleOrderBarcode +); +}); diff --git a/barcode_capturing_sale_purchase/views/assets.xml b/barcode_capturing_sale_purchase/views/assets.xml new file mode 100644 index 000000000..3b8706dfa --- /dev/null +++ b/barcode_capturing_sale_purchase/views/assets.xml @@ -0,0 +1,12 @@ + + + +