From 4748684edb0c7fe667e44ebf5693f3b9fdd25a6e Mon Sep 17 00:00:00 2001 From: 0YuanZhang0 <953963890@qq.com> Date: Wed, 16 Oct 2019 11:35:01 +0800 Subject: [PATCH] update d-net (#3591) * Remove KD scripts * Add ERNIE2.0 service * Update server * Update MTL * Update README.md * Update README.md for MTL * Update README.md --- PaddleNLP/Research/MRQA2019-D-NET/README.md | 47 +- .../MRQA2019-D-NET/images/D-NET_framework.png | Bin 218931 -> 393289 bytes .../MRQA2019-D-NET/images/D-NET_server.png | Bin 0 -> 80320 bytes .../knowledge_distillation/README.md | 61 --- .../data/input/input.md | 1 - .../data/output/output.md | 1 - .../data/pretrain_model/pretrain_model.md | 1 - .../data/saved_models/saved_models.md | 1 - .../knowledge_distillation/model/bert.py | 227 -------- .../model/bert_model.py | 106 ---- .../knowledge_distillation/model/mlm_net.py | 95 ---- .../knowledge_distillation/model/mrqa_net.py | 122 ----- .../reader/joint_reader.py | 109 ---- .../reader/mlm_reader.py | 290 ---------- .../reader/mrqa_distill_reader.py | 105 ---- .../knowledge_distillation/run_distill.sh | 47 -- .../knowledge_distillation/run_evaluation.sh | 50 -- .../knowledge_distillation/train.py | 515 ------------------ .../wget_models_and_data.sh | 33 -- .../multi_task_learning/README.md | 98 ++-- .../multi_task_learning/run_build_palm.sh | 1 - .../multi_task_learning/wget_models.sh | 7 - .../wget_pretrained_model.sh | 4 + .../Research/MRQA2019-D-NET/server/README.md | 54 +- .../server/bert_server/bert_model.py | 93 ---- .../server/bert_server/model_wrapper.py | 2 - .../server/bert_server/mrc_model.py | 70 --- .../pdnlp/module/transformer_encoder.py.old | 351 ------------ .../server/bert_server/reader.py | 88 --- .../server/bert_server/start.sh | 5 +- .../server/bert_server/start_service.py | 6 +- .../MRQA2019-D-NET/server/client/client.py | 43 ++ .../MRQA2019-D-NET/server/client/demo.txt | 10 + .../server/ernie_server/model_wrapper.py | 136 +++++ .../server/ernie_server/mrc_service.py | 189 +++++++ .../ernie_server/pdnlp}/__init__.py | 0 .../server/ernie_server/pdnlp/__main__.py | 9 + .../ernie_server/pdnlp/algorithm}/__init__.py | 0 .../ernie_server/pdnlp/algorithm/multitask.py | 119 ++++ .../pdnlp/algorithm}/optimization.py | 2 +- .../ernie_server/pdnlp/extension}/__init__.py | 0 .../ernie_server/pdnlp/extension}/fp16.py | 0 .../ernie_server/pdnlp/module/__init__.py | 2 + .../pdnlp/module}/transformer_encoder.py | 1 - .../ernie_server/pdnlp/nets}/__init__.py | 0 .../pdnlp/nets}/bert.py | 0 .../ernie_server/pdnlp/toolkit/__init__.py | 2 + .../ernie_server/pdnlp/toolkit}/configure.py | 17 +- .../ernie_server/pdnlp/toolkit}/init.py | 0 .../pdnlp/toolkit}/placeholder.py | 20 +- .../server/ernie_server/start.sh | 6 + .../server/ernie_server/start_service.py | 40 ++ .../ernie_server/task_reader/__init__.py | 0 .../ernie_server/task_reader}/batching.py | 1 - .../ernie_server/task_reader/mrqa_infer.py} | 302 +++------- .../ernie_server/task_reader}/tokenization.py | 5 +- .../MRQA2019-D-NET/server/main_server.py | 47 +- .../Research/MRQA2019-D-NET/server/start.sh | 29 +- .../server/wget_server_inference_model.sh | 5 +- .../server/xlnet_server/serve.py | 6 +- .../xlnet_server/{serve.sh => start.sh} | 5 +- 61 files changed, 835 insertions(+), 2751 deletions(-) create mode 100644 PaddleNLP/Research/MRQA2019-D-NET/images/D-NET_server.png delete mode 100644 PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/README.md delete mode 100644 PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/data/input/input.md delete mode 100644 PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/data/output/output.md delete mode 100644 PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/data/pretrain_model/pretrain_model.md delete mode 100644 PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/data/saved_models/saved_models.md delete mode 100644 PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/model/bert.py delete mode 100644 PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/model/bert_model.py delete mode 100644 PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/model/mlm_net.py delete mode 100644 PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/model/mrqa_net.py delete mode 100644 PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/reader/joint_reader.py delete mode 100644 PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/reader/mlm_reader.py delete mode 100644 PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/reader/mrqa_distill_reader.py delete mode 100755 PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/run_distill.sh delete mode 100755 PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/run_evaluation.sh delete mode 100755 PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/train.py delete mode 100755 PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/wget_models_and_data.sh delete mode 100755 PaddleNLP/Research/MRQA2019-D-NET/multi_task_learning/wget_models.sh create mode 100755 PaddleNLP/Research/MRQA2019-D-NET/multi_task_learning/wget_pretrained_model.sh delete mode 100644 PaddleNLP/Research/MRQA2019-D-NET/server/bert_server/bert_model.py delete mode 100644 PaddleNLP/Research/MRQA2019-D-NET/server/bert_server/mrc_model.py delete mode 100644 PaddleNLP/Research/MRQA2019-D-NET/server/bert_server/pdnlp/module/transformer_encoder.py.old delete mode 100644 PaddleNLP/Research/MRQA2019-D-NET/server/bert_server/reader.py create mode 100644 PaddleNLP/Research/MRQA2019-D-NET/server/client/client.py create mode 100644 PaddleNLP/Research/MRQA2019-D-NET/server/client/demo.txt create mode 100644 PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/model_wrapper.py create mode 100644 PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/mrc_service.py rename PaddleNLP/Research/MRQA2019-D-NET/{knowledge_distillation/model => server/ernie_server/pdnlp}/__init__.py (100%) create mode 100644 PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/pdnlp/__main__.py rename PaddleNLP/Research/MRQA2019-D-NET/{knowledge_distillation/optimizer => server/ernie_server/pdnlp/algorithm}/__init__.py (100%) create mode 100644 PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/pdnlp/algorithm/multitask.py rename PaddleNLP/Research/MRQA2019-D-NET/{knowledge_distillation/optimizer => server/ernie_server/pdnlp/algorithm}/optimization.py (98%) rename PaddleNLP/Research/MRQA2019-D-NET/{knowledge_distillation/reader => server/ernie_server/pdnlp/extension}/__init__.py (100%) rename PaddleNLP/Research/MRQA2019-D-NET/{knowledge_distillation/utils => server/ernie_server/pdnlp/extension}/fp16.py (100%) create mode 100644 PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/pdnlp/module/__init__.py rename PaddleNLP/Research/MRQA2019-D-NET/{knowledge_distillation/model => server/ernie_server/pdnlp/module}/transformer_encoder.py (99%) rename PaddleNLP/Research/MRQA2019-D-NET/{knowledge_distillation/utils => server/ernie_server/pdnlp/nets}/__init__.py (100%) rename PaddleNLP/Research/MRQA2019-D-NET/server/{bert_server => ernie_server/pdnlp/nets}/bert.py (100%) create mode 100644 PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/pdnlp/toolkit/__init__.py rename PaddleNLP/Research/MRQA2019-D-NET/{knowledge_distillation/utils => server/ernie_server/pdnlp/toolkit}/configure.py (89%) rename PaddleNLP/Research/MRQA2019-D-NET/{knowledge_distillation/utils => server/ernie_server/pdnlp/toolkit}/init.py (100%) rename PaddleNLP/Research/MRQA2019-D-NET/{knowledge_distillation/utils => server/ernie_server/pdnlp/toolkit}/placeholder.py (73%) create mode 100755 PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/start.sh create mode 100644 PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/start_service.py create mode 100644 PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/task_reader/__init__.py rename PaddleNLP/Research/MRQA2019-D-NET/{knowledge_distillation/utils => server/ernie_server/task_reader}/batching.py (99%) rename PaddleNLP/Research/MRQA2019-D-NET/{knowledge_distillation/reader/mrqa_reader.py => server/ernie_server/task_reader/mrqa_infer.py} (76%) rename PaddleNLP/Research/MRQA2019-D-NET/{knowledge_distillation/utils => server/ernie_server/task_reader}/tokenization.py (99%) rename PaddleNLP/Research/MRQA2019-D-NET/server/xlnet_server/{serve.sh => start.sh} (59%) diff --git a/PaddleNLP/Research/MRQA2019-D-NET/README.md b/PaddleNLP/Research/MRQA2019-D-NET/README.md index 71ff25c8..97d6c147 100644 --- a/PaddleNLP/Research/MRQA2019-D-NET/README.md +++ b/PaddleNLP/Research/MRQA2019-D-NET/README.md @@ -1,24 +1,49 @@ # D-NET ## Introduction -D-NET is the system Baidu submitted for MRQA (Machine Reading for Question Answering) 2019 Shared Task that focused on generalization of machine reading comprehension (MRC) models. Our system is built on a framework of pre-training and fine-tuning. The techniques of pre-trained language models, multi-task learning and knowledge distillation are employed to improve the generalization of MRC models and the experimental results show the effectiveness of these strategies. Our system is ranked at top 1 of all the participants in terms of averaged F1 score. Additionally, we won the first place for 10 of the 12 test sets and the second place for the other two in terms of F1 scores. +D-NET is a simple pre-training and fine-tuning framework that Baidu used for the MRQA (Machine Reading for Question Answering) 2019 Shared Task, which focused on the generalization of machine reading comprehension (MRC) models. Our system is ranked at top 1 of all the participants in terms of the averaged F1 score. Additionally, we won the first place for 10 of the 12 test sets and the second place for the other two in terms of F1 scores. + +In this repository, we release the related code, data and model parametrs which have been used in the D-NET framework. ## Framework +An overview of the D-NET framework is shown in the figure below. To improve the generalization capability of a MRC system, we use mainly two techniques, i.e. **multi-task learning (MTL)** and **ensemble of multiple pre-trained models**.

-### D-NET includes 3 parts: -#### multi_task_learning -We use PaddlePaddle PALM multi-task learning library [Link](https://github.com/PaddlePaddle/PALM) to train single model for MRQA 2019 Shared Task. - -#### knowledge_distillation -Model ensemble can improve the generalization of MRC models, we leverage the technique of distillation to ensemble multiple models into a single model, and no loss of accuracy, distillation solves the problem of slow inference process and reduce the use of a huge amount of resource. - -#### server -MRQA2019 submission environment with baidu bert inference model and xlnet inference model. - +#### Multi-task learning +In addition to the MRC task, we further introduce several auxiliary tasks in the fine-tuning stage to learn more general language representations. Specifically, we have the following auxiliary tasks: + + - Unsupervised Task: masked Language Model + - Supervised Tasks: + - natural language inference + - paragraph ranking + +We use the [PALM](https://github.com/PaddlePaddle/PALM) multi-task learning library based on [PaddlePaddle](https://www.paddlepaddle.org.cn/) in our experiments, which makes the implementation of new tasks and pre-trained models much easier than from scratch. To train the MRQA data sets with MTL, please refer to the instructions [here](multi_task_learning) (under `multi_task_learning/`). + +#### Ensemble of multiple pre-trained models +In our experiments, we found that the ensemble system based on different pre-trained models shows better generalization capability than the system that based on the single ones. In this repository, we provide the parameters of 3 models that are fine-tuned on the MRQA in-domain data, based on ERNIE2.0, XL-NET and BERT, respectively. The ensemble of these models are implemented as servers. Please refer the instructions [here](server) (under `server/`) for more detials. + +## Directory structure +``` +├── multi_task_learning/ # scripts for multi-task learning +│ ├── configs/ # PALM config files +│ ├── scripts/ # auxiliary scripts +│ ├── wget_pretrained_model.sh # download pretrained model +│ ├── wget_data.sh # download data for MTL +│ ├── run_build_palm.sh # MLT preparation +│ ├── run_evaluation.sh # evaluation +│ ├── run_multi_task.sh # start MTL training +├── server/ # scripts for the ensemble of multiple pretrained models +│ ├── ernie_server/ # ERNIE mdoel server +│ ├── xlnet_server/ # XL-NET mdoel server +│ ├── bert_server/ # BERT mdoel server +│ ├── main_server.py # main server scripts for ensemble +│ ├── client/ # client scripts which read examples and make requests +│ ├── wget_server_inference_model.sh # script for downlowding model parameters +│ ├── start.sh # script for launching all the servers +``` ## Copyright and License Copyright 2019 Baidu.com, Inc. All Rights Reserved Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. diff --git a/PaddleNLP/Research/MRQA2019-D-NET/images/D-NET_framework.png b/PaddleNLP/Research/MRQA2019-D-NET/images/D-NET_framework.png index b414224d708c5e0a258a7cba38db223496eec143..9965b5ee31202c69030362a8a164b7c6c6c5586b 100644 GIT binary patch literal 393289 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 Xyp?ql)n~F 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%0D_O_qH39X>et*F2`s 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 z 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

rl&8IQs(2UPhr31nEi`a4AsTP#!}X7U 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%0DTkjgLbcri zu9AAvTJr|0_!VB=jORp$9;$f@ndfI_UaaGyfr7cbkZLNA4RQYZ_V<-n%U>C;`CWcU+R#^nI2MHX=Bc2!d z5TPCveN8>NSe=RDd%K6bR6kuSM2!7(twZjF&e9-?5kFy*@C*_<$Znv2O{-yByS72? zQy;;Tx*{NV*Q;CLVu&n6K7a)Kjow?w_dZDctv>8KJDdNa1V~uDD3ta62AzPR@< zb+Qvtc#$@fN2@`+p}VQ5EuLOuWPWUGBp3rYjWj8^&h>Afe;^Sr1Z)M~GENG`Yf-O6 z-B59&eWu6IeHa~1*sK)=Hs>_SJ=fwZf*aQsUWQc$WUf@xk!D+Li{IP)4vm^--s`hS z`B($a*{7P=6I30pex4)%4jUxI@j$H(QP@ESZG2`7=+QKO6m1C`8$I2}Kii6EqXI2- zLWLnyNQFzvpB1Z&cLtjQ5Lc{6oe2-ZDe$E=k1PdvSvw1$i9>-2N%#H*%OC9i_6iRU zmJ$2sU0wil{<)fz&l|FS3jAfQ9(7^*7WUts*J9U0+pq)JoG^B9gimgGx<8;DZ$=25 zqdD2}tk6NKt8_Nm@`1}sq$NfTB!!|F{<*8hyf36J>;Zl=vwDyF@YFI6)9vgjjlFz&b7kNxN>c*a)StKbwLnbx|dLjk}ba-3Q4> zA9XS?SEG*#9K!7>#I!oiMRADL5}JdV@5E%X>LhCthDCwC#fmsv@FFkvriIu+7{Tdj z#~@+htB-Z5PHO9nZhBe3%RwlM#!HprHNq0sIgQ_LJ^F`?!bc);b;z+p+B97WH}ag* zPQ2=3o=HVh6CfK*y@3+f@wc>|2SZ5$lg-%T+rJc!5e^*Ka`Jn*uc3-5?}B}rpr$M9nCXLw(=+(dx&={?`}){0A)-g zv1Kq}wc*}F<+Jyn$UL5iS1NgzBnenOAKvfa?0Y}$r2BUYS}-c$2XnnQ%xxlbLvL1C zB5uA$I{+l@2jD(R9c-47;e7<6Wbh4HNxp4w+4QmV8 z01nLaL2kL@{lFlKb6KLD$#3-&5V1EDOZAz%!#(N*z2^yB-fyIVA8tBJ%7cga9=fw}Yx08b$Ig3CI4moD~GEZTvtU&T0^}(I;njZ#n z76_y8{>iO7x&!i3h&uuG9=lGNfq&DZJ#dG|vS?(|HcnOjA&o8b=q|B!Xx#h`b` zcbG}lznAM*99Uq9gVzY{+mVVkP&1_wbjgT{_WXI2zL1Mg!@ZG8A4i-UUIYAAu$-#$ znvOnRMdaM}@2@#6R)Xm_SbA%8Ev`MLDZyPLrQ4auEh4p8pT}WAJ5&L+Cf2Q84g)~l z?>1!QsSV9+H)$^7re-trI@_bm=3;_s07Bw0&BWJvujeZrXmrfxJhP7^Gi}wdJsX^b zUBPe!MKtDIMto>?n&W`EDxTET&{svEPq|hz8cI^KFJ%jPY z3P!hm5bZ7$|LHmYm#eFiMu6^I=_f13oL@Dnrbs0EHqU14AAMB;fS62`Xr^v!e82j4 zr&@RM_hfE!Tr&y$H(^T^2g1~uctu8M!BeVy5ALrVm*T)IZM!@2(_5T=L_yT2+ezbPXTNL$OfgfTJwQqVCIz^1c8x<2Gh2pf?ygZ$%iQ{swRT* zXEx)y{93Z6S~d$ho^AG>xT9?`ifxHq#hCJM;w(_KHpEY&80A+{vnE;!<8YV3epV{2 z^5y3%OL{F9&zGG8y5u!KV>wirX!<&95%VWHkM#dgZgFB$DDSqkWI5Z&N_s5|7W)rq z?oiS^qsyB3%DQ%4H6hR#4r2cM_oa`77GWq7TY&$3iU0mqC5y17gMQt-{iU*4z`?On z+d`w5UzExg#+s?zN3NNxFh8%a{H!T(OalcEO7OSRCD=z4=C&|KN6!tnU#L+5?27}& zwC;0qD!^?cv{o$5KU2EP&mc~mvC1Noht5O%os~>U#$iCQ_Yi0z#4YC`dH)MQZOoC= zGRqWL1w6z8wF62AhL#34#BU+|No_K+ZkF?<^tCdie2fx(11E0;Yn0+nHJg6NPY~OC zhO%=iZBg(lxif1t_z!Sxm`+MT_uot?`V<6QEF|}QRJ3n4IPIHgd)9R%%Qocp=tXZB z2-t30p=4Ko6 zM3*mU)H5%+pITP4y=Xyiu8?&soFZEkkFK+Ze`mFa6v)2VSp0ip2x|ho>d*P%n1Ndd zA6BiOJeI}r_$@x+XdmIOa9g{}ddirCfg6K7-?h-M9dYR^JW%=BO2Hc7LLJ;|0T??{AdWGSetlQ(@xB|7juq1&GNI#0rby%8U~T)W`NmGQL;8{L#uZWw5xI$+-Tk*V#KaPc z6!(s;@9F$k9gr>+^7`O#L96n_Zczuxz=k3E&e;%lG%?JCYP`DNN3WVuTeJl5SMpI8 z|NE1=*zBSmgAwnn>h(Iu&s1b1x8J&yY10;ey{EDM(8fSGf2{>Ou|@C@aTps7cD~(j z<-e(gqKB%^O^k)YjZ-ya(aL`Tp0n?s9pkp~jjy74Jy;B;yq&&fG&##_7K5-kBlT=w zr5SsFqVJnpvF^Xt)GVHTzwPM%upQvfXnjV`dX?qk5d-Wq*gTsEpJFwG9YdC?*__JP z@r|Mw5l@%_G6%Hs;GPKQvID$Z_IxJ>`d-h=dF{!cyQzT@!&XL==wenjZ$FZgI-#GE zJMy@~&3!%mkcC-#!xv#r%q52nu1LyPUTh}(o}DnwPI)Jv{@7N7_egA}kEftNEe6MX2#r=V{r@<%pQxEYc1NE}Ca@#_~Xm75ZB zX)$r1`4XpbW=GR;?~Ooq&*-BWbM4%d*$bz3Dp(sz|KhF?*Xo1p3_3&$+jvcn&6ykU zG-)W(p0?a&!PRXr;#=AF@E_?9FiNjhvEv4`vGE;@4)12cHUVO939+L7VuvJv1IrgY z5R-*{OwaB=ou`jv&=NZW=gA!2`%>K{hpu#-6yFPlTGZuhbw#r-8QAbgjxjO%%_<8+ zgLIyHA5&u(b+nPA@uR1#cWVrm6LlZ7k@~KAL z8+?`i1~oiwsofCr@0}*XvOEry4ip^F1lwime;ONEbB<>E;}I@+l^tlJH>IgMT~bZZ@_)|7q-l^qU0abdj59~tF zYBR$Hb0+De@bA85V(@#AFq>uDn|evIl9{t0ZgOMjA|q8-gzkB3!oA;udD#pT;V&*V z;^{vWu)J_K$EERP`ngTWw2wJFm!R6TFTi7UmYo7i9J=PlqxRANG0Jg>!ib5^t>eM+ z=PPIY=?bH48|dBzDFp{Vrxi&BfR<(=OFFuS6Si7m&T$j+{j~e=4Z$gz{;L_O%Y>Lg zK`l@ff$+2JC~8!n5LsHMD{}_Uwra;g1>P?aHTIsN zzJb^1!`S$0ECnAhu||kO01<*cr^==ZY^>3tkw%;4YoFE0F}}h?yLG7MsiM$S!@MN& zK-*B>Ckc3!td#?VehKt?NIO*o0s^6R8MIyzrs{p)zc^03+F8&W zLX4px42Cpo>OXu=a$z8}RVKl$x9fFnQ^bzQwvC4)3W_}Xxbm(%6qlX;Nesz6my%ED z*6Zdidh{x-2d3g=>dB8XYIOp8&7M(Xh{2eSP7AG=n1%9Yo@(IyCbvzTg|NlS7vX^e z97bMvsz#ZRErF`aBL=fWV=FLNQi?)MDeZ~5Vx@bkANO_|S_jwYRII)8jZL4pmn3a64^c>mm4I+TU- zbk@ia7GglwC~q_W%=QzaqloSxSZLjNCf?c*z@vEAV!nkuq}Q_FltI^WJCxU^X5lhQ zMRBHNnLQ%xATm_Wr(oEBm}0xZEWTngCUNzbS<39V3KgdRv}gt0lf_J}x}#R^Xo3;E z9efOeu~!`y`BdM|3RiP1%+syN0-nk|jU{!-(EgW{{V^qsZ;c-#P0Pg`2eof_9HWPh3)d$hPE$n6e7wxkS1tFNVX`=^#0wwGsZ|LZyb~naqI$|An)I z3orP|t@+!IqU!qD1)EHk54G$N-LTvWQDpRh0Ky5&TRtk@<01aobF3n+asb)&fq(!( zDZBrGORxm&^p&!Qs~P>D=dOY69qL|6vG+j^NR9`6bunC73LKgjMppHEcZe|@@y@`r z*$7Ek0I&Zb;gjxhVZt-23heNkWSEf<*m<&4jehP4c+&(RRIlKGxXJ9cVQnqgAMAK- z#f-Qq!rz*SxgOpaw&#s@4hagP57Iz9et^nkiK01L%?esXDnJhn$@O~R5IKUg7*Bx# z+j2@V?mqQ|q;^kw`P`p;sf6w>AKB-KzN_$)wxE#Y@L^dvYZtHv7wvoQ`m#L3KP$66 zS;o^mO9Zz57Aa>tdTSegIQ2Or56&;6mT->ag^Q065MNYNj`^>Xnk^`aNU)E+MIVlCNH{t=q zt)(*_uiQJTgKzWVVj_PL!n2Tdn+Dh&z~iQ@%I&D0;}AuSa@-8?9vSYLOg2JezTnu=ujwMOD2q0^)Rif@c6d z&wX9lh!#;irF%pHZi)uVR`4EBeHSf{33yii%AdrwlzMo&=_>Gg4=`+D{j>EtS(_im zCVet^pSRypymEy7(JmH@S-8bpos>wW)MaBDD4|b5T4z;1*UFeiHu_O&j4L4X(8_A5 z3?O^SoAgGVQlN?hRE!Bx9F4fjm4`LObES=U*YqxfM{_PKx^c6S4XwV;H$Fmrt>zIt z@#Q?+bQ%uxUlcjE)b&+YE}S^12;abPEJlOZJJn)l!T&-l z;nX$L90=;H?h^1TK)$-&)*Y^kZTw8{gk}Ryd9*T?Q8iy5I1BH?-vr6{#`g3GuHmq* z5Y^lC*w_s3>DF#yj$uDpyCUQ-&rwHswDA{l z75#Uf*y&>8ivtPADA{w;xSr{(7ah?e=R=NQYZB3hJw8~OsvKzr?tLfYpN``E)D$fK z81wxZKPe#;kq!`UgH}$cDJTW>GR82`Ery0Wmh>cBEnD4_M8%6aSNDT#D;n2bD4rGFNiwGJhbxW3o!Ia8ygJI!xNVHgkOOa>EBO;>O95~{ zipKtP1Io5E(&*%FDHsLK_piiA0Mf9)CxzRD9i<6nqK#N`$_z18s-qwQ?+na&+}e*HAVk`FPn<5qGx^i<;ko^ z&Mu|4ifCD9JMSw`-m~ld_z3F?KRwVU<)}_V`sxY~c zZUPwSR$9-rCSn0AAQ-(5U6qv+HE*ynloT0`j6XKfAxQqFMz&AtP4_0fVXl%DO(VvI zz{*9K3}snw7VGFwHib(-xM}D&zN-53H#Lg*(e@AXr@Bc|kA{6w(Hd-(b5jT$dOzC! z!zk|MT^W;q6`^QkQb#j+uvfoGL>Kbi@vl1xxxp_OZ%myvcdb7v1WN8m{@CBdIR+)S z%&&gh>#cs+)g== zs1oE)=Bt)-c`G#-CiPC?%CGAIc>>F$H_GO&qa6vNx&yn`rGX+v-pz$&OBp87X@bE; z(3%mKJ3M)#C-BitPh!f#c&I+d6UvPr52y>WgBs!|weCKgb@l>HYk=y;e+*1J2~iIq zsags@AiVPGi2K`TH9qfV%v1??wQGF-JjRM%q8ARAf{GJAL_bi_shPdr`MXIYqg#Tg z4<9shqZ3u zf3V^zYpB|-E>CuH>Ev&7^KX&J|9&J&z!bw2h9!O(0W0>sQNAMi1Pj`3BvMHFLw%4> zzi-^RWGnNV#dZDdkcZ+=U-g!hLv_F~Uu@H+Yl|CM!;!JEbk?(0xd8~qWo*+#EaWCJ z=hOgxL}>1tHv3fOxemG6(}12KZ4nLjn%w#8%cIdDfy|tNl>%B47J^r?n8`W-jY93| zq{D~`P3fCBFhM>Zjg~EzBy^8Gwu{hGU7`2PPn-cI(Ey4YVq+gyuD9yR=z(U~yI*z; zRKbC6qp|&&=7^uAe1DesG@}o}Mp6PSw_bPNr=gw1$iwdpVhu-F6bMJE>)wSf@LtxxypGcgk+iy z^bP8oclsAb^5U{_jzqU3ZJF$mK(XcL$t`N{Te+AYEI^7xX0>@SdC-bnev_yRyEA%@ z;S-i4(*1VezTg1UM6S*F4j2WyRH}cYs&{IY)*1_gGIoEr1`{gt4*vEJC50XY!)k(y z1Z7ICqD8@Tt)h*_6zG%w{64JgV@#pxgU9bDXtA|)xu{NyGkl%#<*L&Bdu z$V12{j%np11F0{lb~mZ5j;&T`8Ztc?^Z?sp_+Nf#kg-U)xlN7`O&TGDP&&riSM!){ zX+?-3I;^0p1=F-Ns0b1w{1+VB=ApZKlb&JA<0xHl^)o zf%{eYv6zp9zzy)HePdRHg+TV-ucewz6h7;pkWf?ceVSBFd&I~oF*WT}Eg53mg~s$| zz3l>%8G}9+nI+kaI^^o^i24x>H}9IL4wK~wQ-1;=13jf0{Ht0@PGv8&01V;XbqS%m z-?&576q-cu!tb{p(@u%^^Un=Icr%kcAFw1dCyyp6&9f>}a8u;``^c~ws4qLT9!ZAd z-GNVW0z|DBoxz|5YlX>A68OF+;}ZT5s=M->+r)@WCxcLbb_AnoclSz_NcN-eggV`q zO)DWjafd<(x=fHENTkL>c;rL=!WNbe`YY$JPTwh*I zOFLa+MO=%wcU14$nRBb>sZp!{e^|BqN00EI zxgQvehQQ8j)_I&*&&1I%smqO}QAg;^m79O=jux6=G1y5T0Unm3p694~n;D;USzeeq zdM)3#enW2T!Sps@9xZaxlBV-fQ^tnqs?kuC7^x>+0A^TpntWE?;21MWB$F4mG)VLQe1Vmp&gAbO{jar_dk^ z^%eL)_$Ps(@HDls!$wdlQeFPCyNb^9#JW;(0tcCraG3-0CpIb|I{l6nF>GkpS$PNP z0G}|117p+1Wa3HPbx75x^g=;-#u}|xhXz&oY7d{mdi_a^m{2-4MPr2mlLwIGE)MEEPIpBC=33&rV2PSr@CSunFpz@We|fkeswcmX{9 z`m2}?ZVnQw{%w1MC>62EJ)$0?fqrXM_)}e{Zy~-GxXbSgIN1fKM9J06c3~sJ&VC>} zGzxhBqH9DH=If-HXu2Y?60XVh2j%@i@M-ZKT<}rLY=D|-p@0kOIFT}G;t&P3>!d8r zZtlR379C0rLJ1=)O1NiXQnv@Ol;d>WP-m03!f`?(Zy&0}!3A%=l`7LO*2(z$R1D+rs);hMYj@VFBoh((;5iYF+rD(ooc5e1%|4DQN`M^abQ_$gn|miG z#_nq`E1D)wXGD&V`taW!m{xJ2K5y&d5`$Zee6bF^EBvW1|LFffExcb)tnV?MSkDQ| z!P3fcCUe8^)eJ56O*1T^BsfF6jw8!Go`W1i=H@2k2cxz>D@Z*=A-rFc# zEG#;?wxFz^!p9v8OrPI7C-%6N4FwRw*F|&&Km6VW*-RTDSG@U5EQro~%^N*B;7OPU zxEb=Bw68qu2c%Sk_UqV4r#<(6-LRj~=YO%Olf6x1d`8FKE;)gRBorFuvF)g#zq6iy z6&K@Y)Iu6&E%{xLKb~fW5)GSgQv;m2L>;6$VS}*Ur|i)BcE~xGh}681->*AyT9(C# z=^P6nzm7>LS#&T$k3%PTS53YNO}Zq=&`Ab|g1)Po|B`^uT0lVzaljM8@9Zb)k@Ovm zRA6ke1>nQSseVzyk*Lo02a`dxYC;5;PBRmw^q)h>N+%y{q6YFqX2`!S86a+Mp3UcA zqn23q)~cWAp@l+#y#>%qxWkRtD4~Ti#rN=MnRJe|8{DAzCev{5xCHl%B@sRO*m`uo zSU0DT2$d_Gw?7UQy^JexfRM|D0+)p5b9MZ93-(HYGR7$hXJLG#P~vx+iRQ=_Iu`h? zIDS%k0+q4RF|cXukc~owtLJujUIu!OU_n9GP~<=~e}GRCc7DR@icEnm{f2R! zFV{GptU|xRRrrm9%*0?qnlN&XLKzMNHg*z=p1m`aV+$Sa=&J8uUGyO-EYPls5`UrE zmuKRdTx##(Nup;3-kS4da#>c7FG(z7Fl+#4gtTFebc`+Fd80Ct@Qw0UC2gGF?@x+T zKUBLVF3ZtKjS-%7>@#6hz?2cFwVwW=w#p4(ci!yF_?>jFBL^?#x7jID6X|o&_s+O# z*Nq>~$);-{D$@va?(~;1nckg9@#THF1_EWXN{^YTaPSd;;Y=CtA!H1fp;Wh$vKBio zo>_FCa$c4Q8&n-EwcA)4!YuYsNSb^ZAqPVle|;(Lx!CuBN5|x=1Zq=9GjXI@%;(m6 zWicD!FMl7bzSCLY2u}BHo`fia^OdC~eEW1M;0VKs*58pUNSUZ0falujyaRG3){My6 z%}i;NW)I#4MnEcH^xo?EX$H$-iywq{DB!^Gb6>d^p z6bMtDQG6}2#TG147XMRfZKZ@wna-*A;Qci5B#Oy z>YAc`{Amr9A2a1>`Pw(n$r_>^QRZBDf7va&vVS=J%hGmZdtH~i_}`A`pZ>QR_Y5Bt z)CaUxj_s7XQD?_8H(~xwA6Ot?9kJ8)XFw)r@lS!sfn zmy!2QA+&9Z0-jw(`#Tlebnjk>l1+^p$Jxp$8RqR4MAu{pqvyh+T=*EV4HT1xE8>9mR}7TeK1qgdeDLyw-_2iybp zQcoYtZ?d(=#udX130$NAc0#criUv|TH(Jx6@SlO2uxjl6_4ci!ZD=m3&lvH>@lit- zH{0&A8?dDuE4z!v3SR&;^Z}}(B6+e)ku`w@JU3j$022}J-ySw=53Y{9Xkl(UF9?>f zpexGyX|icEaSWkA^Ql>;h9q#x0|i%XHZjgV4F$MBCb)>Cl+$<17W-AZGKkODF6Rl$ zsii4RuYyUFVt%vE_}flF!ZB=-Vf4YSAcAR{KY)QYayr5U1-}?qZU_=2VHzZi>YJ|U z88KiD@?|%kj|tIlkyttU5;a?D)NP+=)$9IxgM`f?=gVR5#*jC8iHv|g9Dmc89sucL zz1(UT#taK}xGraWC%FEoOZ$ce`X?FR|D>~MC!UXuj2jPsl^$`+6)CQ{I~h(a-W=oM z+h0l?>+nVpqRx{fb&5&c+F4!UnBMYI%KpXe!^RupV>MwWBa9%TlaF1ud5_ z+ZJb78X2xL*_wcgD`~q48u5i21n=HX+sg&eA%<+zf9~VV=6LwU)zA|fnqD^OfVAUa ztwtaPcrav@OEf|JDPmqO?KxUM9% z5L>wBizgp;f-;o@Vrz&_lO2*;wrOCHGK-oCO8IoM|GS+2EXvV$!zIb3=| ziu*Onw}|mSbuXCN&J(o)EssNik#0l{Kzn+7ukNmt>g-UimWf94;H|!_VIz!&t>w#f zd#HnjCNhPsGurirbGV!aJ+b~-n4aNleO-6OEH;GKBp(?&7)~$9oD^wh&Gw`ciwAH4zv3qj3FjHN)^ z7h4YID#HC87Qi))l{C;6w)-P&O&-a-XZ=F;R)~RZKe!0Y0f{ zYPpnnhi?oQi=)Q2lX9$%Xz!U7St1#`5g`XQB`bDlX@ixO?!0wF1b`xA)MtMi^J6;Ot(7bg2 zL*X7G!~VvIbaQjPD(aTx*!>W!&xIlI+W{B|K6crYmY_WJ?$*kPe5P~VSqtPX=TSTi z2ySn!#qq}oj`7HDmkUKmYVf=Kj_lh4ETd~?gd=Z;i64TEOPN~KEFgPO=|S3l+R7Q| zAXb9&XIZ&)te$Hh^bu~Ks*~8ny9HF`9!cslxlC{xJxzdz;naghU#ShH|40pEqq$I# zGqB}h4pwD@t4@VUzTzVON=rN6)G;d0pVfCn*J}C9#aD)^f#91W5!M|?FZ|n_6w@?W zqf*!|iGamQ=pI6<^YLRl)?}^n9pf*$Z zI*Kt1;7@U3(A?u%Q=H(Z#zWgNU@b&=N80b!abVsp7D9%7Ud0e2Jn47_L zM5)eHpfU=dnD>w7d?^%)zpv)i-{k!ltyG;UwwMTcxnT~Zo}w|TuM&C5KxioEaeoj# zKz5j0Ml}ZBUZ4?taRxEb* zI4j3yeV%Mhov<+QkU8$xHHIx_{cw7h;xb0+L!-}LiovU+l8s|9-=NGbHSj?d=ms-SdioQ!ron#=}O=HnDqUa|LghlwJh64Vovn(nv1S$;8$+eb^_}folFyT0$a04C0bCs+J@Jtb5+su z2$L3nyn5k$+v`X_*&6`egz^n<6_3A0NnfTON+yOi&lqarvu?4`Z!CMC%UYMtUeZz) zM%6@mvsWT6b~Duxui!W8dtm*2)rMQeQTTek&Jh>6>BgS*MY%;$oPeK{z9K2vlZ3QGQK(@ofqZ!bnVco0p_na zqbcCuloy<9#jk#StZn-6A)jf(9@^XrsMGWZ#1Fx`)4 ze>7PXJsR=(guOQ7w<*;%?x=}tld$4;MP}~6h^QgCDX3oNEHt<7V-V`At*NrqDbHva z#=4#_2o-sT|IO+oW`tch|K%d=TtQyf9Wf%9aIhd z@Yj!R6UUL3B}NiPk_>5Ggor%JY=}LQG8368HoN`>=aG0|A(Z8FHg{v5U*HTuO>l4z zVUcl-{l=LWtPD2908p}O46fVTd`I{B3N?MC&cLt3-Jy>-19e}PCO#;n)RLbSAb8JzJZli>p$_Hd58M5TWfQ@#Kg57zj9^VQB-5r z3(11yW|$-y2xc?v5(tO9h51qvWcsi;&OxurF)`csFuv-bw8>rltj7>043Y|!fMDTL zQs7OijM1W#PQPS-7a+L#6z2Kns;Itu8FF<@+>YySy(*C-r`ltZR&^$tXq2=-7lvd9 z4=$k;1}^G3oqowmG}=2fD)%Ct-HpW~6rD19iLdEE4@ZSVlkR`ufh=@Knf8CrTV{*n96 z9ZUaS`st!mOdICWF1OYGuw~9`Ed0&vU{Drjd3wIy0VZa?1T@Z!uw zuWMv;%$vEZYF2c+gW>g6d0Bx7ChH2m}!%9>>EqO3B{^u zKabl*5v$As=Ck*Jq&CrVcHlq){XLQiRVpc0vvN}AmO>h!>^rs0MYdlsxL+ba&`k+t_{_$QHSVTG6hQ$1{M3d%`6YC=mLU(Z=EAiJ=~nE=EL*nepsk( z@TJ1OwdF*0zYVY#s7^@uBR0ReYG1YP|4~xRbG$QM-C>Mndz5)cqzjI0^AWQ}@9o%Y zI3tx?lhn5BrgKx%(aRS4QrNKzfF?RI7v$6r<@6`*0jd9T4)|X(sg4nuo16O+m2CW{ zsHmvfYfMrB+=BxJFAA01{eP6{P(fLn8t9T;MI*AQZ$4bI#TaQsB78vtY$EqT%Lf)M zv%_MvDh<}v>ZXlIJn+&{wbj{r9#kL)oA_fipYVd3NC~$v*0nelA{(>0qsag2DD?T9 z*5|DTAl#n{ZL}=LfH@vVj&=witrnd}K7QV8lHmrtgTn701&(#YrE&{(9eulUZE(t! z5X17Z26SMtgI>@F7m?R1r4Eg^Jee9;@goe?uTsJZjAJ=v zn;geH^G=B}$jSIBYQT?lH#~YOH^~LF!sJ>MCu>8iFUNA#9&PceEu;_bedm#GE6C`~ zxNRz9zxKkur~16F`Htt4-!ijmHu`4t?5{_UpHGD$^$!7k#kLnnr1yZrePXO0rx6Y@ zQ%+A+9N1s=2=ANNpxO=cy}}V+D)!RkkD1nKlmQc|DX)59soQdY;sW*&ATm*Qg>lJ< zYsAvX`_Xg~@?&YQDsVdp&o7jqQ-o!7Vd60gmS6vh-YSm(Z*=7CzGyB zYA@Fyef&INS|yStOreU2jE_n~sb_Z5i}$?>WgPrkn%QDqj?a?;l#|dE{3|6tjt%?z zk53m=gNBFI>m2Qp7okKpmWUsZw4ha1vrc1rBooeuN$k`vj7V|>)m+jH2i-$TKz$nB z!XN=yDdm|dshz(`e|K;pc6V?P1e|Rv3S!3xvBhYzzAd+`hpQZV)k8;cZlw@ZbjQDh z-2^0QK+R$}wbNyYDGHk;?@f|ejQ0D11Gd5Hp6{iQTt^yoq~JQFCop%k#tsamwxyC< zW@MW)B@njCYJ?d=yG;Jay+Dl`u4+YU|K$p*KXofuxafByr^&z9Vj$W;=(@C62DXBY zQ;{tx0}R+#j_1FvsNo-KtBS%h*V_XJ&+O$cUO*AWv91Q<`UhpT1bC zL4skoVEWUz;3GQ~<`$Sp|NEP7^{)$=81hSey78Vj;R#z5J$_EQKM#sNH`uwGiK8pP zTbk1X)u5YSW_}t}=O5+vGh~BfV9#k{*Tp+Hb6fbcY@Kwpsgw5ASw-jSXNaN^u67d$ z9{QaouQRClY~^bj-FhZHD4DuhIVl-UVh5^6%r`PdiN?vP&k|x1-EQ}FTg4bLj%OC& zNz<}MR#`k+2tuxWq0S0k)1u8=Eu6!fi`HLOVXMRM$?$*~?}`@zluKv8-p<%d(R!Y4 z&94ooSx_?^az*zqmlSnSGddt*Fg1@ zMG=YOMFB)0#-w)G?e_rF-N{}VhaOjKZQZNWVQ`U-(l(#ESEO{Zm$h}Aa2Z+*X@EYa zvcIcEmBq%FW~EIMa=8qJx;$^fKO3ez3N398mkJ&=zYUDy0`7R`0B}4!Jf1UPA<%Re3}_Ngw{+*S~pe>x$Mpt zjd~C%w6BupT=@6gv?Hwcjx`!z>_6BlZdtSiEb=nXF}%ERVw-T!Kbq`OkL7hyn9E`q z0)^p=xTKH$7x=gmFc?V@UE3?w=b5md<*q1_JeoPP%;kED-3f#jzpAM0=IQSrn;P*% zrH1t7`Yj#ZP*S6n*Uo@upnE|6p$qBBU~!ExY%s+?c!1{Ha6~meTtjVc(Es{13Wv_T zQU57)UTc*899n(59J}WH<(U3RX^i%5E<{R1l6w=7Op0-Ch9XW>RhpB2k%jM87;mZ^ z2BStc(2bfC;TYO}0C}5wiW?%W7Anxt(RbsYBN^x>)X!!Y>^K* zr&`FjBxeV%mB~xV3XU{7M;T`fQ;vM7p;l8A|y`U#;bvGGkqmW32+xnapBUKo7iNE+ToZn;J`IDm zbqrE~nseC8SRZVQTdJA+y-WVE68ert7z-~H`_e9kdM86?$3hQW?qoAehRpHN3F57V zMjH_Oul(JcEpDPF(+3#yZr4AgP~Q-2niHUfzfj&*A7aqA5jG>0p15IKU3>d6ax3D? z1xY#bvLAPizh3g?+$iiK>-m@w3rF|vn&_``7I5$_gIT?<TGq`mc86)u>;le{ z5hU1%pX+kLzE1kg0c|13`gKo%pZ;y^;I@FWi5`HZx$7cQNeuc;`REeB0D%Se{pe4;yu_Pr zbQYOBNb8dLBUQsL%UK>5?IE&Tx#q9x%I@F%5__1s!LjX~y+nv4P4*Po6w$RpS%`pXDKw}RBcJn(&5k%y z@g$)?zcqLG1>uH!Q?%loC6%pqcKD3KRdWK{^^P(hs5dS(^ZaTo)Ck}pyk+9AeSckd zJ@Lir*MceLLH&=f(i)Lc84GRO+v+iMS31yJ_a7}Z1vy+7XvDCct4gTfW5;hOGG^d* zgl@@!Jg5kqob2zskKG%Fp}2Cut*6v{s1ooM1^6WR9Q}+y&Z~sBoxE-Rg@kSz?~ZNr-uRtJG{GT-6LvT81)r!bKSI>#i0hA}NGXo5 zp{sRZVOw5}ormFIdgTM<*u=kQG@<2n28(#P199=HgoyhM1{O||ysRbtoKZ+66@LPH zq2i(F?FCR|?+Z2=4AyoZ{|Q zyhw3q@fIm=3GVKtNO8A9p%e&Ew0J3AoI-I84kvwn^1bJs@0|R>%sm-0bML*^TGv{8 zt?RN?of0A5JCCrHQFweIy7Pp18blcBXdP+^0RqN1e}(HwQMEm@MOjdRvSyNCc4{Jh=m1!H_7b@xU;)ZOlCph62Ec zqEH}gies$Ka(mJT2qB)S;pNpfFjnR1Y1AJ!KWi zNa?`_JtUjOzaA*jjDv(lzEfn~eLr&+iZ69;W@GNA1CymmB3In;tmVRyf}Zyx$ZM%Z$NK z>0o_T{JT3HRBzeA` z82(Isz$b@RjjBS7j|Ny5(r7#R@BX+4x0XtLW8~jgk{7~oCdzVc?c@n(_}KnlF{;;o zi8b^L*~uU4+Jh3M^WldkU78=u*kji|%*ZRE?|C;7|~n%Hl|Ux5R)X2S$g=nHk3 zFf52YM#IvBX*aH*2u6{yK`pD|Dl}9k6SPm$Hu|FLR zI|S>7z5EDaC$lwlvIs?6zv*qLudx}#{*x3FofWpfSbFVycvEl@`k>Hvy-v#BKL?hvC(4kuR+7&6H#=Qt1mV$xHnyEQi>8)9Mdd} z^k#HrVaE;A-ci4w8BiYRX=8u$b#&h~0i6+p(e~|B+UE+uJEph@ADkJ@+^oU7LO*5!-B6XqD^tqt zfBB2iu!K1kUVOM`o4hMGZyA1wy1_dLToTS+kS6W%ERou7KdY8j6|H~i;#gkO+%bk^ zrixg3Gpg*YvU+E9>pMucKc8vwyQa%BLJi}V={M1z-1@`@tr-8R08clXD|r>A3g|WD z&+76IOh(+|{O^~4qIn}eWhX@uY;hop_qW_fZ++qw6a_^i?Q-PQUhUt0xd{9?rho}> z*RpA?IC^##=|#j~VdPic5x+)#z&dX;HS^u?&H8oOghcEC;;$n$dPEY+?$_Zwj&}~iS#y;$-!Ww1 zzlqM+ZOl*L_(N>PY(|({}!F=l2$DX?0Bj4RHwVTw-x=mqz`8)2#`P!*2X<{lL| zL?d4T6-!FzsfBE4`v)JA=Z`;7RlCG1#4+nwnz?tTK)ltR41731K?KYQ zIgENzl9LGF$#ca(mt=hEP&%cyTV1lEsx_-%}n~;Hn|> z$V41YNc5CzhB++_BpZHtq2o8=sgj#y5v5kd<2}7CZNAeqO(8=3xA^wAe3Ax*9u5(v zJZ0^9f3c#E)+`NQ8_bdB4DWZw6``6az4<7KGd{SKI;-0~AJ|9aL(mi4aTBs3nDYI! zWXLuc*l^mr;ZhpY>t|eE-?E1CdPT7w3xRel-cly}?U|^Shk~ySBif!fZp+*QR`$ia zlG1M(r3(%ryOwcEHMk#lwx8mlI!TP_sZ%F0T2t5^`YW6CfRq;%%!wTeps$>Dzs-DS zC_P*>d22f>R@04lCq=-*#*s9Gl>)pU;{syg51!djKN(7d##%>3&AqK1c2kexOv70h z;mt_0YbQ?5{|<3I#!8Ujy z<`n(xCL!+$nKvT(PxvQoB+cZU2kL!gjhaeTxk{lLtV4KFGR(JmBmkJ^^$=jOC z-Tj)S2Wv=3m)^&>9S@p55yaUrdPyL@#%S4=#){|y8M`amNsUIxbb zXsf2QkPzHSw>!3q)DL1$BmYRMc0B$z{Y;Lk#fkcUj{xTdYtiPz0nTqK78ATFB-^{K zJKt})VkY!%9P-D`ul#t(W*T!Mv(Pol3VntZUUQql&^RbP=>`pdUJ?x*4jtpLC!an7 zTQi#gU>mj(vq~?v^nFhrr4d7cAa0M$O)F{@wnl9u(aL!~RY3ZU1XV*D z{JclI%cK~99G=CiL9C-+H`;Mc#U7z2Bt|Uw;m7Xnx1nr9$>V=Mr$XI7b6qw97IzXF zZko!-!rHKg=rRRhVtk6+9 z;B7H_seuIdugB$9qH2RKU7IS{>fhQNaP|Mexl@oX0xDAP$7{1Qm3-v3+SI5|a7xGD zA|ZOWoGG6la4Ew3L%s2NS3u-Nj{T18%QL};h0w{@3$ZrBrI3PAA}Qs`?dsgia#`w$ zpaj34zrKchW^|gqq%+6!OmJj93lW6}v~!F4Oqp1D6l#eC(DM{X^|>8!G&8o4BXak} zv3{x+ODf2K8%=3Jf?io#X^zo>Lv56y8SCJXRk=%NEtwDJPku5XdOj?ied|E=|20pb z^2Jw{{Y1V~Yg_?K1_yInd;?D}L{&uZj3X@%wMA2k z32zin6hy*OT^6lGm1|(FzYZ4R$O=3DN0R4FEd_}F%lAi%eE6aDN3t@CPhp=b+Xiv| z++VC9n^7z`{@&)t3uG)4BBRfo3^-{62f;HoXYNvZ`|0H6^X|;=uX6)lI8%_m70&c{ zCGFio2M=X~bW2QIyY^qfCIduE8m&_$N3xc9Aamc_vhw%-)&6z-f*vZH2WDhI@Hsv$ z!P5z?ek!U~l$^GAEIzBeEBTvN$;IwHk_5ZbYN-#ZP6VkVd&kFSBeUg)oM|S9B1s61 z{tSc2=6KbDk#ZMlXh~PhDR?%ldt9^cXZ4=-Hye{fl7j-7{`lv9R_V6h*%HacCQF^) zNcI*MtNP()`Jq2cg|a^_lvs7mUSC6+d-ljQHHf}LOOPm-^|UHBKBsML`<}dl1&Voq z(yqJ32z?errop%TqYPs-(&S#hl6oYZ2~?v`uaxX#pioM6e4a0VLFKm= zNaSc*mD&aDWhzx`F%NuA^IY1A94MlXzbk}0 zJwTR}!>5CxG9y33$S{|VM zq9YnL;uG;Yx&w*pG9{)$JfO}hUg(wpA(NeOwe=~J@ArJ@gFJx&iW_TICFRXaJo4+;kAIKIB>@r|qAzW}*SwZi7{A8te-&J#jjfE{y^;CG3jhgiF z*WdI?3YlJ&G_M4`E&N+ZD6go%l)jlvw58L}{n7KLu){3Hw%xm~!pqNQh6T0W#p>hf zM7KQpd);R~WZCofjccZAR)lj?MpnMYpE;B%AvMk_`LWUQ>u{6Q?=RJ8?{k;HmREgr zBfaPzv61JYIfkEYk@L*vF=zB08Dy&6p&XDeBLchDdHiJ~Ss#Kz9{)Q4RZKs@6H28d znEN@2Ia8MoCrj2M;(li&e%6ZfdD^O;=<{fPh?ue>eO`9>E?42AVXUqU$Kqg>-=wgag-YhL{v;*cTB?ML9KA? zPo}g37#LgD?k`Cfk<$)WP@ZDgWHkLAX^a&g7LP+!r+`?(HfS@6{wuGY+k${nlH$&j z*hKvj|5um;@*H z!b3ntu|_}UwCYJWa>`K(7T&2PPtUO$>CJyG%+o8n2)ie$kT6c|oDE8Dkm(6ZT(-+c z&+eWEk#MkzQ7`dSSeU-=Kxax|8-GqDk!C59wGORSmO&2#9oys&@N0^GtZl5jQ+vMp)}J;5K=~Sce5vmt?y(?odTrO-1?NQAlW!sW0-z3p6M0$iIl%EZ=_`p zVGlR1$YrcM! z5EK$Bc|aiNmrcQO4vZ0|l#~WEZ<1U#tU_tAN6D-+b?0(F^5SiIM8kJe6}bC7X$m+# zU7JStlu|15K~kLs>6w#mIRpq?n0MDHoZm#h+Xh74b6%WiD+O|P%)dCmZKNPRQlOk`2#Cd8dTT%Pszdck!yE zn(TdHNM+j}a{rkw@_t~1H?BK%Z%b^3JL3e>uYUTApii~^)M{usO`?%(oNw+2NCgmw zu4EWHL(s1w&$|K29bK)n$$m-Jv}l_);5uSd&;lh;h%*|oUyiv`?O1)(I4jWduePUq z{lF4fS~Fz&Gl^_Dj>n}85{?zg`?{Q9iOqVX(G0>B4GgpIr3#I*T%qsqGhPIbNRu|$ zzUFu4ewlYVw|l93)}fKmF)DI-&Kwy3>LHw|DE!Br#N|k{WSPZC^t)FF0r4m`4VA80 zxKU*N0*4BoC!4M3Z|XB#S6)f3OASMuaQN4kUPcbs5jmJTJvYzwdy12?Gb_6kD@sCe zpV~?8p_Z}^-ljbxd5Xh8kfxL0N}dT8asEdjpcyXVE*Dd7nUh5(!DoJ zJk_pPjU-;`(V&6ASgKeN+$v1lNzRLb3)gpYvuOe;1tbXK{TkP#McG}(F^`!VQkd~b^2gzY+&42^=00S ziRY-}Qyyqc;y7AqgV5qi<@EDJTrf0%vIR%AN!;W8{%dbfPlsd^C-fQ^bl5nbmdX}| z93M4u7%VG}a1r3M-??sGU>7z4K)S4RVk^whLSjuLjepXv+ zm2=_a7ZzDNXW~veY;8Y=jGq%rt>(2s>z2p^cf9JcJM|ST5o-Kp{E1nFCp6$mG|BqY z`Gw3Cqqz?Vr9zWf+F1ObTAm%?$J6(7gamnNSTVr&EQt4j^i*wEPzh8TDCWbM( zw5y=fm9Nx^T3N`d$q1n!`<}BquL6otQ-aLb>6#v_zK*!;M=q=61s&t z8DQG&FR+lWPI~>2=+5c#-1pZP&7$4J0#}Tzy;2V-*nj0p`++Sn*kgVBWJ~s82uudk zOn|DQy$=9L-c89BRBNQ@)zq9+eNy^8>5Ks!eAot{Zp4C!2hk)Hba?g>;wICRFnGn1 z$3l`dT{9#3Xg((I#Ru*by29>1V;8vAyWt`_xq}gBe0%Ia~ZCAqn(+uW${<-~B?40)?_(x+X9@fP60= z4MyQ_ySJwA{V(Bg0HZb-aF|K{ReKMwZoM-e?Wr3B%huw*dO#YXGrsmp2E*kv7oAMaOd;Jur%_RBhTh+$3zKsdVrYC-{y=&EP zn}w7t9o+@LlI1bm*7r+xEN{_crx~(m>Hi?}N~^)0@0i0M)u;*>xw6d4)|H8Y1Yv%j zH)bbv{3`MIb|6Ai_V|)>C_!3}j#KB}Sc>4Tf*DVV#P{a%gFjA51lXDoF2&spNJH~E z?6Z)O$x@oY3C1<<^S;Q{L=j+d7zD|?M{!e^oSo25XnAeCl>iJrUX^lUz!x-kSmZ9kgrJY$NJDK9CF%GgP-1Irg)C%kxc0cM<}#U9+>Y8mNLQm425G< zG`r&6FY0XrF^i|(Jju_($@2^h3Onxh1$whTQLGnws?~R&+c0&kE~!s)`LtrIUg}EG z$cANlikHfT_0Dxf$Z&(>yw98-tVt*Ox;oZJ1`}YrgDKM_4HhY?R(LJRp^7KOV5Q^H z|9s6n#+o2db1!K4sEy(_*Il99$~8WA7*$y_&F?%-8hQ+4AQ0i#`u#0W!JLL4y+xfV zg~+JL^q#~oKIl+_8uOL(ev}t+{(JwP8nR$hli#pEG(KEiDg6l+@t(bJ+tS|R+=ikE z`zMVv-lnZ!PLVpA3S%s@vNE(GzNn0({elXHjDj=Vcy>jkSgUDcj8;K;)uIYznqK~Z*M4jP6D3Me};~hk@^>jfr=@HLz9Zr z#|yuInV8+7R{255Abv40&L#Cat%~5HTHzk`Wo`$gjUpYS-(r1@+A+4x*M7p;DoMpTcHcp6}rev zR4#fa`eTzmBj=@vDm}d=)!A_j?6XB(Wa#%c6L&6v%`ht+C&+`6m8*ovvT}+RA}tuF z&cDYyXZ6Hp+8qCVCWXgc-qD)SpI2*LNkGK+awReBKN2)?6hxmQ=qUxZf8V@M+Q_W- z%UYkN56i~=E=E4t!SD`t!jVrGd9X%h^K@^@o96tPcR;6AKng{Iuqazb`ZlI5NfkwDy1{JBg!dWQ&u8^GhPaklqDkqvmj2rjrhU+JNjz?k}pXaFF zi#aLO<5V2)-=fyx>-Sp7Pvltg1_AD+X`42D4q1Vq6VR$Z{a*g6b!E@Mt!)MmZiG8` zw+d=18$&}MTWBf)K}>gMkWc3TX^0&D{c&HDpBEZse{UWOo~pbotn)3~F||7W&V{dZ ztO&koXoJVNjYgUk-SMFJ*QbOx)wp2V{;&0)_w!O$*=OnWXc*wk=p84tCHYmYZ@!?A zpT>Q#`Qa}ZR9)!A(-3#|zSq}^N0m1pzE_a;L0g?6^h2Bb{W~*QxDyl1ZyxYv5bb)2 zPO!e^s>w)sKfDh~lo?f6`&~$4|$X}nr!TyuW^+DPeCQcGwCicd0*~SM$nD>QcPU*K?}p7)e|GN(8z_GlmKAwd?kuCQ zc4s?^MJRM?_Pvf08GmxXS%TU*d+Rz#J^6Y~e0V`SO9tosD$s(Gcr|=0-kDt1dv1m- zzONCvu+8hGvv{+y76m=?9dfwe97VY5hGFE^NsyHg*pubPX(QfP zU+hxaNL5vzKXGpj^7h~j;Aj(>8&F4|^#w;V2R|6;UHy4^z=xD>v*J)FVh< zb*>s%Z-aH3FS$e{r6+AUDDTlwW5RW5!(e=OUXyU#LN&r0PcJW%q4Gs-JJZx7-#o|9 zV)Q>;0216(<(i0#_y;3lGBk?c?kAiE`#UeZs7CCwj@p^qlrpH8u$flraFhGZ5mPt9AyRb-n{5j(w#O? zJC>XiD`HxiwJ0xQ*fu{TrB5x5FloEhYJW+jo2egqzIWn}amz1iuU@ z4G6%$85kdpf?A@7O6-ag9Y*+-8&K2HqfnEm2C)a;u$S^lJEv4!iI_?x^qKm%4U8Oh z5VO7P7;ED+-Z1rGw3L!+k|L{p_ba8D`^{UfJVx2T>0d8WcZQo^ocYBL?61T_@#l&lmxJ0G;2`kMl)hn>vh36pB@d79GpMFYf~R6l!Nl4 zK*|qBe-2MOf*<$J?AFez0#BAqZD50A!z)y0Zc2PuSm}^kE{P;DD`j++R2{<=xK|>!?>Vy>u6g;9|zlTEE5J9gy69 zb!=HkqIBa~?{h_J|B!)c_V(H@K^Epmu?mq^L(bjLm|f!(C~#lU$gGGa=SH5TUu!R0 zsu1`L*6EDLHavZEk z(=A#NL~~bOGV`>>x4Q0y#=xE{_FfNFf}>UeKfL$P!}IjoB(x7E4l0-3GUk=C-(-eh zPEf!+c-Xz`~*u7uXupV=*GAL?b8!gIRL!df+^ z69oqs>Mx$8N|u^-MsqN3$ZS4RID2hzL1l^86i;7T8lI+31-7gZDw4w&b(MrocM zqt1?k&;wU|+1jt`xiN|f=Ub^*?K;A~pb(t8#H*5rlvSDq>p7yM4U6!63mE(I?JiM7 zLyMz{YD#99MY(xZT@o+Qt4(kl({&xc2_^0=s`b4)0(M(4*`tPBE{uy7TScm#H*k^%+@;O(c_X5_faM1z>{@OYKS9%Bw`n2eKL zEHvEJ9SZ7Cb?9Dcu>|xHu~Aqzr}Rt|BL9~9Z30B(=kOPb z{9N3Xir0(5L5s{ia3g&zI?iCX-uz*CVt%I|KX}sGh#B7BuhwoBo}Cv)T*1{|OF>E; zoD5d){U#IBN##VSCO zoA%kmXQH~_W`$Fn8_DB?Pq6J+Efm(}UpGo)OtQzz_@dHuCbu)As%6A5!y;vl8{TD7{1RiHg z?2U%4nC-_8!;aKn703r+-_aq(J$3wOAF&|in2}Nyo_MXMhzz25z-#@+t9uAz>mN&(%7#pY?ElWgg)PQ>mG z+4yCBqT{!qq02nHp#tM#T>gFSnARepLR%$vJjNMp5sSIM)x2;N_bLMegA*q`oTX5t zwOAq(4%{Bx!~8tmUt13I{Wg4|DZ0RNoYimJWJDM&{7sYny-0H6kf%}c6&C*uPR@?N zetuOrg#`u{AkBzrEo>7M_3lcmQJvKK<@g`~r6Pgr=2n-Zm7@feh@3W70t$iMZh1M( zVWrhFbpz!Xw$P7L_mj0sWE~R@bZ-?-1Ppr6q=PVy3L8|J%WXe)?KY~AepaB`Nq6t| z(sr2RzU@5|{A=0HUVm#8`?OXe?RTRcfU7PWr;0Q+6 z&*}vJD$^mfkjYD?c`eL{{m3oT?K6ro+u}!^NEu0(oBXL|!Ze(#B%+ub(yVgOSi6r8 z#w|C}UZ5v+fRe9jN3H_83tkk16V#)qY$ko{mjVscvV6FZZ~O1ah>%4off~;b=xjLh zhv|@uC8=KoGof4lSY7(;(iDgYvvd5L56wLXy9W1e%fiKO?9=p<(x_DkxEt?TuU^nS zDd?2Wu;N%B@`5mBoTueg z7*5~?_G{|`@fBa-g_G0pdZ?Kq6^Q;6ZwSpnTXLoC&t4q$M>I&dAd;2!A9q1D*M`%H31h5vYC2ucRM)(?Qm>UQwnE^53VV89dPs zGazzovo$+b@nle3RxGkj$#nq8Ech0&xnS1AG;;a!${y$rejLLtv!wI#D=bvXI zYG6`F*GHMd`QCUdt(TtI3bbiq4{eN^I#Y4`h<&Bw`_ZEKwYy0c^zKyWWAREJWn_)M zd#eQt{ov(bR;C2?D=aWGVVrV|i#{addmubJSN{(RK8lb1M>owu0FEc78w!Rv#7J{D zHPV0rVsNf#*3s9!?<12JTxyrn2*@q7Yxs)u3V^yT&Fl<|J;PimLrT$2vSFnP$(c;5aM+*B@FxFtg?Xv4Ww>};s zMS+98NA<%t+QCN|h?$9OS| zXaE6Xz$Q|bVy<&g^*!6Ow~*DyamN6qZ!ttI-J{~PiA(=BGvq=pqbXSu<7egMU}@z^ zVBX)~W0kV#3?o1F-bc$5Q&WvGlGnP6=zy#N;HwI9Z(Z3L$pa3(0+d@Tbf1c3M76NM z_~CK|nfUx7$or>Kh-{nr4)uHO(d&kZD!NBClaZc$o9tBi@s>OiMv8T~d(-zn(lw!= zDlr#4(BLpnY$a+_ay-s8tkZ!#wIhok@JHx+%!rJw;ls!(#ExpD8x7pYh*A0OdyV5I%h`V+gMTRX>049keXI;dK3{qrW=7BOcy z#LIXs`wg_b=bXV0wUmoEt{v8saWqB>-?5~>nJa3f!~^e$Q$D7f{@DJPGq9%vG)!hWNd!T}SsIi|%^;5tqVvh03r9E-ri6%b_XbB`zBn(j`ob(}m$6vxUmk zptPD5aYrS4mp)vM6s$rE7=LqeiOy5m)n>CpA$qs85TG1Y zM#N~aW!%F(FSCp&tBk5wZIIZPyUmd&6bJTLbxGI^P%|lDaZ~ZP3s$aiBzmsk2@(s7 za#!&`fFej@uv1g$i@$c)C^I%x!__dtInZqJ!NhDh+7Z?uo-hBwIR7&8e*>QX^|1H% zzHAS-O?+t>tf8e9X*Zr1zBgMpo{GW3!qPJ_G4Ud=WxJ&xtWhpSVf^cJeq5LyXjk4z z&%pi#^m4xthr#IO8`gFR1QVRweVYbqaiH zbD<1Zwp)fVDl)v%qe?s^sMBbbA1mSCQQVjq*x-5Qu~5YNf{!>!*m>+;JeeRfZl&N% zW=Dq~w+Gb^Djg=M>G66WF8b&|&*RyjR99nL95xWA!$@c&mV85XkMj_EUxm8LuO5Hh z1`(EK02tsBpUxp$5Lj~WWoT2T!x6%d(O#k?W7*~H%5d2C24A<4nDIqO@;Kk$K>dHt z$^U*x6GPqF+A3^mc{cs?=O~0Y-GNnZw0DiR1qGD_#~G%0PV_gJEr9U?^0c+zj~p(7 zl;vwe+HHgLNgP%q7v=emUzYlKM-BpY;$>F&UVI^%W={QTc(G@=@H)-l`G@Ptlk9R_ z8M;p7K@+Q>PGXj-b-qK|$`kN&k2eb}Wv_dpQ1={O1S@qVvdagXU;)mRNyG+z@N|VL z^Tlg;-Bea^bJ~9`%;l|qpjUQvxq*J-EpNn2{LNU?${Z;ioRKI+?Z{6!FQMA+Kp_3Rn^b8?gQxqyN`Y`5#MT zgawnn{~?X@w}v!m%a0sZ@bZcYdScsCzc{q z2GGwfm1>@=oV}ABo@+O~6hp`3Nfa(RFJag!{C*^KIQ5H zFa?uN-aIQShf6GKoQ{K8aitjku6Y{69uFOCny9V`>$FcpFJMC3#rP^$-|+(Wh;cE? zi7H#^hX>(4hAn;DRlhHbrYA-4*+ zcyQIH5cyj6ECoZGQpOjBI0S1g&^lOtN81?txVX6c-mYjZdYH8SwbMLZ>Ha}E?(JgL zhL{8%42=QJso5yn`su)$6B6hBlUDp+mkwD}vw!;*f*g>4B17jku7>u6?u6$(6#yv} za*gVDg?)LEEgTTA_DPaNcku-%`{sTynVb#%V zL9#A_V(>!h2?P^RaZiDMJG5L@=fuE!4$+DhOak7JD92$d$I&TlDiNbvFr)lQ$f6vhCtUu*0rgmPqQV_VmwIqEMO4l_X#t8l zm1a?1#gRCFIZLD+3D@2y(o+l@`a`aIskcjKQCD&zW^{?G*?&r^<=4-cU8JNC{R6az z6y2p#r7Xi0R7e4Pz@pssVn{<5AWeNwdt+GCD&jvU3Wq0-HHUXF;K-O}Kh%m#=sy0v z)%*W8L^9Zg0vw3^vl!??gvxVKDC`J4oc-57#K=KWc*0e^pb*~VR$3QnWJIHAGys}>23n&gh;yhbusAn@-@y=fvM?3<03H*wh6RT zWLi|^nW!>y6b0{kT~|sbTuwi(d1qnvpIqbrXXTK&hYNoF6uiaEPYa13V53no|U_Mi?0q4puGLg8i{!S%|3 zyB8Ol+EnRK+BY~6Qm?8!OgohjH$!NiYi8)7kasg`55dYzK;FzSU_+9i3_`r|TKRG& zQVE|hYg;uLhvuD7U$w{Y44zop5){;5M~(rxS`(t;JC7;EH|}47W0)Ei!6H=KU~+4% zm+tYMYeVG=C=K+6`KFZNupf~WJ*=c+J#CEf4bweA@i1L1!~V$L>ds7e|K)tl&!76s z6r~)}D3Ef*k7Glx;~y3E>yTpV1OR4!Bg!cDs$at;7?a%SG2U7&VbVTTl83402bVl` z7m+I#hw+;!Mvd!RjWr0o07<0%wt!L5(9qTlyKW3x-M5DC;!Iw?>}AalAb6fHCHa^W zj5Kb`13b7?C9xIJ`vwy)f)-$@;^d|oy%a*|X&AK*H04jG^@Vn-xW2M)p_ruB`pbu*rs1=syXAlRQdMk^ zx6Qg04jFHWI2*_*=GG?1#6R!z+y-SyCK25FYJ^28>!!BW3H?dqNAs9lG_NY`0&l$% z?@gN7_%f`sgzrF?8h-7l8QQ#96d2%Y7!O9HPCoDMyt-4%S3wJOdkbs-Th~)6AOm86 zK)qe}i(TOsck85Qk+kAoT>C3sE5$Hhg}dH8I+X4NOOfL44@<{}ZEla$snp8k<<5(a z>FvfpzU!D{DRQZl&bhOZ1O_|N1+Xr@Rd|&!Q&p(_lcOEuCBfA0Ze7N{OsWtCzRm03noMDE3% zE0>l`#+9Q`ZsBy(qZ+_e1=TJs*}RM&osCAY$`+*r|4@=THU`Z$bVIssqLqTkd8LdW zP{wqTpP{vCf=Aogx-`ri7F&T82cz5oFu3 zQBabL0@hZ7LWP+z>DUDwb4A{Eml=<(W1)BHkXxGG@FnmakQRg0R;Gly2AszvE*5@dE*pb9X zuPWD=o5dCQ(wYxr&a7P#95(3dkYiE%)$0oX_nT=A2 z`y;%=u4wX2_lp3lrdK$I)0xlyi}BO|fB?~WH4cXC2qn=WtLw}CF81)BCuIMi9nQbF zCEaFQ;Gdd4WeB_;b!)nSwLa#@m*-P;zF)llSIVw|-s+xL$0N?zSp#&P7z)n}(;G*8pfYYyB~i3N(8|&dDWK5e8&t!*!v8lk z1YnB-#vdTkeuJ+X@<0a)c=v{7_)$x-BH*ILxyvz~p`goHu{-}l^IOm$x4&}AWjP+4 zn=SRMHTP3f{X|i$cxM$4As8Xg1yzu-zys5%t{$_f;~D^IBJA;4;j{**MA(CaWlN~; zH*5mO@K2Z`$jmD=1-r8h4kUl@S3EEOnQLF<))nvgOCc*MMM3RT)Z5w~>D4FfKzERl z?#*hYJ`OnT-G!DyNI%EB4fX%HG$SFP7rVzpNXUf$VpWk@gCl8P`^2X~_s{x0f1>r1 zXuRV0euh8$?s)l`WVZL2VokZyGdcu8x1XAd?5gQ_KN;>&g#V+4x_x;?5_S8{ePW!J z;>+XO!LlStCV}QWy>}M>K>;(=fH&J$vaJIib!NK=DNa2MX&hDJEAQja$IT0>n0vV2 zo*g7zC?ym6XMKY#$X6I5TL!e%O0qShv7|aE4(tM~*xE=M$r{e-qQ~sDHvB)lu*S#K zzrr?LByDH!J}*FS^4#>_OTUWD@lau;OBZ02ITqq~BUYi+Uwx<2ZH)S;PM#%UdBJ{m z8^ho1_4((ZOdaN{#<_MPD66*Sgm=Zhm+jkubbKv5S^|{r1N$YCV>f>8VWI%HaO@km zq0xkJB+7}z6&-T}8*} zrHAA{$L;EYYi%Ldw&xvgpLC1^4LkzVBQdDDDwykV>ACP)gNsiB13R=}+ucS4uqh0Q z;)HUogrQkhC8-$9)e~)zpm()TsTS4SLTrOBbb0KT=uf+sh}WrvKsQtrA8-wiAgZ#3 zJOm(cj}sQp`=Hm@HrWpBavI@SYt1BF&aO5t-I;DbK)WD`0#Zj?p^t}fDmGtO4%!b} zX;~8AT9gNZ%qWP)z7>MFL-sCpe_!|Dl9tB}&m@D0~e(l3#}k;!M5 z0*X4JI9MD&8>Wn(z!U zV4r=OVI?*HkQyIke|4ihxKLdT+pYYt7N)PRrQSglZV*s%P2nZ+Fe2DsuMtyx@1|At zDQjOYz}-ge3tu!HZOGpjh3P6GeTS|&bt3ZG0`@c>CBd>-L%Q9RL;x|g*;P}`-*}bj zsIqDCRgw%6DkxLm{FaTdsmb@4V>9YE6HPyx4cyn(&*LzV9c5Mj>9h}&5iel-#2$N7 zFB6fZMwsL_TWTrA{{XC{Cz}9m5s+ymf^ibRu$~LisAC-0w@#ChgJ!!|J6S@2mB8tq z5-Jqg1KbLn0vae2#q4moH0q-5?_Yj`6nTgQr)q&o9f)3*4Y@dkkL>vR#?D#gV#72- zM#eZikXki3Ewr3<@TndDcB(JL3-YbJ^TM79V-BS7&eDYx^vCT+Yp@X8EyM$piMQ-$ zP=PfL{i|a;>aAp zgzQ{SpIzY7)+(r29er{#TOlA17aJSA?@s~yk$L>5E~d=^F5nPM_9dW>v1Q(JI?3~@ zX3tHNka86Jf9U$^sHoevTNnlyknU#aP`cBhySrPYq$DJV4(Sk4N)hp?hPQ=uzETMJOp!UM#fMMp}wxpw0A%hPa+<;{C?le*HT^3wH> zUk;;_@mIJ5sqz^e^oZ$g0^WE2=@(V0ku9KVV6de4@8Xje04#mM&RAy3+8P8{S6Ol|qy0vO$D4>MqWeN@91Jw9=WAbbQoY*PEWiQnnBAA(^x6{SK*=`%S zPqQnJe?`)Tq`DO4@epANh=+XEhDgmsz4CXH4TSeCc4OhY!eJN25hYak{Ci3yEHF`% zU1nlyj*%8&=J-PeUhBjZ`X~DgILs`}UI;v$)t3*0SG|K}tS|E)&(n@p&;W;s>;m9d zUlCHCwOidn2!q>-zo)%PuD}SPvIpJ^d(m5@uw;|Fr`MWK=3v8+Y^8U`_=LtL&~t2! z&Zx}uesg))?_(wtG*^+AzD=ygC{ImibLS|}ln~ST3o4u;}hZntbZ^KmZbF{={{Q>3ZbaKA~OQS>pK~4lsS_#E-uZ7 z5;Ge2bQv-4us(j5N7*HzXLgAkixKM2kK=J`Y<{jKcj}Z^3pwaH`V zK=F=3aw~bFuN>v1Hy1&Hj~K24=WdxHGO=CUK7S4b5`<#K&A7sT5%e1)Fadh-vg#TR zhZ6iSPtf4sGWuS(#y2=&R>Kenx zd|p9T0O=mgC4$&!bohrAiF!iGi>CGA-$RD~=7v{FD4h=~q*qpU@U@DsUJE}3u-}3a z%ipyrO?Ms^R!LRFGUN6{5=h;j2$Znn?^R%x;!Vb^+@@M$?BrD@_{&rLK_quy+()Q<$+8fqvo2BSjnMBoP*|K;~ctrYxEhsa4j~tH; ztn>&Gf)0|J^pkmpvLm=08HL}rpZqT7*&UFBJNAvKxH*)M(M-M02kcTrHQw&iy*2OPdi876h;l3iY-F54Dxf zoFKl-K)+Xr7&PqG4B5$kO<>k24}F%Ym`3KH{1_=Up;K+*blc7gY0c-b`NTBoG)AXg zp7en2ZBYP5;A^6sjJvApXUOdppAJ8DE0i1K4k9-Gxm<(amphet-17Hdb`=1o*c?#j z#W#Fys)#{Me4J<5HmAP(xinhFE3=KJs#OpR|MSz|y>J^7frCEsHZNe6GAH>9>gqU9 z={{L*;m_6F;N{2_Aoi|VH{vH#pE7^^(=`^#C7 zT+u{*q~1A+tqy>aY?e%Lk9>$y7m?eb!B+Cf)tS6o9-341i@QxFHIcVC{{-f4JYL46&Xl^v6t4^zS{s_3Qo;q8azjRuamEK z8mld;?t&_*C_(@bzu=Ic?p^$^yk~Fm!&dIjKdxHcpIOQI`5|uLq34bHQTg{bTkoo? z-R^{tlmlUb-^lOg)XD6hHsSY)lm&vs)wfsk=lvx77?*M;VRoDYi#mQ6FDu)zp?f%o zxzBJ1T9M@(pJdkJ(%M0s{|#$SbByc17%RMq5XLY!Z%l}HQ1Jj$!bL97dm~7@v+xlE zu19jOXL2~cZkJyMYP3EtVo5g9g^51MU&~GOQ>pX^Aw#@e29x$}WVpx7b9SwN6g`=&AVAVH2=cHvvE9_cjoy$hlfV@)gR>3>fm zlA=lr1X1awIe8u#*J|$s>jW}*A^Wfd`vW%H)-Os!n|I@L%^n4ftn*C$h?$3VoNwiX zVN=&~sh?YZGT!+_5XKH)4b4A0Dln`MJm&{4+MWwCN0h%SS6(c6j#h%pokM|7|5WSH zsTwcwY-4oC2wtFcN~$mDAq^`gYbg z;=h1uT`R%s*J;n+h2z{`?{2*_N5z|+o%30GZ*YHUGvj}8<|mcP3_)3|rva@|ralm! z(U&s)+q_qXqs+ZfzNT9;BX`i!qIXTHa!;g5Aw_LKF$omxSVL}R!ov5-%R>#{??!FP zt3*WG9Z6+fL3}nw>x|MW>}66ZeF};Un@oq-g2e|x>NUf`6uMvPKv>Cvecd02?ye2L zcWEI>Y72WlRK-zbgpA8lb41eOGgNVe%AHA-lH(#GSKSt=B(9jB@xDm^i(F0vP!G}# zNXzc_5)kW7_3JM>qMm*fooz9_^&VTN8@!dMK;6a|49@3A1@efN4dOpgSI6IrJ$0Lh?+xI-zFMeG-si^B! zWN>|j6KE=3cMzt|Oi?wp5_^_+?Yr&ntQuO|*Y{;$VBjW0AUol1n*7ccxmFiBFkpos zi)W2GWxB$@sl7T91%F42GafNb0I;3Lp3rtiHhlErh%+2+p?PK(%~%0w4u7J8@Y zz{YgFQiQ@h)@z=8eYD(6)ow(3c#=W*g$`^yC~#VrL^&Qz&5zt1ecDOYwb|73_L$FC zAHDPQG|xgI|7V}i9Me#Dve7L(k?89NbjALdAD&Tt0J5Cq{RwtzP;YTSHLgpfGtor^ z6E?=I7#icF=Y!KSLQblK52C1=b?o%*E7EuLN-~n4$Y$vi1 zQrRhUzwEQs6BylwBgy-7CoR9HL0`RHqL+pjIq+e5Ph2lj@;D;$y><5*t~pBb=O!{v zKHa+t26>k7{0LFJrdZVZCC=81x=bA`+F-lTnz6ZCk4(pPO$5A7)-Khhj&}bB;evHS zIBIgtPWg5ee)=4mR?>@1^_1X*(7(`89W4QD_2tRsQu^1`2!U$s8Y3k~j*XxLNy<0} zKme)sz`(W|xJai7imx(%AL$G{d{!NYis4-8g`;W8e?DleW>%du->=P^G6V}j=Ky2E zc{_sqc&DjZ%{ZAbxsv>^q#0V_0x?wUvo&}z>nI(((=;Vf<(Kh#eyxeS2bo1TOL|dGLreuj3Nj#q2x*eg7WxBS-dBNwCL6#K zA7y={o4T?`I+Ta9m*7Y3GJO&PE`wfnf*y>;?@fOXcXheYM%-Ybx3<#XZ^qR`FG34e|~K2YEL>o_u<{l18hr(&j)f1794B z9w(<9m}nShr}j}2roh&i{NQNip%MGm{b#_IL0al}^*z1;ww%!?@m=0u-`3lb*VnKM zAZ6gN4X5LIMh1eaK0HZISCFxhs+0Azr#epHq-2!#hARf4I<4&(e*McM>t_Tg(yiYp zNh>J6_$`!s2P2jS@M7b&8EA;SkKso<$Ocd`gq)nN?`=+v(0RERag1*7T67;iS6B|^NK>LSp5AwO75$4k>%(;0hdwwuAM^auwGK{tZguB_%R92F z1;|qB@7RZ=D6!%`0`zoJ{l5l@?4-by)ZRgVb3DaxVu^L-;CTr;>GnzD5WiHMd-dm{ zKTdo5;~O(^L_rvj#a8HO_nW*d^D`$d@*3WxJ*pnO+)iEff!L$wWQ)GWdIBG~o%(1o z{vs!J#5uq%XI8m_2zaSH1hhXHp9z_w@7wM$|Be!g>P#+Rn1P4)5EO2gf7K_t8hR3} z^_g2H91wDR*?NKbH@Uimp>(-4T(5|Jr$92XiINU0jlOm8FN@e&>&e)Jzr8Vk|CTTN zyN2$~s`Q}L`FdEivfzd3hHpow5JltHREx2xmMl3M@aqwwnCDi}#gJxEV4HvEbUTqk zgfT!S*eg_#D8I_LZJs7x3?JQHw+*!yH%1!o)+4)o`NBiiMBRbKXK6;Ky4QvTwL zZD+60f`)YR-;7m$Cc3azlXpP1k%y3F7UKN6+d-j@Yhqrb)9vcA@L4V1t4zmK{4z6h zZC6JV?l21dFpVw|=Z*Nl7Oxd^uHLsRYY4uusN|FNNC+Ms8R3Aa>_b#B_b@XGwd1XG zK{+S4a)k2IqDxd*SiIElKWwH5^@_%pU^^q(OaPBr9wBxTw2(6mKN%wQbv6A5A&(@E zl)O20;Xo|ZD4;TN3SnIKL3N2*ic1`*4RuSa0iHos0UMxg7RW^++9uMTf1rciJ9S-&-<`0@i%k9iWV`I(-a}1n$yz@g5#V z8W+dZ`>D`6tuEZ0nKAj;i#;#*i)s*I2I~O4%5pR+xax0pU?2~54H*awy?LgD1AEUB z-a?OHH@nGR-^UU};A`~-3Wezbdg>)p4%!JY*(oPI)cN;-!KANmH$*J>(gQs`-hkP= z%mIrjz#^(-z>mbU+*BNhbrwtvp&E;#{Kfn5S=Ga2R1*+(27ZNJ!DVDDwt1uTl&rg%H=^u{hsfrXvC?;DvF`H zA=ZX6^SRiI9p-P1pUB$dxUvjj081G(q_c4De&8In2r~kYa@7L?^GeS(nJt|YO&(qa zfFL2L#9%^cZjJgG*F`7bz$Gk5|3@lcJ5L`<~c#v`?`A+ExjAN;3V5Ngn;d}mTm~7 zgs|A7x5I6`<>GTec&{Vq2T&CcIbi%&Jw}}$5i~^H+E=erYeV12qf1TqTDub}3cHiz zVUWu)zQ4oF5X$$jj~cV=7Q?wUwrQQlxKumd(kCX80xT{5FY)wzT1` zU9tI!!6iCYWZS02o~^7i3=b2o zV7-FoLk5iOaQpl22ehfYP+}TPKA(`#TMNI7eSCIy^&Xrd+nQ~=zl|@Fj1R0_5g#uu zc*;a(t3ZF%o(RDfB~&{=ZIEaFjd@RdZOvIf?6CN1{mg5r+l(}0b3T-v@`7n- za%;K6C{l6{J=-Ki1w0}rlZ-uL>--ZD$GBjXGc2)%+dW?sLefywd zEbQ76ud|kCj31s!uQ6TVV?p6!T~A^$XZZeoA9sADpY8sOYk2UDJ>wJlj~9;2 zFFik%hT-JY+WW1tkFnyav!~O?oMZs-o2Jql4KSFA1`J5M`666KMWjPt;IfJDAy4`% z(bu8gar7Q9iBQBEN`-Hd@qPOnfc8lmF0%HUx3xU^Q7cwEYBZHp$$tjc$ag&~Q69yM zrb6^Eju(_9{`zuAoYfbc|R;3j}mDR_^+D98r9j~3fy3Dz0hdHm`Rw|5C>OkIt z#fN~Uc+P!h;DDJCK&VNmuQu%q4v#^g4V4!x4V9uP3%U&==$_QP&Vv0=p8 ztZ$`z`K6K%+avT$`v)of@8p4sfC>9xCWf*3f=|F#bE*VRDR04|xD6~;z{pMmm6H2g z10!akpca*QBqQA@gQqxfr;PJ>x z%$;NN%V8JX^w@Bq6;Rc^7DVB&`M4)Kq!mUMk4c~y@=%?7nQ|z5YSjFlBQNU!_n>t3 zD}ao}MMZY^{sNx`)s5zj*!7=lz;a3?B1RPc+Y{8ZEK+L@OWoipodUp=hkmxs#mq$(f zlvuv-b@N0;L%Oc4`}5_RqZPzEG@^<0#kgE ztFTT9wk*F@hrW=N$5Bq6Y>8}-v@+kv&zcn3{pvY~JCa{% zjv7zmPUAM|U%54aFHxuq^Ao{*exUtGtM0~@?J1P_mtrN<)*VDTk=~BpFcW*}|rV6H{&ZK$&Q7d+1k#a3W!yhaRFhipkaWcj*@Yz1LvUH^f>{yrGwD*9*m}U@qiH*E$?MVL1M6H_#rA(<;`|Qq3JClb*Kw2l77Y(R)^4DHDWTo85iL^9h9L+G{y6ej>g|(wg)g zqCB&Oyv{6m2R7DfYTsp2Y=r%rB5wH?g~-8XSenwCzV}Ys+E~-X{$HC3L8s|hR%Qlt zgNX?FQIxgP6xzl~YHW>HU~YdMQ>b;2v(Y|zIa=F>)8UWC2||`ye9ohN!(jX2=uP2ROVl=#5rp&pB0z zGK^XnerQO4fdq)>)02?G;@e;1nlVU_za^)kK)iqYlGi%7u%f4MMx@tVQW^P7n+1Pk zwA&kJ>wok5@23BZK=j2g`-`^D>$W5E&|~tG^pHOMjlW(13m@IBM1A*WZw~MNybN_y zNTEcsz;#c@ClB)`R|Ln)lqykXv%$0oWfU>!{0C+(1r@tnXc2h>WZv>F<8xXnHtL+q z{iU1H^PW8MSppU)Vt{gmo2ZL#N}=ykvS3dkoOEpcLlng0dN7uMi+`NYYG6Fk+@mDt zQwn-n{bIQoxb`g(xkm#6Pg61G;t95WvHw*YvgCD%fxV>UPsHpV(N~;%?cg$_lk{+G zRJ~#a3q8Kl`}1yA^8*0;ddgBlhN#SL8@6R3FEk;j9`WcPl^xyO2u^Qu=DUR1YNf=2 zg8n(n85r1lNF>N5PXQON=Rw!Oy73Cl57wb$Io);PwDrivxeFiPF2QKjJY=#-UP|YD zkW!-A957$!P{)!2SBipO5=C}Yy9R`hn8ds`)FxO6Rtb45Egkdgpw5 z^L_U5z!~xE*woMDc7B1%wXN_SHJdNj8EUaCm6KL4OicDLGqJ-@v&Et+%x}36Lav>d zob=-l+q^hRps!16*Oa1!C<<#}%hu+z9m6Jv8%f?m$;mwy`!0L7Pi5e=q!fmY#8!XC zPIcIzM{e0wvTPlZ|27o=_S(i=Kye9)ZuhdHSlQg)%|j1A;7F3p$2LnFe`ol-)Mdqnd; z4X>05KibLHG?qP8B?Slx5aj z;}Ai&Y+Wna6d8F2os0LCoZuraeX1e9JH<{-57Ip>P-$^L$5%VubKF_JeCJgop6@6u zOvcp9F_W`QIj3t4RAFAz&yCknHKQW6*&HxbQNBHv*$u+A#lQyi+P9T%5~mKmzwy`LgL021XDWb|zxrAO$XdLQig(F&9qpz($zfiSc?-_d;xLg7Gq5 zUM;H5sgsDiXx;~dyi{JcoH5+m5>B_6s7`B;v zsA9Ua!`S}W${uBO-}Tiz#M|MK*|%kVQrfS|Lg{l#ZgXgD&S+=Z<@M@h_6*w#UN2Nq zQA0Ql!fXb=d%0y0YYX}xK38LYbYt1%7I^wc!@NKq<~3EhytGVk_p^I#_2*r)GIU;9 zkZPym%bZ;sV8ux6S##=y*NOrd0)Or53knbfOsDJ)^l+0XkNP+@ln;`y2}t1v>1oEI zaCbS?Wb^of-dQU*oR*Q2P+RukfqCCr3SdNKfq1v55Q?8MY*6;F>WFCG+bj^g#`FW! zWmq|ryyIgb1$QQo1owcZd-$pB3GDCti?Aay-aHS!iq3#ocMve3$YKTpsPqSSlE5}6$r z;thh;y+zM+9-_DyI^w- z5it=QDW}z}tk7xGF0IOw843AdaT3tL>f<|eYS%a&p!{8{Qa(dN4<%*7DeQw78n3H( zhy_~8!WOwPy-Rm)bR{TaPC_`)j%fM22`$LC#7C`^amM6r2WE7)t@|{@!apX7#69}P z*&nJP`nioe=tl8}|NVI%gzMH#R8i%%?uxdxQS*Qarb|3hdM-IPEqLH#AEm`P@OjZq#X1Epu-g7P7Zo1^6ove`FD(GDNOY~AhL9hF;8Gy zS4>k_%fNN7ZHDFB6OIL#(DzPZ;35Ohqs&3g8+t}al}5fL?}{I8g3$PVJ;NJvl{^KU z*Lp~|zl(47j@)}GGhhiCqSli{q)_j)t52CqdDzuMaLu}doxJDp4Ja^r?{*qvf3Wqz z36~MQ`I-;aZckqHo{p9)qKW3D(&wGX zjQJ6*;a}mFie%gM3f6=%`I+Xq0+@hTZJ4ax8dD(Fvakx6%9LFQB10KRNx@b-cPp5Y zFbA2x)kwkZ33`5>-Ps{qgUT0EeoL!Akh{s)H|GbiJ6ZUF8~B@Sfy{B)T7+%@y zP(irS;XrRrOMSoK)XOUNLdFd&*xQ5~nQ{Xxmw$c9X{`w(6huGHa3Z)sgGox;ch<2!SKbptdc*%UhTsY*xK64rxFK^MHoY$ z3<)<56ao*4Nh8SL$yMkc=C~&LItn}4dD7QjOSBL@8nfZwY=0hEPEqyC(#CEX?ylUX z|H-#WUx6RfI~pj!J3__0LrE>bkN6|q97se`pIbeTEC1_Z{QV$Ig34^4dc;F%H2Q_{%#0WyIaJHX}HS7DkVU9%u`jc{QG9SFgTF9b8R*5U*Y?pWNize3 z%IDVE;;nR9=F7=nJ?mfi6k<9hyAeXm$eFC|k~Kd)&l0UZSt)a@LV{>;8N<*v^lql3Ri{#ACzYog0X@RVoh*{|a=m%e?}SoB10B zzxY~xt`~sMB6s(5`O{N!kIp?ZhE!d3VCyCAO-rX2KDyiRweIitJJ0V0RtLNJy*D z50lzDB(w41LP}<1AWjz9V^YmG_3d#x}E(L{&m{%VirqiUT%LFB!6_4}FTNg5#-{+nQ`7DytkpXstd?iRtYon* zNBU;8?SHz~;5EH@xEtGjaWKIboEW|QPTg`u*i-8#VE)%osFpv%F& z4-4RhZ>H(-#=Di?TN+_jqjlsVkF@0p7+a$H$OC`#qScjdh_0Q5g-MmcCLdDQR&>2C zHAkB*b`2ovFW3W!HUBPDe9A=UaB?XasK&Q=#^h^5uMJ-j_m*L3qp%vhp5gGri2OL|m&`Z}zY47awn zYH=dI=;Ak?W<9t=VO(481G~w6Mt_<~k{IM^>0Mnf`p?t&-@~1%hXB!<(z7wO{%1dE z`pXj~L@xKI7<^}Sg?hgnACBe4D=S=bTkj%tI%(^*C00NM@I@ax9L4MyBOoc#u;H%-zyw6>If z`mXPNt2q!Zd)ehJ2d31iB-%8y>bSBG?87!&gE8ia3)vj1k&8_@l*6HA^I)7=WPRPz zP6r4YU5MPk)D044GozLuSa4UCFMg{#5il=sJmg4!-Jwp8;kMN>=C~;gzJ813?BRYf zw70mtjtI_~Px@^1ehu6OA+zBbD|?(YtVHypo$|`{cPq*HyOo^EJo_vRM9r~xaBz6n z(7;axz$q*QaOhB*Q8$1OCjT2eaJ2=NJ(egNxf5LIXs$5VZ8R9iQrR@V3OFaxVevmf z`q=#za>+v4X$D%Ul2j%^%cAoX%TiNBx!IGjed;#}Lhh}?z_4E2tpIPisBn4%zS-pT zGK+k2{h+(N|u*t>bw_RLA*p%$Jfku2pUqytS*4W7*|DvXoUkQz zFnt5zI&Q`XFs{SGTuubhAYo=KY?}W2UCa^cB|Ie-hIu+wxLeS2jGR0H0%H>+XEQ-69`1*vtixX7nJFl-HPINDDP zQwBq}!ERGtL-cyNtG|_M7#cs*14hu8(vMwO_&e+&Iy>;rj$N!oAJWx+_YX=j2x;`i z(5okA6tC9q{E!B#CnRYy93uQ3x&}a1A<*xQKP(S;%)N{QrF1G)S8|i4 zy-1-ZBpaYM_3GD7fa~x4p#=Oy;=w}jRVohW8OUbQ%AMn^p@o2Zb^;84BmJ_~=;R|D&tYX!)krqgImn%MYZ3S@-qOfb=&L>V0baU-TTjS8wS9 zzHm7>Z0Y*I^IoWReG?|Z*x_7jb<7wK-WoL4KU}3!6C%M)8mf^Y1pPuCv~FkAYUlu( zip+N7}*>I~A~`>40&pc~*2x z!nJtLnK@0j8Nd4U^5F_Oa5{V=SvC|yQx-_UxM)K&Dc3wSh*ggWKvAVm(FhG~<+<^2 z;Z4H{VO+SGT@J{+)#YEKafxi7kBLN{KX{55c zY^(7dr~tVTczw|0M^7C38d6#b5WRW%-(UhSKmiPmIF4)h#%Flp4D-C1pn*Ra+`-W@N9mfHTk&`SdY5YvD*pMG+IyM!?4xxHR`+-=@uQVV^vkYTSi+sC2)rMO~ggciuJm8v-W zCF3e>N;Q;-*tj$JvqA-Mf{#}X`hg&ukRwz-G$g2l>xq|KB(wH|?6vvZRo()jW!J>Z z!j6;*=1CB_M-=EtJy4A6I7NyFgvKUsd9yAXGg+!nB^#;taf1m;o1{y2O^MDEE6a{^ zlhvRu168};fv++gkjN%pJE|53ub@;Yp+i&d&3zJ0g+1xC{{E!#8-s}!SxV^HYN@-Ayx8=iVClQ@ z#jc2%?LdPu2fj&I%$~9`rKqzWdiX`&rYZ*0TmtP-N^ugurtM|?zxGK5kpz&6Jd}GR zebFxEEyTJK@H}Oq#VUm5`{Gof%29sjHE`>~O!NKWGxYsYRSS5yJwhw)DFpt?tj7+$ zQRiLjeNdIPc3Y&iu@^f~nBiLHnR(7CKHa3Zk_KpmJ+X%z@pun+h-ivkf{GEf7&R_e^ z{Ng(~tjrBK9ubC!C6CR-FjC41Mvp*sDS_VOSNK!? z((FfO)~b2o|3sAxQGm)oyoB}-_J_x-0sendwvYl!KfR_&!&YtiD|QnzRtdcd}ggH`jzK{HllR942N0iv|IMoG_OR1Q**zncchGXD$eZ?^BD&#$lx^455DO} zP2fk#KC~Zo7``EjR2qcBghziBdC{$%mUi%VT~}a>efPO_a=4ab{Ap-tf2hs6XavnS z?KUTVu`$VjUq`c0YWIxuX_6j2MW`Zi{Raw%E0*mXp!u5Wl#nYIU3Lw}O-H*2mZKVANz zLBUiB;LDK}Fhm*(8zeSTG+r9G-hz3^YIY~D_fyaM%{6=I1lFW1hD&BVjsvb}-b(9q zFd+d5rH~)xMZ$HL;ZvYCmbBa>8WVX&=0Ga-mgMxMmVr>*$?WIaUCM~%@hE_oU*qJ0ponn(BZV1%hRN2AXVSHuvh1JEqX7XBP z|H9e9MecbE599hF_nCYq>a>?Y&DY4i62}I#u4HS!w}24>RB4j!=UGGek{NCh`(aD5 zOXG#=7if$Hg_gYmIL=x`AD(@)bPRRh>T^7=8nP%L<9&adzH}i01sGMIdsZjeb=H@@ zNNmR|hqfvRkKnu zU6j`2TfrkKw-`KHZ2Hg}&)GIV_p7vjG)_oNfM(Q)xpJYhfR8c;IBKNZNQb!^$$vQT zoEat9BFVbp7swJ0?dOY&Ajbp;r`gC0e=k^fDi4llx`_jv8+gU1yJ4m>NIW3u=hN*l zV(A^e;9jD}qt(dtqEOp0VtL@f?S(VL=AXPqtF*3XQL44lYUoQQRUilU2hYLpZ<-%+ zGHP2w`AX*8F3F->Wo=uktX1zJz zpwdS3uOG}g1hp$m!A!^_kZa*5!hrhI7t`5OjmVqy=OAu?AxHS%=~P7tP*$YJiO|+l z5J{E3mo^SwCkPr9|GQ@I!)kr)OYuAFp_q`8kjvv$*t zfQ5k7ZZ0~aFPl~k6Quf#Q`5FuNv{FaSYH@jycLACSH8)5ZG_{g-H>laR4Y3b2cXxl zh?Q8^4?IlaH7j}Uxk=#9++n+?6blGah>B6_PSuA|={DQ6rDMRNyv$R$e(gJ*ALFeK zbUX=dEakut`>J+{6WbKDtV3>7`wQ_-du{0h&j2mE!%-{6OZnvWk>kN_W!GSC*)Q92 zJd9Y8X;k>~pjGemJpA$1)S;j{`U~cIgo$1{26i=c1t}y#K_V7M(n!b*2Q^_CTMX!D zZ|^LxhMF!n{qj$O{oR=e$-<-9k0oP&eKXg|1J+HKRr=3i;?qTjUX_Mo=Let91&KVq zo*M)7AVqYW49EB`k&vBOlcM441~U*U0F+E>+)tUr#E1KtXM=YH9rZd1B54vwfJVn& zr@?EHm1woyu|5w(Trv_!x5~*R)MQh@9dWj=Uq;*{BtoUShG_50?#FHoU)S7BZU9F39Am??Qn-6 z@drOhepO?1KKtrK0HHvF0aM8uoAZ}i2^7;hdbxlTRz*wn_~nA@RbCAtJ0Y+Ilki9` z5hHwV?Eq^k#67`2j11j&SKkt2FmT|-qQp}I5C(sGs%SKJmj(JAH|K-b*EopdAVl=~ zG9PswlG5?Wj{oN%4I4#Ejv_n_A{nQ!xRA;m^I25n^M*Mx5X_>Q6U#Drzi$qBr`VZ; zh8lq)WXD)GSK=Z`QnMI1I20|9GF~_9=|$r&JMeS*a^y0xNJGZ~%wVK@$A*>QUAt8? zeB0soRQ!B}tAtq<%c4W#wf*X@)BtuX66(VL8R0!}#Om>&zVUV6qK;xqZ99|}!_!{d zm*{+4*G-YwVKK!BmgDm7kxv z3QLa%&1NBq;v@mTtb<1i`tbtaU%tDM&#u^0R1D(Ji=&vtpdKKHH?|NeE1{w;K8t@1 z{RH%Od`z~`B7M$r4P1!N*LiPEUu}psv1Lks^z|olrf5i&d^eMqr=iS2g_-}`ed#IU zbRC6&II9`Q`e2|3TpSo(Z8S z&|&x#ziYT>A$=p!WSlhkyRQt2Ku!UQRpnF*>v~xE_79rslYa8;iUfJI7i5_|r}Mau z4t&gE=Cmbi182*o?XRqbsDs!{9!3T)A!AhvOUQPyGF(RE8~*ul*th-;JOKX-@SBnv z=5xkQ_pMjUT38i#1!>4$qD$>u_^ell=IM8%O#XD8SF6UV-wG}w7A5$v`5;yK3?#oo zI{E@B(JeWwASgta-XtM;5B*zmFr1D*k_Q$u>X!$4#sVW5&*c}xUGBo17%ZHU6MO|K)^Ff^E%J;CsIFd#5i`0YpGw)fzcrzv*Y^`mp*hT! zxqGELowgx)3St1}IR$Yrky@UOB{ zqRg$nYZ!mY5DBp_peF$in6i1`Wdn(Ze_+sMq<=zI{gR}Yk^HzBP0n(8mOBq#M_S|3 zC4|9+i&0h03E3UFKtn}O6kdtjqgW0<%TZg&caao{@Pfw(&xn8~kefan>rt_+@6Fc;7D^&XN+^=81kgkFJ_t#z_ zurO^Motj%*N>Fw;;3iN~r*HQ*gY?n_-XB1t&(7+;_IDB#J(^vHC-hd^%H>rASzJ7=$lhPHYprVbn zv!(HL|9MtIr37h)s(bCnnwVEjI~k7z*38zuO$p9iGf()o+(wznz$=Q$LmJc^~?yb zHl9L`V*lwftt|+lyfC9on)$>}mEC*P#7@@nHu3{`$Ey<&VREZy!w?9x{^u3rc9iazcg`CJ^X?d`u)6|3{RbV-R2Y*IA zG6_oYa$#7V`v(Vv87hET(SEkl36*lD3w+$+543#vTg*lZ-PA+w=VAJ$ZA5EI=kAp(llvFYi`fqzR;}45S^0g}muN0u&AS>(4;~1`zz;64rHwR{cTAy^ug$>JE|9v ziq+a$KG^Eqr8lrdR^l*U~bpVjUKX|0LAH5YM(fD!8ayHgvM&BUP zkdU>qgi)B6)vFHhP{+ZkUooLC_^+zR*aE0qg1Yx8%~IPFH^*yS=fyN1qYPfxG-ahLEv(*_>QJDu3`;uzEx* z2Uo&(Z!#$U^v%tKzuezC6&8$_w`*XP z&1IvOJF9cXGD(aDjkq;pO6o9aKLW60NYW2P=Diz)rO$l0GhClw39~+eUmE*QRx=gJ zhW%9b9!u#x-&$+t2BcsRZNRe2d?&^kg=A7^7ZYFsV2D$A^DFW4*f?G>sZ;{v$$BZ( z-LQ_|PQ%s`j8LrC*>7;|vbQg!@-<=|;@ZV()>!S;$aI^&fO6mD;ii8&m`v!{-3sq_ zXMz(;yxh9V{>Dsi_|}$#9p|^7DM5I?=;sFsFixc7j5M9}^T7i~GdHC5qmZELG}3q8l?7PA^0m#(L1eyISi2))L`y&CefKDNCae9klBjcY3keRYI>}Pywle0-=xej`R+ZQHD{9l+cUPI}%!G0ShI8 z(1b`wAp{6Dgc2a|-T0j6yyv{{9M9k1b3B})OaIC6!R@Z>sqg- zh*=R8St^SKnofC%is~rU8X7h)sW~)saM~-jKo2O+hm={Yd3s&CZB~>~&&u|pFwD}V zcDhn$^%;N-4ZmOT-i$Fkq*OsAW$$uFQxaNxY}jS?7V0mYyY9sr%e3_yZS)_1WTqg@ zgX9;VZ+Z%0IeD@e_D>@BHk44+3mvQn=UUGN3@fRh6HtHN{@0Z!rH*~8?VsYGT;aam zXlD_>@KyM;Fd3vE9J%;O|6T82slAO)Cro@FrHu*pB#pVp-udPJUr&K~JMYr&_k~H2 z=Er=f)@D7tBvjL!5U*we=UR6%_BV2rcCzNCn~)4#2Ys43ai@xJ?t-w5_LutQQ3`|+ zjMU>0*$&PW@_TAkh6I^yPU@=jS8jQ4&3Dy>?r$V#(Cux^SUh;}z+BBKiyMpmbL-Wh zh3UygtJ)pbjp+%dB~kObO3@oyLs6Yj+2Xxl!BOX+cd2(hWpvoM6fC{$6S%A8Ae`vE z9qd>>RM3uRIgfU!sk5^a%*F&S6K{X-`q^;8LdiGjcRSl*LuL+1&fg=j)dj-fDDWvm zVR-7fh8IPS>}F5Wcq^luL{|AWI-?o_j%pfPg6}b;_w%7%%IKhzJ~QguUqgr1HO3}= z9(fRTj*5Cz!n@Fs`ruo;4C7cdeWvb{zDts`u;9M}r;$i;5C2-#ji6+0+qQh@@kS%> zdPPPRi!@bLpR{*9-IeTh3n3(zk`Y{rSIsCb%G?s8-QCY1PUAoJ#57f|eMQfqC!SlF z-K%Z8yAGHzn0&fN10{>|Iooz%^B06A<2zBAs{6;j*c35*rD)*HzB4n2ydj*K%T=-Q zy67*`k}MfEm-)a^odW0M$LbN9s||v;bxcLME3r9ayDji?CRRasTpT!%HtDmA_PR3C z8{M*`5Cp2jPEw59prIB#K1&;J0*DWd93)v3T?3lsMlW+V^;z2NAUT8)m zEl>8HgL&PffZa_!rHa`>R#9b>DYFXHcw9x+5hYfX5Vqccg{@CDVdq~J2nWB6i9y#n zp!H9tSZSA9qw=9->*)BrPI>C+Xh!tQOcOkjQ4VIY8P;5#j6lBrLKiL z?PH&>NcgCty0b+|%S%(n($0l*$eU;GkaGLW6DeNM+!dFk^m&*^h9 zH`F@@Iwv78pN%ZF)irPIFmCcmBi!6pPp`sv_j6We?^c&jA(u*9jrQ%pHVjk4zZOz< zflJL~6z()sPgf{bMtPa$F*QV6F2;E+UG}Q!(OymGI}T~@2=4lch?B`W*9oAzo!1i< zsc53cC`<3M(P+3oS#sUixgjOqC%-ZM3dP?J2XdX|+a#TJ1?? z01bOLH_-($W@dRKpN^IP0_2_c(11@zN0@VGn?t_#X;AG7TG4BCm4Tj_WE0DE8M<=) z5|1LKIQI?M<^mI|SUKp*c#502LesSWCdTI!6D{-k+bqW~9i=Bflrd`9{sS`SBj(FjgcSbulp<#adbn>TNWTOV1|R6_T%l~eA&x|Yh!DVu^r z6POU!raolq*#`B!bBuk?NYMRb=7{GGy&HJR*6N+D`uKj;>BPUd|CqK;eESVYO7P-P zN1eNKeg>s+clwEp!^TZ*k78=KITPv(e}w12h>r_1O9y$69!*L364lq@{@^f~bi3hZ z0~&;&Bff#dZ<8H^M_Wf~VWrBzmffFTX*d#*eY-zC!ufK3sYS0I!zP;b$iW*_Yy$p$) zFds!QYh@|j1t(-agMN%*O$*&XluU>13<%qZxLnY5;*lrEXrI*nzE1S{yyuH*@@z*c zx9mfG4(4;&)M@(UYr)_p0R@%pGl>nM?s0=bGk>4=9#~8frI{MEun?H^ zno{drW0lrPv@)il_w1lR*(T^#k4X0#snAISPuhd5&JIm_c4ur9lt$0OZTLfh%q?FB zwqF7@@=V*%qEsBkARIoAKz*D~F-yM%uPqOU-18(Y<(sz&0B>DN11rK4;!`w^c*?Men&@sB4ctpb z=a3m3K9fog={hp3AKiI4hJFZJY(9P$=Rn>9k8XQ6vkQx`IIMdg7&N-t#x` zhx#*)Uj#FE17}o=^!%*r~PZe7FCxDR3#Zkl`K0S+P>CSD!5DoaiI zHIWI1AK%T(GX$BKH^z}!*VY9r6TrS2ZRJCQfkR6hec{j0L=+RO=E@YQ0MdWjOY*db(r@0PhCx@&kj{O z_!@)m%gm2QfvF3c`&c(r60tv%eX9>^Z8%--F^hc%r z)XnLWp}r_>inhm-blFh=&^866!`JhRN|I$>f|F`{=1`#?Gv#CcF z)cLy1ijTj&LB?0M{wT1ceKka8x{{_H?g*KT^e&u!X2YCb+4Z@IPFLKzt}+620YpQ} zO*-3eAwlmph^nxTnqbx_QLqOsla@Vd-{0mw^-}6_^!#+O!No6t7Nt_Bae}-M5r+!; zbI(@!Gq2`FpgzmMJD(FLYL4@#pKVtAc+b6eh}b^D&BhR}=*dJoOe#gcN*j+5+WdA> zqphh0X!`hzUpo5%g_!bD#&&+_L^n#oNW9%vBN$^WUWR7Oof3Vokb1Q9!&nAPc{rS& zP=u)l)lQG=!jJZ(l$FDXff0O?dFN@F`|*>$YqaJU3g;BLFXQuCiywTonl4m1J~s7| zXqw&CQfS_P%MmMQl&QbbCFr?lelYn0plSy)|8c^w}*FZwGVG~I{l&e{U5rf?w-$gUP`XlM=Hss%YE~8^%`XW2_SW(DvtyAUh znQrbcKZ8~AUy7&+{cC>qShQyFw1Y)vXTONV?Bk@9nFslE=aU%hcDkR)jE>yL4ZY>Z zG1|1YA1{BiuT_4w82u_HayrevYB{1trw2GHP<;kzb`UF8P?jL$a?0=UNa3;gRAa}U zlZQkC(nkl<{xk@+kFz-(Nkdu89gh0|_Xy?|hRzVIfdaK9xim40#_Z!9-V6OsfH3VK z_PCUww=Xb_*N@=GUegSgfiz8PxWw}gvMf+dUg7y%Uy%hFRSv=2toD#hNe$17 zBLRYEJ|&|xeAczIQ)_))M{{rcO}GPY1WGJ)YlPv|cI!Caw3lgX-uVbV#TM~rheK&; zD=pe9BdjrAuyuJ8B@xfVlkkRur<%#1UADcg%K4x)QhxmrxS;z0!$`5<442@__LJ}=L^}5Q=Up_Mqc-RwkO!4%a8R7f>H@L5B?GL@{dVzaaMaVoUEHpg~ z12zK>wZa)PzgFn*(}O%tyEBybWn1p~_cIlkKwC!|ea|l=xnpZ3TSCVqsvJ>j*%59R zd@?Ft!48seu3HpXAU0K*va6`|(qqQp*D^iiM+Q^Lo#F!$HD2?brzu`#FSfkctUB8Wv zxdtn-Y^q|op=G;-%AC|zsyKBUxqMRC`7X1I_OXjjo$!oV#lHD?geHFL@_EvZcqqM>T%&@_P|3-- zr+9>EX^Nq4x^$zIiptGIyo#F*pY}u~1~vIaE)7X;RYGA@5~QIDIaG6{*<8{?~cL*uZJ`Hi@iDYXB>0NG~gH`^jrZ(l1aU8*?eI=+2k z#;0Rr?KeAF=XZcAwpl5#X-0&dVz?bnH(J<p2hqrPE^(t%gX`>V^#d@P?T#2qcg8 zzHRpp?$iX%NUo6G60>QJjrC!rh?`K!fWv(&#)q~`Or4=9eZ~tM%YM6exBx$)F!?Fq z>iNtfD$uX;p50eCotD9!hErm2US2H~%C&ZbvAb1lWu^eHn8j*_zrSMU(|bK$a3)TH z)a|=|nyb1^Z#ZtiY@t5KS_to*RU!!hc)5qo9(v~>Ba1DF)z(#CaJYElV1Hea4r&aN z)zVlsUSn;pdNekLp4nd)rw`z+_9&+jL|I|UK6D@9L5pj6?dYaRhJ(CSYn&`M7_H&Ec6e@*D2k&VH$puxJvNzefClO8XOO0tL*nxt`};=>Aepv1hYm7X#Kz((fAR}FpyNI} zU@W7}UELJt%UPNeXB6 ztPv99X7oB2?s=bCfb$nFS+xHmu7y8QpiM)@*7hivfF61K*#QmcXzzJ?T=C|d&E7@@ zfqQ)K3vhmJccs%r>!6-bp46R%Fu-!O@w`go^-T|4^TFd|Dkk)LrV=)f0Y~u#t|T|; z5#lh(7u^jkG3kEGLd&CthnJziM1bnz$cTqhsa59Y;-%_$BX{DIP*(fG&O}4s)A!EJ z`oBTi>LGPe96!*$v#@s?T_Lw;-9>?0JH2ly4t)UTAH!v>Udg&Xwl_ZRXtcPMq#NYE ze{t`ocOzr7j>6O&70ST&HMovN)TX7`vfkecK$XEeltU5OG_RSENb>ADYicO(q%q4z z6-Y?R;;DBj1J@19$HxQU*#|bYjAKFShTmAfiHSIgIxtpz)Y%d+%dHZ z(;twRw50biNtK9L!1#=c?Wg602IgKUCU4WGbP0ZJn1O305+Qp$k1PQlSASK@aA|ll zFO@+O63@3k63rM7W0V!EN#<>WaqsSG;MapuV-k;72xZ8DYHL`lzu8)!hu$=9he6HrWjL(jZLd4pq!Cku5 zAgiYUPT{y^h{dRwz%OPWC|Wu-$E7Un&b@La?H0GhZ!`{MWxb}pZd2P~+3fGZCR!U7 zq`lr55RvOG7{muE7QEn|tHJ&^A~*u_F#_dOovA!VOl$C|h&8!h|Ii2=CqjqI_mk zs%m$dW++<0(p@zEolaY}lPWrB@T6+=t4L+?C#QmnO-3Bxyn&UVnNQ}I-#Ak1j&_$r zsa<>p&1}(!MYwWBhNTv?T$-EfwUVmc5Rh`p``8!$i(L<*Iv>;0GV9(S?4VT?Pvq=) zAroY)7dK+@-n|sD-MR#X<8t;@%{LB)`Ej{`Cv)Vw1f}Plut<~mYO}YgW)zQ|k2){& zRGEqf(lXEcoNiUHRn_JMy?=;|C*0-%cHZ$fJ}7nYto2Z5Y$x=d6|Yi6efOp8UUA@* zvM`Ct&)UaBnj)IB;hy0WmNcE1srnX%U*tEl$MkH!8d|;NTe-((j>nB8tQlPX)8Rcjn%g!b#gZETu5ULV|X2C~qyuj>R^z zJ^EpvjiDU%!8hgM0k*t)wvKfQV-T+fnpQ3)OA{v66fp~|G-#$8VQ-932CR5-hQlrg zUu$Rfc=q+Y`%u4q(Q=9w!F9-9=ETlx#F<72)qnm*;)QgO}N%2|@f z8DNMc!$Jz0kkf#}e7NhpzBOybGmEHMn+&a8n^H5{>ZvgGr|Ta z2Yml-gZvR1wY^BKAi??t+G|gLgX@MfW|-mJjcP)v1h=_44C}XCVak-o>;@b2-9u&G z4EJY~t}QQS;x=z94Oko#z1slNKN$bzPFFRp(Cx%?IeyNTiohjv7HVmx)@^0eK0VR? z+{aKf#!BYZDAY>EZuEO*xb5;i*%A(AZ>dW=J?z=~_Rm%w=oPlLuN{N> zE^d1RTlM;iyfqEAzPpShNDV7W-6xRP+0Qm-K939TJ2ect{64y&y@#@|QhtM|W4PH%o9cMw z;aCN4`4S#ZWyH<^SpLgUHjk?M_xifeR~p`rETM>*8OKRX`V9U3SF#u|TwL_403Z9dwL~ZV;=0 ze1=0;Y9w7II9gS7q>$BReX;?kZ4hF_&cmaM*xbe1*qGENGjyh;n+Z~`7_qhLsLA)cpV=6j#Kw^UHRIMtY6VV>E^ z%01y&%uYn5SI@nu&f`n+m&FrLg>C0~VG$2apv5#wWzXDd!3wfQt~(Wtt#s(WQeUAn zuZp-DF8x*4PRC$rf*sa-kdZx?_NBou83L~DJT8sYRDe@6@R*syJw(eOgX7rOI;La! zeY`5o6?FQlk3B28XaccC61)+9k?RJEmV4Y^ZK8#DAe9i2P#s$#z`a&!@9g99l!&r* zWSxPt{m9cWWV^cw@_|kTZ-FwTM#m4IDG`D^oWw+XT)~d*Hr5@bdtOzQUDRlFqnL1= zyx=Wg$|TOePIn+3vRMYo=mvBt34pBW5ypdB^OZo!VXt?GD=Db4!Jj=^jMFrgzweGA zGRbOwIRVZnoh)-j+suN&h3o5C3@^VO3{p1ROpr4BDk?Z?&u#XV_B_-0?3z7qZ{?ET zi2t+J#Uve+*KxO3N;ExduBbKj1zP6p#Vw6IM$&WoE8xWZytoFCfDU-Qnmw!Tc$9Tj zw@qmyys&Q(2vkMu?G=CI*Fqk{+Hplug7eYk_-pp|`0fB$+3O>2QijcT=Q zjI06e6_T=YeQlp=qAmVaW3@;qZ)B-*vz-@U-!)gU@so5R^=qY6w4to8Q#4}STJgQm z!_)wS!}Qh3@fBm&NwuBAA(k@$MXP_2GzlTkqO%oJ8cjT$1UZ+6z8CpR>DFDWyoDdD zq=vklKlXJ4JLcR-4qbYy_KoW!b0AA4297GAnUa3@cX7uf9U=D z(6?_h=?l6Ml}<+0-GsF8QPI+~CZqsI35(eY2TY&AXxT|`b@%|$ zkU?DDFzvbGV~_%OIU3AeW@n4pQ@UJAR9{F&8kaU$+$WQ_0GL7izM!JC&0d+gR-+}<#*aj zITq(ULB4dWb&%Q=)G!wM)f0$Hx|gq4+F$G4gtzHULW0*maF`7ZtVn{o*JBxUwZTK3 zDFv&CaFsa{q~W#Z?@?Ac4HsM~e*Wh(60 zM2GC3CH1<5-06Y?xr=~{0@2143H&!ES4R^+N4Ve=7&r?cUB&91O~0@yz!7c%tLl*5 zac<-hK|Otx9>H{cqKIH1>Xji%;~$H*uTwSwF$;V&dM>~wVHlZyNEJl)W1nQ8**l|u zp!VyVLe?wq>sb))DT!dCj|YHbHO&AVE2Yqy|F(SNi}ri2bY;XRFAd0&k!KX0IRO2k zP$o7RsG|Qlm*#9UI^Wsr52^k|FA%}fvi+v4Xc7aYP0k+u!G*v7pj!asnq5AT9{=>I zGw(_DY-t7!I5WT|{Kpdh{sWK(2A+JNYjFR6`|C@|o%3OeW<3vq=od`P!X$Sm8=rDj z#3W^*2e>Y(HDGQAY_{B{-;{k=$p*v}wfHjk5t3=W>%$qgjlr=z3G zmp`eR?qQcCCeI6K)=CqlmcO4n;suOesmbflyT@w5^T32>;FC9*e(Id zDJlWh|ML!Bs8=|_0$1e~?na)(b_5XfJ%KU`;*uN^VHru;6^_Ky|2^O2;lQqgID={b z%@r^&18{L5a{5^hH%@7ejOipRZ)0Cslip#*CfIVf{wQ`&vkHJzD5CLe)vX(uqz+K~ z$H%K{UG%)}s!qWMdkeCuif9CX9z3EFUZj%-17`3x;DBqbw+lyS)ks4cIM&lGRvqN{ z!~*Z>!IEzP8JA{oD7K4@q+s=OW`glK$+Llq0bk$SX(D#VElL*3lr`zk%X&;cjvzEe zRJ46#_L7IRWJgZ5VGUHFyniDXerA9S#fX>=9~#V`9BoRR-N}gF@7QneP-?EEp}cld zF5prMa3AS`W#q`s0Acb)VKs%7a3{MMC=^OeN^2_|(<#DqkcuQyv%ESGV<#ZQ=;~O7 z1r{<+We~C%Q3Zd&c)hV2PW!$P({VJji4lmbz*{%CJ_(*2%{7VVQBho>9JOPviJA?y zU_t;sRKZJBcgw0)Me*GcC)qeX`7z&x<&2Z$2xEiaV}K*pRGxght zhI(RZtS}Zc?1cK76I#(4+XOJOZ$)MqDN<@UH^_ zub36L--=!Kg3?}KV$t7_6;{v5J0X>z`4f~!0$=FZ;&p&vcG4PO^2|p2{w#4gA%Y|f zBc`wU_Af5fAWsg7faD+rls?%vRgX`E@6TYrOf(@W>wQW6s0H5r<{laUfDHs*|8V!p z7jl_Fc)5g{6GQg^UNj?FsMQ~VIob0%Z7hS^AFMQa-0_D+jb(GPO;03Ps5%XX&h9*f zS!b?|Z=U_XJ$3fkr+^uMtPH-pdJOV>*4W7)>^qyVg@a(%F)z7S^Kj1>ki;Wm8ge?D zlQ-hvn|5nIiKQKoTTzeieeM)%C#-d-$Bx1jQ0`;@*O+o+9>E=lN)=XfO0I(27xv>t z*${`%bollet+$?!6k|GwsWsAhaC`5yCXdg5T@@yXCg%#lfkk&5j@8H}j~+H)lGI6O zU^c@&r%0Kc9S)SIxo=b)y|+@%*w62|BA?v37&3|>xu5)3#R3f$@dAJ(zC+yFWJ3k}pU!O3iHf0fN3+;8ohkR3mInVEL2p4C z0`Jk+p2Iqf^=>&ZGHM*C2|AiPjhGvUD8hFX+<@NVCILL&t ze)jol6+!fefSLl-4RnTNQ7wmIW=~J{)08%v7yQC}iA^cOI_Dc0ID$ySnpuMo#r30S zp`S&phg&dpizdi%2xhlkF>B4%adi!pN7f~8#i&guJTb98A*LB1FcAkIdH1X)Mv74* z*@#^KDvb4BT^g`H$8(2`Q=TG`drpxiogKoA+#&pV^tIj55oZa zAl`BCy%;0J3GfQNE9wu6y$|&NWu~@l-K1T52;dUSzR(%C5g+qk*tR7Z!AC?&qr=R` zy{Ja*nXJ;U{Z}kn13ZvdD-?1Ih4rJW2gWPl{d}uUV*W5Kf~-Fbc*44G?Q_JmkrU#X zE4=9Pfv?)WZxJs+^fnw+@OvG|b^+L;4c|Nqsfu#mrZ12z^}Lk(IRkoej^6g={xAoR zLkFE0$0;I7hn=funqhG%axhm#keiy)h-=GR`^}@#USJX#8EFF(!S%gw7|2XfoN5mZ zw1J7ikA1>`Z+#|!v5+<}H{e|?jS-Y=Ttx9YzH*Krx>-{8gZvTM+=n^4JBVlH{^K?H zZX7zTsT$rEb3~q&A5$b?2PXiDH@6u)Y{wK&(yibX39E?r75=b@ch!xYts$OV92~3e zIeIu>n6Cjcm$Ss&i8Af!?mOthOI-rg+;}T;NAgP!P@CF>`%g4_SR{)_X6A*U4AO43 zPJe1*@7HzOtFWQ065m~KcSiNxWizO??@My*Y#8u$;v+q06gPD8*eb3~Pz)8drsE64 z@DQX%kt;cz*Tu}GSJD(YS1UbYz7*aSuGPSBBI5rClWyxn{hUq+j~k{f7D!wk4)gaw z>+aLCkO)l6WkD72vgLt+j#YQh=@Mf3s{5S~U%1!1`W*-Ue;fV(hMS;diQ4&~nWf0P zDgVvhuha5`EWdRmmo}EEPqnXp+B0tpdIo24&T`0S;gUCuAQkZLdXyif+(!RZ&rlwI z@GT~*=+722C!iYItB<3B((K?;QTc495mTpYp;k?!I5wD}m_-S!P~@Cb#y`k|Z+kcr zo2*pigr>~L8?2i=X9~$IJj!3|)h!2w^yG@TTP&S2N>gODV5`|{jX)B%c;;(@$0dK+ z2#>wc9FN&Hgo2#7S*`6cb@ulr1-asxW?wwUSox`Eq{`SJWRmZ;9nyoGJ@7ck<7@3( zM2X(imk0Tb0M}X!U!ne%5C4WBXCTA;f~foZ1gpO>uKxyV|N08baskMgfCcZIgL0;b|L(j0y6)vD00*)>es}Y~ zv-kh~8B`V^X0mkREU)-qU-18|#19OBAo@FxF8?QW|HB6`CqRtHmo<(5jXR2bzz))+ zmR|Vj-vtN&uCdLB%DVojnf~c2xd9+O1bz6J_UEJkv4RHxF`P0-|0{R?5yzi0{2y`r znWX(Ajz8lL?LXS_XNvD1?f5h9T=>UW{}1N(haLaNSpSSWm;S+yKLbAhV8@?v=O66& zbME}(%KXeN{Ku8~DR=(ytbgV-|KnNzlso?fdVUte`6tlxQ||l|==mqm^M7;TA7lOh ze`DQgOOMLGuyb#I>)S^h=iI@A9T{b1%d={Vv!1d#+pg!qM$|DASI^pXQ-NN6DM?8~ zI{F;CR-+n}dQ|7idEi23nWk6R8Gg<96yB4q7~EMRG?(^NkilHF0J$q6uNsd`v{+d!U2K1%8-p;j1{wqu=s%C^xL` z=-9L=aDB?YxM&XayEUZ(Nzww#kd-3byI10wqYLau-+>8vKr>B5C}Ibrgg$FkDo9W@ z_fcyECTi4q&b0WPknwW+x5!Orb=Q`GO9lfiYUyhJI4!(B--0$UTF<2#kA{i49dZkg z_JsV$tdcsvm65tIG7%xt%Wgg4Ji#8d^fAwus$;X`2!+W}!XJB&ex0dzG2ZFs4VOIH z-;_X}9wFz#W+G211GXND+mSnRk?^*y7ZRe3*B^%5okS0U_!BwnH^cBsID?Z#gNLee zr;B;V$v%`_>|p<^fsalD!HYmShiFd%Z{EnT1f;GIu~lXE{vBD>h6W@Q>Nx|Hq=3K* z8QmX(hFnVLLO0uSZ!~$>HwT@LXS(A!(U~%CnJsI0!fzZ91WzHT$fmKu4GTNV@Gh!M zH>~gEoraO;PLCqfdely~adBQ@cG{5ET3q(-ia}&c*s=z%D`wLr3=hwu>ZupICT9M4 zBoVn_&dHy-kSZ&uB2R!OOI-cQb z^TABwR7f(7x?0J%Ol=z*5Gnbr!dOLWfqA9pEHP-Xo7i)#ihWMv7yi>-wuvO;^iHqZ zlx=3DCwsfYvS}nCYhM?ooGOMJ>724&?`UckF_$z0LxqoQJcKw7h*?|#Dhmt2 zii4md@f-rf6|Dz#)9J#-TGUZKpxnlfP#St6azBr%NvDEu<)4vk>FNI=VzFbnn*Qp1 z*cv9o!ckTA7vx;sdl?ORHT74C>DKfomN12hHzRq(?S#lScKMdWRbUKFJgsW+K(d`d zKh%HDqD>Av1X1O*$}&fvX)S4~2Yb|-fXI{izKgnmjFY0TjH$CJTRvf98` z?7cjhaQx|79tBQhL~bz-e5#4vkW1~snUl^cyvV4#27aLvXls)Qa#|!}MT7!ZJAxM@ z71Y&@CyY*XNh@)@_G^6XK~fLWfop}U5ykEkbwvzyStx>Tz+AnU)ZG;t-UBcQmcsXn zq*rKgGrS@rKV?wgi;((jS5%*8<{A}{rryT%sBAnNFzr@1!XQrwNY6FoUPDc4`reL^ zbAFzi)AJtKpM`Qj@zy|=Br~RsifuSkj^yq&)#xFzkR$EcL0)ofG*mTf7mHhDS}cYe z4uK6m@2~vQtF64*PRn>aWXF_6d7iHQ}w+PDK(W1jjT}m6o zFTeU`pU{B4aDyA1c&qK+6+quMxX>yC6>(w)AtT9|b9#GZC*pSO72SpPiNS~f@?I0t zO7)4MjY`?Me0|Ov|<9$I@C`w zN}FvRNbyB@x?fxd_lSf=e^2YnUG#Q?O1z(LQSzPj=WQ`NzO$em1*=FY#^e3dlew%t zeax??M4(M2DISsSOPqZeV@2&W(w8pAe0+~iIBNSZk!t5Uu7=%uUMgzi>ss{WskxIq zq8y;P^-3Z!27St-Suf;vO}Cf|&S!%(-3~H3Kb>#+k}zCUr`txS;-kta@TZ!`3$@c7 zHLr~qqb6D=@BAkBM`0&Pv`(jIQj!Jkwf8$}usLc-I!Uz_8dqL|42GBllhHP_(;o}H zex+Qzt%D+G42BhFJj)38RrBH>I!}eoIjO$CPd{p^2I1Igs0sHN?a5&Rt>ATsbfp%u zH%?^PqDJM?UW4H8i@YRzQdLh!<6haHI|Wq3)6v1~B2|!rIOK9&`|^DWSE=L0ot*ho zBxMTe;W%%wdjLAfJwX{n5R(TwL%W$rG>`r=ZF{$^%}des%gW9)&ks32k{}N+J&f6KrVH6h6O9ZL2d8GSlKZn+Nb@=?M zd+xVmwy@g3&Do`W#FnEDw*&Y%d^6O>SN!3_4!p`{u;9w>(eLQjIHnI?a~X5San@K12~MCjE!)16Ma$LjazJC57yS_wqWpHh&grn5v?lQd0X zK^};?wEuM^#y5Ag&6*>iEGFAjIMhmODea5H2o|rPkM&j<^Z&K$DtjR}CF1NOw?K)j za>=7qIu~l4kz45b0Lu{UtHP0o_Kwst-JYh_!49Lf{l1HqiCEy8kFImU2E~`t?6@S# z_xyUK_xzVeksuLa8o%vcyyRvH?MGc1k#0+N0ZAzx9*5ey%)9pEL951jA$2OrojLc^ zO9qIMr<*VqmkJ~YR1*NK00(H%e7=-pmA%#C_O^2jcaX8$~{cU|^_CHX3W=8RQjbXLKqe79U%jqo8HUr<}-Q4}Q5{QO)^q96t@_x~J zKQ&ob=%Kg`;)2tbD)(V5xE~+B26O%>ha?Z^(T00Q`HE|Ee^RnRoLjPd!x(XMuY)|` zCHpAUMXT`lM9#%9oR@;!;>{eYj!06%$s;ysUT-^M_GwZ#xZ?^go%7go$aj{r27VKV zYT0%H7jaG049Fg4=RPnW0hO?foYP*oZ4oa_;KjMM$xLdh_1vpr%&5w-eUWmcI~9a| zLHmb*dGJl_i}y67-~pzmJz_MS!KXz9w`R#x%XSYt!AAGuu1hC6f3=)5qMz`|Zr^vX z2E~o?QkFFbc17SOQb)>>gR*<+nKqc6Q$dtMUe)ZboWp>Vq})Yq@)+Z%bcxTp(MnJy zc1vBWy%89$ePqf<{Na!`wJY&pA9+dy@Q0) zZ8h1hz=au|e#|5P%_rHQR@0J)(yi21t3As`5XXJ1`LU&kd^ETEiqkrwBsU?$12sy? z>Ek30MBu5cY0r4*%(Rok2NSyEQTn9VOMr=2o2q}-O>i6F)7Y>%89k7dZwhxgroZh%QKuu(iD;{ zga#MQ#|WItV{Q)pl9akBSMSas?E4gu-8u5ZNdH4mV3wmzLE43Nl}PHFb;tUsuUYxy z1e)G-a5r-Z+jX_Q_X#rLD9FoO2`hRJ`#;r?W|m}d1V&}{xs(tz2IRGQvKqmYcQOPrV%-)zZigP`pJ#quvJeOoN@O!OIw|p0 zjyAJvVk#C0_ovI5^qf$uc|+$(*XJ|5!h9`093%aU)St<0I*!-ypOTjIE8BB!@pD4U zF4{}VbWtO|E``Hhd5G(h1I6zIdrb-nCo&_`5l2TLrEu|N|%>gOc&*&Xokqkx|=Z=WNhZ#9~5A}od4E)ZKbg?h&wX|~dN#t&& zjkUa*Sj+1VScmYSEK(dozmQE3TRbY0Ej1(^k{CpK|LIQLxb3*fG=Jq#Nv>Bj#Mm{if!NU z*NgfMCI3c@@?|AKKT17bLcEXT81PLO?smnu=R@mV4xc5vL1qF!XQlPa`v?{xMe`jG_=i~Du zUD;jhXNE7_HyOrgCGO4snBsN1j+7BzF6-!?XpWR(SyYyqg)v&ZyCqzQ%TB@fnbP_C z!t?x25%ZDX+47vl4})_pr9q*}IywRz5;P?30@Y;Zl31?D&AYcXZ*uIUc6WZwhboIR z*Y?Y69g?!~BU@SVV$7w(G~ZmJ3V)Rw_K>Y+433MnJ`*peb82Ww0f(`&=Tt)Gm{?_T zY>s6lkw>@op%kltq$BCB-eT|}*8BT5puQ-anAvj^lZCF zz-VtQaVS}NOpu)?iXvW%r#h&1q;c(hIX}{95EVL$rd*Ov>`J4}D@g!Z2t9EaQuD|J zd92L!wr_48V>YD+-}KRw0}r*`Dg5(_@(nHCGZ~q4x@+qvwnC2$DA@?4it(v2-Q=iR z8f2Z_J~vjZ=1mcURG%1j#GU;ky1|JAQ$6DH-Mm|H8qkslCt=D^8LG3fq!s)#_DTb~ z52OLdm1t7cej}Hg6h>&rxw>hEHLrJPZ;zLvf?W@6Ti_l@zjqj|nc(2~!Aj_^3lth$W}Y4*VJ1*CBtn-XVE->9FGzGSq4C*tF^74eMc<;s_{Rarn=-qh*T< zQb922gx?}wL-sIQHe`+q?N`LgPHBq}x&*b9yn=u|SXlI} zzR|j0-c*Dr-0r5gEJOCnPM9o2R}%v4yvFugczj!=)R7RJwgzZ($ZJL_PCfpYF9QrC z(ZH$vni$$6%Y87qp4P{5)_bA@8z3;Z2y{l?gxm=2NeVE))bxEx6WcGQ7&gvs=d90J z(U;)4=UYH3@uRz<8?41TK2Haew_`~km%`Lqc-=^|h?n+Y1<;zWUb@!<&g=qtr8 zFjUp_$*Cj3y1ZeZOJUsdl~AkT*6HITy+&4XlZ>Ej2J621tp1ULrq^s?^EAB9LPAdD zcYU4=ipK?NhXsHfyLW=Czd>FqWDJkuRVVCtLq)fB>E6*QEsA8MhFVCBf;Ziz*SKCeA$r}LIn2ouSM*ZIc&}QNW!-lr~s--)_vQ|ux zlmIE-MLgcF#Ri1^POCBPH>$Uw>W|8FUNWYHPv-e&gdjg_gE_*x1` z7({j6f`-9DvCWT=dv-ch_*rY#BpB62)O7gtO-KEsUK9S52qvS(els zK|6xnJQ)sZvbThLVENhixDqhLyJFyKj!6-wUYX9yN``WQ;lm%c>Yp z&Taxf%`Ey5u=e$t>{TlW&@3wXJ9OI3Vb886@@6zMLM^Y1;X0eDBx`nE6k$GvK}DUH zu~{vhf?AoGTMC7}?Hie~YkFPcz<0cPva#8H;(|KWPqe7}E^tYnvS|R|7yS&6dXKzk zHLs0TzdkZZB%LVC+KaHaI@}(oHM8G4v2PTe%fuzZ{~&zT9z65(v+|+#rx_bW`@Wd7 zK+untz&@r{DQ4Z`CFOwGivrBp$OG2XxBnka*BwvQ|Nm`5BC>ZfN;bL1MT%rqD#S$@ zm+W=TYlgCAXA_cr?M=$Mxc0iZWL#V$u04Op=lA$N?my>```0<|@p?Vit9j+2qYwZq zb~Zl@Bi_kWMpKy_@txK^VG#y;X>CVuy(-x76x-Hp^}VQ5uJaDA^vKA~7N zJpL^JemQ?K=pn=5+|p5@r!->kNo&*BPLn;5P*{GPNU)_{2OblS4OePtsUp-sb?&8Z0H>@r2J6^YLxAPL7U%2 zy>6O@cl-?}9n%j8W&tN|cw1hbh5xfQ8(*tFenSVq-xZ0Rz74p%EZQ6-ZtmL-^j9tQ zk>4j)0_{ebxcX$?>0G?cEv8Py;)}{YLtV_GqU3FrH1GHV7M6!u7n@Ll3_t6Fh=gj5 zYq+>i>9YH(UPD9n@L+`E*-+=s)#c73$)@g0xWtuCo{%Y?hj|sKRli&Jc|#gtk&|Yb zk;vCvX#`>Hn!JWSHk}2h>8=g_tf*`F{F`)pts}-H6FA0`lL1Gi09#>R%ofu0(xs}_ zkhSEZ8OYr({}Rc`c5@chy?Gr>03_rNrn=r!YBN2$rhiU4mCid0AVa7O1H94nFg>>z zhE&2x^2n%R;!px>@hO$&{%UJKTq+c#PCdZc|fla#|P0-s%7 zYT2irC+G8gEt0)BmAKiTP>tP^4?GdW*X#_j(-IN^S)VjshgDgS|7>kIWY&3SjQ>=F zD^z35^X;8W2QL6Kk(-`7+um&udiJhr){XDLAj$L@u`H%rZNTaz z$fBcX;E9ss4feiwcK?Og0-j>m)zm13zXGHqVC{D0nHjIE{~{mEd;@2dfWQr$xGfKq zwq3@b)R-LWI0xGMas$}-DWh88`xo`=uKnBxp7cqGeQo{>%UFN8+Wi9n-ivn}d6Y7l zu_;kE>dbDRWeyl63)y>6?w+}+&z4TEvFz*1Lm>Ii28Z71vr$v;gK>S7C&sOdrVMa} z@}phappE0X>n*CjSqaK=+wn8YfIr!R*POowFRUOdr2k#-Tw`rr0tDM+MrVCLD7RsF z_8J4MlRbXh-l@U?A6c8kk+tbI|Enn_)Oy?KKh5gZ>tPhhP(_^Kl8n?y_R00Nyayb{ zO!N*@{Wdv(Su0neioNs6t0(!DZo7Y&l1sM6ZW$q{mpw-WGf+lgHp6e+kJxM{%j_Mf zzy7(qUOPg|$@XUU%=lm=@xXR^belQtv0ZIUO~mBz`u$NiMbs1AYa@%?SNZEh(fUeu zRTtp(Fo~>f=2xPUZysGZ4JtqY2BfaR52H1SJHmTCkhH=a*49be`WCdvF`=gyX1m-Q zjc1w<-F76IEK?&U({<|nK#u*jOLlGZ7C2!QVtS4rfR7esH4Vkr{2dbA!R~H+=PCB***f7G6E9n|%d7>D85ybhzH+ zGDY#aV6(4E%TN3PQdC-nnx&*qU+1$%QT@m9pI@a_Z~uvZR;DS^@SX48;gdS*fH@#o z8yfkq?*>0g5k>}$UIdKpI=$Xd=#0dVcr1%!(q7S__QxFReGBcR1l)h+^lMB@H#Dl| zmj7|*%C*nbJfqu!-(%#5faO7IZU3f@cNz7F-x(SsqH*zcQcKF1EYGFcd0?_YJFSaD zP;u1OZE@$zME@BmxZ{fn@>EKrDk~z|8s9tVG%{}LvsI%#lRYeSwWrnOvE#t1i1HeA z{no8@ISqA)>Hmpp;Fp|`w7vwmz5{Vl7zTcncIPWEMi@bt8Ov}0R~FHo>M z@J@|_d$kQ5j9o{+bqmxlYiWiqlS!@5?X{jP-tsrN_B(!k?bCwya0oJ2;$V4MQ2bD0 z{%k|Qsq5U_4lQCoS+B!yc{EXKlvX;1*wm?`wb8N(Oc2r z%+#{9-FdX6`ye}{tX2tYd;m}mr48yD1n;*s)yS)XRyZ1A0xL?mmvP^#ZPmG<_MWoj z`h9e!xz#CL9)c~c?TVik#paMu1L+4lHf6fzM*s`jhPFVm%Cp@+nr^`Mdab-hYssTl zrDZJBqx~X{l}1H++-0#x`$fyAO5VtZbG@w7*Yv^}IJfyLueNS^`vw8)N^p!4%W|$t4p$q%aubn>y6z0s7dtGnTIyymH~IM7rUouD+E|g>1e7} z?NqhbwrXYW4FX8+9?|n(q6ycq|I)Tkqv@eu zOQ!Z@hcVY#1E$_|o(a;ly?-VR71_CEbvloIjqONv@W|Y77dShcZTr5nbwk(lv4*_7 z3DBqDzn7-mYcF(Zo56+kK}F#THcC2HT6X*51LLSdsu5&M&l9){#}(k17IP3EQIdeb z^_N=PQ%qM6Om@Tdr7onF4(Ox2j?*vnhT7AIQ9DdJdEksfmM4R~SS=%+fc57786Fnn zfiUUd;&mn{5_W^HUy(<(ZZyjb_&zDMlzM5bCM?@`rsT3%76Na{50HOx1E$sAl2*v99sAsQuA+ey1z021DZ4I&t*Sqm#=jE3h<(V!{f~X^X z{{ww(?8}Y&Ne#yZoxJWWlWxk;i6cM;a@lpwro-dEUA(p(NdGyDzc?z2@c>|Mpy2e< zbS3P=@`$W&o_kzvW26rxFi2T+cUDIWb*??SwiKiv>37jw=c)=*-%@5ncgUPNyB@d> zK5FRDg{qU;cF8>7JL$z99r^7Xee3vDlzz4PGqTWo&X;jyVIbh37$_fG2Zz9g{g4d&eV z_1s4YJKk(MVxmFNRSbj)ST!V8$9FkQixO*k83)OZfB~3mCb_+6HpPmT4_AG0T7KnC z|04xcH(k*5@T<9Qli*fk!pT*g2et#x?tXEsA6IVhq4yvxKv|ilgGy7d=1B-MH#-?0 z(c*J%o<%TG;477Lp0NByFp&C0LQmnc%*|c+>a`8wha!@n1VS%V=t4$_9?oJESkK}w z_n|Nk;0J>pjlbDBGLclALv8!bU2GVJ7=ONErXtL!c-haQ{xh~|-^-+Mj zouG2u3(iw?UkHF^dT$i1&p%Zmo@kLSFS`X_Q`MN4s_ps||Hia8aH0VQap}Fc?i1=6 zc+aBS(z1?cVo1RkiIJVWrics7m=)@%W%?%Lj1~pk$LrIbe%;U@|FLrD3pXuSjT$Jh zvEuSv2C23!2oIb_DBtUTC6pT00#M-E`&weJiu?_jh!RPjP@T$dRgb=c{VZdNaAA8K z*68x&eIO?HYV8S|{ijDWA2nxyh8Dmy~{Nb=eW`8~Jg9OWsiW{dAC_uDw?aZLN5hX_~*Cvn`%AMY4Wo zPr7xFOZfhAjduyU_SfNES&tu&J>WyZoCy{Lt$meA6s*j+p2%hhtjJx6w zm@3=~nli$vZzNFN!{FXUhhu?+onG0OWcRJ_60`SRe}abUPl{PPxp|U> zefsgpRk`iri}9b&f^Z@(<~^Ex+RuV<>G@vNf<6qUI`(QO*Gi@^B6Y`$YWW$3zpslU z8lc*p^75`5wzVgz^h9&YR~C0FYLUOxOeu^xDrG}0KgN0R=djLksydc(&Sx_`Uq+Q;18 zOJU1-k*CLkpg#sZ$}Xqtg}Qz~3WrQDy9ER8lZ&810DbapRh`{aAQQ*SWwL4Bogc1O zSosUd@}oq)nHi;K$`E*C`h@tALPn)t8i|x8FdT7|(?5NnOpk==?*(N;X-TlK{-jD5 zck(gb2L_AHX(Utm9wvPy!xQo1YZlNl>s;$65?G#@;vVlR;QJ-xXQ4Dn`0(^EqRyE` zs%&V=uzeP2dK_%ewF~u5clFO`=3%u3Ep5M(*%ibAL65@bM{ zk)m|`qvri(8rN~OvQcW@ta{m#C0UZFni|u-&I5d?vFbq;7H;*dl4{u3r&rVDYr1`^ z&e|<@S=JuJzhz(UE5~;#TrPGpDw5du0G+r0c`06NGp3Ay2``SMT>IP*VwKWu&6_%7 zJSZisqzk_sk~>JjU&`u&3}^ac@i2O~;!<5WoZQEapg_6v>}XYTXDn=DBzeGf|4ZJB-tu`PF3*T|FiJ+ml85}HvvXRx$2kVR zX)aIta!1efxmGh*AFz|_%28>VDD!V&_pH)c5K@#~Pvi&e<+*olrHTAX!jY_{Hw_R5gQ>U8ePH-`8_e4xa)05WeUMs%woDqmh&ImBIjiVX2 zcfS*O70A^rT~j@AQb`FiOZ`LGmNQx8tsJutK`%dIZ=^?NG~8ApMxscXsnqET=~T(@*2^USfvTwhF)Y(zpkH4!veAVITO3+MMg?+w^HLooc#>AR zD4Xv&Rhr6S+p69~dgAOk-+JRd+G^3b?outbGBq`#b7tIZqF!2g>M*5#0wnw62w;L^^mjj5-v*L!B zSHwp>qypnv6-6aYst=0J9rO^NxrfoSt1?1(k{M&vJ^O%$3{((tU*%p}!?NzxL45P; z2ghA{1)=deayE-}w`P`f1ITCAQN}}LE)PK;GwHeJgA8|>FX&R2*_!e@l zk{4#*{n=k0A<`(wQp&x`@UsetxAb`z7A)N+2L8O}NWGsxU zi_-^QkTNzGyXr#6Z#LT{Mm;vG-wuR_gvjY?)Xtrru{wGEm@@|sho*3w)`fIY`!Wp8zupCQa+ z@w>`+wjDcU&{yYB5SolF499*F8~ksVMG8z#$Na$dxf)URd>lvB#3uOQp81*?E7wvzrvw*! z@Z8inb7%7upy$(6fIho0do~As)=>4mDb3U0xT-T_F8V5Tu0YsLK;~W`shua1;qpeU zBAfiW#);skr-U|01@qBKgg~WXJ2&oVMKVU|@;IR=XF|8ncF%|H`$v;BfAa|FBZJ=_ z_=B*0Ru$qfsTsxn@!UHrNO8q-?iY-lsw9gkcRL@K=Q(4?#c_|+1j$|1>1=&}%e1=g(Pb)sDP)*CDcZ6>Vo`!bnXi?jvZM+|^j-xpC$Yo` zsm&O(4K7lWQ?fxn!GwtDnAMrZWL0OVQ4KfG_WFK+A{vhEBjp!82z^4IxhBN5$xvns zO>hUNddYTu7+{~I2uOd#?wzpqZm7~k_Hth(DZ!AeP5iLjfj;3hj`@MNm9|gl!cq_1ZL4{j3Lbf&ee@O0IeJ!=zk;+gV zm&eRde+!NdYS6D)1@2_)!kP#5fY!Rf=|w$i&}WNIid$^y8pV8N+^exH98#5(hmwvK z?o;{F>LF^FYdh3lU`c2Dt(ihKB@boEQ@5u7@F-z&LGwELPcML+SVIF%ddI*6S;FPo zDLHO#EPL1+US&aLzdL)~X$mPPt3GdH`AM3?QYE1pgd5MdhwUh?26tiNMDHh-vj~6l$`PsCy=gIz%A(N{>;#Btujy_BjuVX{$ppD zU+B>~`$X!}`eyB5G|E>ocj*S$c2{d z4b9Zm+wrBhQoUxAi8G8N3Qas0LxfVwr3BA72kx5pQ%cMhwkFiC9H9|ZE7)?p+?X$C zr-HCEuWR-+`*v51uS?t6oG8bU&HUu~H@GhBl?&T+IQw%jN29fB>b*DUD)w}APyxc! zZCW9Ioj)zReIC(n5oZpyTk>A>tzd7npN^_|PmTYObuw7Co1U{Doa3IQrSxd)uF&K` z!TgeQkOwJUl0+tU*mVuO?*{(nRU6m{N7PP7K7Pw!{QPYRT=_uJ{8UTHja`3UP_Hhk zT+@oT96||?8~9#Y5m!CEF;k{ky~At0Fr;>Vbs7;Txtc__%1TKRE`;lnXJCo7Z^@PzU4`cdO7+m%nKLur4}FICLFwp?uX?>Fa+ zk6b(PIp}{*j`N`jcMm@ljz3(k?_&AD^zDO|7*)} z+rAr3F#I9GEL6`XOOSAdB#KvXy0i!EFf*Xpul)3S*n_xsU#k#PcBfW;4@hp7yO=tE za5H(LG@N!L&!9F)}K&dzF`_`xLh#uH!+=%+#|H9p6p zJQ*vOgm^C5jOT`$w0W&5dWK0tS&&w)=ZxZ*ezQT%gAeO^^%))=?oL0V9nndb} zIJqf#m3Dzl_1bdtPkJciADb!0ME~`N6~u+j71qZr{vI6jA|sUwTx>71>+p!~5}UA4 zcWGUqbGh%^cX+EN^rKy)?*vTV!Sr7c(|0@8Xm?sMv$C(jVZvzUG@i4%{;K}Fsb)ih z=F2_o(;t{y`*^W>;(=Tj{fPy5mwNr^Cua3SJ^(3CpW z;nLexl`ULEQ276Etac{XfBYb>EJgyoKFD!i-c(8QwTS*p^pdFMzi&8FjHkQr3!47m zFAK{47OgU^mAdd@3<5v|U)NeD9szBpIM8Nt!FW@PdrF8dr}CLE(L`i@XC*gk?-7z& zgHPO&sage?>RuseC?rLooBw>&s2QwF;+zoidz3Jwgw` zL%+(OsaQKdL_n4tmmBONdOe(BR0?-K+uOT8lwgV#?~S%&bo=fl6I6EKa4OgQqRI5i zU)>X-pWsr3rDEWg#2XG&RVCUd&ULdoJXprcQB-U-s-BAkkDnPED26(5a3}^K+uEA8JLp)=8xA2UKW-_*}j-1Q+4GSkQvd z^qcJOL9b@&XEH49nwcotd+MI`j8F9YGOP5{|Cw#i7L!o}>tNs_B#g%r3r-bck-y%) zlMBTu(40kf6r7SZ8It)A4vdJ`70Hwsl^=*$KX)P^eBtI|IAjpbn)*U^j3O9)A950O zXgMF?ce}m+%H8^`_OyAep$XASYU|XTqG??QsRfnV8*vQ_hTr)1MowYaQ9kP*y$WfB z#i!cF?&GO+Av^o3j-4a52&V;F4 z%P9MXvJB1BcMke!w^)eA73A^v%%9dW#I~;)$eD&2s9Lf$wF*#8DF;^Doy-@OMll3lNXult|>L z{`H0|^$w1rAIZD_Yb`0Z_nxQGu5ppmj3ppA)+GKU&u@`slW*03 zbzJ(Qj_jW<8xeED`c%V@h>~_Sy>gC80E2PK!sBYU9yf3lH`9Q!kcalRoU1ail_Ux? zb}FmN#iTc#tP;+7O->cWuBFvzlhx^v#;!h2!W&H@2Apq#r@+tA6>O6a zrzif~97u)2Og6aReCW31r`c%%wTO+}s=djIKPgbloTG};o+nSci!6Wd&77M!Nqfb0 zW+(<>LLsgtA)MGXf;7i}9_2EHan72UyJ;+Eq^49x1H4&prcGst&wrLyio`pAS6sA}5SO|Nx+>k}e@l^R9jWRnD$sZkV#kF%{POqWymtEU@6dXl>C zlc`aXKlOPF3*67XItx?w;2Bv_JUDa51(>JZeP7f>3*`B|^_XBs|xCgX27V?F;0zrlc+T-oRuE8aVNP-B-K@%&}U65^QU{4U>d zb+ROzP^aEd%RdonzsCu$2!7lsWJrq06HpqRu_W+?(`#!q(AzXdNl2Masc|L4SIbHq zn_vE8JPqc|X*%922@<*SqJth$C1Gmo=kooP@z4=m7><9*>|A!1x1aFTX_U7i%sFJw zh*3o?pRn@0)K8b}l{#dT5o^&N!FY$pUw#OgO^8SWIRVNF9|u7FlV-Q*-NdJ9E)r5x z;B%6BE>|r~n>QkW`!heRv^fhjq|A9X#?{;Wj>vTk=IiuFw9=AQ1x>yczQbui>9Q)p!KM1X?s@kf=W)=B86k+LEQ z>wwB$9XYtM1-nDBD;tK#%3hXp@=5f2iK;<&nTZ3>yXn++(ad7=)UzJpD(`s(fyOJJg0X|!C;^!p`w$|6cSqX+fV z6ippnmb&u2c;|>EDmQlgDF?edB(EHuX``NT*?%AX^=Us)Ts?Pxt2Hd)!Yj}Uxx!Ow z^~hQmDhC>uJe?*h`QvSjmp*wT7J?H(BAysF;kQqe<2gR@WPfi!*w_Rgv}xs#i@o>} zpPoepCCdZf?G%0otloqy%t|8ItggXKo>1}?L#9igkkQQvcI1>>ha=l$c32H(E=Q2# zdCj_v{nj$`oiQtp1VYh?iVWFTZw4t@*IefvA{=VoOVsY1{stY{rzyN;o2W7Wk*Cd6 zi0j!z2%5ED96#_OMXUD`5A8^pN84f(;cLh;bVw~It4{jXblMvGewVRJHeO`$)EQbamcYGkWe*?+ z9ng14c_JBq{gWdShq96T%WQgse+3bU4beYYy`$zx1A0=x$NYIiBK)u!O1;ZQji&Bn zpP;s}ZyWfSoFVs$yYod(fMwWKiO)={qomtZX*Y$R;GcRoX-`f{e%#^csmP>{VU~Nd z^+58Z<5|ne`>5xo5z#BI-;uDKr`RliKNp4P4N?z~kG*uWcAEA`QNke#Lc19mIq4{BJBKX9*i;Sz<0Tc+t z*LxJSi|d$mk5z+~@bD^=IALLj1UwJL*8){%?fuR zw1EtbMB+@nuM-StP!iSz92V@!Z*R?I=_?>xA~_h$2d@mDlKAON>YJzrCb`>Af9NMA z6XO#TSq|Fqra5tXJJilU@xt#iS6?lbsqOgBy01^5+=w@3iSy_g&Th`VVr{z0k85!eE0$BMn#pg=*0=xZk=?B4yvQ%_OUapU+y^<>AIEjw}8z8Yb#S6=uD3GwtpsJ&+q z*7zi~q_2o}O zRjUm({iBYc;m6Huiq;homiM!Gxnv-iDN|~T0=JclE2t2n|KchSippyT`WrpsF?i50 zYKm*kdOq2&VQ<>bdUI6KP4t3dH^iRkc1 z7);Q7EtWK|Ebj}bUTA<~h?ks~*Ia;uG@nn0h*wae$s|d-alJgljd}%?8?n0u__R-7 z4L=wO5yoYvwIGSU*aRi?^Ni5L zZ=juMkBlFtfh4)9N8;AmH>ohCztmkJVs)+lJ4b$wE{D_5LUG#9>Q?WhI6a+KI~%~^ z5#o#O5I6r;Xoh~@Ynrb69%3R!Q1nYG3n~B8HIVysk}#3Jts3J`3G4Q?tkIFTjc}8sk^*+H)bAohYdF)#UTyRr+04tGgcw8Y*~KPWwunS zMSzyG{o!DQh7vN0dUjCp52D;Sm)Rpzo5W=7J-0VJU|A_m$FGan-uWy)FkD|P z&2PjM_oMBHOB=TUuJTU0>lG}cd)2SxY$kNEj8%Se{dyt6;9yaC7*V?AoBLI)agg)U zB?7-PcI4FyyyNt zxgMXflP=@5Pxmj@-uS?E4|=JBa7!?!`vXRR*e4E=j^Z2cwm;Gz3F zuzvl3iit@K*^5mPz`JjbP;{zT>U9@W@$$#)^cqCWG_R#bw$%_CC=I#v8KnKK(>5g8 z`YTmfZ{-(EqxY5xbP*NBaa!~0*4;pY!PW$|mQqyN%d2kiVdcKD?c{VTo^nZxqvC;L z`N1?l7pnNd)v6zjfs2z68`TeKk+p{G#WKq|X{jAhh2JGUD+`gw?lJ2eudcZ9Qs~Y_ zZix+kV-r^gVNPp3l?(MAn(>u-#v+w%A4Eoi7k2F*y^n{bx!F>iS3GBX+tJ`VScacM zh!(dxcG8NnzItm=vvmN+?OSqfK5kOTO6HJP*uxKabuAYg_i*jU3NERbO#_XDY-T0e zLNh6YDa{Vq=w3dP3||1@KImiGs2X(vTigZnD0C}vUC#_4h}oVSPO(p2S_u4B#qrk9 zi$_Sjl?!??@w*ncaTa>q|JEi?4SYE!PG$FA)c*t-gHW-i;!4~(*ndzFNhOx0A6vUOn)>dxB~ zgy}`MINg?5a20tv)b5n`RA|AC;f-&Y{49?pi`l2mcY^#uL>2lq-607!E~Amc8#oc9QrZW*+t6ddx`7%b%q7r$#l* zqAFSL%B83K5xy;39|o>P#_^9@*0qJ6b*6VfKh8G{z&JOi?C4!jpQ69fJ>e$sj<-a+ z*~Y`sA&t;o7JG~bXA{+uK+H=^)zfr4u#?|5ROylTbRN! zPrUzWq5rq$-6%%|HBX-YYdyFIZrDr5-4r_BG_V6|B}ufzPRpQOC{SG}KqeQ%2W`7_ z(a8iz(9#Zf{J(bkeCnrHIBTn>Qd0iUFcW^}_w#s~gGc8R;d zl&hNbX8pv>-}5ey9!M3Dx(nQ1fzB`gYeqR_b)4o??c6Dz=qRbkf6n&cr3{0w_|dq| z9v-FS?_wP9yzo6^|@_2d0_A6RonZ_ljutmp<9XD|Ug8a^V;i?qjq5PpXg2FkXZA%~={z_kTQW4O46{ z2)VvoyGd@=r@=e8&e++Wh!9ctbnIuR&F>co5wB0#_t4v^=IQlQ}9o*W#nx zcKol-Mqd`$VQ~)MkrL`gLj+AhC+sT*Bmn$up!GNHI%})KDL>!j(VJ&s-T9iEL64b% z2_#24=@Cg(!4EodTaNx`Ay84x731xax(A1VmvGk%-eb?%`9MX9&D7N=$iRy4uREIJ z^ZwEcNA$zcMfy)e*@$yw+qq_VGsF9a=M4k)4w5G!rpF;~$x-(Y2Ab6W(etdozvW}# zA_ei?{nIULH(dOmh6V5>d&ggEx$=~vRhIeR)A+{{-S4xabMhsaPxku8fjeHjKm410 z%96m)q2WN_o@|(P+LELxQ+X9#c72=?3DxHm#@EEU-Cob4M7?L~IX?X39qZzb5F^RC zx;9Ki&)iVwNe;|=Xx+X|X&cOA{Jl-`RImv_wY>1Ujl~suYeGJ^6w)DQov%e65#(I@ z^0`BqJWBTXr3>k~Fr{42(O7v^dU@uf(ARLcn>Ngr*ucUd6VQCeOE5L>fkQ-NOxn3` zk9n1bG1IuB?fkpD2Xcn5ClPIq5e{2l)0>0~icPo_U~iUTXRYuWs;wnoe)U*AS%SV_ zp|S}amA($mJLG{2!50h6HJfBaXML`3pDMX!y@|uYvc@hDfe7g_LvMD)e}EWO@TAS+ ze*d4EOu&wc9>sMHb2oPrZ0)1>d*x4ZXS52)xr}x){&j%VBcDfx=Tbom+L3H6&h~x_yzOKmdt6G|8dw|8k$g^ zrj~8DLivH4tl1S5GG@h8&26tpb%X4SPmQn9S@5cGOi}aU7*7OSo3cK-{wJ&J33C6kR)pNnkgx#&j=UpVGTYm;XSTHh>{0FA=An8GHF(wk8=T zb?jbQN?84_bMby{=B#U~YrQ@D-?jL^=*vIuE2L}y_Ixeo(%RuPyF5%mCYT7KX!mv~ zpr(4g{SQzGLgHPEd2k1L?o0}``p-OmO8CA92Em*uWTDscd--DnHg8)#qO)exXN#4w z*Q5s5r{OIpjanQPpmVzvb5IBg7ULLy<18pjAm9EM#Ex*9rXy)H<#A)>UHX$=*(p+X zH&CmO--FPT#6cKV9s{b$C?70{K*-)7R+CFpm>PaN@Zz`s!m+8k>ck)4)dv>Pib~PG zM2aUv?TH4zo9@w?#ZIeH`WO-p%Hc{FZtykUXVbk}b-d)KyG=+va#4Gy=-s(9HSaHh zEMJ#Xb795bj~B{3k|t7_Y3P#I@Upb+{h)VytfEHl#YS`YNpB`#wl;ipREcsjx&{|p z{)Rt@-UxT6q-qkfEgXNz6unHWZrzdx+^A@f`YI z1i49Eu$If*$s09VwV5};WL6+kQr?G@Rz3Dp`^6k!gzJknr0cDy@uy6XgtcrA3RO~x zTJ;l4J)#+}H5>@TAc$l!8?X%|Y{gQ=BbJnP>8cS2)>w>eUfg$#cPeYMg zr5WH%cHfFy40+Lz$7ZIUI$SAX+oR;+cwB79cmZ(-fee2_$lZ*GLGWn%^ekj$csgb~ zP9-k0`a#G|RV#>$4k6LOOG3L9nUP`qju*1;#)R{1;fQf=bpu6L(<*g`6aNhgs37;QbyS06l;A{`8Ii4OC}AM6g~k!3!f`t}*lBr+ z_IZoklL72!|2`#7Y?V(F$vdywyTS`0>Ph#=f#vxSKflf5@4nl-SMvMxC`V~2aN;Wm zQ?jYw30(+RSGoTMPGGX_@}SNoK{s+>NODmg)p=DyimMQ=3Nq`noq)GJY^*7E*>3d2 zo&|RUH{TtiCI=?DgcAkLE}(^)GwJRi_wYH-JwV>Az$rjaI8m*4-Lj^q_7A97k%Qc$ zwQY!4E}*o_GG|I=c}=D&7n^s3gnjc}Wp8LE%J~WiExPy-;B?_Gyas z7gfCZPcS_K1+znl?1wmW4cgQE)CT)xZLD%vqlj~#bU%TJ@8al=6+qD*SwqG_?P5SB9 zB4>DyI0BzKNR=hHDfHEhT;*WGcWXmQvTnS3BiKMh{ZCqjD5&$?3c3hLV#^b1iXSNU z4-Uy$n?X98l!wzHJkqCEmoMj=NTd>u?DiDXdybYpk68+hNh}l8PpCQ4UDwRxyWjWd zce|uCd6lk0B{NH1S1rq+^SD~KACM$hEFf2^Td0J@$))39(;{wyc*7S~Y4fdRn=Z0d zzUhiUGdAe_<*hwqAY>H;zf0e!i}}oHgaJlJ;u1=Sx-z|w6w`vt2oK-Xk~TI+J+Y%( zT`#-S*px>`O4H-k7pBi>$S|dBivKprheje&QR65F^SnDJ#UjzLis8;-eRG8W*cSUK zfOu0!c`B4MkqB}zo`JCG@q^A*g6BYD*4Ie&==)BLr~p9rGS;{23?)okd_pL>v2!3&%n#I1s<5sJ|R~WLnNokV&aYm{;1EqiWYC%8(7X{;vy_xa>O2 z(RMCmEq1kPcUQnk2Km(Ld%LJg9}y2ai1N^9V%u*g=+^cnv)Zku4JZ<@|G~a2EAsEVm1KXe)>y;p8a{R2U%wJEw(^n z*x<_JFEzp2pXhZAaG!~qTGL|&=>Gg;zel?k6kx7Ka`V|Ef@UJm$c2B3>y%ty#@p{&HoX<;V0EWagsGB8rFdJLZyrKfTv9_!Y+R0r+{2Ehf(+>=5OWv4CN41|J2 zw0*oU-p;|8s!4;BCTm+9saR>(Y__AFO98_fJs4y0=k|~INp?%FZEA{Tf1Klw+vbuC zBl_S%`{bV>+b9EMny`7UQQ9WfV1tHJJ}HjbQ6APS;%1Fcr4P`0KRS3lfh|?ZVvE^#sFqw%mqj5ZspK$v-G#ng+^+ zZ4UwUqw(a3#FuQ0&ZUTS0YpLPsdu7ZR4d5 z?tIqDI~*?q+HM^4+`XY=Ad?qgLXtju{KQKu>QJ1If|E9~!p;Wx+{$i9qj{Itd#=;v zT$hVnnd#15EbE?#Yr&j4Of*+-S+_0AYc*9pI$CgN?)MpUns&Ban~ov>N7Yv}-_!iD zr)|+u4yBm96X~I%3;SY{m^sG1rd?z2DUsZdGke6GCth)`RA7@8HOZ2)%_tr1Tt9VIhNd%O`9ZYL!}SUFm6 zHEPfYQ_i}RZMM|Qj6CIx7C*c{lR(?^#0IlqRvr6wdDa!BEx!nw6#h6(LaRC4KceU2 zHx)OFeGL8a#vdYlSc^Bq;e6Fnn60~CFn_xCVR4Nz45F{4y7|qDtKFogDITzJ`D6&$ zXY|}QOp|Vxbi5no6CRL}d<~*}twOkku9eNDTnCGe8h!`Bl{2FpZ6Vetui&jU(HRo84!K3ViSg z&a4XUduj5qFdTK@VSlle7Fw-n-j9jWU{vuZ)t=}kb2^QHVbh`KNtOZTjiq9KMye}b zL8ic<AY1B$6?KaPwVt%lR_axk5;0C$ea2IO83HAmt|MSqEMCSwTZF#WUvecEqu zQ&l}?yn|_kLw@Jq-w07~S5HOJVb_!$<@BNVu$FCHhX9kx&~?6I)&%s@A-)_q4d4gy zoO7%7^eL~At8m3CO~nrLrfj#ANejRv1Iu|sr}X>8H^OK(H&G@&V{5}T$tht@mHT*M zQyl%MX?HV|b3(MK$5lr9@&DF>3T`@%;5G-V$dY58Nx^ z17(ZyZEKQBi8p`Pan(Rxp)Gs-fCNV{K*LJ6W6MG^mI!ZoD$j7ELkrufyE!HZSs}O` z?+mj*rsf6GcyjQ+z<401@ZXP33K7AdzO>vPt{=3Ptk{X zvVuU0XhO~J-i9g6ym>6hmix?OCaK_4WnvscvyxtGWEJGnX4~JCUle zv6jn&a;1-jv$?Q(-Jes}KAH7&xg|Zed8YBo;x_dA`wz=F9MV6o#NBF|5!h0DAOjLD z^^YFHoR(sqH;Lf_Sn=xZ?Et(pnK&ZiNaW*5al5a6>R?XV`iHF#d;T5}HY-bdi?-+N zei|pLF@yI5=6v;0q0|V>nEsN)t<-2iF{W*$((nj$aw%ToD4)PGL6W&L*H2V+D$?~u zaxgl(af-uIOH*ANK2QMGdwf1_IdOF0o_0Q4yEKmPPxID)VCp7tY8~kqVDCcotAq;Un=^8X+gJo{MdW&|5f+ZQBi$;zkmaxv>+jkQc@BE z(v3(Mh%hwL3?tGEl8PY0(9$Ich;&PLGo%tjD$USC&Jg#Ezvo@=z3=jQ)?N3%%Rj8c z8P3`JyTAK;&g}h(9+k|Y@jVgM=}nH^O{suwoHepai>*FbOn$;Jmqzn2A&l5Zk;->? z!+4d;w6_@dvaCBEBGM93%ucBk6|#88Vb+ow%CI;&kOi-3ng^&T+)|>Ge1fFylN+73CNSx$ zjyiu2MOo<0KQFFuH1cb9OvALLw{dMtj@J>haZ3*$uLqfg!TP&jBkl7zQ?z_pPuqfP za1Tj7XjTylf^}?Psz^U9?8Sv_ssBg1s``uao5(wD)q;GR<>DFD9&V=qQm-zvGJ9e` zcXuniCNqQ|3i_hGkTJm(rt%{a9ZzN2N>CAAjottsN<cC>Vd-YoQ*S;p5{<2RDFuD;0qEW7v4hDFOD=0)j?OKbOPpqLT<+9V z9jTWxp<5i3cYes|>ashkK|(0w;0w1l3!p2Ur%y`!%7Ye={7e;B(Uw(AC9w z1LS&iI0ptNdKC-s;9<{gMeVtj-Cv<{%R`JWF%uawn-&x)GwV8@8}LCy|Hmx(+Q+^F zMyR)J9V2jYs$hU~x4wFJC|N>i_0ai~E!@Jl{qd6rQk&Pm zh1oXm`0i-(A`_M++)euZ)P#@(sxLn8t-#EDp3B>8aS3~-%FiDa&iEg6Ou9Ur$SJ^o zevVFmIw6g!kaD;+Tt!wpsD~602dfa_Lo#Iy-?G0ihiqNDW!FC%C%oHNc4;YpWVx(w zA1=9c7R*xojGjFWoflDV5E&r|7N5pD)f-kwm&b4-=CdrxF{aA3LK{V^<`+d2WEYw)zjwCGWekX0d&;mFdh{n_eOwD=19 zRLJJ@e%0L@ORGLFMYIxLULjAaCB5ZpHvLr7WW(q%S^R3x-O1{o6@{Bc6a_N%+t~60 z&J%O^!l#UGbBXa}=s+0X)9?GUa=U3J%MbJ;+C1kD^I5}HkJpX13x$o2(RD|b;FgmY zj+^<=e8(<=3+Av|t*Ibc_jHq2H(Bq@&JhLb>O9CfeE6baRQNrBnYegH?kA_hC_ITo z!8z_Nr7WiU<2Ys!{>DTTu!-Mg5nIcPCpc}2xWIMX8rFU_HN+`bEix_0p^M|XB9U~sBp z4Dc^8p9E>g`iLm{Lgl4(9NLgCJQH?!U>;_si?=2u9gZ`ZP2-q@ZtdmM$tZ`pT^6%{ z*I>2uq~m0#TV>Zxrf*vL1lIDK^BVd_Ay|(8WE3daL(Dlo77aK}2QGl{$@olV40zJl z^oDY$Ck~F~u#+gC1PFg7X{55YHuk%tP-1X)&UO52)P4vJ>3 za1i&9KNI^pq$F7>`tF`(_kM`{*{`aC40SBlkb0vQkmQezS}uGfrm1+0X?rM7oDQ`% zWt}e0IG!~auR+Vn4}Y2KQ+uPMEe*l`hTbQVsO{C}qKT^JPzaB$NAMy&e9h(&E&w~% zZ_X9Fl%0NCpgN$fE>XVxhC=1u-5P&v4R7`kPAa^ztAD<6DCxS$5GR%%EhSBP zYpbSiVX>b^tg+Y@>|?t}7zn>W_Dxz*ef)9?zewJ(rn1vmxkE9?H~!U?uvfiHn6C9T z)Be(!-u0%Ido53kp&6$Gwh_;j#gQ&e4_~dnAzRi-^v{u5 zz^bAXH+{PpY`+W`U@}Vd=}c9Gya3g|Ne7yqp{+%C+|&|*Yz<=M<|PjJW)(|GZcTAg z&TNySK5pk^MiQ88dv!~*C^Mp(002w3TFpjN@%{tU@L{9ZP39`O@}M(pd`$x}_IMqV{>P}ygd^uE5QWWtSTMn%U$j~e2 z)mx_xMP(J5`+}aenj)LFzC=1!%JnOfS9cxitmU#q@^e zJU^;rzP-#;6uI;URTlpfg+;H5*VaPA_YW&fr?;mLl1b$xHBwrUCkynOT`PU!E2`5> zP)K+29&U;rdJT+Tu>r=;%#S5(d#q*#3`mI{`%Xqq(N3~Y>Q`(RLnCb3B`Qegsu~Fx z$}h8;Y}1RXnySxacAE5{m9TdKa_GFzoYullr#C0nrV#a$3Nu0v4OWo79a(PcCwfou)13JkIOpo$aWXAn%+nOz~Pc zl%pXG>J>4+STY2d$RQtzlzJ_8D6XK@&HM2|;hCfy#Kk72;jB#HCX^wF@X2!?iP|TW zAkh!>bpT^0iQuYCSbG3_cmO+fpb3N{w1JM(gm%%|v(B6Vq_V-Fb8Pr43Q5~q)L;1A z^U(d!HmGZAUEkPQwN04%vrpQpunL4OEA%VJOz{}`#|X$7gIOyfriZ7Af3a_96aDF_ z%urIfDI}Y$dp}ulXN#jMtjOwn;@iDaK7+3JpU1%oM}lwQ=CtAEMfcdG9F+Ze;T0ci z-{w!<>{7(1L-%@u8U|8}^y@otd#aTYk^~#4@+bynKc{oUl3GflGUx2SU zS=7tGgZ{_OWjy|fMi{!hsbmXHKQ4jX2bMx*_Y$=-_Ug5Z$=dQ3zE@|Fon(j&gMPr2 zUQM4D_(_Dtr+DV*R%@OEKwo^?ivd>%JKfF$;XMroUCHP@jY{2xxWl&;y<9KPYpeN- z%NEmS6m4$5@wzN%#uO}D$ATZ3kz@K4ud2^J_bn|pHmjcJJmE%K%#5t5s`@)v56afU zp{+OlSX20wf`2Wj_m@)}F{+*lArXc0D+ISx()-cWvgNOk&o*oGAnazzkGs0Seo3@8 zISfV1Drt0yYzr-oOSZ0~OwpX{z&_R17sunqV3&DxDk7tCLw`E8Z(^Z-JhVES+IpP) z_p16eauRB$qrju@5l9-J54|EVWmxyHlCsDp(wR=>os+;_ z-yz(yR`uNMK>9plTSG|D{f>yxJ0^7|OeZ_nV0c*%Q}k!UKfV|hROq*C2+W8zje3^+m_U<;UXPhm@z8Y58lrGIDlIHBgDUm4@L< z4bfvb& zD8q?9d4zAy&LlwcRd*Z{5|!^7LhvzCp7iMeK$1J{#4g-sZoFPHZ}tKCqCv4&_gbVU zV_n$VIHZ|Vq-sMDqSJ3>Q)Y&Aa?TygQ|?lUmGWBE7znlMUiYE?Dt@tIlT^3^l#zX&$ObRW$=pKznanwb#wC;J}gj!Yro`&&cm6IJ&Y0 z683%VXXjQb2%`=jnQv235tuQi1o>K=*beW@sNDqVV;2UJ1e5d0>7QKXmwf({?|Tcm zyIN_v_5(@$U-@Bpgss;|NBcK-Ln5C$+h+KBI9#!fT8- zNfXAP-9`i($}hAVCrq#N1U3oM3or?rs+H^Y^Wzf=#`PAfrRrrg=VJ%(+q7RSOsBsK zOaovT>ryB>w3vP&p_=f(bi+ZyJF#JI)MqiTW%r(k=FE>G9kt?bav_nEtDeX~7~joY zx#hNi?$eipqFyDU87^tde2Refsdsy+>1f)19c-s6ZLy;^8cg}EWVO^PYL%b5RMBhS zQEV)^rVBxGY>Tvk*LHhn1tg-!L3IiC?^eI=d{;~4T?e0^31$>=zx{nR+2r^E+vldp z*O1gakGrI-R!#Dv>ukH?8;N?0gNlz}YT3+WpOzn? zTZEskbOLq-8RHAAV$bSi12az&>R2$tA-R}JXDVP7>(;2eTlX2eP@JmSz%neDq@j~s z4Hc=QNZw0$PWic{Boa1Y8AIh6D+Woi)IF*d!WEPs1*a-H{>ZWP_^zFc<7WR+%|78Q zCt@OYNVN5?nrntdPht$?NEFPP8tvie1~I*?KT|X91HS-OEi0{9O0;kfiv>P$!%LJ( zCNt|haUxiS?i1~z`g1^Z;o)+ZAl~fIR@5;hvbP8bBW*8A#;2opT z_PiQ#+OP$C7(vq#QZlwW9B;hlbwUdZ_IW8NdWM~wsaD%{RTqoawSw_m+Z+NrWjbs^ zlhGRSMt8=RR)x@g`9lwsiob@*wbW`3;~B**BzSA1=w^epCYB`&pb;qceMNCH?g|nbxYJwAz}b74e_M~Nt|_N z0aVFs?YS2P%g4*gn-ishyVO%3*d!fIEm-|7vGW7c(DmojwePCJcThE7i%@!Hf^2>VtqYKJl~sH~ET-Qp6HL$uySb8exx z>x=|BNOGRID7BH6eepAokq#56vgnDywa;9_x3zRi;FGVttUH^x<^<>2Z_$Q%gx;}P zVn3;VP*ACB#6$KWQ2gG-Pv|aVYesvxV%>|n)vErtA@AQTSpPCIrXdNVCr^Eusue~o z_|$entKdf+O0%?Os~=xqAOLmmgGWzQo>WjxHDd0v{XT+UNhu?ZruGfO z%h$ateoSxlC{BFB5+%ySaEIsR#t-g@0oA@36pu|JrSU+>XnqPd!K{jx`suvzxbQ82 zXG*!Fbmn5>+mvi}Pa_v&11e0Z|H9q;3WG)=9 z1~C5_d!><2jDV@BlXC_y6rUt)tz#SSD@?r&p;=sst$-8ja|(z$Ewq4JGgm#&tH?3e z{S*=kMcq_~=?woMDi}PcF(zojRwATaq)=un68?%&+R~0W^!pvL8!=}Lmh&lmq@v+H zcI@xS>n7EtiC++~f++ZP>6NY-Kcfm8R=JXPX{CesjlaUlIVa;*0y#9QCwA)x2|7Z2 zMcEctSD5@Fbk_9+$D?89#bEu{66yy|pR&k@D(B#3i+bVC>t1{)geyzaN%U&U4uLkt zpdRC}iQpsmypAVRSs^&i(X?u4nY#X9E+n3BrH>2X`7Qned86{kY0+o=u8F#s?p6&! zO1qByoi_*NVhS5!QoP_&SyW-g=!n1)WhLI0Y5^iz3f|<0)$s*azYTqZrnl#YZQxc3 zUE#*hO3W;w=b2>N2oXc_t`P|c>(-l}1*V^91YDA_eOZkcGmqoZfZm+hD%!w`iavV6 zJe#pEk2_Hp;``*8%HufY6hL+F!8(6&^D~p_xYqk9AO(CSabX|+(lkDwy z@AOkhP8yxdU+r?DUzBqBJropfwzj1H0OyKMHLWpz|rDiO%TBdl5^!6qTR`!+JYvIS0Yk zs-;LfhSSbqN(dfQsJoNiR;~zfA_jgU>(vZ7&JkMnVF@$&>Zm($Je@c+ogTu#xY%{? zu}80K{nEtv6^52n&Nrj3J;x6W%yJ3p(LDnMDUV=*gNR)rS?9U0?F!A|a|zQ^M;|ky z^4A&VKQfgd!o*r7TZu{3F5g$=`sOC?6& zy$cbCCLOE8eAPzctc)?crO6@V=Qi`VT}Kg;h&_wN0l6%)TAhY)vWJaGz3CX2Mk~F_ zP(gM5Jk66rLHCX6hTonH?d#ah%qo*7=bKPR2{#QWw^1w^NcP7;tq<+o$KdJLT-0xm z>=^xuzNWCK94TB@AmU2K)b9G)#=h~5B@0EQ%_a*NO81H`?E|YcoYq{nn&r-43uJrI zgrSwtpiehr1@>^W081rvjUW~!*{NzcZ(%3Y9>pY!0tK1lu#wNU$@1^bHExo`qusE3X=qp~f8 zv9d_`NIPW~F~&7&hrG8_d+5>Ha(}~~^u<`$t{gNdb=)?=O#D%MCDrddIKDZO|3{LS zM3^UX^G2$8xFu2&7V&)VN1oh$IJILkbMRPjj}GHY87T2i3ATe>18HKZjlGhTn1#+aOhVbu#wj z^0ZQz{l~gW<)J~5_U%29hK$o)nLd8GMRvNDDkcw&MrPGuT5jK+o3v7B)OFF>C4kWI zn3_SNxHSJWqv0tqXN~X8CcwVHv$1+gTNVmJfDvh@zLs`r;?aqr^8Eet!|rJMwEHX+ z-ox*5;k%M(FjU^r(wA{{{(N>mO`K?7<(=)G>v=nMxO1$a7p5C9#e@6Em2Mwxp_k+LNyUMx5T>Am1LqH2fMz77&Mx*i5V(ASx_Ux(aw1zys27_(u?eB&{~N)pNDft6}K>F}rK7R};i!MCiX zER?tHJeD|{UJTan%Nk~HVP5)5@P$bGKO+g>%*_fsG-q#3I&=MHlcj3l|*YQ^@{52GCU5U1^-5>c*`#>rau$GCW) zk5;}x?GG#T&j;kxShzzn-;G0O$Ip_OL6=#vVpFeU1cqIE9qbBrrs!6B=Qi4~<)jn^ zT690|cR9<_$l1*}$k}ND8ekrlL#+SE7lg^!GGbaO>xQ1V*iI*>ADdLSz8dwLaok9{ zIC8r5_?>o;Cs=(=recaM<%BC`O2*^?y6o)Z)e4C+y8B6QZ)Cj3e?udELlzz`9m%~? z*H9-oZMRorD~C?f$Vd!ST#3+i5sW@Z{DM_VLuwCT}o6*BMi|ET&;nOiQ&kII(AAzKe=v}br`H2m1O#jb(RcDOwBbAZ{^cj{T6!%BLsV>c^P9W5%7X`1u> z>j|mp;^~7)FPnL>iXv8&pSo?#&$g%h*3rJ%*K&1SD`vnB7s!zj`c-N~rN@`t0q>9p zjb9yK&JDg}>rowR^zQ;%Q&9BfAyD zQHb@U{Q7L@2K#L{f${J?#d-ZtbTSY}UwhQ0!KM-virSy0M8inYuW4zQs2Q}%5uqkz z@)b723?gAPJ4*|WtR3~%n&l{+4XY%PUWpYxqxRgsyO5_w2g=h^3TqV`?3esTtnPd?m2x8UJcpVvI_hJE zr*6o9Zui)eDC}$A@atF0g&(|@lJQoyHOMOsJ4N+1BLs#HCsdo%@_uH(Y$vMAe?^V# zLWVe8dtPSFAF#NlFvGW~1vl@WJ|;rjxGIgN^x$>bfu+5sbhe@x+D1lBK3wz|-j%Mk z6`HOo-&WnZZD&rUw1@plsSuPhJI&jf(Yel~NkWJo48$*1{O+TF2|giRCN5MJyr1aC z7tSGPG=nJKv!dTdIuGqTy1N(~mBzXIlNv(FX~ImW>5azOSxlzCZ@BMf4Xo>P^`x>U z2FV9C7Wo&*IVJ48qYftEe#EYfsJ_DM!7yZpbp#FH3wAqrM|r~ko+b{(s-Q-awT?$v#YMzI zHnnVc?a3PlPHY)qH)j^p5w}ZAe1=oMWPfrkCrKX1G$G;j2mTW!Q*`N~2a-(X+oEFQ zdkqM-0FR2IDBWTF21G_JoFYoUhxb6w|3Gj58gq4tlH5z(tXNpQc5!;edihLzvvv*F z1_fw^%{&mfwJamwHV()V$~xP~d@h1~4!HLad_Y@E*!^L7AeIa2DCMt36OF379!QMO zUDjO8xkJ0@eO_Ixyc<8|++5@l@vC;_mx!w~DKtWSlZzne3RUdWU}d)P1=z*x+Bk$O~nSj>J?=bv#D zx=Jc5^%?sI7U~2VekIoc#q3q*#HtP}%vbPkOcN7ic_*XKxe%}-UcC#Pm#&8E;Nhr_ zArU3XT*eyHi2P{MX{>|FBMU_k!Syp1PD)}BL7)QL-+r0b69<{t)t_{aUBP`q@($?j zD$}T)x*2eosbb#v4%MIh+n24B9b`rH9l!>2;}As8xbRjz0mZ=@4cq*K!-w@{uYfJc z+_*3iq7NV8H~#(2*h)=6ZGx31XN&89n!|L1pw*S!zB0Q6IDB%OQt`@tjy;$gvCr8e zYlgAgh-xff@pq0ihW*>}`?q5mXV=sk)9u&!Z`h9aNwRHuPGnzGyZSd!cKPrI89BJmhHc)^7kUE979A+dkHvs?e!Q+P? zGv)emq|siSW1P0%KDWQi{-XTFqVEf4cfx-cO5m1-9~36vzW@ooBKara2Dbti9%w4l zN&tr~EbKrBfyQ7bZ?@uRU}sjjE^(sFU*3q2`vCmBWFJ5&SZaS(%IU`;V6pmg-|6zm zDYkxQSuhr`*XTk$r#mM454S!D0B-G#C;aVS;a>{^`l@rUQxynpX*aRY5X-SZT{Snc zq*M!7sn+KlWtNfZIR}fyX-CHb6tSjQoQ1$?UXJNcS3uw3u_+cgp(BT#8q#6ej|$Pk zZC2`B;H&2b_;tjfngAB$3oCv5(5yS+teZFV; z*X;KMZBAlVB${CZWNxC(s@HI%X3j!jL6;n&b4L45B!{_yB*mzRZd?b>ny9e7CGv3o zLH-qi`vN0d3$WazP62vcfA2J49~3&v(}%Mh=ml~`UI)NNduqv@{i4Xre2YuoSd`f% zCKgAF=sgvpU%-WFtn5kz%gKg*v()K+LbD98oev-fkrPeve)U^WCuvy6ZI);e(jJ3d zlleoFt3j{a?*Ap(5gZD~H`t!gNg;u6PyRp5y8j7#1TOj2Td7$8HCW;wfVh*rWz@sP zU55=wMrmQKklCIT0G<{5CxoBgX6`p#+kK}au& zVAM07yrzSVdYm>gZ$%3ZXxa-1v-kJnys%ltdq%K-DK_E(EjSbT-aNU(d`pKWfKBv_ z_B#%r7|VJR$SS#Ve8TakZ{a{5i`>||^-uIm?SX>ici%}uGK%$3i?;K*(r(5Iw*O%MRDmAj$>!ht8*fMe8gKE!_iUP8d`A4 zqdf=k*R*h~*e~V;YP<}DeQm_(wWJ?I{8e6qcs))tjhe@$m`R@+B!@DFim*-@y<7~O*`0_2#;~F zZBF59{btNhRR5wYFejKKfozxBy+%1p@hABefN+x%d&t}c!maiWsF2|{JX!4hY`X|2 zKT(EE5DBhIC7(_BpHD0Sl93L`k(c@(XL+9)OL?@gzKb0K=I~E05ptD3Q|W)sxi!|n zA^!{X`r3CKXq8V-@b-+rE9WrcebZ}=-+3t|nSes!CTYnmOZKNN)5M^msUzYJG*CFq zc>s>9InS5H2aKu5#h)UwqJO;F~OUt0QSj{ny@!4-e@kqF!W^i2IX z*SM_&G+IrJekAVyVVEA`qV=!w{@)w)e{rdn50pTo|Nk4}h0CkE%&0pTp1b6Dz>kKi Lj!LnT`P=^mlzAtz literal 218931 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

@F}*Pip2SKy0@v{yGrBUlLt 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%0Ds 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 z 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 z zM~budjmc)_bx>&!JfWrzc{G$5Av_NkXLGqyERuvTohmHYt2bJ@Jpw9Y890pXKXmui z@nZjiTk)|8S~e{M5cf2*Eic20p9yzNk9&tArPk~ZGbgpMQ|k$;yJ`voJ2*hVaxySKxGhpMUPLQci{3$ zAkaG~zr`#i69{L5Ga-gA!yh)DS{P5xC*^g1WhE6VzP+RbFA}jmXe-s{OL=76c;M!0 zHj^WBt?o4=btLO>2EjL^_6k*)|FR5S*VI4;d-9JV-TlfG{>|14QWaWZBEf51|!C9~BY(P`%nNsp`mQuBCf~y*f1q2?fCSTaQhE;k{q#3Bvw`g^Wex^*!xmc1Q1|Wz+iv-^N`kjQ4eA{rD7nR*xi!T!Ven zd_bVgHqmc4FgJ}4E@$i^nOJ2%SNDnaF=`L;!}>5}I@O`)gV~Zj|KEQ0KsnSZd*y@w zv@^SYdrgJb?3F$9c}$;<0T=dHM^#30vNiJO;KRswg^6+R=w|CWR5}5pmdA=0UtHy` z>TnEoJCxb)*FJ^V0lIT{lEiH4R#czx#x2V4hDWB`%oID=VB_ai4Fv|Ki+P0SOD5#O z3ui}d4izmOD7$@Y-;mSAB>3)@a(>VDFiHJX&YYAU%8`)1wYmv1)1x}b8=J8ozEP7> zK1J8hVx!${M-wQ+q_O!Bn2_y!3GVTmgXeoCY;CPp4xdec1f>?GsO_U+ek*QJt!Wr| z%R!(MS~Pu9ll10ol$`^%-BQn=Q7yt-%LF1t#k)&n{AR;}B}{otxc)>*aBg+H0=lE- zX#pV8wozvbPFc{~YssV8f%4GWTmi~J+*-?0(`BUl;MN$iA7g(-Tu?a&esX{>j;I!2 zHK)tAQ-!tW_vxS=&0fSOg=9&)xASnj7mg@Y%8Dur=0)%8sQ`3HrxoQ3hwSjOnR%jCzK`&lX_*UA3U=JQcBxU^NEiEJoV~31h&13f| z<^2Gu!B49(fCiUSA9KIOe|C6)2Qnn;+JnQ{nep4PSFDFpkKXLd$4FalU&*&bh?N#N zTNMEd?R8OHRaO=JlYlX<{Y;M9$P&>P8Y~bYO>2A20^L_WZ06%edJp$c^scXyA~s_4 zwb|&P%$HQB@}-_uiTsF)ozX`&d8;&^>`~pYO?_jP7UZi3J@zBegS(9TbiO&tcRsHS zCC_Quj&-k)e*fgzru$uA-{G*3lL9ER3r7g|E3$6Y@+S$(Uav)U`%l9s4?}ledyG#rPHu5aov(`I7f!OD z?%TWu+N?q{RiMP5T8`?S7_c-aG-`D*eZJK3{XZt;L}FCv=5Tk=2sUHyLD&_7{&Kfw zGdjbM?Zpn~^(025RpV`(V>wmHd)wENnT}(9Qazol4IN*2g9AAS!ha z{M0b7Rr2;No%bx2tyk}X`Y=(M6_I4f-g6oAKdonWCbCmD7DTYrJGSAMvMry+MRZ{T zt8rS5lDrH`LCRlTaBu>3}c8+Xz7|_OTB5l;SE+ zfQ|T9F-~;Gc;u0K64PfG_Is`H@mijl%k*fGJk+8tjv^h+EuXh+3tJ7G97fOAC<0{^ z=pfVTP$|8>8*Q4$@lYLBD(v7`LpQU2TY1b#Bu1P=x1$tsYzv-pXvDcd_V#PlH)@7y z282YqtP)dF#INZ+H7d1k)q`T2D+;ubjwO|l4O=XC<4U-igZ|x~xk-=u`ObCo&-LBn zW2tN!9o~Lbj;hObEe*d;t9nZ1cq{ncvpW=9My6D?Gd59M#D5~>UIQ!%)MjsjgjWnX ze|hBm8nB)P>V$RMRzAZ@nh$GZu$KI){B-iYjT<(wGblHxh5hYcYVzmXJtS2QxEpoUdJI}h}Yu%Hc4lsRT${8YQ z9#^?#=HR#TJyYIV02)*m=-q>%x)d+#J5-PDdHnWs z&VXXP^VEwv2MN^B+v@0?A{Ojzda%E$vO)WG(OTGuZ(i(9VSi^yMk^xAm#t_b2(cCE zp}_+*`fd2WF48-AO^fy41JdZOD(ZG&JowQ4ET^X{iEB#4DV+nJP~oamMf%PRm6S!XTo?zT5q((pD=bI|{IWhw1kO># zwW_)Nwi`h#=eEt@9!Q!sTvi&fTY3*tfMOIRqM^IJ`it8nBTRY9`=6BvKWM;1SpNCG zkqXT?c`aoTznpuau`s+|{Gl$WMtE104)sg9;9_1h!$>!atmB$Z~jWjE1Mn~Nf z%OCE^S>728F-(&ul{!3gNC^|dWM@4jdhJ9hacp&SmW`P|yQKAQa||Z6^6X#*72+oY z9?mf?uj(P23+{eCf>%p>6hg0*#(?!sP?9g6V8x{~qjW(}#-%9M4JzcGo7sxvy(`7Z zAmS|VW;{zcV#3G=?CFw+o<$N?uFEe;*l9mc;z@M~H`g0Mp;9HO4-W0?cBw%|Yr-Jb zg2_^WwiBnt=w)g>DN**)OV+7^{q=EE#!>_m-T+eDk_*ywQAD z@#<=<7HHtKYwn{y$T^MPkUow%rVhReu42$43epxeFL&t%MGlxq?W}H zRXOHIctuzJ$Z-ZaM)e3gM~6iJe;MF`SI;$}GAa0ClL-rja=Ul-%nRZ}Rl&m;sd}!$ zzcL~)?_|cluUe#gZz`%>cmsDnE)C7^Di{grEsG)H&y)_&vk4d6K8jjhq}d!PK^Z=N zy1%qES}4%+_E|$9`Cjf*jmI`$I2@ok7T=Gbxp&7nyDU!3m&{hUN~zX+{mh}5tZOv# zI~eC1;!@RkJ-k?#_YO1hhhFs;NgxR$voH46NXf*^oZ`s~*+zq) z*VCu$Hv$K0f)(kQ0xV*f*vDqAPd3*7a^m!+6-VZt-7DM>eAwWBG+R?P27s~K<3Qm- zb^IeZJ4+@y-Wqx!QseP)a|lNLL)vk&RA#Ox6g>Ln>;rdnV({M8=@(V_(shMoU;@T+ zC-HJTSL1W&nRLt9_hUomW3d}0MO)yzAR$qLM-oNeK3B}{HYEjzZeL@VZ(kEAEA`WT zGsUkdCeHuf#3rpkv*p_DgV~uu(9&v$ercj*czaes7@wfo=NGYATQ5h}NBOu#Min*e z%;%FQ))x{@EgS_O#yJYM4K*2HZi8^kla-pCkwY2st}lAb_*uSU63g2KdDXwavBWKU z#6Id~Rqk-mRV{ZV$j2@eYdk6$edgFpHc-T<$zx1twIKldtuD#73ebf$#CzRaTJWiB z_qJYyz|)*y1=6K+lby?dpZHgE0?r&@>Pvg<*Yus~krtao2Ut zbw6;7eTLxUPhuk2y<;w#DGfqx&>t;rqH=t=L>y&!{2}(60X6e8+WcQNtd5&$udZ}V z=)Ab{bE?P~`qa|)vnR&ArQ15HKq159e+;eX=RU=Zyz${m-|FECMvu)BCd{IZ+_#QC zk><23?=DP__^i5R0AZB%@OX)Q!ElK@*VTYVRj$g>E=}pem}73i(2k^~DkG;{=x(uK zD=P7cBweEHs>5ONWyX7B`@){YP7(%-H$&s{>r*wb*Er4EWM>^0i{#aE@y>m}vA1&b z3RH3Y&DfjJp>MF{+~%@UpeRa=$Hs&AL7G zL8*vIkmG|3Y&pAioZpV$MnAjY`=E_4jO(59HsEoU#P`i+n+@WTA+nVVc?%YCc?B_A+9Gt5m$ za~PRb6MU&*?Kf80X~3{EQqIO#dGTI{hKDI(;o@*;%h9aYyzCpmrWv33<2T!sz8Q5@y4wTEF$!L!W_fty~l$n5Xc_Qj4^zSWtJ zom{7Y5*8$^ya6eZrGA8JnmQbkgZaIjA+0C9GcbXynB>O!YO8_FW}DF9dUJ&0n6oO* z@AW^PTIH8c=Q5zVW$fDfSZcg!l#-=^IN`DuGSPX+?-aF(6rFF2H$6Af36OOo*}<(D zTXbCQAH9KXjvZpxh?M-}_wn~>_DKt9cvQXPVT)}Ykn6AT_0Ja3DS#_-T#hno9!+?; z{yBmAMfK(v(~BW5L)$)G{a!PbOK1Py!h6uO$RWYDoIWXE z%a5Kj*fZzK;z^%rJX&lgOQ{_-jN~N}hCsy=dwKDI{ws(13=XpVPANm}m$T}LS~-9a zZC@E|M=7_FkzA)d9S);D+nBWVUanAb>FB$jwTdGRjd<;Mjv(3ym^}wc>zPP3{gE4U zqW@H@O|;XWX$h$Z^TL-p8nNbrim-VlyZ;V&dzvz~yS0b+4Y$N@uvbSa8o(Hx_Hx6* znhV>?&*u5raO8?Y4qFJenTL$BH=Qy5R7c@O%(l)RZU;SI+=ZT6<0&NF+s?s^Umxp{ z;)YVbNZj=MY#a`+BGh8ktS}(u8+H>oj;`#wF604YB$2GU>fZTq1y|KIBi>FXiG?}( zXB3XrXpFS!nh?JDp$ncKai%VC;Z39cv@V;Vs4f5ANd!c<1+F&mcs|N@s9epAG73@y zMlo%!oAI;7OmR`wYVFCCZVAcz8O)%tG9t~msm>OEc=Q0n##H3!=S3PP+S?mM|8b%{ z0dIqi)~d%x>KDiQJ=bjx13lb7z<$9+7>Vgjah5E_VPt{`r=E?R*Ydn~ScxjNUp$Gr zGBFsoo&7cJ${M9}Om2(6B);?la_~OkFasBI)vOI2Wir5u@XuS68Kp}`(o4B~)8O^2*4R?a= zRLhJX(>oS5BPj4V-y14-XyC0TL}L4yg8zUhs_Uu@e5hECtQa%IK6On{;w-&83@7o6 zkZ;q{LV?Yq{d9Qx+0kyb)~yMTIEiM}*c>BvV@sl!k(!}6v?sT?e>Ma6iNAk~Zu41h z_|hGn!$qHU%V2*OoZ&42Goo)Nx6>CK#h2%Y(j$bdDgF3!LmnU+12^ctQP_B}VX7t@ zx6)~M_t$KT^0S3iNG*Vdr*Tz?g~`x9AWu=SKVakt$#|hrmA{mD{TEvEoHyVpKK+wB z#dfjKl}jhoCX(8!TSQ7h;o4ztkAD4=-EteP6t{Z%bTOoE8ph3AH}H^vUK7T;eZS0- zFvfSQ{fhh)YBT29xDh75h96gWM9drvJ?EYerH%mDQ^hFRQ)Bd~OxJg~@}^sr#5KXs5$+7C3>vQ&RD+7v z$3|-vnjj8A`3Xg(-yTAGmG{*1Naz^MNb&}JCaS4eUXL#Z5}Khwsm;%#Po8 zVJ@p~iUpbiH8pmlpYDqJ@a+0hedk-MC3QDgR%hZvrIeeZ9082GBI&<5pFcE%=a0U@ zPulaN!mDcf^c){!p_VKU_5Mdfczo`wL-8_sQ->tk)?=ndTvya8=im$wqCcdJT6>(9 zz+bZaMauMj;ZXceTyuH`;7aq__i|~;A+@lHiw}^n%pawPSjIcTnWZV=9>E}|MJ#Ux^rAb#lOEm+pQ7A8k3)*}QV0 zKIKH*K>Bwrz$ar*zj=gAXLERFJ%!J0|ENla`e1VCdIO8tk`H1*fTmL@*4J9%zm@!t zlo24iKr(>;A+GxO7y^4VN%Mm@ckOcd$evwls;O3sKvwszTv6vo6b&%&A4*lUHwH(j z+9uqxE6UC8rT<#B90GOEYi7}kVH+DyO@4#YO?~>>3aP(b<$7!~!qHb(nE7(5`>#TB zYs~SlWjS8PeNgR=K@eZ+EH(M>I?lT8xBvC$|0aq2hiRXG40^?00*$)%WB$nl58WUy z^(L3DMi^LEQ0vOBWPVlz%X#5_SjnX&pJAk}?Ge#lpq{uoo*Eth+S2}Q<9SVUJ#CCOE9G z)D+!fITWN-u86dI9P6zS+}jDuupvCBy-Kacw)g)t`F{SW>`-85T4Kvp*QM<2H=`4T zk2>h!UOPJ7PpszeD|bMq;HQh@kjTkf%!LORwPD7>-RUg2gH3vseLmOkHT@DLw7#5q z&}lNIO_$?gXPkK#iW#KxBaSo9>HF~SODje-RgXrq{4!Ko_3s{guRgifF3YUlk|qLP zQe)*bCT_2Gc)ssT)ZyHWkaeA{`1>yY|BLoZQ7+eVR9YGSl5*&{R6k61vA0*!#yUl> z(R`6fVcvFXSKH?T65y9xv=v`BU6-)(%T>vEwPd(epsCO_g8SLaWVflLTjP|f6vE{9 zz%8s7#OOWV++s1%rN#DDABBkW>8|SkpzcR&BF2t@o=i9MJaizp?J~7H6#(T ztmtjy*K)AIAfC6n?3m8gP@ESBKWQ42db@cLLrC73x2@m!@Tg z`v+BdctwQ5uL1xTO-4Y(+{Wo=m@x8%$?U}|{n*ta1PebZ852#P{sc11)JpgN6LYsCALg9)?~qus+ZxfunPBq0Q=W0&M0tmiesZI7M|Ai|UWL==!Lb z{r60U-UCEQQM|8$WZ;AWZ6b>!qy$)#M|*j3$`O~z-IB^*qX3NB@1%CKbPBnn+OpTE z%9$wMyS7+wy`^|O;h%oLNSH0wjFaG~T^sQl@+>%k?n_>al&i)dpL5L@p8{)CuTc6(O$lT@!gaV#B!t z$tzHXs^OAY#?Uo~(i>vdMShuun9n8}8m zZ!m7MGYoz?rH`tO?dNApE@QuJEmprd6TzaZT@}gUb7o72)$u2JYTkanJ`)e035iFi zH>9}*T@PnqE&hqQaqbN0z z_9d~^7^C}G$hx^VB3Gkiv^9Yr(Bq#No8iLvn}inYXmcF;&haqF*nZb^SBmC(wKhG_ zF%!OvB{u4nN;dZFi>KKfL|h$1i@R1HmSP;@`=N|!V>v$J6P=nG0(LgQNYO!FK7ZTL zS2h<$;Dly)@Yu8GG1wOGmE!-c!@qCKYrXg90qtr5KGKFW{bCiv1+t2#fP0vk#TW0v zv62`6)04c=zMxwCG0Vz}xH9kLCo7G$yt_!x0~YS4kyXL#YfVEQlgk4; zz%a_j>r|0dw|#5Me{Qd03DM8yciN3n1=9{%`!pAGhA;tWZC-t~s z0}BW^m|I+UC2uJG+bsH0a};Z-LxO}~lUjTtI(>5Q4b;VUb!9D%Ft()Z;9j&LK6-b( z1{E?@b?8cXzt;-FtAI!5T>#pnKy~5I{S9W$V{f@)*6hg?Hy~&5p3I>vwcE`Z@ZF7* z6R2oXR7;GbMv}KA70>58j!&3O+ODx^-_6g%1mBdazdN`G|h_sJ3Ijk!i;k><7?=9FK2&I zDaiZZeK^KBez>RL`J&>xXA+kd3rIfgHx?|(8D7wc^xf_03-p3bQr|4NAO`Rbg@$-BdIe3ns*vjc(t zTX%Q&axCOvwkm&&EQ99iLqOQHb# z?+yxkyMiGWN8NAr9cukxn?f@6^>W1&sUUCTREOmzXWPgBu^w{(yJVYZ)9!srpxf{I zJ|67MpMG9yK{&_i>1farcG)BrIlvkB>G@f?^i`7QfRQ$TlHH-5H2)9VD!;Axp-zP2Z#@VN5N<<2^US&#)jjp>O z`1uPX$54T+NMoS5z$T zrO_$*x0oys)b-p=l5$S$OP1sb-s_MK9rh<~#y7O&H4wH+-u;6aU%ILWY=g^UTRYRK z!{lXtJ|P!c+Sc+{la|%l?kp$X)M0}=#&3v@^CUw=8h#wprqL^NL@5I16Tk95v-#~@ zayt8&O;5yNcO0blP!Wfxy>5Z$zhz#6^zPo2b+DvvOZJ_OJU&UYDxdA-RRI^T=xTe% z0UB?jCdj-i>dtP0)nQ{X+XT)~OH#~kyTpI{JE-!_3D*DKvfBP~xbKS`;@K3hyT7VC zen$V7!9R!H?Nk!6AlKRnz-q9IE|BfiJ2Y;fmR&}ndH?L#vKTpSKOux81@f6L#y|j< z5HRy8;7K+#?I4AfbwnYVx`w{`#OlF%_Q%CW!tf>TeJKJeJt}%~|ESRy-1PDzygptr zg!KdwC%I;%EDaK37vb6}vA--;z*k5dNm4}|ACZcvvza)ZU7e1fxbe?{k`w!vXWa0r z^&lM?&83Hf(?|}$V+`Qqi+|6z=;&v9g(bzRcIej{CH}2`{I;kagEHGYvk$bsxKj4$_}k~JlvA@ zC=-&RR`MtgG2`+@h;urFxESA4W?Wqg;xm%eI!Cj#z$Aty*l0TMqvP>)*O^P_woQRN z^n=cKxf1RCfewinAk|A@HPkQL$rfs#Z|xw#N1xK++uuYifhcB1+am; zKJ1jU!)i9I{Ka)%0Ht!{mc_+4MtUZ!9yi1+2f}^FN`_Mwx^_&&!P5ixm;Qk*fZFE+ zkkK(thN%B9>B+iz)E8b!I5%(eu`nwc74cL8IKfH6&3%kAlWGpQE#U!HD$>Qu-LR6DA#BrW#rv_8`CT z=s$h|P!yN}{j$!==DlWAZb3EIT7%97AlPr)lZ^BSJ;FA4eNicSR8HbFfIj0=OO47t zU|Bjr+d}YI>ZB*K>&LLjRL7kXpZV{n7>tKbyH%6fgn516{x+NAd%J;Qv-ds{)WW^$ ztdpG3h$?ZJm#h1}ksDDXs^UjkB#1$_Nu1M#VMVI39HbXHw`1@*wh5q^(V=t^x2T%M zmCckBB&{nROV;d0?eCv7)Em8HWrTEAC~=N&9<$iNvM1PtH*KTXr0d4Wv?VqtN@1US z?q#m-V+lWW(GGP|x7TYhp(>Dh04x*%SX=y8{@xsacF2=+GsDl}asL7g7s#f`EY*1c zwDhRM06#<9__M@n*=D4-1f7|?)RB)?X<6L0*#$TsyIKWs$DUw_W3WiAdvAVoZ3oeE zBVOG5bg_LGvt)VlaHOZ?pj0&f(b`|D7deIS`TbOH@xjf2%iCV_L6*(T-)!f$i&b2+ z;ovkLk>puxqf-Cbej{bJ4-94y-Zey)7)J?(q2R5OJUS{KIA@|Q#Z&GO`p-D=Q~ua+ zlb*WaR{4^{2G#!O+wdv6ZUX0nV${;4>m~Z^Uq!t=Y-r+xu2+LBIz9-T<8seI6Bv(q z=2%w$RKIDMH7*3y@AX@z$+!Fz0Tb@YV}H0y8>jTcHoztpu1;Wda|xcR-?OP?b6mG* z_onR&1ja=Et(X6Hj10~FUqnB<)F%?C-nbz;xB$=(5SYhOuUP#YGZ^+<8>;Ifo~-d? ztLVuzO4>L=8V}yC3P|bt9WFQ??^3A80%`1eM=4zG9&9;X{3XEl_C^~O0>Rat&>y~R zIier;2XUb>V3+ayG=1SY-)*KQ{}e@k_`A{j{4qd%glT`Gpgz>8}@F>46% z8b9|}kdEhimbIRKZ{8O&#CLobBEL2fPIjM?B~ivGHmwp}M&M zeM7sJ!sj|7r8C4dAc8)AR~8vGfZ9=&@eBpr=u%Gg_B(d8w=gD-%oG@{!JeaY)abT3 z3Ca+-D!z>xVl3XwpbtX&UFvG!86Wbz;O&xO?+$UOo2w#C78TyD7Lk~Wfm!tQ!{!i& zv*R_><5f(JaxKTjVw{^#!YUlHXQ5HjT10*aWAo+*ns}Jz=bpFLpJ{ex!QS&8TPtGTosme(8E@L) z_mTe#*(@3-L=dg~#sBj<0|GR@W#;Mwg$*rBFX-)%Nlt{nWx~*+JT6DD=48nZc1u+* z@q5L1m@+N{n}SunTo2rpW3FFkt+PH90BXS%y0RJ=^fvM#+HiE|nT#FDYsa?NhKiuS ze0K6-yvgjSUsxKl-=nSnH8nP%?wffPj^ z9dcm3{~<291d^d`zxZVH0PK-}H+;YqX1k63XDd`@jiMTB11WlZ#zHo3)hLxFd1#~0 z4o2-D@78n!f|l7~bH!gn4DC>U-ZF{`C#g*|O7T#a+pN#OP{*o(Rjc(y1}wo6useAH zyj_Us6u$J0T5A~J!UJB;nPcF$yZ5ci9CuMR8%2vdy1#x3nf|>30!;42jroV)(E7N= z>rkN__sBlXoK~H+&cCwjkQ=k7YU}w@J>~~jbFY_?s@5in{0MJG5{tWUm?lJDc>Gc7gV_`iSeBobJ<-G<#J_3DB{6+Tutn@eY1>{j(u@YQ?$` zZNS4WFN#IrXDpxZ*Y4*|K$}Y6om3iej4v4r!>{s`Gdc>)d$zbHag{L-sMj6>3}*aA z)wIo5n4oG0fs(?}WZy0oJMvGjEb^5M?GmEfeUsQWyiaVcVw?tCQ))m;<2HUmu^-ZG zF%HLy%d7PxGxKato~0=T%i*qUiT~$lG6s&O)8NrRHw4Yc0QAo+pl9eoX^qG_7aP#d z5P8~>=!|;zaFS`E_s}5OmMRFXI;d;^(}Z_hi?;zGDpRA`_otTv$O@NAvc*(dCG;OZQqmmYC)k1N@EsHR&+ z8{bh&S*(nqzjgFJ`=q%_RK5AASz}>O#s~#Y6(FSkxhiM*ALnH$y0}Wgg$`mFK}bu% z+?qCegOL!Msssy#1aPsMmEqWu=Zkx}r3JlACcTKgYTg+4*y^w|zEKLN4VR{&TFlPv znj}o9$Lp5eVV|PfJSqNdq3L$Hh9=OguCL_jj=kUon?`HlPp|H$tK7(3qdL?D3bDL2 zkvUw_|1ky60yI(?;S6^Fr45(JuGh^=?VY~=L-%wUX?Lww3S|-%PS$z??r{=x@A$-C z{rOg%kELq$3IgCT#a7flqw6b;`sK=<`;$zxdZqtF9sOAUL`6NzirFl?Uh@QC%~Xu- zzdYFwcP)vm7Fkn3O9Oq0+D6_1U>@WWP2ExIM3&6gwug_=Im)%l+MdRvtFMHr>np8k z%Cmb#=&JWBlN+|%#0{H)_JW{WX-3a#VF0?kGsOpgJJQso$8=M^aMeEOmM{B5gQ0or zgbq4mc2qk3(d5uAXqFzo>vli{_FhYq{uc{0>PT>Xmw@tKg}h9 zx3Zm&N6MdV?*3RGb2((I{q$L%ocDeNtMF5L@#DY*|l# zke!ixTnql?QEasB5&bprM3J4dJ(a;BzDbV7bc&kbOA+a1Z>H54 z^xwg5jM-Uv!X%H^t`F^uHxqU)A{#hD=)0|BJ+w8B$>~_k`maT-Ssh9@%`o=5^@t+s z?1-k2Z(GvSJa{{w`NoULIimEA-`PP3v=axy6V>bHdzUA8qw0zNc1%7flAyq&6F8RKm74?0!pImI2Ak$L)>$69rh%=S`G)phHDAU!okTe-SKkO;fQ~(Pm{9C zM?`n2ah$X%o=M$FnW^n$hvmxYcBn$Y9v7<=QXaTg&WIK%nD4vKuzWz>&%Bg(Op_#2 zV&LKyP?7k>3a*;BoDZ_duA~~URbL^9Dy(iu-@%;CSlVFsbFPf;D766KMV8G44({@r zsZyzm1At4sxTKul1sw3PZI4*CzRA?8~Rm0XKjih#L z=eqQPwriRw6B2p+9y;l2-1$BtFYM7FFRX27sb&S5nTJ1Irc`6&1=tc$U874~YEDOq z{9Vi?nU#kHCz=uwA)Y~|Trr+!^%gNlJqY2h-joQj;SD@kCRyc1y5XL&%*GZ@pIr(? z?TJ3};EsE=qgc@RPB3RDy$w(=zGF z8;tMj+xnBH%PyPV^NaWl-Fs|xkYFCM+~Jp2r#MQ^9>WY#4WNe zc8&bs#k|A(A5A#nWlXEU-kaf!8Wh7$OiFXhClV{9+UkcjvYmPmQ#n9EU+t%v==A<% zb?Axw2oz<+p9CASh@pv9x~u)J|6X(-;r2=chZvZ=LDe3RF!(zpZeJzI8E3hwkmUPc z+nZe0#J`$fY7>}4$P)P>bcsQyYGj2)1Q81~8p!+>d|?^=f^BUApckuO+{cE87Nyk; z$G*Q~FkWq(Yp!khrLS<0R(xyabhUkPH+R0|7r&@knEk}a1EP-igP5_{<}j(|R9w&T zU^OVWBwOKZx6f!od*+eZqc00fz4^K?l$SJn;(b+>z|>6VOL1+i20-`IzpkP9Q||o3ViOwuM;Pp@>%dM63^Wdro!+C{*r9<;D#w&dd6s zJ!1|j@IE-*!YU#fXdHN3_Fqquu&7IY;`-sB@WS33rznemwE(n5*kTVP*5LjiRS|y) zouSa-@?2ATatPL#M774vFFvf?h^EbrPVvt(sEHVjYo}oWnD< ze%rWoWdAFi5MoDoKQM(8>6OYbx~Ea}j;UAZVR+sf07bM7T!b+Lgq~$U2>4>`*v z1JlFf)Z;h--)Bjl_4!&XJ8D)ZAIQnUP!w|ug?~gMMychfQw?PpI<_rHd$m$o{N%ns z><4(p#3|#ZHwc+ig)F`S%#?mAEgBhc>5h3MX3naDKbk3$2RWanoDXbSC2i1Zr%I_c z?~fc*EGri6apYZB)W5JrmA{#pX$qw8vRapb*C)vRVdCCFT-r8AN1KWCPHD zif)vteg*X1^=)nf`qJRj@0nRKDqsV5jL4MJ~so`%`;ic*Dv#nh2x^3!Zo|Ng*aU8Rwh&zTLX_=1ng#a%tr<(8uB8zqXFdMcw_`x!kVevPkM=w zodsOs2>_qRdCMz`Hr6KFJ=C26PrenV!nwKUtc-`#-ZbfGt*_1+#5Y6sv3v( zoxBY9gE3b}=D)ww$y5GIV#BSYA@Sqcu@M!hq*;^iY~iXFV$6@S^Dzgj2Go^ku!)|sMa)@( z!F<5Uf1XX4UtX!pWTYW@(%v+9od4tH!y@YTV$4?kHM>`N@Ja-uv5QxdccO()L0^g% z--%}~x!3tP(0Qx1+t%pEnxP~(=j~Pg?ILxJpLPK@UH~iXfe>s-0mM0;+aXD_zrWVL z3q#o!3x3C)wxV>Xgu0PEA`y8dm=hNF-QeRipJb)gLOxI5Qx)#b^=1yCrPS{N)an)*m)*C*7>o%9giDXq7uo&kfe> zZLojZxVXDo;pLdy)Vx{egZE6yt#02tPLB2G@?FZSM`E<@Tb`nj9tf)mb42rht2}gx zhFwT6_t(eaVN1v4w8#F;*8=Y)(|)qJF3YZbaUWvcGx$zDiai>->O=GE+E303zqMz7 z1s+{QPfwX&q%3VurMfCQLh_zBzenU3X9I~^U5B|v5fq+jSi{p28evuP&r?HOWW%BF)dHe=F=({ zfYFTNzjkx2H0x^=NEbZ`ewEW6^V7wYQ7>G!e!8GV6*5l<8qlV;*GyhxdGlHUZ!yGU zV?6K~zcbM$fvxhK z^BYQz7vh`4P7@m7A&pECHMjaCAL$Mh+4>hZD1uz7m>4ex^3aGH*g-HvuQZ+~1;hEt zRT&;8-!to#zg%&(@OKYAwuv(g(fbjhF$r``{+=a}x|;oGmViN|VM6bh*pj=TyJ!L- z^fJ#FnK!$9!uqDvo#b1x8qIceLB30K$=4JR(pHAiD*2P!SWaK4m1o9^ri}ub8Q2bn z2uYu@ItXxsIw^GCMLD+v^I?jmf(401k3!`;X<-HHkKy3Gk_~D`6~CFBVbpHn>Sgby zAzDFH`A^c&bb9KVF||KKY@x&eO`h@IS*KhDa|NL?9`p(ALlTwRI{@>TdNu#J1Ro)uCW z8KfO3RSRC|y!-l%fviWc&aBQk+N9q)Flf^3|B5_B*7Rw!n}>S}HW@B(k4uExQ!k@P zzk0&_+GAkoM+c(NTsHT8MLp|_P)()MEt#nMalsUkHQfO3lwoJfHt&-$KZeEQIF0kc zSvy7TN5k`a;<^8`TbsNLrO%;T<|p3sbYD?7J3NL)e>vVyVKW+CFQ$WUz4;e2f|I2( zT&%X(nRZoKNFOpDwvJ!}O$%&pUXv2mygOGw3B(6r>wt$?8?%knmsIgeUEDx-dVm-9 z?eCYIODd3SwKj83qPhZS#PyXw21psSeWu-N`|`Hxv%`6BYT|*3vDN0fqwp37{$JJG z&%oq_tt6MGcZbsIrZXGrVfn)7d93BM$g0;a|M{ktUsaE1$N-N;x<(O~hU!S%`Hn82 zDT95+2?^YCFi9cheq}50$a+;`qSD5sb^r7^V^at`-n;YfTHw^y z)bX1!By>7`x)pzL{=X`8E2}sIYJe)siKTQ<4-c5Zk8g#iCTo>x0+%g2oNU7`%QsvF zh8#*Zzw}n?tKJyyAgbg6L-Xi4wl+?Jb4NCBP40Qi|Gj}Oki7?b7eWGiR^in?4HD!Y zsnI4BAJ0*DKtE+;J=51$#T`2Cw{&?N9@#w*<=q)Um!BZ39cd+5GT?|P(q9)Bhvw!d z?58;juL?(ArCRlP9)n4LI4?y#k4x_xh(6`5xClI#iPM#FlrFwOLiE-+&>8)+dq2Hk z=TH7v={}JZtI%CG{LaSKhMo}gNTlU~zGocae2IQsS#d9e)lN0=tsO+am*pYxz?xNn zer9!wUpgYgp{ly8GxXB_y2MGO_V!=+M_J?`LAn-g@X3m2XiEwA4TvjjB!rJE3+Z0C>1DV0Z9TQ^;`u+@S z!=Oqt*m!6lT^W>Z3LZ@X!P`>@+TU1_Fzw(Ml*xRV7%5lMV?_#t4DF`f!e5Tbs=10L z$gfY3@r@GtZ$?Rkff{|{?km*v!+wXh5qD33X+6|1D5oG)cgiBwi32%BH zaixc(oC12S-o`rl|7h9VdlSH#!zILTAgQ5MJb7ocq%+q`r%EbsKmM&`OO7s^%s|FC zzx^puX`jdjzh+x+vJ*B=O=))x64+G%+9rw&5&g3zcD6e+T4b{DGV=!FCq$Wnt5hIP zO>u5B@z9HEDTeotz3a22QcfVydtBNr?-l&dj%drJQQ%U{8Idc?I{~O|feU?M3D#`x zfg~IOKcKq=qi5keO@D9i41Z>qTkTgz0ec^sm!Dx|d~jH71U_g`{ttq?NbBk!z@ky}CfREe515c*M zw2OgQPZ6rh)OR9qAtr^o%Z^%do^bH!t4)6!J#NWP#Za1E|M@?Q!x`nhS{{%km|n~D ztT)@G*+L*>@qnI?orunL5aqATa?V0*Jw(^v<+rWS4&EH9_wKmPP=7ekhJamFy3Or6j7`;!ITI~6 zg>20mKH`3fM8ySjF$|+;fV1 z(Mat)2S{IR>XW~Brvr284xXG21b7cp_uPShpnYv*))V^yd)_;QK%E?3Ho>UE=|Wso z(#tBQ3+zP%b&KL`ZX*9D+D7mLd}Px=9Xz) zchIGPrD8QpvfsVJz;9yhn+ShU(CB_)>^|Lq;-@BA8^+$h$N(Mgigv1q)!K+vJ3LA&CPQl^VUnue~L*ta$P{m6d7%RCFG)&H1dD0l@ii-*1K63{U=66i}Vr`VzC zfI=`Uii~d)^oTA*@4L#>N+ag1X9#U$&G# z)Wu!Fv^=f5_T)bG@3m^cqyvZiv=DvyW^NH?>v>02@R5*e5ubL<)6*w{EaAl=$|%=Y zXZqqUcbcPV>1X6erf|dDs>B0?1cz)ha2it5&%OwV-{l5|IEUi71WI&RmnF*Qm4L`= zSH|066{;_65c%c;WUkA1>0UUk{KsMjgBcdZ;{7JsS;}zJU`T%)Jw9#sfNS<3aqQMh z-4Y_lHyZoM>eDPu&AR}ZQWx|$k+fh2GJ;nG2R&u`gBfUS^<%aRuFZ2RV*-1PmOE%J zC+A4doh^3i#b?7Dj8>(ay!QY~rFk#Kuz%xLq8Bef{SBEU9-ZdPS<9kSMjh+MwR_U&s(VsM9kawfRojcEbiAK7=X+0R#!K^T2(wk;xO=MFhd z^(u2oVYxn8=EN`C8v3<+)5LzR4&Nnb;k4o(a|MFu3cE3+$u8Y|N2n?xYYJq>pYL|f zeivU33!Y4x@0Ho8Wjr|b@_wSu@<&*NY<@jwXv7)C7kFaz!b>%Hy&K2f2j+$w!GsOJ z=Hw(F1$M29WuHW5U%&L*_S!vVVm}AtWxmW)j7B{u_F%;XdH)~IEBq$lO&WS~qix@& zRlnA*SQH(N$O29m_#S+@1NM_6NuQ=^ayAFqNdrBuF-y>zO5{<*0(^Cyp~sUFh|HleUBWDt*L&gw2tVh+a1E_gOyzOorF=XoPu`5aLh1QtPAzR;qVoCU~_djQ4K zv_FWh<43#|9*lOX5?OS4X-;P<4p2-=(%g{k*Nxj8wvGAFotTqer}ZN+HfdTP411?% zm0l9J_*J2>k4{rtlOxJ&DprR8X`-mn(TxtSzIo5uvN1&@+|RV5G!*Vtxnt5YtkEC12IZB)7a?#BK}=-Q{N-pTptnPYU? z@Jl9Vu5#!G0tYc+)2^1=@qDb>dKl+5@B8r~-EZHK>T(QxD%_HW40GTMxLawB_fAr`l&Wp=X@u=d_Y56Cj(Uu5Gwd zG;++b=aF^DKK`Sh9%4|d;jne2?c#lv)AfafjzBpAE{pWpSumdDOw?&wixywK_nfKX zMQO6n!!vgLGat_){+L{ow8P-Fx^zKOk4_fkB@e~jvu@G5kFDiz(N}q1I5gq)t~(C} zKTh|p(~X(G=XD(QM(4D%di6%UPPVXdR(4&Lg2OrXM_wci72#KYSWxZ_Tse!`qlacC zF}&kI;r?yD2Nkz%W794*!!=dMr_WLJ-vQ|Ok*Pa<5O(YgeSRzlLWNOHy6s}Vj7XG*4e}f)MeH#p`N=Q&k>N5 zh$fzmc-WktA-C9;(xyi`qc0^jh#dUTDDJWc5jsYv)IJ!K-JV62Hd2?IiY(S}M=U!o z)C@QFK(VX*)GYt)U?2K@o{7GdCdJ|b7yT{8ku0_cwHD+4DVm>@en^TW5_~cySKGUq zuzk%c_5S5Rf49RTJ7qy1do{H_Hb1$AXh6$r9qD;;ms2saP$!+Y_7D(1;H$}b=$Kp6 z=~m=K80pn`XKL2Nf{il}x*E^KY*hFX!0G3NZf9aT5)|rj%T@V830-c>kfPG7)+a|oqe z#`~JZU0gYdxu`ZcxiEv7veu<~t)2S?7S^v;Fd01+Q5`=xCE7iG-Uv41#7}s#wkM!| z1cysuV&mKq!f%1a_uiX@3Z~>1Gmz(%e}A@xliMCnS8Sz@-eau4!}M_KPwo3~_4`7< zF;u21N%?}XY5e{XI(6ADBobeK=(jsA3*bth=GKK*&?0%Vh0!m^Cx_wD*X#rN!scyK zW7CR8g)rqG5#P;+-M0FApxQwL-YR%`Emt_^z zQ!_8$CF2yJ18W(vDJ+UVg2%YX3eGXt_@NfqRSnSW2&jwo)5F0tFyOK&3V8MU6y8X~ zIq>E>9%oEBJ+D?a)%8jG_Ob)G(fSh_n2_jRo9-Hqo=;?4sjg1jO+}4N%?0iY93`b) zx(!Yy?#Z|}xPgCfVLX0iG3!z%b4AEY7i58xQ{AMfF%OcK9j7}F(u>3uxCC$F(btLM z#dRYWSXhblWSs$w-UD_CN-PRsl{#K0)6jTpLmqn)ZSfY~J{{5q+lwSS{S+*kl4K`O zNdyJoBJm~(5%ohA?Wd=(ch^^=vBETwe3T+JdlA77j`ke*+ry|_QhRHWzy zV5ZU8GR#IeI7FsNaBDYjXK%C`&4_TQU^};(y*NRm2>m{9f4om7zlYC%nt>WS495hc z-z%obM^U|%H;lAg9j(1(IZi0-?v3iHp8CO!4|fE!W`S2mwp;3!t z5&_N;tbJ^r!Eg2L{4{=7n)D57{Ln*&08_#(kyzWMFLsQlHkBjfgpLlNV)+9>$Ogr5ivDw1u@jof0yKrWB&c@u1Ws=!{4h?2m|HtOUQC61hP~{4K%hc6M&5x`=5A`Pp*1!HA__Fei zSmh&ZrO#jg{x2#Mt$@%@y^Ok%!dOqFIL?z^>vXC{{_X z;uNbH^^2}2_F4KKNt0KzFnYz}i20cfrTJN5&i^CB>i-zL-vA11qi8DKHQug3BK9_N z@xSg;|5NvGV8Pvwy*Xf0{>NJKzkbvFbXnRz-F#L3W&&OF{V2CR#!Z!mm1c-nv6Q(b z^Py6x5@>8{X1H6iTUnd?Va;U8*KSbPov0Rg`?y>?%Z?X_+ zOe@u}Xoj~C_$z_-t|(98v(K>3d_Fv_Z>tE_fO5~Yl()^a%z^U>vpzb^xgcjMZKi_a z#~c`EBpxxCsifjRoW%c~<^H+I{BNNcD`3p4-kqS|iCk8RP|X+2cd>AYzM5`3>^qem zI?Yr0&&zD^9vt&sDPq~=TH0M+_wMwP4KV$2(K@QLLowx{{!j& zwRA*GFHxdf_F0qvuQpNq!DG{4AjigB%r=K*4gCppb6Md53 zV{53UGA%O#-2|j*+HjXXL493*=4l;B#@-r27}#-16;0^pICfhe_89V5n&$|5jh_Ar z>LWkITRGo99*I6dvGe1^-*%}f{^{HQ^hf|}=Q{z(T=Mzf8~MxE-{ii65rbq}#;k-E44YwG{IX_WZa zctnT;o`yw~|AS2b`(1tr<7=Ej&6#C&+n~YAkm*=hWCW|b;=OV2g2weAOT#&cAdf>WiEdy zAb~fjV2!~dDnOU>-AS!`LrZ5j9HGxuD*vfC9zC3h8KnPpyAw)eGRIf1+kl8OW3^Iy ze!$PiUyMCX2&Ri2JoI$Gs{=f2dbd&vT3)!He;Dv7`tYTxP91tv6M}LfK$);P7}Fdrtdkt(QH~=UUL*M0r`;iDcOJ%czuzrAtt}{klM%I%My#tv>SG(d16OQ z^S&cfvFZ0`-Rys`_}Wv~jKyd~N+7Z0Ym)rNB)48|sT{$9A&))`6eRfwr(>(S2a|kg zENZMPJVJ@bF6V3D5zKMdEc1!3B@-Lx#EG} zxKtboUuYrqC{?dSOnC=twue%DzCC&Pm5-oW^sg@D$Zm3SNsT*`URv(szTBoVsm{|R z_M*~Xa~$6O2B~p??gfsTs!z{k9jG=x^UHp4*C^9rwa@jYK&C}Z6rr)`2BPOk8hkT# zGp43>ZUHJdyAk&{q6#(B;A3Q5O#;an9?Mie7wHfML{@Hyf480xn?p(>-mg85O+MT= zTB<7<6Z4S@xQd$4eO+IbpNcwNBJGDtIrCJVO(q-ttC<1SWF(G|7&WO8T%}SKa(;_J z1F{G6g#4j+>B#o9-nX(@B}#={7#yJ|Oi3?c@VQ9nE0z=B0#^B%@5+_z zRE=aUEv^c&MNB_oPHEPBwq?tD7ju>$GaMR~7QSs6J@cmo8 zA~ersZg%l3UH6Zw&!d{9j*%_)8I7qkiX^msZv7WZ=A}VeWcD4YaT`_iM!VdTF7L*b zP$EC>T3NVL8)6|ry_WG+jVO$aq<<^ds^}*3C~RBy3b6RGwvBp-rQa+UB_{E*lN`gZgg^6!E*n_@<~$* z9QwBYc;@x#9Z<3S<9%IA=g|6%7Anu1-pauI%So%#MDd%c?9S%aek>N zN$M8*j$MC`)BRG9laA|U{q-d)Bbw=_LEsHfHmy4%VSuOz^5<}s=0<~(wVRYFMe7<@ z!Z8ZO?#Jgl43OouT*aw10zPH{OXYo5fTS$#bbGR|`kt;^LfHcV!DnSz%_Z~9*TxAx z^~sDgHMr$%TUSE%D2sNWnu%;@p2#;d!cfZ+o6r*!$I1MIR!-0Svo5Xd03s@02<`Sz zw}O%`?h4F?t4+QAttNJ3YBRojnJfCX2FL3{HS99IDXPX1L!$N&H~DpYT0#9ST&#$Q zuc4~kp&{lU?8b96j5LVPio@+@M~}qfYx77{x?9>FV(uA?Hey%^ByCO%Fh2?i9MQA? z;9D(pmWS1C!glLoJp7Wk%HZB+T0V@nV|(fB6C6Iwv_i7Tk3F>U{AGEF<(KYL<`IKa zmrci*2d~2`NkR~$m&xOo7R1D`m`do3nBBKIdR29s3z_)c^sG9 z7JM$c97lalbhxo1)8NYx98v`^RTl-9)9kid-K7X0U!`h!w?^)^dN#6hy|XvWT2Y8v zaIgl-lCj^+(hTtG*{mjFlufFL%5w9`K1O}UyRpF_Xt@@r;WVo+AzpLl<}9Khc~Zk} zSTmfdHAQx|R#WtT|F{&YD{#+te3^%W>V^x=bBd>fg%R8@ZJbRBP1o{solkE_Qg)@@ zrKMBA@LlN<_k`ifCvH1cwuSV)gJS9MHHF%$p+|LXeGqC|ZeviwzVq5XG6m2FG*~cd z4whPe!D>V+flk=^U}g@7av-B69nZ7{qrFbm445;4O9g! zDK(~2&L>+T_SWHvS~9X*lHT%zApCA5yY|#}O65XGDQ|)L@jeBhw$Y-Ln|3hUa*X_x z27`jsupJOXkTJ$`OJVPsKgExo+47}IUKN|o)_)P`96W|rY;rc&u*V;x*R4v#bai-}wddE4UbPQa_H5mxf>m`v zMPn!9f@^iasz^e-Te}6EcQ(H?yjt8j=FR(TZV^j&n1)Za+rRPAa6rPocXZ)vbtXCq zRkm8yIG{}QWIb_pT7J^i+ji03u@6^A%?c#lDtwgIp)Mr(hwf^C$N>NkCRkw29FdfI zBrmhemsIS?=I>~J5|WJ^aMUr=iZu~e=tj{_0M`=!Bo?JF`ODrCD90*eWm|1ihoI#& zB9n^ITYgYV>UI;V;)Q@nnyDITR0qhTS|^`K(e{@5>DR?-P#*&#Y0-@=S~~vRVmJ#o z+jL;O`(FP*wn&Pvl!)c^IXx7egx{VlZ~ZrzxCAHgLTjW`mh8{W?e*(DFwA%g$4-W` z@)m9r=nw>n6E^)=%5WwK!*sxXYO>*p&CMkO>_S^5a>3H7C(f1?ZI%w%wjFGnu66Tu ztrrh`h^X)^B3RbZu6536-XktDX5Z5!Ev1~ReFXY%lTQhn8HrvH++)N(l_Bm&5%SMR zNMwv@6(yy9vtdL0g^P<6H@!gno*{Lc|G~AOnFF^g4;(Yt~>vEGYnK{vMuv~W5y2-tM}O(P_5mn#RDheDAf}O zjmG7>u5OhJg=pL6DwF_I$l@=XjCh#Yub`4)?Zn#PP<+6K+J$#={%MOr28t>OU zaEUC8j}0ALa1E9SmJ)wp$esq6sf21e&dk1Qxe9D08^t=i6AC$)%rJOWD8uyYDx|zn z&cjd;Qw;0!>B~%cWtsCKb3XRZT%njF?GTFfttIOG z&i5Z%C@oG{>S|&_r&5LOUbun#hbIdOmeal&_axIm+e)?YFRcfZuVwdL>x73iNlA1i z2kV_mK^>}u`eB{<)^HBnp5KPgEeuJoiBxEBGyvqB?gft-!ff0(JFpjrC|ftIhhbk< zZPC-g24QXy9{%%PDuok7a^6q)v)f)EY{EB3zaJ^cJ=jKwZ_$ZOSG7FtwHmq&Kb2UF zw_8+X1C*Y8F?a~OVI=vwVGIpN>!t`C_3-JRZ}IAkQ-Faq{s)rfM}84}tHXP-O3J$T zr@IrKGukOg5WSse>iu^7(%YfG3nW4Pv6I95@ay@e6O$lexENIF;jk*fVUJ?B14%dSO^wkH<;r1StaJRYP)bx2-5- z$rt0TRj#*k=^9`|cQFQ`DtHw=DNanC>d(oU*&Ps|x=i2R*cc)ty!IxsgZn(s^A&kK zFNu0zV?f3;{F(qSV44*)=bLZhu&3*Pb%>)5?cm8kfPVqa2)}3*!(#QNzuJBjbSX!l zPwwG|7elOHx8KG!GKM+IAheq5$L2a>SG93-*l`gLPU?}7?SfjdM^^51bmwp1tB(HY-_hoIdAiT%7;mg+~Q>mX^ke~sc7>+u@ zj*fN{bqp+Gb9>&6k4JV@Q!JsOEobylAMNbn?0hfQ`fPJ!Uqg_}VG=K zV?mI%<>v8x$9g;%MbkALTfzLPgT{pG57IN3OWK*%B7~UyI3NGjZ@t;> zScTo$wC#>l7eAU<0RQw_v)vQj@2;-U60_<|ekT=L6LblmZGtEI$feuy0EZ7iTw7PW zU*h)E-I#g|Q&>yn-qUe6&+-q+)84F zw3Phvj>r9@J9E+QsxN2$@)h(iwFS9C^q`jcgLdU|sF{;4zMmD6K5RfB!&=U}x}&i@ zCk&l0E6+kXpqOeM$a$dPZ?p|!N3ePp(!Yo?7f7P zNvHe571n(p1=8S-D|ea>a&_MmLBHkZ0oa)XVNRYF?9D70vJ@KL4`sR9?P0uWXQ5&3 zkLXH?V7I2Ru{Jrrm7DBl(V8a|e{O~^ra34iEZHW;Yhz>DA_g+QzUG@ic0uw+som>t zcJT_?o%GHPO)9762&%**1fYcmE2cw3xrR&;)nrK*n4VgDqWKfvVoiFT#b*_tuz}A_ zCcg?@=M@UCv?kLwJ6ZreS}b4zu@w|#Ly_;_&xzdrL0b^89J6*~I)1W>f&4Zl3&>zO zgmjslko3t)&O@sZzPf8^E|Iqq8268r}gLEK*e7fQk0DVNwLDlfzsL@8rjko2E+e$p@&9a=_Qy=RO_H z8li0gW%jWE%+GZ09}tT?)F`LS{fUPW`0Jkb$E3v)%8~LemN~q1zb>BhwdQs2lX(6z z#Bwk$MhKq^Gk%nmA6^wsH!ZsymyM9m)NO*Z!M5YlaLeJ*#YAkl_VqjZB&2~T8 z?SD+k?*}j3>Jlfb_3^V540r@tueaGAaoPA5@qp9e!r2|Paccv9gk>h34xYR&6eVeo z?+8MRw(UaC2scR`nsvU_r_l)9`7oB*mpV&ki+uaG8#1(L(}`cZ>^E-9~ar&jRc-t%d7a4bhGI{EgaiVs0>)q+Eyng_jW$3`1pnM-JqWJylz}nOcGH0 z`VgYj_;8Hw*-Qc-l;qs*Pv0E8@pBs3J)!C)zDno$c-nnqFsV^Af1+!&odSiR|4pG5 zBDCQH1SItJ=O7brCGnEPH$dB=EWLFEZjP<@13V~U-XGFB`O*#p#2Va8s@;jatX!F( z5kWYFGQF(bcQ;f6>NUvM;Z}%2)^O)IldjXRrb7|}IW(^`hKsDuiw4IAT|G|L>zoe} z5X>jjaaQm3CM(iD6;Jbn14oWO6+gJ1wy`cCRj^*ql5Ef<2h)eK@pqfvXDQxVe@o2l zF7p_@>+sQ6HP(=r8tN)KCj8Z6W3l7Br=^kMgshV5`8_3u>1)5U70^>BuErS-sYJGe z%go}v5|a~7vM*9b?1#ankC^hwLDG_#dZUpnH%HxrH@sY>p3kgbg)m?10;qShu0K56rcxiEbCoWA)od}D)-23;|i*AT{H?J zD)BMkc+D|aaRvt4ecZRCxqX1Ak$lG3XFckqR92}~-n{sB8os`I(9V z`IEtGs|EC62P&$GwQ(~fa-M3~C~PrQ8WvkDP79@0dQ#p#;<0Q|+HQ&C?B-UFSH<&^MFm{4)y#M?r<+HR!M(@2 zgfI<4J^T*8o_e_}D@(Vdq6tJTEK#H1Tjf%wI8AAGd{f}8zT4@5TKE-Ex@4pC6fC^& zbPtstV+%CN(~B+aFCCasl$W`B;5x!*#tFY@LCT<04jWi)mjb zB3|=yw15WE9B1mn9<{wA+llaE2QGjFXry%SY4JXFpK$VnAqcT`WQXHsJGQ-VQo?S< z-(2m}s!E8}u0enLN3_Z%%^*}k4+Q)%Y~m8pR-j~Gs`ZQ&ONC`!4I;^<3v0!a!7l6M z@^w}{;ph8BJD#VKIbph#qvDRr%X)px5HBB+Gfi!ieN}H!h__k@uiG(Syc$a3(8XmO zlAYxfj&zerx6$kC0+z|R3X-r4qR6_paEuk4tQv~MB_r+O!1k_BHr>_M(fFDa;!PUC z5QwBCPn6>7Ra#@?as8Rmd8E9V0>;URsHpF#;l9(0DL7P+COtJ#nB#`$tEI%XKQvYF zoWmzDK8VPxP9==vfQ?I2;IcxV%5J?cv6Fi@c3* z-bKdiqRGG+66kq#;%z z`HZl2i3^Avg?ITjIj14j_(UZki>^$}X3a&)u=seG`XGVY;V-5CN`H*WxFOn|r{)O8 zEQPl<-u5WSSSyRv@JrQ1f_b;<<5%X zn*{=i2%01m1Crpfc=mx(M+DU6JDzn$rQ zcg8Ga5LK&6qg$mqMzKu$Zpyg&RLusRB8sV+v1v_NrA%D`jY~aMF{D5C88M2WSAD1- zY)-gOwD0m@{50mu%N#qII4&i=9RC4I*f{1LU36pdve;f-iSqiwjtKVEomT&*G+eQo z?G=2JG^@a2cVGJQp+@{*E2TolM`W68KHVCJcxVRHusb6)rOIz$)4SJ=FKdIr`-zsdz;?b zDEfdJv|{+)Sxx#orE4qzhB9!u|Lt{uR}Lkky;`zR;vQ*?vCAlg`nkLAIIn?vX%YML z*D5bD6Vv%w+s26D&C%kaQ==Fi7rsJM?|%Hv&CSbL0IOiU5P&rQ4V?PJGU$=D=j=(dx!Pa0*%oW*8sx#!q3V$9B|ZtuH>?ilcu zN2981UZ?@maHY#qkBjbh2Cp#{pCfM+oIUO2t-z%CJaY7RN_gXd(}xqMFG2y#5nDW| zv6SI}i9@EYM{&Yfu48yo9){1DsosPaD@}vWwuqcl1{`?>4XRVcQR}?cFVe%OpNN*; zA_woxVzDC_km-Ozf7xrMUw>XW=1dp6tZ@G$(K&^l3$!Yf6G?KMw6^DCEHc~UYJ_B}Pe};*xBi-9eRFX?pb#huf z#-fpC{o*uvkOI4EwK_t$Hd9T5RpF0%v~q)Op^msl22N$IDuU&DO;Y7MLgT7M$;c70 z`1dO0F~}!aq*bav4j7%!RLC<9W+bqeRjlVhXU2C{S?xFXY>XuVHt9p|a=nS$zfiHK zgxEf*8{aZjcr9Ul54JM;K%mii9lvE3Vr-J{$tg(AloSqul z*k7GnW6dz#Qe9Oo-<tk zv1)&}2vo9e`*yQ?qZuS1zu24$sGyxCI)~O)$ zL(1Sphc{R?jG`O0ZDNjZ2g$)TzOI)r)a@W;`k?c;(|=A7y9VI3k_X zCRfUEb}plu3Ab;wzPv_3lb^^sUP0 zN7}$F%sq1BcpPsSqgI+WKd{0zzBe9C7kiIM%RAls6+v@a3>yY@0MSfvUMQjZvvyAA zppc9%88!z+u|wNnU~*{S^4s8k)=6dYps;*ui7KS!O~xUE)~mPJcUMNci$@URx2NA6 z?zNbs$1oE-hl> z@6^eEu5_n%&--4P&#H+3C?{xi*{nNj?NIR_K$rTC zr}>y&RlQRM&NbZ|V~y0o45f41HO?qhTv9SMq;po}MA>pTEDsZN$$IE>rQ$s|Z;H-MydE!-L>4Dv~)7l)kbS}JC5l(PT zpWUUZQhPFm2k+v6^s3SiOET))oes+rKMiP1xq3Hf?p2LrO(?`gwd+UpR!Fv0NigYR z^xIGbyGeU%+}?q3^0gUMG~$AANe5xP*6c_`V#H-a*T^_DeJ)F{uRcs)X&+Jrq61iL z%0OdJ9O|n(g(~wN8Bw-PtBL@3U+=7v9L1KvhGWTWyJr&d5M~{SqC?v@2VtQ)W(zL0 zC8=d|hIB1w_q=S1MNlfkJEm~@x&wOoF?S~f0u*zA@ht;2MGUmlk{~bZugU{#z``1VVO6dhB3mbLFaj>gfycLkl+NJ&?Z+-7%@8ph*Xffj7`E&?Lme0OYeWWNdWu1`Z|JlBPZJ$D)_Pg z^;D=(@$0M-XRGDeu41&oTA0el$xMyzsaFNUcrTYpQmXO}%xXp@=&>$UZ;<11u8z!2 zz508JU{nXAySw8ME29dD(TgPwBfc_+$7K^<`d3+$v2XJ+`gGx`$9hRA`&7r#HPzTO zXf}tOws@*@O8Erm-;KGqYhc<=8X$BuwZw)JSo==+YaUqmcjN+pe9k#ccOg5E9}Y^? zlE??#C9`2^!8w;^cd<<#!q3@ny0*5*$XU}FRtn_mR>)OEtpk@7nDQ&Rn}+Uw6!%>w z2NobNS2B{;I7T1E&L@VSBT+r795!9+cux)STH@7J@WC1{u4W#zzuY!s@bF!^7G5@i zHx`7#qX{=HX7#6u!yF7mjLTmOeTKbltdeZ~8)oa)CisXFg?hzYn4j+@`sf~8lX;)0 zFjV}%%TQpc{Sxlvaj!5^?j^8|yPs0UT{n*~e5!qjBTX1|IlpF_^M45C%3kGS*{ zY;2DJVXw{jN{TTK@VvK{_dUb;0TzHwd8)Q>!e;R)vZ&TWhCW)G(o0&^RTUwOuh z-s(U!b*r*AoWe!AD9)v}q@eiNe9lWr<_FiMGwsvVsT_X8Pk(9(Sc?|TrXmUedvVLX zq^Hw;qO;AJ1#V|w&#I`Ut!*-4amR%LLF`fF#M0{fZ9GBDgomv4UILP-L;T~3chq9V z`^9u$t(9%<7BJ3YvTT;mldduwj8o|2u45Wb`7h!a#e&0abn_=2^3T3ixZ;KTSM-P# zWcxqXJ~z4zou;w(&nqXj9Dkph^hJZ=-a6x;&T&19Gh+7{8mn#!7nDPaT%Vr@e4*G z_6q7FpB;!_y5n_g#FrI>!OLQ_vbH0%O(T`UJmX`^%gh3Knp~|kZWs;CYN5pv)9hR{It^vH1doK=ej5upgK&Fi(zX3I^3*}qQzk&;Rzfs%Ibdu-e+CEMOqH{r7xH(GM1 zZ3{sg$GE$SZF}iwO|NpiNvK+#f$t!b4RMamMiyq!mnG`+`jioSco#j=l;WGvr7yr+i!n?;i@Mc2MAiX$kFMD`v(AC zm5A*^CgcE3-TsI%xAfsy+$!;jm6umd;fZo5mbVT#nS&vz^a!@d+kbb>1cEpmHi4w) zUX3-bEumiZocBK&oIHGni72c|4M5V61e$@Ngoq+QcjrC4t1otUO{HGRBCWyj4-m8@ z?SR$C_g<-DLPd*??vPryBe<@$y6}sf^*07XR2vo@WEk|w=d=6WQNr04JN`lDs-nTN zed2YBw$tDCGQI7}N>bl_kugkb>v5L0ipHE<^AXG|d1o>oi9b`Z9&+m#}R3e+O~N;li*tN;WCttIY=?bAbUREFcxe{&d$Q{VaEq8R;{ zgD^(2LBAOR*FDJAT!QB2&I@3|rlZlJIFKRbb*@_2+84`G8~v8U4S~16hovMf8XLX%%B}GDv4agK=BmK?8`Z$f zFOWU6DFK(kOYJ9EkG|=(26nKsd>bGvH6E?eU6CqAS})XlA1?hnr3Tx?Ovi0jyD4F< z*h+M!=8-YnuVp>1-E)_PG9ZOfvEB{tJjC1^3_n7QAaa!o8%fiU8%jmu99E#=)S?W77N{-u5MLo z_!Gc9zHr=$`oW=JP=+@EjkVNY%_DIdWc$;49Sj~HZo1xU_nW5S$##95nA4peLt-J_ z#oWxEmk}^~$m;@C|BzQYxM-cGJwB{0>FU;<`}h=bOqUq*7&2QrDB5{q_NgRz|0_oG zN7JSz$q6;r5)PgCO|4Mk`I!jIBUY7*QPrbg-MW3m$dne1G8=oh6CD@qTD0ielSJ8_ zzf^(%i%c_&wn!>*Z$7y1ymEp+RbFnRG@^e-8P6LQnmc>W4<>mEK4`4mie_%X?A>?C zTIm^9W7#L;p2%YP0#vq1>-6&%)t|*-v<(CM=z;GGNmhWUV^MW>_;2M_GSTGl4KsX% zjeusquJFSXbcb3`>=t8KbWYjB9Zdl#CdQo~>B{+h4b8l0ZOVL3!&MD78u*9SM*?k6 zwQq&l$a+$|2}>*{-xlLNST1_JbygQLqpzsJRP*dWuBNp^3do}>$!6>(#Z#^N6e<$m zQc~d3mU23_`40cf-7qDBUiIoK?K72l>i!Y9{Y2#o;* zlxeIA^@Y#Hy5~#smkpm5+=sa4v_Y9R_q$nbq9K=vHW};)vBlGdz_KHH|E|R4J+x;T zHpQmPL(LgBmudmr59Gtn=5^3{pf1I<>ZbQc5VtGeTtb(Li~ec*v&z7$(lufW#v!_c zDQ$jl=icrctCl19an3F;MMM*%gCb}kuzBeD0$+uYX#iZ$5XXPBM=Ogkg;k8IyYt<%C(j7v*Vq$leA1cWlf4 z_nLc*cLx|&b1FLmYE!_QJ=cn*FhZYZqJD9o%d0F_3EvHm*|7KVY5K`Uf7+d=SFQBB%zF16*2aMs2vNk(d-FzINR4 zFxV);|S5biFxhU3inX+ zoNZipiJK)ZI38wktBL4UI8Oqhs8CscKGi#8hU3HTuRV^+K;sUD5gJk$pt;N}vJG>$ z8pxJA9q}d2CfA92OZpjE;tOcy=PG^*^S8-j@rHj`$uZVnbs!CRA4_sC8^R`f0BQI0 zlyc3)iIF^?-(w7spVwqn-O4R^S$;+CZ+>-Q z|8}SCbzIfwpqYNZ$M@4eAt+8QQ)|-Z=JFQcmR-7|xXMrFjUj82FH}cgfsaP%W}shF zDDH{B{ZmNd-22gX8IK{|$_4thPKP1-iZ)x4cSM^J(xt)WG85=LB8Vav$#G6D_p^S; zOLur^?jb^wiVekYVEB>(W(yP1Q`zyn68FhtW~(m7;x=6p-3f=S_XB)vn3ujEqD)D9 zzgd5>#WtZ3QmcVawo&0xpxOvmj-}#JhAqx5ZGjPw3AllJxh!CN37&+;z{~-=QP7^i zXgLaUz3~9}R#9e_sQQ2HM^+W##qDoi3N_8lN>Lp`m`=A0+4F^upVmJZ;#I=dg#29E z49DY90~bHTl)aH)YWYdyd7)6jMh=ybM1RMbErY4~(+P}NR9My?It~S_;S!H z+o(VwLqxRvsrYn8--2cy?PI&&IYx&X`~4)|!1FCHx4ks2PJtCYNasQ4tz((PqUAmu<}$nc;@-_ zrMl6lR{nv0`4ZAYgJ4pzcE?$xt)O54A^q?sJ$YQg2O=5(5&c~!q|hf$FbvI|Ve0$d z$`}&lr@N`^PZlw^`WR$D#naW?`x6DJO`-CN!}#Z?X?DvUU-=IWGmVD9hVvE=IG$*! zN!PXyGxp4}*vCDJAbdwcoKQ?f2W_VwVDqxHpM^^}sGf&T=Ed0T$B)na4L=}yoZk>evi@2TvWoEH6{xue+p@pZ zfh*v7@E-3O*OAtMu2>^0av`OMjxbmOGQ>+nPcMld2XADVr2D}N8sp;Vkm0GuY4+;) z^pJSm$?bg;QB_?Q{F5vj?~nEru{2(MaGq|RYVjip1<33Ynti7Pusd8vL3|4t%;~rj zVqD~L1hW$=r*WhI(h^sEN>{F@pX6NnF>p9N9h|-C@laz-OGCn;+;ghphrT~rQu)r~ zAYHMFamE;;>-OTa-bNLdMUA{R8ASsyujMfZSH8|hkN{c@K*iB&n|N8ps zu&BE3Z3Gn&1QDbqB&EAkN~ENlA*F<&Ye*H4?oR3MZe?hsyK9IU7`le~hUfRZ*ZY3g z8}sLxb=JQ3*=y}{_TKkeOYHh{jwr@dBE(0ecJG7|?(O+xd_agFo9cE078RK-gkv)wOnrz=T7}D zw#u}Yp8hqENO>9g3)|=7l%9f2xz5$+e6q83IY3P*WnvR>a8nb$-f?AEN-m({;f8WQ z(1#Kljx!*jNa;7&j4~+BCOacGNX14!u4Mm6m%e!7`7K2UPOMg&MG9TuxMEU5H9=(W zspiG_r&#ljj9|CPH%8D4&kswqecCt;U8`pmQ>L}$WFf>gzEWQ@FRFTH!yQa$GnA72 zrgiT-A?1c+B;Pyq-OzN`nD!=nxj;elnm059-ZsYmGTkOeu zA)`(|Y{Rzc9C&=!kp%RUlqNPqyq#Q65@Cn5MEo{Q1~|Wo!t`4)nD{M4=cLwwjP?|V zdM4cp$UkxQFawQ!c@_*>GZGWvtu?jFq)d5#K zk0=OVt~!5VD|gJ&Vcx#QQ5-eye0dsnN=kJ=KPK_xwbls)wXD~8x14Nqvk?Jgi9xPu z-cQ>V3E~W%C|oE{-xBlzeP!VTTJ~DbvNXc?ub~mz-~RwQf~rLHsQHZsL8d;JS&P8& z*Wa!IR*NVfHGRVZ#8QO{X@Rdlv&`nu;fsU>34PC&)Av2)6Os2~`aE(Eyke=WMcG_^ zK6G=5^85NiHto#TQ&F$d$LVRy1w><6a2dg;CCb+cQS{=7%3rAWi~v^5to)v>@7Yi5 z?8)UIYH$a>5T`(T-OrY{O-yJ7Cyp&aA=T{Yz)M$x;3Y=zEVg(HfVt{MCBU^S)?L7p-!n6=SCss0h ztJ@@gAeXPAz8u(z0P%*M6Q8D)$4gI_!>47A$M323o%TPrC0}B+=%_mpisxH;`lb zHu8F{h=O@hv6d1?+_+eH%%!V`m{rbWsdn_7eh9*IOJeWOnJY1DVe!0ov`ux`3InsY zdYFPMXL@~;9ul>%+wlV?6=;bCs&0TtKcR&kE|)6YWIU{L`vQJ0QHHhdkJy!X+6D+J zI-JN)9Lhwp8$=;py{6IPMvEV6%{N6czfs=4)t~a(fB*OPV6{5zD>CrJ4|N$AnF_&; zj2M|0V)X*`#mhMmX9CdhhXX{*gY11z9QsSAEAv9N0&M70KyXU|x$Hf!oSpxwbtuo4SNS92`_!T9a&WK zZQomsDiV1D_0C!e+zegDDtnEvfMp%W=lGmcH3BmkE_F{}!{^qXb0&M4Ck&n?B{DeH zIUvPXhc^>TH-`j;@aD_rMXeD*=p+S>3pX|=!CRXiuhNP0U^N&!wK*QtRS|s2Z;Gz) ze@h!;w{|q9!`*pmYm;kUuaxFT=5Nqf{gvWJWUG@W2M-%c^dwfE7*;#r)i(>zZ3~Bl zhFu)1k`_{gW9Kso+1icD0~iZjgOjcfTK=SK&?jsh-LV-f`tuE@i=Q36s(F|63ZIOL z-TVCn%)TogQ9XDQ3p#k13VvP9xqQQ{OLI2Ja!n}R=lz(q31YuHwYYWgAtJqNC~*9( zw7;ouWH*HlNqdU>$=twbD-CFBumFjoFKS7GNl82lrO0iu3EgrdX!+b4$bnZ-BrDI; zl^(eiX=&=ch-U~aRbwMD-D(Y8BZw^=F`B8B!b(jJH%YAjNoRxIG{VTjSau@T?K?nk z+>HN>F#BN_<`XjG1h&T|l7D9}fzgNi#p~X{3$zdG8xli*$0%+G(QpGDE3Zo_2`-Z^ z;FW!~X`$OK@QA6js$wH%8J4L?G0p@dH0p{Ab~ipF=C*UB5{qtl*0Qb8 zwV0Dv=nL|tsXbn`E|wQExuiB=whPE*eFQ!oxu9N^|6T**Fdrv`jPy*pmLQhwBnmLs zn|OFW!Dnp0`E)s7OT(Wt>t8Urjwtn@qyOf(q_|l7Xb}3_-d6bOvJu&*rO-$*#8dR? zKfPh4gZ8k>Wy>7BdMH)-Q)tU_gb*{Lb18Yx)C038E45`KUub-d`fe>UYNJjs9KBk3YVrIg6?Jdfr_#{{Ed_i54);Cm8OkK#&k$CwJ(y`V8kAd^ z&;Vi9&BSTlVSdGKixwagwByi}9 zoy@0G)8`rPHe7d;ZFt$tB%gV;o-MM4@|rFOkxtf-P}|>2y18GrCd-c%uNW=9DGnOw zCge(ZOW!F(Ip}&zxU!W3)O>TgEhfW@#vWXPaq9dTl+LtMm zJWNF-Mfa=Di^2?pW0I%B4Jb`N-Av3fKWuO7o-Iz?dFw)dF9wVx+!=W$6v2avfy#Eh zJrv3sJ}a*-B5s6qJxv!&p$T7n)#w+Y9=WvqjfXm6?iMu{c4!2BqV-dY_vaU1%u0py zo0gIE=bg{|&8%~0FDAi9o1Vz9zkbYyv{EZMWXunqEk3%+^E5A<-vCqKuNTdXAFZ~$ zyiRZB(2F*dHJ-4JI+jl_tZC$-L6Mb?gM{mw3t>`;>jRId?JJ~P6l1X@daH1#Siu0n z7n3y5zuCFMG=-Z&HzoJ(L;V~VZnH}`(3=;xv2;Hhq;(@rmzeO5+O^0n9G(hTMXt5a zw5usMY=xrYHxfO$$pg0%?I(XmGH~-BZ=xhbz(eo2?thHM9!N4(hydY^`cs-0;P#r9 zN|%CL#(1(JFkfo;n+C?Chs~`cxQk983}kHIVpQ{Gmq3B^j$d@vXZ(n=$QnQIMF(LH zpWClo2R;eHuL8`zo?17U?HXExZ6|Ot<`u(Le%m{IV1WZJ{T##imkHOg8jn7qtuBWoXM(N(0)zfQ_r^pqC?lKb~dlG6Y=%Z!-M#wZ@I1hyryQ1 z1%%{a<`>?UaUg_wa-l38DmX0Hi;*p1XvMVF?6B*cX9p`34vNkq3$7fg)OQp)qhs94 zvLb`d!$FtABf_1wpefEY{ltj)_*-TPgP!$dLqrSXtl{9oilztoJ8a|q3F<@l=Fr&q zG#Q3U?=-rRT~x+QEw-NDUGv|$(cXi^A{-1{A_?uA+c%zAue&>vp}_!bzs%2EdjBNf z&SoC$X;)%*)r}B33hbtcvoJ$yctc=T7`a{*ptCnbFH6LheZhM7Nr4ohWOW7VOU>H8 z)V-?suR+?qF6mPhiKiWoN*j(1r6(P(jR1@0oW3gwflUU_2;UYIm=wIWHx+EWmxP^w z7c05J;kwFWKRpM~wa0=|5%HW_``M5y_6+@+(e620r6&@*Q8a5j?I z2+k52&b}bZZQ|^+X3Oioj=ED|b9T4qxg&aQca#(vqJa!jO`uIW8g5BCI(kZWIB#IQ zC;ejunUAZEYPEEzG@Rcd^{*K!P4Z4+Bh1J2E%ruMb9xyNV4XE)C!L4?WDp>;Uiu}j zSZN+|l3==#fy%ZNA}LZLDZ=zeUv?pc`2Oy3O9?m+KS0bk#CP$YH3HxkkeqEVRKJzR z<9psCB*`5pwt_=o@Ee`bXj9Q`H5!M@el=|Bb-APJQU)V2wH^Gc1jWp+s9m<7BanPU zDuf(9uUf4u$dsv)!P?tY;BM&IpSLU>*{T^ao>%UcT zv@U{nSP>2tXqDK`=;N3El)VkN}T!^ zGshsqsih=AP}e0j(Ow@ATF4X~!`i%x>Z>%i;QHm*%;-(QeLkP8_=8f&B25ERSa<|@*nLCfL3Z4MN= zo;A{X)X3wpkTfsLuL)(&Xz%j``Ve!_kf!XVOL!1<#8TQ9>FYTQh*`Yt0z+>xvsx@* zQq#+8PR3!WV(WP6jDOBRb?K*3ANZ%Gt)16Tnv>V3q#Pr|WkVX??DQ{Um+zDaH;v7{ zT+SU`Nj20~tYnBp1(~)l|8TkV(HgeGbw+wcmuq8P&0wZY3G&2jhXN91%cunY4K%^e(}#HV;;C25m$Q z_6`b3{oB=+duHnqMVG~GZEzPX;)Z8U=kvPx{KZ1^G&I!S!=FMW#>Yj9+z-!j-7Ruj z&M0{flX*yUfbF<$G;iMDAOpFlg%+VoeC7;8N#D!&4|)oFdyFRiG8)an^sL}1e5-ck zff}l`_~l<;bS(bknKVr{g}eb;NDf^y-91g-@_ZnH(gSk{W7;++4@=K;c9`J#19!5a zRKPBj(~jYp>(TYJjf&&F7TXV*QG*AkOw6D6RKyEij{7ijK$77`(EcbyftqQ zJqbUMo~*#D+|bo3d5Mu=vh%|HF(jgu4K{9 zXh1^D_!~EzEuq~%QyG^&AQsW7US#?HK%1)g ztm$wx)ZK9X<>yTtK7Fx)KKV=(*x8|HkA_gnF@|;;N`$u9hh9L+PrrbSPnw-p{t!#8 zG*cqe^cSB~I;xv@tT2`)zci+FNyw$w*eRG;M2;M`*w_-N|5kyMaQuD+$$Xbd}`?W-x7q3o6w-nwB1ZEveVl*D|{u8 zcw3QQ8>iZDmu(w5_}B5)!kjsH`=g6f$0KO0ZJCmzX()CN=sc9E^lEcp`_lN5G%(EG3EJ< zAdQZ(sn?LGpQ$wF_we5`XA2zDR#a!8ya6D#P};FZ3%D7`@W5q7%4YC zH7jPs*rfrO%mqS{x@<{fH5dfsGvfKZ^#GW%@i2o|v9#U|v7WATR{cwd!L4`pd{%a! z&W5+#1_n!TX061wKkB|uDi50}73|+Ee26mif3}J$haM~O==o%^cr^ZIX`;tQ zv!=6B3Zr0re3^`a`C{u?jG7T#{hYrU83}Na&5=!hTwYR0M8l1&<^XIjQ`$1=*E_B( z)N|NLa64<0c%O|JOeKyG)KwmcloPQnSlBUYlz9;W{}f+d{Ko%TaNMj^UA|Xg4pnD-o1Vm?pprD#qW4g%;n)3D6cz(neNPjvMt5A3 zTkrUUUaKxF6pvSBjjOkyAMXKaw@*D5Pz>+u*Dn=8KO3ZWBJsMW#t+U$%uL}{=;<-TZ`BxD z)X;x4XX~sY^X149XFpBp%C?J}ZG2plGsbm9MNG7!Xd)ylmn3>eH$iD7V4NPuA6mTY z#=?59fo6O$$I4fG%zQ>Vm!h?E48{Rn?>S8Hig>A=rkW{Hd?6kg6*4=9wyEx{9qDT} z%4#a?l)}RJ5)ik7^S8e4;1rFbleMES!g!Ak!YqD^I#; zCzwaw)sV2iNzacD2&i^20g(<`q2X10+}a(8ZqL50HqnO|g>$53!H=Ohz58Tb7MqE+ zRIlvx>u-RSwQm|0hozpG$BRfJcxG@4i%$$H@aN3;P^J$A;R)A8dV3&P7f+iQeM<~T zbB|O}rY~kgNk(|2EFPn*E|@|wS9U;2h%Ud=w&R^3WeK3YrWGy6%kLxUWJaB#BW5@x zhtcwIR#ZH_I$B#pM~1zB3Dx$2*=8P(iU`ZFm~O4p!#q_g^>N4au^{RCz`>XyvUj8BXW6DPu^h^V zKY#`t{PQ~m9-iIg*DgWU5GV7=C6Np-?MOx;er1Ht6ow*NeI-=ARC9ibfnHv@MN_HS z0I1dLY}l;uqpFmecwUs1X#hQ-%#Ee4as;(8#-8*B8Z^H!2T1_WRjXt4u^MXLVmBvihEwpj=G0 zWca+^)V$wED1BSHNdxvmSBPUuQ)no9Lx(hZcdP0X+>!^kKikJd15oULo~>tY(By|R zzgAqoe!^+_Q^=cGG$Jx(9kS5=inOKpPetpe3;QZ1?gklX7%$%L>L9eXcPh(tizb-2 zkoSFuhvTR*=_i40+vurx!LLk9R(_A_dbYKG;&h78nW`F=H#STt{ZKt2ifv8*EuT4& zc}mo^@ygNv?OY~rVYY8)_K+1LM^`~#$R4%kLVb7s8$y_wr%5+uL6cH$yq@lg{8t(! zFM}AhaWgB==G+Qxnj$qoVsPY(xW>K#M1bau*Ovsd`8`Q)yI8bb8H~HU&Hz?q22)It zpk&eKm+D#Cjv5v~sUHyW4D%=5)eh#*V03I2ji5hSALOQ)iQ`{dSbQpSBn@N_hAso> zG?OvBl#ZvB6Tz%3Lt5F|>OIUG+O&7!o*%~}>G$Om-Xsha;e1$N#J2XU+c)xXI%^;J zXlO2L)Ti-^?@M+r^HL#fbLy)YrF`$%q`{OGli|F$N@?@_nTFhm8|S8)t5o%ta@=$w_yGx2@@$8<^@oUp{%LU#0X-4sDN{okMD$Wj?~lwxS}TFjT* zqPGr7y8AbWQ0X0x{)}`Jv-O|lm)P4v62BcxYB21Z)-ff@_BRFt<)GOv)wfB6bhwRa z>NAl5<;aEOLLv*q0vV-?2)0Iqd}8FT@y{@2NxGN1`S2N=#caE$ zLMD#rtVJl7VU$gAoItaC@omY88R5Dn@yL2uVqVQ336Mcj{8nJ)BTlxNEgmO?x?cN; za$;h7!js~mutvjXORXklrNo=#m#x~Y^Gqd!gTHsH4QG%G%0cE`+p#rrMqBhYrsUp_ zlUEEHJy@-3CVQSmfgVHYoQIGB?l`mlQmTkS31qBelhZ0*OiJF8ym);2yRO`pB}X+U z>xzM)UdF^3mFvdEik()h=$&BFJ$>Se(9jh5jPyxGENga`-C!uz(~Q`ga4Sv+aoLk2 z9YddDA@SPCsF!sBk`%Y-pKNSVrKlkKDCnMSz_IBu3i?%91TKr{{A271fjup`OktV8 z?go~~%(CObm(!Zf7n$&zv;z9Nt7TGAMx)3`mDFg*BY7CI{G6PARhLrwN2h5hi<)^| z+pi$Za&mJs_4Hu*9*x~0Ztf0ga``3ZCy=)2skz?p1r^^mO(oAyz!3l|-n!5{P)mF2 zM7}y-{(kmDOK*~^eh*lTjY-{mF2|{^eFX&t<5W&cLf!Q{&W0($g#&4KD^>47Yute< z_2+mwm2XQ6gl#lv^CfbxHK5<2!o*X`bSwxt#mAfpT=O(wV@?ipD<1m$_`>yL4IY7! zbZ?h@tgHKTIB$J%4K~VUrtxTij=zyv^_YY#z4SX$RHrB-6BNKDyF(!+7Dm6bB-c&l zjy{%IdsaU|vRVU{Skw+#k3twOA5k(5=IYCoPE|p*kMe`=r1Mne1I<;icPw?h=a4u( zxCq2ebaWxjDPtR17wtmyLU{Y<_U``WCR>+0-Jf9=#8$$&P39m}d*{exrs1CBgT5$1mLJ2uizv8Po; zM1v&}=Cn84M#0j=(~!U4ZZN^-=$6~GqM{nDhbZZ4Yq(jz^@qE--Ynl&eO>?~PMTiW zXx_Q4*937cRCLGs{QTl$2T94?u0K0V%qP^162`UJo?k2-=D6t7pEF2x3{T`N-8JYj zM1B06hP||GIX9;gmr~s5872*Egjfn>P-G$po zWrR++1ZA(;yQojm!wBh0!XgY2utINWgqcfRMuWb*n)?16=@burwu^$50&7K>4i_D` zZy18I5}bfYu_VzTSL+GeY0C0C=&u9!LvJ0j&Oea}y7Fe5c`0Ogsi`YvzS@v+)dAD5 zoMC_VC{wJ0H7sO9Gif>Y@iN0a%nxAohF~Mj^1VsaGMB3T#50GDkSF&wpFcnytG&Kn ze2F$=yAri54{vKJSvT^Q*XJsFYu9eOb-x=MyP?!ZCS-UiUtNBhRM_aDG*m`Lm{_&l z&Rrn^yU@$F8;syTIa2PGt=I*v_3EFEUN~tae;Io7jAq)9oe}*sI?_&}= zaze5*ZES`+5zX0eg0|TtziF#-oJn3;e;%is3A_3|BqLyOU8xn>T~gP7X1egDw=#wZ zAWGE(a8pybJ)A6LpqPQ&>HDT6lxpbKi1^$W1pXM0>@FZsip0@BGL5)v6bKZrf2j(igbFSn%-hBubahN=J3 z{uo&aM%+)lz>ni2eE{L(XZRn)#ndU?r(Qi=jmAi#WU2oCEC|K_24hpnE@BFBY1rz% z1x>2jbK*EzN*`%f1oVTCIN%1m%1%#_Q2x^PfQj`vQI3AxVJwROdyJi+=d=|_FM9Tp zf%g$!Zg&Fi(M!rGdVk+uCS?)a)QFDwxWrJt6)&bMHxxa%yKsX8XtDD6{PG966N;Y_ z)jx4&8FUhL3;82;Vj^{>KRUyEKza16aS0&Y^b+F{s>f@7LRnZUvbG=i-xFIr2Go!5F%f$@^zyPr?tODL2E`KSLnzI{gr z|H)fMWM_0%MI3H(F*sUt(oTZ-dJ?x-LNp>p2zmaLwZ$!yR8TDA`OY4eX*&*aqcF!O^neKr{9t60A6`*m{q=ZI z{f(Qxu}Ob*e_A(KA^8?zd+iU#_nP`p<6`79%Bm6i9M*H&;UiKCH`7o3uJab~=uuqi-WbiStf#l9IA~ZgUme9dtei%Bzp)bY4?`NM8Mni4I`;36PbDQ8 zl2hJ4bOP-qyM!PLcfsEd_)nw$hu()PQHuU0)x`CM|8Ud)B4vo|iYJ%F|5l}f^a^6d zw95af>jRt7SMIiCu73sbPb2>O;rA8#VT^~-Db4<8IDgCM60%FAEDsU?Pa!jPBy<@( z`Y(SO(Z99yf0NVWam*x2Mc~$7=KJ@he+S6Ph=iUKjK}-0GsM4%?LJY6%IEw4r;&dX zB7Tj8J_g1}{oAL7d{FIqM)K8AdR3PA*0eWbV!GQbV+v(-Jnv^(v75)Yf! zC^s-}-2|@GF}?hWf`ZjxBp@IoDj+~1V{M^tWU7aPBH|Yjg{dT`jPJ4Syc&pqOGs=* zGDHf6HpOQuE-(cBp_uP&zUF*iDt3H%L0-}a*;qjsA%)rvjTFhgu3mTO*4UN4rxf8R zHFj>ns-_bW3ELOj)iymG2sgwM1l7aKAV4tY`$H7vMiMJ|4>qnRul$0D(eHbpqDG?{ zunJRZzY+X^BAC%y*Wm;4Wut`UQfr@|A};CL)e=A4KzZb8iKW>1lm8e!wSa@t>K;lK z-4FBfr^3t)iVqa^v-aK?1uXQJ}5@^2idNfABt z*$DU^7(#!a@^keKoO?-KLXUr9>l^6lNq@idzW7Vs57ATA&PR?CtPsg=Ig^-2)djqi z?Yf{-9@xCQxIzXL>~lL+x0d}S7NJpF;$&Cby~yI1&lp@{F(yPWMVG{H=w!xF?TW_g zGs4-FxY?K(bYtZ(E*Ko+NfbJn_n*4;4KQ>Eg)NKWoxaSBd6D>&zRNcPe!>~a=|;vw z?G|f;VfB81;ivDt#NFLccys@A$8*m29ta5y_mlDBr|!xH9?z2Enu2eCDM;XwKt(q)D*N+B&hDNLcNEnka2kgShEA;hW#DAZdUgP{)g z_Ir%{%x9lpR1u>rgVBxkO*eE=R6^Bdnc@ox$UJLB@L!@9@*zLz|_z`PA#9$BknOY~O~5-_de0Fp_VX-l*aw9L2fkrDBOr za^uAeb2&=B2XQj-fhQ*K%}@2>FVVO?UfuGtypNH}9~(lZdqvhVyMfa&a`GySX0TUFf5=GtHDcQLfh51g+$J+Ym(RXqh!QXFlV(QmR zus;s+B&avq(Pqc#_JP%>TRwAnZ2k#U&o;xYbhGY*@LLoi{yrJxbNWX&7QL~ApQXsY z)gGjifAS6eou9E_X$n{dCi8lbe$ap!Us7nGPr;B4N&&|2;sd=Y;J0`am15G@wIaTv zx`KLe3kmt;)z_k=t@esR0*(4^F}j=wZG*gyls2Od@})pDjuJ!UCzfWg&W%F9QRs&C zhW>_zDee(x879P+w0YJtmR&p^!bsBEvN(ff>1^p^wQN~a{$zrN^LBv`tm$+~g!7%pHF^!2J_B)$<3RZ|8roM2q_V`Fn(nkRjE?(>o7ZeA@-(QX#KCMN6rPGdyE` z2*M?QI2|hT^hOvqZP-(ayeAQ1L1Fn}H${?u(&=Is;W%g;1N zzhvFig|9ypRMO@1p<>yZM)EP=Omj%`P1G_iXUu{r&utuoRzZE+)4NMex!2 z8;cyKSZA$gzZ>ireDW^$TQ;3Ii+ZWZp|5e&ns2OsthY-1xNNC)DUW2nN7Su>-#bIbV~QDXuwY!xw~?a zMu|q=s{%~^F_~l9#bU+qB_*3rj-O66_RXA2JyO~#-G~W{*?g_a zUS(}phd1VL6k#%?#iAuye6LW$U{d?sDX1?#jRU?6?L0A`Hw-tD)7!6CXl8A*OE8Pu zRE1zeg48P}&7A#f>duW%6;9diMc(7|alL0xnjMr9L`(`Nt>fT;_$3e}d`bw64^N zUgJ~>7qv>0y_R;BE;C49#svw0@)b)*m@+t+5*(vX#^Eih8?ODQUxRac#FF-FpHHJq z^G`GK;MFPBy{>D$xOri8arc4>H3+riMmMH5n)eMD=20{*5!)=L1D}61ztlR^?D`oI2nvdN)+wqKV@dUv{%y!;><4jw z@o!Q@3CnC2Bh@J8ww1p*8(XdIGb2h!jhbAf-ELn-)Cm1KS@lLL8 zKIeBVm58EmuBEeUXF~!eXv2f~&+@yJPS?S4w$1BP1;LurkpagpBSrVpe9nB;T-iv(Xr1gU7yQWO#eCFZ zgmVQetBG(UQ(s7iqeF$W@J?C05Y?q zCo5shDbj)Ua^tw7+UD!B(6XkwNY%^H+N|@2<_`fdkdVe&C5g+)8r~&60VJAqIloeq z%eCupJbV4~`U|#rb7p(6UE8K6%=;Zxyb=vA9J3K+|HwiDZ?xd zJ{}%U_|@3J+}-Ln7!h0h&M}CoiJlssBdsoh&Zb6Tv0yPW6Q2CDt}_^QO!!8p$2RYB z_zDfqO%896d(_#5?ek08MWdfgH3qgln~6zeN90>>ueO_e#rrx66*1hOU%uTP-#GN+ zskzu75q(VPMCHbGVYd(IvS-;Qoq`3w`OJM0a`=8jXO^Z*x-^L}2~zvR-I29yfqu(m zm2Ka`Y}&hyhopyyoS?9I=xfL6CW9_xz|7Sy!;{O zib!Kem08B97hK2l|LjboqM|D=$c)za7=!|ccN`{Bik8CS{DqA9RKmk{ckM+keVH(4 zR4!c20<2?U#`s>>LR*i~!ORjMyC^7}4q)J`nI7~#g@c)?xeeHXi}LyoF!25AGKiAm z`WC1O7p0P<426J&wH^fvBQxVmN^UF)3JOkZU45{u;G5r%13z(58bYC#U=YaO-k#B( ziP6H^0Q8E3g9G&PHR$#07r-4aY#hy@?;T#4+fe;_$sg|#)U(mCHnM~oS(sB?z4yJg zg)NkelJaVxKmYxjr=Ek+Un7~@{9YEYK+x51K(82Ig8qCr@F?fiRj`bagPy69ppluL zxeYJ|_bX;rcFyYu{_(57hWy*3%6~n|#>VvbC;#@F-%oOau2%5375y^T^;N)L+*q8T zKW)#Ag=qYAf`Y<}A}Yuy?|`~7i5X2iG_ZJT={!-`F=);h9X!&xeAFexLW>J}6o-u&k>uq2&Lk8&FWiJv`WO(9mvCc%b~t z2d~Dh`#aqM@HUEn9{?Eimc#y?e}5Qw;lf80)a~l>z&mLFrx^gl_x#()*Vq0x{Qr#q z|5?{dzJ>OmVe5H@>#$ve&_y1s7TIm87#SLdgoQm^oveb9KzsR$;O13}(;kEm{s>bo zbTmG>kpGJNHgeC%Nc`;F+(+kx>R4DexY>X8*af3jS49b)&EG&`I%E~c!$T->awPZOn3XyN+ z<)79#9bzR7PfamSyCT$&ZRuEpOw={SWuJSbbX0FXhx`nu>G(n`r`w+7;>ge~|_&kLI@GFig^Ygn8*)e}l z2L+V}J$iQ2htljmpkGW!6gKUSAY#bYDGb5WNIKPACJ}(6u26LCcTwh%e_=XzK z^P#bs*l*dYF!NzHZ`l*rXf{vGM6eL`VFl~e*79;+fss#D+v8tg)W(O}rG8$VbS^RF zc4~Igp?N_WyAO$Le-@=iDNODPoyeAaJ&BM=^XqfjyfQb%)8y=+iT02u0wg#lVi|b! z3Q({cV$!}t3bLu|3dtI1;GFanN}N*q^zjOPLRe8{W77g-v7h{k3y*|)SHvU@Cb`S^ zlCrXK((X}i$uX>VB1 znKTsHt`9q6X_<5zskd#E!Oc798cgyl-T*Ua?&FoL6mMfrTwhbXq#|gYu&6uF{lc(2 zD0vV++vL-+()SfNPl^lJT>($GbL7u>4x5E3=k18*0D=Iw@Jz)5jp4>-WMJaO`RVd( z7U9F+=|wjVKyK42ssqgHF!LnA?VVZ6DX1M!8L6C^Z;znYYxzvLH(}GG?5GTh*V^Yd zkduyiEfmDD^f>No%vgGbZb99JQ^nf1oc?iCh#ZL2VI{>U_aoorTDE7NMRn@+`tEmpFF2l@v(l$0WP`08yTgC5vuQE>Ej(6{*&Bwfp zf~wKT;kbj7wq5KbjxJ7iPeZz$V>TSJgRk9016AK4b0jY3mz(rH!+;JS*}=_dTFIPq z*E?rHb!W1PPHVI=U|Zv1cC+yk(Tg1)o&|aC?c9d_-p~r0<#r%V*~hS1B)aT(u?^Q% zR)YIDXNk1PdEBZ?EfcuK!>J|rdW+hCl(KlToD{V>kl8V!>HZ=|A@AYcjP*OVlCWeW zd|*VjlfGcLr#>XszK`(nTZS%73TminH%3|Lwmx>%XZ18%N}ciHuRJm@3-(`6|_i}C_olAxkR4d9t^H_~ng~z_X_qGk5a$F{LygWzb2|XBs z9K83RGC6qs^cX(@ilr@&}-FNOZ-XE)i5O7R+3NL zA!U~m$h#wzp_r0dFAcq-$~HfYPXil9nR8sZ$$AfW#%d$#_9*&tPm%?k0C&MM*I+LU zKHQgJ?z*eJ=HU4lQ$nk!aGLs<;A@$?k0b@?%CVAfbApd(4op9|ZB;BM^5IGZjorqT zxfe^akvPtZT9JIaveguho<#~DS~n)9ZmpP)mY`rV#5b|!%tz29YNM$HnMKz}>fnx< z&yVi1<8&r+K^*4%Xl{1F@JL+wd*l{+`uqE5IF{pa)e5zRI_Xb#?~JPdKu_=%Cb1Hn zIATO?b^q@^bVp zOvbX!7#ye~Rk3!d?hDAN5-+|mBPR*_(jjJ|Tfuhc;qOz&(J zv?{NVdfP!Xfz*CXFN%X~nO7Sv$qkt;5&e>Ht7@D3RYPStvEzCkEH|dl91qG`&~09O zx>dzhn#V+Gd-QeKh8}6_lF1#X70#lgW{?BHOXymQ#0M}v(T_gwL&hCzIw>Z7n}!x6 ziQSEnW_{bE;-w-45+-Oc9_Nv`vhhCQ?V7@w!_8Fq2n$ZhHj-&76)}b`u^1-K=m+z+ zO=P5WT+7Z>VQSTRr&eMZDv`)JCiZsGF8?AADu(xU+S0e094Q&3>tB|6?$4O*R!dc| zJaWDVr|jn_s;k_zV}Rygkg?-sBD0TOMV4!zM4;1a2)CB=@US=-jh+N``auM^Bgt^Y}|rjh67k19KukWnElIHc?eHm6GHfh8g6ok&7;KHI~CS?6jZ zNA@3{T&?>6Ox7)YRSmbfp`uNVxd*R2`GskY&yr6JSXMR_4tSsg>JrG?C%eJ!8xG3* z>f99v{o=K)QW@*uuN(V3WWA|Tj*kw)NEEOBa~1j zx`gv9dJ@`Ge8|RUWf;exE9E`}9g#1vmp>fIbREfe3Fn@S;L`4L-$*HA5r&D@;f~~9 z$Rw;J5p77@_ThMMmCxVPWDJ*>+Lgg%E`VmG?VlW-x}BIkc>OanNyGiht&5v|-L4te zF@1e%#D!Bo(Qjz}@#KDwm$DV}{5mZW@A;;MyGeR`@8xJ2edYbQjDeRNX`A;>%cKch z0}fL>G$aTfGMyCUVeq+DIm8n6H-Us^N5+=&1{G_K9(F?B{gqnT8Ra`whG5)H?+j>P^VWv{ z&1#GC*_%}Y!`$j$y0cg2qUACqRxR11Ou^8JOoAJj_e$_5iCImfOIH#Z+YkWnEbnF> z_JA?=NBKXD>0i3ykfsymua*FjO78qr7r`bb=aTkyW!u|LOK&fM#Tr+45dLS-C4#c`E3Y@)|WLM1Fr8yozCBjUg1S8Gqy^?lmlVcZM)xECK(%+%=nE!Js;pZtzf`DjJbsB z+AnTBCJMe7#CR)te|pW{@RBCUMVsa1boz2?cibtTTT@C803-WcXQ2FmW<>_DlHR<( zjII7dhJfh~M;y)@FXP=KxCN#pZ@C;jwX}V2n%nIp@^1vl>;M)pUR|Omz$#uFa#ve# zcpoj6&j(@0;<)54D;DGgM8xvC_SinjSNf6yDD_m%2^B(1hD!>$K?b9Zje(` z9w^k)QwgqWUZDpau&U|Stv^k=Jj?uA;5HLtSaCFN0<>><++2DYUayXp+)PWz?P8dg zI-I+^wX)sXpDx~XczA*YDzl~np35_v)^%fdprl*dsR#vd&)!GN06HxR4r&|lt}q;U zk3yyqJ=WSF8cvPT#b4YIL9f`7o9#JZSl7GW*w~n?T;Ef6w=NO&?$W1x1H}H>eh=*K zuu0~DaxA-5>bq$M-m#RV-GhSMT!!Q0`C$93OmcQ3kI8&cimQI%;62+bLo*%NvqIe# zr0@RtG#-4hdejhH7TUcGd57o#VVkvXy3!7yZY#Ot4mg6Sy2jpIr!EkxwL{z`o6v9K z;CX-r-JY5}^oodx$ZwT%wCs$2WepTu$9K6nz#Uj4Au`M)kvAXWfP#dy<77L*Oy>FMd;Y};M0la zGpDFSCqRJEMmsKRg}xmH@I0rfP_1P3B?=Cx^NxHBmvfn#<6=aAo%>}p3rkmEhDRa2 zakXI|WtD){X23FGZwZ~0-b!zZ^`z~H@@l|Fcb|bM!2k<+yhC@Mnb+iAJAFahV745D z*^GN9oYF)7mh&c?Q3{vz@zZ7 zkDPj3`MW^k#*QZZpsgVdD zV$N!M4?CL_CUZf&?&9l96J+wr#rPaj+xMK5(ene000 znP1h!fv19?U)6dWJ*qlGw~^hqdxI{El}!$|ElbS=niKCea|wuM;$P{!$sI5aUjM9i zw`{FbEK}PWq{>9aVwv<)dk@E8Z|}A`e8D0jluEe0+Hv1>eH|_JN@^%oS^!uOJ#|v9 z;r$V_P|k2gMP{Wr`OcArgnP=T30?_KFGC5Z5L3M-R705#}D$gCRDWDve#`rJH&jrfX zPNa?PuR^ghjW_oZY9Fda`2JXN_|J~@3Mt)>(`QR;+W7J|@$W8%6g8ELtK}Y84nHDr zKZQ?IR_RpbF^$2doJ`<4W3~GLGb=~G>!{^W0~x&C)^jyF3ge` z>7i8+Q%&2UcXMBKDw_PrG!4O?>ULwzI(ZXd_5C!Sy*4VVp2m^*1_CupPoSdb+8dOU z7KLJkDS2k;LMQZRs0Yk-)e|D}ris4O6U_`yd#D{gYb*Rw zl~*z2z8j!uK_T543#RM=(zqNo6Ruw%I(S2KfJ59&t?bs!}6;(C3vKYR(?&U}g)b+ecP68yW{ zhMI5C`rS61Ir@PseIT#gWk32J^8`==z=JliyA!i%=$dId_^wc*u(tfQ#x$b(q0|Nh zfri7AJxd?6Dm&}Rj3$(Mhm_(Dl^>w@*UBz3XGoSP?4Qk~f8c>IaRc+V8ZF4J?RCN0=7ONu#*90{Mga$?hdsKp} zGcs8E_GW#^+l%x%C~-c*oDo|uoVRQ2k8KU9M$GuUF2*A|AYP(=gNHzd#g1<}N4q;=cT#I6}pzqQ?vCNxD&*U}I8 z{>8*CfL0_V=Ol=qC#R;i5iJebQ=1(A__PPIUA;1SyM}wSWMBcHZ(mOKm*K;j)eeQ5 zZgwr8m$qy2981wUxiKBFZ0ZIpl`o9Hy)c(pRB<=A>yKFQY= z%563Gqa;0|cWg{i!!cc5G1uaup_FmKszgbl%lAT|!ZF7_Ap+pUo_AO1w!Km8ef3+i zbwd3Gnmi`&`@Fo+I1m#yi*SoN+uW#cH?DLEodF~y8QZkdwc|&jH39hd+I4hvhPg=r zA5#wCZN1(rmj@Ixo7hx=zX>8QCt7UPX@1p~HJ2?QMsGsZ2+RXm=&R+PCD|ErFYuhr z;_QVdo&CtfH)@gM^$zkOcPl@X<`FDEKY}j;)Ywuj{w+M3%h_%M)#9$@(I$Lkt6#ae z=fzCT`=*c>UDP*NDx_pRA)z zf$yJdEd$cB9f_PG#|$ey2T7yIAt;& zeOa+pxt{A`2jxbz@d+<^kpnv8%4gHe*EUNMnF7ki?u{RAr_Ni_T_t}VUKk(|7WHtS zjw*Cv62m=(HqUz8FQ~xSQ~8GNBlq4 zDodO%Q_=?Z%bZNMVD9 zUd?3C6Y&eufDj}4a59i|q5FdQ7${ULf|PFn)|DD*r{&D@90X)g>W_-aMi9?eIxTI0 z_N#5*HlAr@&M#!MUWpNKiEzJE9EZaNG7UDRGnL23-@}^eY(w8ei}D?SO6F!_r$%0Fm}ZiP7o)u&PDrb-Emm#SP*I_aQnyncetjj+ zg{`Ben>Gx6c?Q(b2X%s@Z#=3$aDL;o%b4C%B1Wvqt2`9qayr@| zMAS{yIAd-Dx=pLe7%BUHClhIFQ8T{k=(}CBX#pIr!P)VprVlef)R8gs2aV|DkoD3z$3%WJp-bjzYfCeTlNxn`XfOKe*SOUku%;;(I3WBnW_EK; zzc&5-q(xpv&j=uL-=ASHJGt)#OFKuKUUrUS1i69_2jyJZUXgonXh^pj?-^i9bMF3_@x&y1%s@+f zJCN4ni=>$B0ev?h)dDjnR{OgW$qEjxOrsE&uwvn}jtJ7BcK+iz|$ zH%)N`YQXfxnJ=xX1M|^1EV<3dImcT5%?xBF;|D`-k0Sg*Xk}!E`UyZ5bKRwu4Z*%@ zjImYIc`FR(Z81osGd+@N(Yx1f=1av4_6Jk%`(-+kGEzX(eQjiI+Nhw>|8Xg6wu$A>zXE*Lq z!C9+7?=OY71rAkD|_c@r$Y zZzLR>zJDThcrG@~pT}Hq2|)JOG3z;7@V1_mN3ZBL?d?IUIKA}c#EHQA1LU(jZsMOY z66G?}Vl2elbnjNJekscgFix~;A+%C&N_%3-*<&$adZ!U`x7PjgLds`uynxA3Qsp6h zCUL3O6%c`QNy@BP@aNN%0_vKx5_@O!U{fm4hHeLcQCBKJ=d<9<6yqNKL9{YyKW*kJ zPBH8_W>>9Q=a%Yf-yuMj(?hK;ohw&_ba-CiUY)?KSsU5X(z3G(Bu+Wky0B82N9Q~9 zu)1@z(bkSn7m{NDC{)Yu9!@}~#5EyOI@gO(rsA!Kn3!Xb{;G&6oH3}S6F0<{nV&m% zzG`g)D#`b*EShzd@d1m#&X(5lljm$B-#KT_MHywe!e*RS;!RH~Ml_s%X1)FTa4qPj zSEBoc<4FAs&8@=JykfNd@5$aa6bBZH?Y2y{U@%xPJ2jR&&P$VE;e{4!Ny4pZbiQ5aBD%Nj4 z{FYMOuvb#ue8`-#N@b!?E*bIzRAZoce7I1o*aBHq>_$@C!MA+s4CX*1gD*U4d^_LK zc)J_2T|(;pvx}73v5l*=6ljQ>?3M%gEJbE)3GixrC0@o#D^NyZr(_7F1CZT>H5(60 z86Re2M+(960vZzBFHZ7p&)KsAx?+Hn>+>yv>w`Wk+^g#VQodk!MM9;chB0W9fR4}% zpqrb&urwISpX6rp=5zqKn=-aCSY3vIYeFwd-SpJFw&uRg1JO)7fm6ji6}$8`y#s34+zH z_~tXY!#mL=3k^VL2EiBJQ7h-pkKjHSa3Q8}7*V%Z#{T}s{`J^J4N&oy)v*~H>wgv2 z>~>1nU@3i|ezxO<&1k8Pu1p}x$}whknhcRUaS_%WEI7rR%&$Fa;)nNPs2py`a_^@Y z&>)u+owo>G08~7H=3F(n6S@nsvTm)}yjMIcN7!v<>}!mxC%ImGW(Dp2Uh_CM$e*Cr z`wTrcHZ~XI!C}r$tav3LLk!pH-YlrFp}GV`-1dTJz(tmbva?Lk9%-ZHXnWBqT$WB( zYNajlOBpCvLbE&LIpid?-U1~zgcbyX;fIlMyOe)^{Hif_m(b(^%mJBm(g5^@K>JHw z#TTo&!mjt2Ux*ZF)a1IrVx;XMGf$sv&q-Nv2l~=7D7p?>Ldzv z&r+Bw4=WCtCdC-Xe-sVO8?za7ldRXS*Wh$PNnh*wmeyxqd}fG+S7l_pkqGHR;(K0j z|A^&F`ewlE&STJ%Xx4=sc3V{{0f7V5<+!79tifHDK_udakeG{XZ^j*EO-&0H1GL29 z!-4mybwFux7;)I+!mEFt(7(QZ$C9)vYPwjSbNb12uXNp(VpdIClAH2MF{#R#yyW3_ z-v2wVxaA2O4QUx$o8^lzf&ELlT zjTl!v4+!O30MmQ$*p%{*R`!2P0eHtkJ|I|3)Yu=8T;KmM9~AsR`v(1H+ZBnjl1?0aD1YQ5=dmlK@^FLEuZOQ+SOd<27JHJ3fk*1himC}YFFI1>wxFalr zI4vVzbd5MRy|98ML48)`+O6)P={*yYeXBt^`Atl3#e?j%i={Lnq`F|Ed`M<>B&R(E zzv`cH=Glpj?v;^NL>v%R5JfPJl+{S!kcP%xHvoXhXu5g$<(wusQs8KU|M%7Z33~&H(a=#uiw$nc;D0_ zTkQ)U zsZ_|m^pyHHIx!n9X6S=|#QWac`X~0RNY!|49ELnI4%Q_Uf+TYA*8!J7^KHEorKkeGi}S3`&4oTT6d= zB17`_ZRAw)_5&5@+xY-<2hjtr5C1kF*?PG&WX9=qXnGE-%6T6K9g6`QQfvmx=- znj}$8GGLCuy$Gxq$f=a=Cx0A&_!|;XM4(w=R`Z-YedJ`)ktzobxqb>ShUEUT9&d@q z(!nsoU#1Un-xZYdmm&WAmi^EdGUGbQW%21$Mz&AjYHu}*ulLr&Bf+Cq@yi#)EpmSs z(CuyAYX#>Q_Wj}8JE9c%9*E9h{GahBIkk1V6cm8Z?XT`JdtZCUHrl(IF6U2<+r6pV z&wy+Yzb&Be^0)o`HH(lZp5`~G=zUKG1K59 z>&d^s^)cOjrkNUt6Q`K-=AugtW(pvfkmIOC0@sn`?zue;sZCnU+onZM{o8T+Gkjmd z9k<;)P}9iZ#NBibs{%> z5YfHdZvVnge%>m7^L?371=qZ)JeRJz>vx>_-4d*g60B`~+K+GhFQXcwj(8wa_12q~ z3GkwPU}L{rkm7-78zQU?5iK~LdhZYE=db*9|HTZ^jz*ES!0}n*T+t5euY*&!o>JaF z(Rg@57A~SX_~-elzs5|(02at%D>=K5jTO)Y|Ggg}zPt<0q6^LvlxA;#om~9G3x5$I ze9OBIBW%n*Jq8W!FEM_NbQ|mUnnp>6{(Ao(-#qW3<)d!5EDi7c^z>@{e>A&3n*Bcy zDgP}PfBA=}DIUd4LZ1C6x8Kt3RWSTzl&fzJz%lGizku+6LhtWI6}fUn zpKqX;5%utZ(J)F~ca{G!hpX(NaCJz=$zX-xAH)BijRy^IM`AfU;eS~2Z||Z|#kl2Q zu%3{j`QHopb3KW`pNTln&FTKr(f?6wN}YM#e@_k;BL9&90uz30d=Gy*ctXj~I(DA|f7%n7QVdW|@RKinIM3k6mIu zd}xj~aVT+f6E!u-GZU@Q=qXM_9@{pfr|-$RWY=bqv1@qs&K8#A`PXgmLCG%<~9rTv+@YEh*|ckKzT5p$1m)(@^S8H~6j zsUG18GnyIwfxCA9h5^SEKwU5O!wA!y`s+=_X2-I9BlzcyDcYF?5x6(b>n@+R?n1;Q909gwu{m(2JlB z+PyR?d-6fxa;wi#PDpzZCGO6}`(YPKoq%cuL-^K-NZO{uB>%|bwWRZ3=;cv|Mw+RI zgxhJ9vRccegXXheqE@YhnZm)UNI@o(Q&3&vbE=!sZKdL4Mgba(!gV}QQK zB~X2nTgi``cCFM+u70)Y0}F91INev&&NQV1&PD#SY;y^}lJQps@CP&ajfZCdj&Bwi zbPiW9R0NGF4c-PEv>h+=bMYRnFez3YgYSHhN%Gbg^1Ik0KYapqCnZS~+??l>=v~EA z$-v=U5zoe6wXDTW?jK$(uaoB7eN{Zmwtm^fhC(9!nf?1=oB7-VvrTuUFVp#?M0!F( zTwP5j%fG;=X9zFJY)^0Y*@3`JRiLCB^Ze+i4EgAzuU#a;tpR^>o|Rlgfm4bJel59xL$JhJ75~#W2n8 zVx+wha9H)*X6hsfr19UVfM*)IEM$>6JAd)b;$7Ppd)3M-uM+zw`Wd$!qth$98BiRz zq2V{i1c9i-POC1Ff%g4Wr#X07_2^Ctw_)uHrlvaOT}iVP^+b34Xxc6wh+(vv-F8&s zdd63Ny2(wX`;652rk(03^u1V(Gd1lHH{GS%jTiMKc7y`??PJ zFYNKv1jyByLYV=hO2tnsMmU*-^|CdS%~1r7g1vEiBYLg7P2=M+J@M0-Mm;??a;s#MJr`W!dX_)t;zL^x1wICBomDq67}QuG zw-cmC#CYToA6$LfxT%lNhqNt%vdO+`_Kc{KLolmb@8lKjH582PH1UUrx`o2O`pBzb zXTI6OHmlR|T5Hf+dAE_2U9#Wt;^;a1zm#6Q^*KNvtJ+_$;pC9I4cY3mRN4KQ3}0ur z-NDCdt)Xe2i^Za6ePGfNwMUx3bmRU;&>N+iT2XViJz|apw(XA1o)@3F<0A@cxHb2q z%)%C@S=fX0tm6X|_30A)bXvK{cGi{(9i{$Fc=Qzj%tsOPv>a?asR| z42gJuPXA-Q@w1ef9^4JoGZM#$EoNToXm54e%iGG;>%z;Vt(E@5Q}yL!8UH7HC#w!i z#R|@U0$7OsmFjyOsqh64eB^dw9~jiSaj*J#N~~&fnES5a7E^Y?{H_bncLzQ15*UOg zq;?}yXK{rKQw)T~gWF$u#OJDq+)X9=SPtd@IIahvw_LA)GT%`DXYQaBg zG%w?=1!Z4Gg0}P3`LtJ)dR4EuNQhO-S~xO`)YGNw#-1mEpi-gMd!BKkZ{Lr^FHKI2 zo4?>UTFyAdlHf%w`vitKUmAoRHt=$z*Wx@WuuvL zK!Y> z+?>$NI5%Vp*Z;wdl2=hfke?eoB=0kik&)-4p-MRtU#RDEo*=BR8@?boo zFKN|oL~HBz>0MjW{Tc4Xy*S*KwjK$r=;e!2H4SD&bpyl8SVK|7CG7ZgZ)!}Usd%&O^vLZ;Su)Sw)axu3FPBZ=2f~A{H{y?hAX^#!0v@JGrZ!f z{)y|CsC4AXIWcu~0!rKj}np2I7Vc^_S13#1VDUS`C zQgL;HSMU|$Yb2Jot3>zY2ST^R)2k-g$r1|%kH*V_@4V*QR7%(Ek>!}L+QyLhrXC`rs|oq zTb#8~c!t~1`VGrC7IS+yLruEPGdt|Vn54gU<*#o)vG4ClO})&=hvMgq$ZDuO$J`p6 zmMeA61VsifnH|W}>@8GjsxYu!TIaN>&u%6TJ+tmi^v;W!nN3ix4fU;>3{g?>wr-l= zUtAk#37Cp<5DWgM&2j46wK$W2*`|kZqop5q>c}DMVL6BwY>oC`7T-66bbXk%&6z4g zwaA3h#C9)qSgg222%R2Lglda0A+(5ixC2rN+aOC94SUE@oX1d{Adys9`g=VB$$DsMC ziT%I88#wy#324AP=5-^Tk{Ov(luHT&Xjx0s%lj^*eihOgX)#E`VX zC2y^h=ZCtMtrNJmIl2BYzp*^>%G07S%k9(O<7w7Ir2L!h_5c!_XofQa`qq_Te=bQVu0ClZ`7ecsZ9KhHyBK%rp98LLNhdh$h?> z-h3r;4{qx*Z@MTGhq*DTd2uvH*_Z5?8@Bc;W9_70{wd8C&!C+{IL$$rYLc=RDN}IX zidTf)qS?Tk*8oq*wief~9<;>={{CI|wH{huN(2UY!G8AC1b_X5*T-QCuREA}obUT?K0G=BZ^)c#w`8 zx2E|Cj3v(xKNCt#Kg`-*on8@cFeVLyPAum;1kQy*{2q~iRQGT%z1v1KXGeuT!e%BUnr5enwM1{ zb-Yk*3AZ@E_2r9r;m;9LMI)2Yr5*#3$)>unyKE%S4?)vU^XTh>a_DIOQNZyoU8!Oh zWDZ*mR7{cJVZzZW3A?F&ZcvfVv#1-=wG|S^tfl4g4NoARApDW>&9WmsXS&Bci3QC$ zM1pd0qY+(5#kNFT=K$^;yZ?){s|<^3YuiTz1(i?`lvW98rJL~}(jlO9DBTi6r-g!a zH_{;84F=LR!~g>W(lC_73^nlWA@scBzweKNmwT_Zo{oDxd#00a!wFUv6X@YtnVy=Y zvqj!y;J6{YIgtT|@NeA8-f6cj?%lVD-zhA$u{&t&-N4EE-%29Jo!0~Y0hz$Pg}?YE zT+ahRsU-4c8jAd6X>J)NdALBSk3t9zk9K8!jy`JRnKpqKJ}!WYE1m?R*)D!VyMT9aDQs- zdaKG_Oto%GQ?y6B zf$uGd#d4Z%XvHTA!ykU~oX_=* z95wvSZVUgov8%}1e42l(yq7?Kfogy3p?^mk;`n3BIRC{hU zodHy@|HcEpI)BjQn!qH~F#0?oXzD#4Nzkwk`61Zrd4xf~`Jwek?pnuB+#Qwjev&J! z^e{?hdM&vSP?5cB>J53j8)tIOYecl^(paXgsteAg|tGYS<|d z;}v($XEMHV9XFN*XPY<59-3G+$CQi~0Fi;g`?79DA+gctTTuYXurFOocix=-#>}Yv z$t;Z9V>`YdZlBXHx^96NtIv;fhDgd7P>6zFr{t1kZw%Bkl1#_gg>XfMonGPqJ{gx3 zZv#oIyto_{S3Bq#Vfn&qBEn`y%pS_fo#tw=)$>Vq+6m>(v`mlZM!1YbY$o-cv>-EHr#F__*UQmI7Hpz{p=H2%i z*pU1*$k>Xj;~wyW2-$<(H~YKgiZcO0gHi#u0Z%r?eVPxdR26E?%SUanX1C$GBt8F^pg(~hOnAaJFcvPcHz5zkCtf1GREj} zu8$cw1#+FS8?gp3SatsfU#Hpz$9u|&+)GTYZH@b*ivS%gWIq@W2RA_tR8&5BoV zNFe67{5zNIsXko@))M}}^Jv3NKp3cxU0Kj#5Xq5EGkH?9qyNA#eFtPX>=cl~H3}X0 zPT-fBo_bg(C78sKX}e&rX0}q3e=dhhXY2embdRA&g6F*{RhE*ylFw`x?EBq6rRE(Ipsfs78IRKL={V5OwdKym2%~y}Pdg=1=?6^~ z?p9&n|9lA42+U})vC)k`x-=Dh5zA*%nF;RBI4%j<{H&rZHpM#*OMh@CQhKKd6lUBN z;*WZU!6sPQQWhx>18l}w@NEu7x=U}I>Cjf)0yf9DLR|L{L;f|5WWx`Km(|`@58a!3 zY8H>SoTooq7p0X4Xx4|_X>_#dV%g+mEj=d6d%Q*oIbH|MW{De`Z6le_&g^ZT71UT$ zf_IG6seT8_fyAo2e@^Zf+0rsgLc12N+laEQQPWNy;yVZ z^-7d=`_wPu__36Ax5xeo^O>TCw-dl9cxTozOob8a&8v!VkdY#^mjr)Yp<2F1Hb=4c z$)(*ZP9jjGzHDm0hYdToJY!49FZM07fUW%n2L0*cDm6N-C7_#q-aD5v@G{dbfn{xQ};NgGF!P zRI%*dI(Sifz!oZ-T*>WTo9yP5o#<%Nq4DF#rK=R5skV1@XCa5)NdQmK z{b_8Nm3-m>%U$L#_299uXVeP+6Xu`;ASn}Cfredjvtbx8&TvZ3%@I#<)-8?GcUtx^ zk*>k>JgbF`UH}0P;vly%RWc9(o@sSx%8#%wBJ8jY?rh;{zLW)pc$r@B`^w-iY`2?? z6f*f&Z1ie|()f1XU{fF{yMLUuB6JJ@KkxIIA8FNe2&grBwJ$cDX3ZjdXl|+U(Nked zim>(R3tTfb8?0;U_@#NIR8lk3qG!(Mdn2Z4$`6fTu!P8oj%*BenGl+pf}%TWs8krFlN?BPwi-W zSfEtaDm^hW%yds z!dJZ#=Ug>Ex^%H9A5QY%4WyrrVEQet4kWY_W4*7`j-`%{PN^QIm~Pp&fHz>Z+uf&p zn4^Imb~fjf#sd;*zo53`r}k-;iclKL)l)%ULqDE<`l*MK{;Gv?&ib5vMwW@#02XMz zhMp{UOUZW4Ce85Ed1CXAKawhBQ)8Cp&j2!fz5%g3}H}q6<%%=DEJ?z0r(ITluk(25wS=Bb5KFt^2Su1D47k z?)>)H_)`14Y)gb#jZi7~7$nbKz7V&V254gXa*aeHLiya0$o&4pC;u++Fbf>~{R2k+ zgP;1m1PTbd(?WDg!|fa3S6dWm$a+AHzh3GFXaAYVfz*frVHjB9pE|xu_73!HwNtKV zkK@|iPwVbzWb6~;43q{$x1!5l=ZwYci2%6dlwQ-Re&iZCnU%QpKd2@+f0D9|ne!|y zKtDC7;ny0Wun>W!pBW0OBLR?0t*YB+hnQx{X&}W;hT%f921b`!MYU zx}mh>BXskals=SXcZcotvW54HUq9;Q^vbYwUG$ERAD094Aq%Yhdpbid?AznAx5o{xnX@V~N63plZbJ!jeeC7#^nALgw`2b=_)HlTBzmdxLT$~H zh_}t73i&;SCqSh4cqc%lLCu4Hh_};%LNfz*@^>ei;J18-kxDve&t`);+sE^+ubW|m zkQ=AiGM|U1J2GP#UsR=ZC<>Po=KuJNr`FS#yUUgHW3}qBs{J-jv`HAe*w>4wD?w#t z>9_uZ_j+1CfCtpRT)xdH3p;kde*5$gl9aa47e$;SOMh(7e#a;45&(Kl#L;z& zh0en0OFwGJ^0ZKTax?AfSL+eFGQxf3kwMl?-6--uE%S6CsKXm|%gy>KwXQw-f*BWA z^GUAde6wL`>GP3VsPpV`&zgSx3b2Zr6mYYI^jk)P&}5|`ZYBNoFB zZ~GLRcb~@_%#9q`>k35*)_DJ1MV6L}jwcUdwkNTRBeOzlfO#;#@89a@^%Y(M*~6xTQOC(aER5d7`> zT4HVIy_kDBhp6+smjeg#_INoibRQ2aR_4&JGud}4lJVf^MUnV9`J{Z*lHU5s=TAcF zmOolR}QJJ;UrEenn6BSIC^k-eAchDNTzo6q>29R?zl*L@oi<7CRR)z@p=77bc- zR%`*kL8VLpCU{r(D)TNi0ErEs#+LcM$`&E1ov3stZ@iWRtf<5M8Cm|92*byc3;^op zofkNq9y5|UTp5gh`I&dP(zU*{qQZFZ#sbYzm==q(S@&T4&Su@e{ut~kZWE0U#ELM& zk47h2$$(97Uxio1>&f4&R{3S;OU`Of!rQ=Plynjj<7yTbX2IlPWZZz|U7kwwIu@5} zJt%Asn;sM{+iv2=RjOU;e}5__TSiT#yRVj9GcVlv>LrD4=c8ARlKE2%4NCyfbOiwh z!M?tyw?sp&BCC>Msm&7=1AlfEgBAD5XVLFm;>Dn*iI|VxPI8FTmKo2UE<_Wh^fiEs zCiE@eLG0fwWgb@IdAMNkE7T1}GC9~CVFr9lOZA`E1?s-uK7x+wD1z)A5pE9*3$>1L z;h};)072-0YE)=oyE@At|~5@G?+HR-(1fyU9c)3 zjO!4XUh7On19M)U*z`~K?D<;&lsfFo?e#L_zRnB|fS}&vSXO!R$`vbGX8Gep)|&Q? z7Uaanj=s{6;;WWckt4oc5ra4-wR#1>CIf38$b4U3sAC5vvHo@in4em1`=kNnisY!* zpeGyW*NMy@+5Xytb&l!y9ztxR(|_+F@DgiV9p6KE_t5>ZDMs+HBBqzRI@kz!2V^_Z zVo~Mk_O(upwQ6cf4sj$wL-4=ZVtTB4>{>7@cuU@{553yL#g%e+M~GH%swTI%VrN(f z%jY%ZtqC647-p;0`Jj74*2Z==;ecH|6iTfD2HT_}6KLm>YHL)VtSu+XiPA66QV+o0 zVoUQ5zPs_sFsH$ooTPgv*!~s>YS2yq^A@-x6&rMKLB}>SI$|1_OA)?F#)D30u9IBH zCX6mnIZlN*Ig)phc`C=?gU{I>jgCNQ*#f}E_uEDYN~**~67Jz zt0&hv2K0}jxyhB=ip6x<+4oTy0El-1Q0+4SI{je<(~&w>vD~v%QXKYLHx)4KW&{3pn61Yg5{oG| zVpEt4JC!ES5fN|Jt6j?3bIzB=`P1`r(g&}5J54t}E%+3sk;E2Kw*IZ)L2oC93oSgywV(M#EVj$W(#x;r z-buHu#H74vc?v}73D@p2p|qp^^i;TMTFJCyWYexEhACLrXR^~NJSQ9Kr@=I`@dg&@ z$xs%wulX_${%R(Xd6jq;%Sq~{?`^I+M^2EGv@Nc_3uUh?MY1EYe8xDBvvqd4;tbWXQb;-%|KCy>_S)Nve+a3vJk3!`sUJ+1Vg7wHL(j7sH;W3}g<>U^C2h6~KzKUdMD%UAB#s zYn$MBTZNvxTaeA4{(rN3*#HDSfmvhZDAxhew&P&oyiwkovPd(XR>0eG=(BH#n&lY( z>sH@jwweWDI8G)6ZWG;Qj$BL{rIQe^K*Famap9y_n$c(0zXhC^Fpa5yA{b5>N$&%a zt^(2|e-b3cOdZUMO?j`SARW9w`Il$CyMZc;$Axr(W7V*GoSa-6r<$}+#x&2k`J}(zV8Rk8Fv2*rZsUH=7d}O{VBs((5w)G$3 zZ9Ftt6`dH(%5MrvTK0g}IZ?oF#63TMAue#iN9kW4B5^5dB4;K#j_IT*lya-=zgT!o zua*AI`p8hKBv#<&0R^wAKpl#3Y8sbuK|U->?dpgcr}vHuIn}4?1ayrG9F6V( z%VLS5Da}lKZd5#muhJw%QD$M!J}fEts{};gIRy6^%MY7Q0G^4bZ-q% z6b2=SmKbH%!Oq9a;EhZhspUSgP$UxhwR<9@e!$56 zaB#*ysi9cn*sWhq+Yi;E_ged0Uf`=U1ZUt0^3sb{t0!~h(LE|L{Kww`Ajoqz1Sc)ax2 zKD4ySiUf2fYETEE1ATT%nO}R42kekgYvJkLaP7;}U<%p@J>Cba5bJydwwh(ZFw=ln zjlu}hije*IX8iB8`5&x5S7#1}x>c%b??{HE6!%2k7PWzuNF&F*@=6Dm-&eA;{Fxq4 z(199Z(r;%@I5?p}>(%I^d>`!?vVXf93@b0-6{xcbMt;})OTot*(41M1(;U$D`rRA6 z(rp|E5d!Tks8MUgcY0;?T18r2RqtQ49cXNzPLJ_TC;3H3k+S1~;zK(-;fk^1UGZ#} zC1W!itDpa|fhYfa7*n{c2@-QV<}~OFwjY70j!bv8Kn^l4s-CG#@lXnw1(lkkNPi-O zCzSSC!g%h4=7hTAi&C^qSWS|;cj+@nZw!>jlGf9LIimaTo~bWu1BZ0PYcf9}5K#iC zwMb3+=Y74v9J?vE!{F)|uMatAyl62{ly*W=*&~lz+dgTR!xMM$nPMGuRbf`q;Gq5n zH0Z1n1nU5Hp#^U0a&lA$kPbC>wLmgtX#x}K<|l_hvx);ePUmapro zqFY?Q@Xy0EmnNaJ#SdB*KyXc(o*6S9>&;paNZ~cC zc;9`NU@f>fbN#+aYu*x~Dr^~_N7>_W3sP;LFjuYmOU+K)tv2v*jGN^!*RgQ8a|A>4 z8dN*BOQypeH%6hz5glc81tQIAocFB22ghJ`y-`_wQlw7{0O=MyGfqP#(Pd_h+9$z~ z){!3MoB3nQXMGeWMj&RXRFJsG@lh#p%c>afy^!>2GM5!MSm1y%x)C1&S4aHiQQ-Sc zPR3M<$O|Wr0*dAu9j<5hNy@r@&ck$U^S!FrCO+_utj)9P5`&qkV;@NGcHBDvja()P zOk_49+XujK%^UTlxiO49hua)~*R>c-SCA|4j@xmy4)h(DM4n$>ru)F_@v`DZ@v!n< z|DlwdmX_+)pXJYBI6$htz3pDNV>)vxCvUG^PMZ!t{9ryFE9&`pG4Ze=Yf<@+{t0az z;65@@KT}c1a$%SYXd74B_Ry!4k%sStiNV!sEAP%~8$=DD&@Q!*Yv7TQ0DT9v%`TOM z>SuZuvg8@kL-}xU{H#Ou*~A!x#O46qqbYl|!8};$CS$B`rWF0ny#RcZ4*9Go)mfcM z1G<2#n?lB$C#s!$t);ayqWH4sZ9v-s%o`AiJAk&i(&wD1z)Epo;&^cFJll!iX9^Be zqn(M`*If5i*sMQXURK`tMwn){1N)1%hopQlC&DGBl$S0WiuKHc`@jid~ z8&S+f*VI=J)J}r8#srY{6TR$c+sx_ci3%u0w?->xwLw7>W&KmN%xLQQuoFrx&1FX` zak1!+3ud5ofE0|~v1})801ze4x+_7*B`%0oU%WG$6~mAYMuj`E8^*$C2WZ;r_YTBI z5Ga`qWh}ULhx-3s8J0RuAxh*=oW(nTkY_`$vM3sL+xTDEf^@4n%`o^h0s>beE;sMX zw2|35&-add0B6ub_r4@BUgGQEk3T%RPd^YlDFg^r7bWtwlxmi|&ly=1r}Ni|Sk~Wj~o?`pXpV z18NPUY4*`QVGig679jK?5PLaqK|e_Cz7_H40Zmv=8k z|86WzxpA+qA$y4p_UrEP7hDoWL5|?CnuB!Mmt3Pm<-U|CEMomxl1Qnq@fVlXb}h{S zV+W~rO9k?Z8;&A>269sQAcY#H)-gJ*U-xycu_*Cv1VQd05?@=VZGKpl`Pm!A;6TBB ztn8;j1nq=8@BtZkt@?2SdJY=`N_H55rq8!rCLZa_Fe)J)5e+z2^k0W?CIe)0?88Z3 zO&fgS*Z^Ei3Mou1&y8VOmfym&NILyy(`osv76Y=hest2DAd))o6CY2>B(&PBd~bK? z+h%#0Myy(GSaiAB5jN!XDF7wH3~=#r(c@E_2YEot$f1V`n5GHiqJvjL2kCC*a{K){ z5N4YXG0~2>AoI!XeUKpTGzp1x)8@D|+}qZ6)q112;>}LORF}+&BR%D4KcKg%8L3A- zd*C%`{vd_NF{;|OzSBr@YAAaJkj4$l%TA6k1pLuUdx(KrxC)t{E=Z1tQFw@o%?G!j zxTw18C|)z7lL-Apk!b~iWA#=&zI^h}5V>TRPVH=$bzj?6a35sY)+X%2No0LWixi-} zNtHlRcKU_@Z0@@{XcWama*HXrg}fQ$Y2BTbWeDy6M%w>_8PLb0wSCI1KpgCY^8ZuT1HnomBu4|m*Wq)$j4dNDQNXO zHDDley#DTL#YGc%NH{fLfx8-zNYXPl&@#ac?wtOg6Q&`tKCG2HJ!3lAcv=x?ti3^2 zvrwq9UzLN+LR8M+e)a!~ts&-WLI;1~63)ppH++DPL1lZ)nn2bD(b6bWOaYF(N}zm(0veZu>xWZ2R@}7Inzla^e3n{GW4f0LPK+tfvO<$~9A) ztdNW*u5{aj5=b#J_4TqwYxa0}s6oD*`X2XD1N@iH(Guwb&f1wq_t(?JrekHdh_QS-Nk*eR|q-?+3&+!|aNdbkA`EXhk3^v08RGgt3W#QvK&h|-+=>0Rlu;R;J zwiqvz>Ps7@!F3|=MebzltGND3=Yun@5+Uz^}c-`99QPH@ zh`FQ8)Jw9og;bMtFzgacgiRF5%p@}N2nJPucOuUxbPvYl=I=|=jZU0o%L|{#&ZG+r z)s~vuHf9B|zM={jk4Mr2_(5RdxpODfIbGQfI}{lG0SvEkuXKLJs#T&hXg$J4QN9up zTg{N2XA_z+yH;_5(f3u}(E}u;)6yE!AH$_a5{jTZi?hqPx{=J#D6yY*50CTpXB>IE8Y zM>Z>LWpq_ku(y+zR!!}Cmt7Sqo6s=(X6G@erbXE2zHvWlV2^z5u5oS;|| zHx1-%pGA^ff{C_hTe0HB>2Jn&8odE_uVEWK+{%4js%cJl^gP_AQ;V&k-sUN-k@UQ6 zOKWS`%gIX{1={PE{OCCv)a^FbC8Fl0fp1xK9nGxsA;B%JD3f+``&1eeekG3$A2KpZ z+lkLJs|VJ1F^%G$X>}?PR0xdW7v7{#yyFd6%&w2Z`bEqDA1B0tpWU66=9Qn~z95LW z?i-V^`O!N`3^hr*1~004YQ2L%tdF>{2-3Wa*Jff~W^bCQ!}`1uPxOg1#6Uz*JH=!JOqD+K$VNKa<7^U^WKF=wobK; z=P~l>Q%cs;JHEA7F5|KFlo)m34*5a-Bz@iACXqdikUA8(*Fr!Wd<8gH=*JFB!|~i9 zaI~2ug9nNbEr9%+qMn)8PJtIR`GmuKzRIM-PW#YnD~`HrisG~uy8oJ5R>w?Tmx1to(7e~;avre zhjH|ve{n+5Rb(oSd&rB%?c)am73UwGAH81pNa~riQ8VWW*s&g@f)*XFFi0(LFSjJs5vjOITUhR1>KN#Os2ecUSYBFc-B;w36;~;t1h@2X!?~&h zLHmFf`86=HVFH2$Ws|3f7^%qjNq8&_(s zO;EO7CuX@7Op4XIJ=(s-{E_&)Y1fK=ufCJf>f_KbL{+vv@%}N=i0B-ewWk{!ZHY^Y z?&#?zxP&##4(znN;rx&naLz^zZ~MC@6uJ+9zu@O_4HH2rVklvWY^SCCh}H3f=grud z*3`3A9_;4$Pp&Ko^O>fb98{+ZMBq)W3=84_+?b9$QX&y z43Xwokxo&chn_1gmz>Afp->|zyt?sf4<0ki-o0X>J$N8+P+VFf4cZrFgYJ*!P2P~A zmwLL1fSqD!T2AeP#Kf&@42=Ted>n&a?!e1A4{wzC4zmSkb&EjHtyawDMMB|Py|yIG zt^xD7h7PRLCzdt|&$LiWjOC?-nD}PN>zAN%Kma1FB;(N-5Br=LkTza1bCWYUK!X1DXyOb=hexO?H$sNoa zJyum{95(CHQaG~Z1i77$!U!U1kc}dwJ5ayKGXp#7C$W#*^}_mb0pGU%)Q+P`OYbo% zc0a!~mKxY$vWY z(cMIByD=$AY$Vv6I>097#J((HFcrbhz$UNRbdc^d0z5hl#1r|KRs-wj?x_EbHBV#! zJ=LD7>d4rKm9ACit|L2i4to@L9wRu|{#zyVl^>FD4P(8xJh}u_GpKZqLJKJjPg-q_ zSq?D5uGjnuP8%%eh5iQbX~=P$Qq=s z@Z2gm4%IT4z~h6ovs+I~uKXek%RRof1@iUwd^>OQo)m4_+kN8_Rt!cqGpIF?nAl#b z9+C(9U1Rs946HMGV3Gz9xfX~P$u*YkP8Pt}3 zt;S7z<-LXO6i^kUyuXVHFSgYHZ9Jr=a3wwEK5kkZNLUp0Pr|Jk75m82)2$5w|Lc0~kQi$R%~J!#ppt(G{g3Zzp*j6-l8gmmR90lhOc)8*8xp8p1@58#4n< z?6Ug!_#mn-X-{taD5u(IIU!d?^X3(wdF*3yRS#wX;Hm}YV}iV>5qowXUbdBVvDV&h zeYCvwqysi|>3CP=EG0xf+@yu|4SB13+;IBi#3lIOV{$OO(Rtp7OZV`YTExZo$pLFK ze!6K#e#^$1?5eWVg!s|IPma0GC!~%CWE9}jjm#~LKv4Ciqg{JcuMnb->IYJJ$K(nd z(JcaFPjVcS`sesH!1;J5;p8?P4mMo2-jgGN<&hwMr7y?I@jKAp)&#ma1%!kNzX}LP zB>B%DFMxYf|L<1>uR2N${&xwV?O>UMt~D=7|U@a|*Qm z`5M_oya^3i4{;0HyMh)!6kM#kBBLJ(B?%W*#EYaSZStHO`tq{tCR$T|&9*aAaObPa zC&RIFR|~Sx_3crET_-$8#M>G*lD5*Xdo2b9HgYmzlVu@A;%zf+eQ#U7^^QG!1y?Xa z(WX4NNs@hI_Fne3>lkmYVgNx~`E9~mv#Tb2#V6LsJ~aKm>qt7F3#IYMZeAz$)8M*w|Hbrn%Y=_SR{i+5`*eE;48-)Mi3BbEH}4^{4W3#b%J zu}XJ2eQwWE4>k^4rw=JsdWf<|_HN$o_yntZ3}V&hmb7XWWo$IisV35evm$q{N3zO2P)B8_nd#L^Ms<$*Jg((>lvIxL8p-r zy-s+GXH_jS(6 z*$T$-_tW|wMOkHC?Sw9?2F6TSg*#O~{$ayD^rJK;Ix_PMTLyv3uThQnu-?-soZ~vx zWI&zoUosW+4I@C%E5`g&6qiy}M0npN4y_xRUl6h&hE{rn&wN=x_%)yoz}@bx;MWX~jP2~Ioxm{u5EC^+_xn9bo(Tt+0Cn9X&eKQY$W zW!B1R^-absuS@e++Ems-kuS?42wv}Xb|+thzn)6wnn}I{}MyYR7wR-*58*& z)*>1K6H-awob-GUKZ*vXDD>0>EA6sc^=0+l>~W78vQ`jR@o>Ir530tAeTDmrOW4ij z+(ToIQ6>+$v4y@1t*yZLr3KA7ZK$IaqL@d^{QPI5OsIiIzK8q5tNc_1_*!pVW>6$x zgjx|2F&`P^TQd>ng1m>b?sML#`OhhUWgX~qtf+wE&V5*Y&Euz*IT5p@PLEq| zbJNfd=d=t#6DgP+JYgrJ*>+91kC~eq4-Q*MBD=4VhXFQM0laN$a6i$xQD3Ee^ z-U8M_81B5))F>+Y{-ON99lN+J5ZYXqbBXE`t9Dt1N}-TLlhyb6@@BOQ2XE?Up>wX! zCL=FKwS|c#jMD2l6?Thvy0rrZouZ z5+ziNzkKoofDRAvek(HW_P_ebmkD+sTk-Sm7>lwL?4I zC=l}X)d)KTc#0nSJeBw|{KXy?aYuf{&#x@gyY`arbSYmj7j(kd8$2xEaL20B6otPa zemSz!T+G(cZ)Iv8MsI;^{g_%k>}Uq+&R?z3m_@s{wj#~s17mu=K52w8CA^;<(k&g? z!*zjmF}`@lZH>1?Ab-+T06h6UGo!aO`i{RCF2(0FHXzSAKJ8J?!YIFFRZ-c;nc2!b z&g&9S5nCHzJy^NU$3e;DwbS*?4%vT@|8i{Pro7nC0FHq0J?q39j>VmgQdV48LZ$QA z365b7$XwPXlBGdc*JsI@H?7bE99QtMyT9VpfIWC>(ckfWN^kE9kEB$kCbad`r%!^F zA7z&Bm%Hm(&Gl{$9t`k0czD%aHU761?@kWg=$rFaH4S(vgsXbSV{**~_!*h9KNlm} z_asg)dNz7t>2&9#p^~n@C;S8(VHI?bTh}zl?g@+b_qs;#cNlb%-#AM?RE}~QWJC?%iNbq}!!RLxscBndK~f1Wwd59;3HJ&Q}$RBbGT+ zL&P-e869lD%{ekL-+p>YB7w@T`INW~jFig1)*EO1~}X-2(pWh!*{`$`uR zd(oqn{4kTNH{snN8|xL0Un7_au%_1>y`Nz!0!Pu8H)s)?o9COaENUpwQ)KW%b^TQ9 zlazDN9=qME9^zy;i4E3RfzK}70lp6ZMgi<_t>sA^;^C{n+smAlie|J~31NLatCi)c zRSn}h#acAGIoi%&Ks&AIq(@_n_|pnvMlXhT&v(8K;8UbwQ%e$1J=hs!a9K&nQ?_C7 z{*eBGLX%0X-rVvVLn0r{^{{Vf3`~cNk=%;7X>#Rira^91ofP=P4gnzX9Mw*jdv{4RAKqQBH=&7`9$F1#H32VCu{QoK3NHOlM*^}D zz!ps4YOh?$WR1)o3@xLVo4|nuh^7#H*rJhAQoe!&j*H#5A?x+Q=9=n$F>`G~SgRJe z=|$@I8t%>Emk##!BZQH^x{N=7@W8k4$M0E=KH+$^CC-O*VdSM(*kT9ixF2%zANtQe{2nnWyQU6XLB|+FCe1K7ylQq`;Zd)4 zFCW@A1e-B@-%uxjmDh}8Wf!PuCP8`Po}v7{L{|?0Lm4X$4BqVT$J&->8!nMUTlovb zoF3Bh?Gmn{AM*N2`#)D3Z|9`CwOnROz1_#?B=YvhNEPZ$8G}(E`r)U~uCX>SGw%I< zJQ1t&aD@eh%`PmF^7qW1cC!7VkW<*7VLk|20`C}8Ltgpq;{veBV@D|ayeUPiYfLA& z)w#o3n0#RuYxNT5Jc`@&YpfV7+P-q}MXOTAeZ5fg3Q_O^H`hX6qwgtQ@oV6Bn5GTZ zK?&*7718BQ6&3I|O;O!4#d??KFWr!uN*j5}q{AO^7u!GIS(cosv0(yRn43q!sP%3I z)mGnn&iFuN(PAL=3gnoBr3u<<3;2;)yXb2) zx2*Im$__F(+KI~#+oG*DfRBWCLKbhyzt6zi`4M42A1lo#j_O_6NhF_}dR9>%WdsC~ z;XnX(FL?I5eBHozQ#9`$<#_d>?}yyQ{*H%S0vQ=XMJ&B(TtybmW-&>l@w+W{ry+Tx zbmN|grvh8iDNGQEk$m_s&%b_EhR>GbQX}48D(x}7FdTQ@U(r4~SNVM1Pq~=hPdQ2o zu|ryKk!<)M?m-{V?iS<->#f_{TWvV`B847zBjf{ZGmC4gTNlzR*`N*_4SZqmMFlLv zw5=J6g@5$umYb>m%a`SOXp1ZanTPj4;}fAVsMmd2U<)ew`(as}!_!dF(P_9R`VJ~g zvR=R|Q`^%#+bSv$7=D;*_Bb9AV>vuPD=Y7bG?l5YmMAGWo$>CobbWre^OhUi(0@Lv z1C%iX=LP&7hcj4iid1U9jh6n0M{f&|KTEd*&3LRt#+cse%$U(p-@qKsY{ut`=byud zvDtI;Eu{4k332esx(A*+Yj#z0J7sp5Y$`q*O)1HI(IRJAFG*{P+3Le!Z~Rh&i={-N ztG1VUbpTY3oU+qElM`oHesV%OXM!=o$_{DG2%^T%DwvCKm;AO z!}3LO|AsbSh?tsnP6RATeYohoS(s}(kXJ$+l@;(^#~ps&-5Dtm3pFOo)*iIX4lC0_ zU^(GBSWc8&tjqB;{805SHMIg`q*utdg(d62W6rgidCN@*+uLK41Ck@B-yL5f0=~KJ zNNIw+cB;ctT0SoA$hLaTJ?#$0xXs&{alM}%XTBQM=mgy;|5VV$)?c` z#y%*Z(P4LryE^)#?cD(~TlC9-^mhxcIcvUbO;JK`Uu%1%)zEjJ-7OMc{F(_Cn`i=r zpceM^9+WnG<12TmP75jHK<16aw9-yJ<3CtWeFn=NW9nXHf*&^Fu5XOBl6Enc@rkQi+=eTHy2^^lJGFqfe+OQS` zP@(64!A9)f&U8Xs6C?h$iWuuJ>2$rN44N4q#%Z<*#&j$7UFNGjov9W1#Fhv>PV!-& zP2gs80(J9y-Cy=XgKfg-Ip_^UxWk@w)vwiZDcG*reT+-qdd=T!|ABt!cSgB30{o@A zt)J{%3loXaVfE|jw=R8tW$=8Xdn5!`GmZ{km&&H zh?fvb|CrsmyjYG1pfDD*tIhu?VeR4YrnItU*b?^QEh{BYVMm(VO_FH-{$+OjMV+O} zMfR}WZ`~4%8T$?i_KgQX$);w-v+^GOzI*_6^7vd%0OY(lbg}HhWfQssywsYn+G9jdd7?BUfX3WPT`z zkqCZpAXH;4^=J?Yii#UY`X8KxP~KuV>*!%N*Z*7}1(}?ax3Gg3ofqUNbt$i@mY!|8 zRo0S`u*I9_zq$OFHFjmX56nYVKsGzqhT@=M`z(D?NVjF;q6qV)^KMZVp=wFS31rcKK;}JQey@0C322WV=ugkEsW9X zZ%u8#l{%ZG=W01w68Bw8GTj6+H$mdD#^NoWl+;%n9Z|JC%BsPP&D5h@YaE+pmM-~v zj#G~l6YIPn-Oi;m{g1|1e)Q$>50q#fd=b*3JP&Vr<6>8Rv-2P=riEKMrcB?2mR>Gx zYZFYxljJukS)s~bhynM}#^F37WR4nl_o$sWi7%TUrGV})-pS5ibr)579Lq7~tLCR` zXvHP4;266FTsLBI?Tvm3D#k7bMx|R6M(;L|1UvLraKyP)8a?9m%ttj|Y%=RCex2i0>C4)6?<|(Yw z>mkpT;x)%ZR;1&?LlE{v6Xvm57GM{QXGv|;g&rkAPi8&P=BxTXRysEaJ~)6>H!gSn zU`TOT^h&r%bR8>?=6Lr=W38ukgvaJq$9HhAjv2$IYCY|K?3;dFdGRn9s72nU}47E?0+tA6uw?WVAvn77mK7TH3bH(|L~YDg7Uqs|7MSU?KVbIKF&soa1Z5G z3!du@m>kuiPd_+{KY?m~ z3D1WLJyV(#GrjTit~H@>UHH%_b5KLQG<9rMefwPtd{Q9a0q+TppgU4`+knbF{<6Zi zIdVB%d`Am<{Ff(Xdr6AkB`ry#_E!^b-Nh}VflFwQ<-yKsDr!bO+Re)v>u$kST9yUl zEL&Wwv}*}fzC#0v9<}C4l$N4>dFg{!F1-u?w0%GZZ3PNV^sb^tY_3Fz=Pp3pRlJx($dh56-zvq2e0SQr2P>==@5D-whK`H5$ z4(V=|E>V&0?vn0UI#fWqSzux5rCDm}h37`!`uRS;KLqyW?%8vnGiPSbTr<~bq!7#z zk-vMS)m%ndQVxY2za7$d-L7r>MNvYuy9S#fJiF4B>30|ToXTF?Cd)>2!ZhG+T%T>B znC|TC31>$+#Jocn%DspG*<7~4j*UsOe6xN{3qBjJ&g7~2*JVOZ1+(W7t8jKFyFHU3VVCC(Dh#zapZH7r z95D=^oL)x4I#|yw_xVuJuUVr~huAo$WttRph}*ZQD6W*&XO}T{95%Nbiz`^ zYIg4LRChLN&MhsJ?gMHfw7T#h`mqXs@DUKTU#t{5lNKDKqsWQyj_X4Bvrq^?=HbS# zD?8PiUnvuusByx)ZgM{oBcXE!!~Q+>P)#6`xk+s)j?rP5cD z+qOs^PHJ1zJVAwy`+8WFeG45^o}XeQ@e5OhT|0wQFXjRQaW2pCNy#4)-4{Xuo7ahK3z9k%7k^o z3D@3k*oM0Ja!j?3$XeI-7a7$=@Pk?Xj@jS}-jQn1zVAR|7Bt5;SVzJrh5zU6LSO-$Viy%ees zO~XpLciHa@mgnyyn8&r(i)$AB>8^HAf~wC$A0QtVM)mR(vSqZ5JPvc3GhBL_>|wk! zd2XJ(?)-?i=C+(@a-q0zH!COlQ)F39_R!$kk$}~H@@D&-byDNJ53Ic8p4-;?DiG5g zHc?gF6WK7A8;AiKM+W*7Hug6MrS-;CbMbw1wl9k5UrlZjP##%;s+ry6%n419)Z#QL z->Mvm@g)~DB99{&dLZt(RqUg5*0E}oeHVmvLCI&xTrZ#}yaR*oTWUiA?@`vrSQ*P3 z2{}Y}Z*-XkAgmN;zGI?f%%qV$(ewCUe0Y>aSP>=8m*nZy<_WfJ)U;6`kS)$M4vEX- z1>7VWx$pW5xLV(Xyqj*L*fOuP8JcqX(F@lej*Q!|6Eiv=x#vDwZ)7D|se@TOwz!_f zI4`wv(-qd>p7H27kMb$wV9-6%Z+u+d&EVYT9NU-@wV8!{n*rgf3BHm^SRw*D@Appn zIO@eU(hRw)ZEma7n#fh3{b1^Lmd+!U(?3G1fO!+yv}>!}*&<&6iDP{;u^f4H0E#KH zg8NOIwtsRl5c@`QYSX6kNft3vG6$EvD%=Z8-Z-z?;<7ue@#pS>bb!?z*Yj4wcC&JCiSe=garinW_+^QGY`KNL#K*0 zr@0mul1Ef|uiew**mQ(<>utzj+d*$2^evHDzZ3cCx~iin9M4%RVs-z?uii&6>4LUT z`W!t+oOZRk4VSSU{<)|yc->Ef5$JnX;0nHH0fZrdq!8OOv!R(aN^8-)D2+NrbLv$0 zC2~d^FEstG*z}mPqmBcd2T!{fK079IL`w$&>yF$y{=uHcD)xCYY3Y?_p`P2Q6!&br z*i2{Nz)ovLy6bHT3U_Xq_hAb}9CTpWcpm6~ZQr>7Kf&-&#@J@C7{4%OrjFBP=DNwy z`KNQaNB+U)KyB5}+^ONHNxs0Thfevm;a!ub5w$<@GjtnUCB9uBi4t=bynJQ%bug!L zte+^mPmbsX_H#KZD|8r%;y6x3t5eVIx+%V3?Eseu4T+EX2I>5AKXa<{w{qE&RKxiS zBn|Mh4dlDTcA?44wMufo4i#e3C9ZknSTneuN2<*1B89K5YWsETx_9#m5|Es{<*9Vl zqnQX-gwCu*>>(XHb=*}-i@g~Y>*bL}z=|=!<(0EdZN8A$)*6UrraPg(WFSkNKCRyU z+?;o&S$#X$=kx(*p|p^$I)R&}${pT2&60R5+(emobyvfM+r8ZQbW4(LK5ptc>e7v} z=-GnmUWUl|u^LyN(N=Tm4@Vac)cp~-J(hO&IM-^`3Bc5;9RxvlEhLYlUI#FJw>3x) z^1R$e$k?dZTYL#%O^R(ZOKR9Wx@d}D@T;u|`{J&&_Dr*W6h&3@N^Tz?O$pZ+IE|fp zTwoP*pyEEoN}YqVv)bth6#71fiHCJhvfWlt_Zz{k$5)54V1D8L<5yium&L0|Lc+oP`b_Z`-Ar%g~pM z){uitf{9m4d5>x0RP)$_##zDTo-R&MmMw9@1zb&InzphIB91nS|9T)smZGJq=OLoj zni;(#bj^oc3{2|}MlZC{Ut{Js6mX?<*tiPRO6zfK>H6+s69}*-M5uQXmP|GvFpn7@ zgz`anG;Ksftf%x?`G|s{%9`=4fe{-N=92UsEL;IQHRV?QY3Jv5IdyA}KkMrzhC4^c2GbCF;*Vf4k-@aQOqH(mf<_-UQ2MmL=dcrt~zXNh=W0TbiGH zr9aql&0bS=*p%U79@_K+hoiN0=USX5C3Q}gnZuruhZS{fhscvXPUM}lZ4rk@bnu4| za7(4namCci+S!ft;K8)3_%%~xw{}!x`L3lmD5qp!CU=?jBzrrq7ueP{<)8g5F_{El z)Sw?f%e!UQ7a13Jez()1Uk=CEx)QsXD%P%nX2E;_N5EtdprAMZlmB@WIzD;~2#R1t zif%b?d6kM(hKXeIQ5j$@_&}#91yEncM7W6pL@ zB{mq?<(KYVvcA@qzzbQ?6EJS+W0?CVY2SIMKknUMd5)Y{qJrlg<}1-@lsw z1H;}o<{TEez8%n8I^gPYIn%sz0PTMNm2 z&BHjU$D*~R&ynz_0u>W|Y0ZHJmFr?}%cOW3MTV#KwMh7?lU%D^z9Xc%I89GFWi{iI zRM!5Jm_Gh^GI@)Dhk@aiSLXR_<6aNl(-KDtncJA>)uArR!3LC~!d@_J_NiQyaMbSIX>^p32)^meeR*y;PF-C_$ z9M%+}p?zqu~&ug&hXIKwvuT3TvmU`esUT~ctHpPwM{xVdUKNnej9^L#qY4FU!V-++36ma z7VMiK_sVsJKQ3>p$VgspX&m${UjL+X(ck^3xo)nzKj(PMsvAqWv~}adt=SV6a&m`? zv|3icg!P@Uk}}VqFRwB9hTt|~9+$cRRJ4rF;aQ)GyRCNbWDE1{f)_71Iom2=cNc5d zt*cKGo#~SlontSSCI;P;TfNR7_6%(aIN8x{yEdP^u`3=4x|{INW-WdJXa@AY9jcoBDA zI0piRgr-%+lWgjDTAc_S8}KT5yGOUu?e$jGUY>1P>1|Sb@2qu=!Y;RVemNP@wn2`y z#~;nCN&XVI)pxp94y*P;;{M2O7wu;pO6Quwy@=l< zSVk7i%F%sG%*~y`2jE6`4IwVvB%76O-y;2SxsmN6{w3_F|X zwSJ#YHUdY+OJ|P1knn2;yKUAl=C+6l)3-sx*%AqI)!fM(-%{3}6J?!M*4#%a3jbPU ztb^G+l9Q^_eQ7(gtzS1Tb@VI8+M)jw>YmRVqo1yHWOB#9Sw5+r+^F)ma~aT;=H85M zaZkHop1A)@%t%;rlJ&M`waYsss8f(oJLU@eS&Jf z?%ZcS0Ctka+KD{-On)ynWA@r2Q!Y)wY4cOMQf=F$Y_OD62~cA<9 z&v8KWM{Y0m{HecaA3xW{Ny22$cQsFOtVjwAx@iH#)NS%|P0Guwp17*%Xq?Q#hJkUX z!3u-YzU6hGqD*`H$`)-ZpKL^uqkyDPU>`0qqG`%rI%}g`GYk5G0iD~_Q+lD#=VJhb z{C4h2X%x_Sq4biqXVBTHuK{3MS^4oS}aty`e z?WnJyJJLjVgx*tV-fEK{wdWBx&H`AuT`}Q)f;1Unk|wcwUUyTdBVgg6k0N}0&pr~i zkpJNYs}cqD4Zv-&KP3aiowA;0a4|}!8qp+Ma_TOrC8P`dA~f#oN|x`~U64+eSP>$y zI!y`!e5#N&2tmc z1$a`Cl6t61=@Q+HAAdk@)1{%oT8@FB8`OAlrb>H0qHnhGtP;_)tFo0YSA`f#z@Q7W zwkwf3hEMAy-^FOl+-Y%YtWjgfaZ09;X#7oT{Lt(sD0eTJcECX|?i`)m_R~rF=F!vC zLRUL0OTwmuBkMJ?6@+&c^fm4FEhp|qC_c&dgGp_>U5SjL|ZETgbTC7s%*_X0DP@ZN~*uBZE$;BSi&W=1)fL}(8<$%KY@o3 zm3Z$$LM=2R8(O#_zb##}A-g@}s1^T?pVd|#)%R`HeGc>8Dl$SE;6uvYp9{K z$gj;$IP-I*gY$J*Iwf@(dBt_Fcg3JA$Uk1dyPL%uJzLK!LjYQAP^jL7Tz6ab`<)+Y zo4JPWZRz6S4$)oT-V;yt@w%1H5AEz0P#SFZ>%wjA{^k#m$V|TPlcJjo*4fFDZT-%@yx2+aJqLy3Wpp<#x2I=(FS}7K8 z0?l-Lb5EI9=)y=TH+Xvm)WSlTzl)@=a;t& zIQ~!>Dgo-sWPDL}eGo8-ih2rRR$tKav;7Ui945xWe5Fevs{!BpJ&)&29~yAv=|_|i zXz|sm*nQlTHvuO-A1ef0VHK(Rh*`gP;cO2;Gm1zf?@4kcI+*_p-MH$BvWGDo>$ zjW|820F0VPTPu~7C~=(5W|4)#V|EWnt2s#Ne(zQiCsb@V3!`fDa%-41k{HVHoxR0t zW+~h~(%aF(xAUv@0J1ju6?1?lPVB;>@qP<-wtIly&+d!9@| zuRQW!azHJ^vga>yILjSo50!xbvI7hmf@)-9wO?MOSh$>hjJJ^F@VWRwRCTI3`kV7z z1a#vSkazPYx2!ZXlGOg3402Ylg;$jomdjbw8(Is_V(*%#)b%xy%W3boLWPor6zRGA zBVRUDa>kd{UO2NxJ4Ngu8ZJC0`YlEUhr${PhDS-@=}%J5lMi`js!Y^#1g;0)cW>%* zZm!x>(^! z3n;ekR85kj){P~lC3w+VGP6q+$SQ4z1zE%x{W{=e$j>XXp}NB&-Z(99x|~+Y)@N>B z^_c1OPU$9eNM;{LKPGhvg-BC94zkIY5NV5yOTBd2FoogLcKd!lqAldTXZ@#NM%W!7 zF1s8+v{vS%_rz?NhfAG+8dccUaH)qs(oOD3x?Bb2W1yvNxsx67_1lS$>n3Ufz>B|o zdEO1@#@q;468aBO9*wu>ddy9tic!6n)JRo_MF5zS&=0d{q zBZM5o8FN8jxKU@9i>CfZ+#}S^nD?jRm{5r6;GC^;ZHe=2th|83=A&Ztf%mS*2{fU>nG6Idf3oP`QgyC6w1w;BOKhw5~1J z8{XE|EUz{2Ym)%4dZ?uYEMwk&xrW!+A58hrfDlTBfJl@Oh2XR$H)ir5;agK zp4v2U4@m5D^>nVEWjH{_Lvo-`uiFLQmVJjK6w|xnm7cB8)DwMI>eD;SO1!Nuj~n0* z^WBIFP$#9M0Ja2U;u{}kHSSa?k6h|Wc$Ez8_}cjg&HecdxC*`W2rBJ!S2OfR&3f2~ z7Ml-4H_Gf$WmkYV5d>>NK=5r9*KFukcfOD#%bEbP0aM#@OAFf%=5@CrFtoYzsF%8*R8p^oK_WXkyM~GWlb|=`McLBt<^BaZ7(F1(!ttZq{1-rk2d4 zDnDj3=frv*Jzg}F!nKv1e*!iCm@cGaaxSdO-ekqSL%9Xdwl1SMCR!<)#UP`bW@GN% z0A|EfsN4ho%#@w36z!Rn+cBdw8WbKT0UVquG7?F287r*wA_Jx9EY zJ{CbdP4wvn>fQ5yA_=jOEFc}%1S#*OwQK?vpT@G8%8<2W9fYlPeGvWi*62u`oHd8K zr@F0dhBMt{+Si1XS~-e9B5a>GG~KRl`Oa>f_8~hpq{nOPLc5j{F8M#+fv_iv{4 zZLz}N!T_y8kYUH@3*cZSQyR-t8O_aPXYkKCE1n7DRPwG7L`3l3B)S(qzvB@rW*yUSlQP`E+%C}>^^AarSP^1NOf@*W^njbd>L2$r5DKM#ZZqpb;>2af0;vUL{kO^61^@L zH`E?MWXA6%qf0p@`K~RYZAaxmr2_w>1k42@*+t`&=wQKx=H61(^OBQwE7H}r@}~rKKY$F8sGKe& zHb%F)bwQjB-Q;ji)vJe!>E@V)pM4To`xRhQQ(z$&Lp~WSU*?)q!xws=U)HOy z-_%@&>+HAqI7R~bl>JS9*U6Rnk}03rd&b~z1`dn~iQ{bA{aeKYei8$B?e~5$y6>Y( z;kNE;Ay4FODrZ|n-eWc+dnZH30(lq#{FWI=cWCI_^0dv-v)U$`ySs~ zgT6VHufvC}b%C!VW2k@n<(6#Ovg(roGoKM0ba5v}`s^bPUu!!ayH8u+a1We-6v|4u z-VF~UiudCJnv>ZZwhxHao}8NL?!o~VwMqg^8|M>7H!;Kn7wu&5?x~S#S>0Wmd{@tu z-k9N`)V}ddwcrOP0hNAj1B


JYHPtl$DrvNSoG*PE@(y*c#O$g|zZT$@1KMsrmI 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 literal 0 HcmV?d00001 diff --git a/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/README.md b/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/README.md deleted file mode 100644 index 544c097e..00000000 --- a/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/README.md +++ /dev/null @@ -1,61 +0,0 @@ -# knowledge_distillation - -## 1、Introduction -Model ensemble can improve the generalization of MRC models. However, such approach is not efficient. Because the inference of an ensemble model is slow and a huge amount of resources are required. We leverage the technique of distillation to ensemble multiple models into a single model solves the problem of slow inference process. - -## 2、Quick Start - -### Environment -- Python >= 2.7 -- cuda >= 9.0 -- cudnn >= 7.0 -- PaddlePaddle >= 1.6 Please refer to Installation Guide [Installation Guide](http://www.paddlepaddle.org/#quick-start) - -### Data and Models Preparation -User can get the data and trained knowledge_distillation models directly we provided: -``` -bash wget_models_and_data.sh -``` -user can get data and models directorys: - -data: - -./data/input/mlm_data: mask language model dataset. - -./data/input/mrqa_distill_data: mrqa dataset, it includes two parts: mrqa_distill.json(json data we calculate from teacher models), mrqa-combined.all_dev.raw.json(merge all mrqa dev dataset). - -./data/input/mrqa_evaluation_dataset: mrqa evaluation data(in_domain data and out_of_domain json data). - -models: - -./data/pretrain_model/squad2_model: pretrain model(google squad2.0 model as pretrain model [Model Link](https://worksheets.codalab.org/worksheets/0x3852e60a51d2444680606556d404c657)). - -./data/saved_models/knowledge_distillation_model: baidu trained knowledge distillation model. - -## 3、Train and Predict -Train and predict knowledge distillation model -``` -bash run_distill.sh -``` - -## 4、Evaluation -To evaluate the result, run -``` -sh run_evaluation.sh -``` -Note that we use the evaluation script for SQuAD 1.1 here, which is equivalent to the official one. - -## 5、Performance - -| | dev in_domain(Macro-F1)| dev out_of_domain(Macro-F1) | -| ------------- | ------------ | ------------ | -| Official baseline | 77.87 | 58.67 | -| KD(4 teacher model-> student)| 83.67 | 67.34 | - -KD: knowledge distillation model(ensemble 4 teacher models to student model) - -## Copyright and License -Copyright 2019 Baidu.com, Inc. All Rights Reserved Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and -limitations under the License. - - diff --git a/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/data/input/input.md b/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/data/input/input.md deleted file mode 100644 index b10768b1..00000000 --- a/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/data/input/input.md +++ /dev/null @@ -1 +0,0 @@ -input data dir: mrqa distillation dataset and mask language model dataset diff --git a/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/data/output/output.md b/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/data/output/output.md deleted file mode 100644 index fdaa5661..00000000 --- a/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/data/output/output.md +++ /dev/null @@ -1 +0,0 @@ -save checkpoints dir diff --git a/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/data/pretrain_model/pretrain_model.md b/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/data/pretrain_model/pretrain_model.md deleted file mode 100644 index 9e3386ac..00000000 --- a/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/data/pretrain_model/pretrain_model.md +++ /dev/null @@ -1 +0,0 @@ -pretrain model dir diff --git a/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/data/saved_models/saved_models.md b/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/data/saved_models/saved_models.md deleted file mode 100644 index a78c447e..00000000 --- a/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/data/saved_models/saved_models.md +++ /dev/null @@ -1 +0,0 @@ -MRQA2019 baidu trained knowledge distillation model diff --git a/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/model/bert.py b/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/model/bert.py deleted file mode 100644 index 35650d84..00000000 --- a/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/model/bert.py +++ /dev/null @@ -1,227 +0,0 @@ -# Copyright (c) 2019 PaddlePaddle Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -"""BERT model.""" - -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function - -import six -import json -import numpy as np -import paddle.fluid as fluid - -from model.transformer_encoder import encoder as encoder -from model.transformer_encoder import pre_process_layer as pre_process_layer - - -class BertModel(object): - - def __init__(self, - src_ids, - position_ids, - sentence_ids, - input_mask, - config, - weight_sharing=True, - use_fp16=False, - model_name = ''): - - self._emb_size = config["hidden_size"] - self._n_layer = config["num_hidden_layers"] - self._n_head = config["num_attention_heads"] - self._voc_size = config["vocab_size"] - self._max_position_seq_len = config["max_position_embeddings"] - self._sent_types = config["type_vocab_size"] - self._hidden_act = config["hidden_act"] - self._prepostprocess_dropout = config["hidden_dropout_prob"] - self._attention_dropout = config["attention_probs_dropout_prob"] - self._weight_sharing = weight_sharing - - self.model_name = model_name - - self._word_emb_name = self.model_name + "word_embedding" - self._pos_emb_name = self.model_name + "pos_embedding" - self._sent_emb_name = self.model_name + "sent_embedding" - self._dtype = "float16" if use_fp16 else "float32" - - # Initialize all weigths by truncated normal initializer, and all biases - # will be initialized by constant zero by default. - self._param_initializer = fluid.initializer.TruncatedNormal( - scale=config["initializer_range"]) - - self._build_model(src_ids, position_ids, sentence_ids, input_mask, config) - - def _build_model(self, src_ids, position_ids, sentence_ids, input_mask, config): - # padding id in vocabulary must be set to 0 - emb_out = fluid.layers.embedding( - input=src_ids, - size=[self._voc_size, self._emb_size], - dtype=self._dtype, - param_attr=fluid.ParamAttr( - name=self._word_emb_name, initializer=self._param_initializer), - is_sparse=False) - - self.emb_out =emb_out - - position_emb_out = fluid.layers.embedding( - input=position_ids, - size=[self._max_position_seq_len, self._emb_size], - dtype=self._dtype, - param_attr=fluid.ParamAttr( - name=self._pos_emb_name, initializer=self._param_initializer)) - - self.position_emb_out = position_emb_out - - sent_emb_out = fluid.layers.embedding( - sentence_ids, - size=[self._sent_types, self._emb_size], - dtype=self._dtype, - param_attr=fluid.ParamAttr( - name=self._sent_emb_name, initializer=self._param_initializer)) - - self.sent_emb_out = sent_emb_out - - emb_out = emb_out + position_emb_out - emb_out = emb_out + sent_emb_out - - emb_out = pre_process_layer( - emb_out, 'nd', self._prepostprocess_dropout, name='pre_encoder') - - if self._dtype == "float16": - input_mask = fluid.layers.cast(x=input_mask, dtype=self._dtype) - - self_attn_mask = fluid.layers.matmul( - x = input_mask, y = input_mask, transpose_y = True) - - self_attn_mask = fluid.layers.scale( - x = self_attn_mask, scale = 10000.0, bias = -1.0, bias_after_scale = False) - - n_head_self_attn_mask = fluid.layers.stack( - x=[self_attn_mask] * self._n_head, axis=1) - - n_head_self_attn_mask.stop_gradient = True - - self._enc_out = encoder( - enc_input = emb_out, - attn_bias = n_head_self_attn_mask, - n_layer = self._n_layer, - n_head = self._n_head, - d_key = self._emb_size // self._n_head, - d_value = self._emb_size // self._n_head, - d_model = self._emb_size, - d_inner_hid = self._emb_size * 4, - prepostprocess_dropout = self._prepostprocess_dropout, - attention_dropout = self._attention_dropout, - relu_dropout = 0, - hidden_act = self._hidden_act, - preprocess_cmd = "", - postprocess_cmd = "dan", - param_initializer = self._param_initializer, - name = self.model_name + 'encoder') - - def get_sequence_output(self): - return self._enc_out - - def get_pooled_output(self): - """Get the first feature of each sequence for classification""" - - next_sent_feat = fluid.layers.slice( - input = self._enc_out, axes = [1], starts = [0], ends = [1]) - next_sent_feat = fluid.layers.fc( - input = next_sent_feat, - size = self._emb_size, - act = "tanh", - param_attr = fluid.ParamAttr( - name = self.model_name + "pooled_fc.w_0", - initializer = self._param_initializer), - bias_attr = "pooled_fc.b_0") - return next_sent_feat - - def get_pretraining_output(self, mask_label, mask_pos, labels): - """Get the loss & accuracy for pretraining""" - - mask_pos = fluid.layers.cast(x=mask_pos, dtype='int32') - - # extract the first token feature in each sentence - next_sent_feat = self.get_pooled_output() - reshaped_emb_out = fluid.layers.reshape( - x=self._enc_out, shape = [-1, self._emb_size]) - # extract masked tokens' feature - mask_feat = fluid.layers.gather(input = reshaped_emb_out, index = mask_pos) - - # transform: fc - mask_trans_feat = fluid.layers.fc( - input = mask_feat, - size = self._emb_size, - act = self._hidden_act, - param_attr = fluid.ParamAttr( - name = self.model_name + 'mask_lm_trans_fc.w_0', - initializer = self._param_initializer), - bias_attr = fluid.ParamAttr(name = self.model_name + 'mask_lm_trans_fc.b_0')) - # transform: layer norm - mask_trans_feat = pre_process_layer( - mask_trans_feat, 'n', name = self.model_name + 'mask_lm_trans') - - mask_lm_out_bias_attr = fluid.ParamAttr( - name = self.model_name + "mask_lm_out_fc.b_0", - initializer = fluid.initializer.Constant(value = 0.0)) - if self._weight_sharing: - fc_out = fluid.layers.matmul( - x = mask_trans_feat, - y = fluid.default_main_program().global_block().var( - self._word_emb_name), - transpose_y = True) - fc_out += fluid.layers.create_parameter( - shape = [self._voc_size], - dtype = self._dtype, - attr = mask_lm_out_bias_attr, - is_bias = True) - - else: - fc_out = fluid.layers.fc(input = mask_trans_feat, - size = self._voc_size, - param_attr = fluid.ParamAttr( - name = self.model_name + "mask_lm_out_fc.w_0", - initializer = self._param_initializer), - bias_attr = mask_lm_out_bias_attr) - - mask_lm_loss = fluid.layers.softmax_with_cross_entropy( - logits = fc_out, label = mask_label) - mean_mask_lm_loss = fluid.layers.mean(mask_lm_loss) - - next_sent_fc_out = fluid.layers.fc( - input = next_sent_feat, - size = 2, - param_attr = fluid.ParamAttr( - name = self.model_name + "next_sent_fc.w_0", - initializer = self._param_initializer), - bias_attr = self.model_name + "next_sent_fc.b_0") - - next_sent_loss, next_sent_softmax = fluid.layers.softmax_with_cross_entropy( - logits = next_sent_fc_out, label = labels, return_softmax = True) - - next_sent_acc = fluid.layers.accuracy( - input = next_sent_softmax, label = labels) - - mean_next_sent_loss = fluid.layers.mean(next_sent_loss) - - loss = mean_next_sent_loss + mean_mask_lm_loss - return next_sent_acc, mean_mask_lm_loss, loss - - -if __name__ == "__main__": - print("hello wolrd!") - - diff --git a/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/model/bert_model.py b/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/model/bert_model.py deleted file mode 100644 index 3358fdc9..00000000 --- a/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/model/bert_model.py +++ /dev/null @@ -1,106 +0,0 @@ -# Copyright (c) 2019 PaddlePaddle Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -import os -import sys -import argparse -import collections -import numpy as np -import multiprocessing -from copy import deepcopy as copy - -import paddle -import paddle.fluid as fluid - -from model.bert import BertModel -from utils.configure import JsonConfig - - -class ModelBERT(object): - - def __init__( - self, - conf, - name = "", - is_training = False, - base_model = None): - - # the name of this task - # name is used for identifying parameters - self.name = name - - # deep copy the configure of model - self.conf = copy(conf) - - self.is_training = is_training - - ## the overall loss of this task - self.loss = None - - ## outputs may be useful for the other models - self.outputs = {} - - ## the prediction of this task - self.predict = [] - - def create_model(self, - args, - reader_input, - base_model = None): - """ - given the base model, reader_input - return the create fn for create this model - """ - - def _create_model(): - - src_ids, pos_ids, sent_ids, input_mask = reader_input - - bert_conf = JsonConfig(self.conf["bert_conf_file"]) - self.bert = BertModel( - src_ids = src_ids, - position_ids = pos_ids, - sentence_ids = sent_ids, - input_mask = input_mask, - config = bert_conf, - use_fp16 = args.use_fp16, - model_name = self.name) - - self.loss = None - self.outputs = { - "sequence_output":self.bert.get_sequence_output(), - } - - return _create_model - - - def get_output(self, name): - return self.outputs[name] - - - def get_outputs(self): - return self.outputs - - def get_predict(self): - return self.predict - - -if __name__ == "__main__": - - bert_model = ModelBERT(conf = {"json_conf_path" : "./data/pretrained_models/squad2_model/bert_config.json"}) - - - - - diff --git a/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/model/mlm_net.py b/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/model/mlm_net.py deleted file mode 100644 index 18f5b4ec..00000000 --- a/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/model/mlm_net.py +++ /dev/null @@ -1,95 +0,0 @@ -# Copyright (c) 2019 PaddlePaddle Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -import paddle.fluid as fluid - -from model.transformer_encoder import pre_process_layer -from utils.configure import JsonConfig - - -def compute_loss(output_tensors, args=None): - """Compute loss for mlm model""" - fc_out = output_tensors['mlm_out'] - mask_label = output_tensors['mask_label'] - mask_lm_loss = fluid.layers.softmax_with_cross_entropy( - logits=fc_out, label=mask_label) - mean_mask_lm_loss = fluid.layers.mean(mask_lm_loss) - return mean_mask_lm_loss - - -def create_model(reader_input, base_model=None, is_training=True, args=None): - """ - given the base model, reader_input - return the output tensors - """ - mask_label, mask_pos = reader_input - - config = JsonConfig(args.bert_config_path) - - _emb_size = config['hidden_size'] - _voc_size = config['vocab_size'] - _hidden_act = config['hidden_act'] - - _word_emb_name = "word_embedding" - _dtype = "float16" if args.use_fp16 else "float32" - - _param_initializer = fluid.initializer.TruncatedNormal( - scale=config['initializer_range']) - - mask_pos = fluid.layers.cast(x=mask_pos, dtype='int32') - - enc_out = base_model.get_output("sequence_output") - - # extract the first token feature in each sentence - reshaped_emb_out = fluid.layers.reshape( - x=enc_out, shape=[-1, _emb_size]) - # extract masked tokens' feature - mask_feat = fluid.layers.gather(input=reshaped_emb_out, index=mask_pos) - num_seqs = fluid.layers.fill_constant(shape=[1], value=512, dtype='int64') - - # transform: fc - mask_trans_feat = fluid.layers.fc( - input=mask_feat, - size=_emb_size, - act=_hidden_act, - param_attr=fluid.ParamAttr( - name='mask_lm_trans_fc.w_0', - initializer=_param_initializer), - bias_attr=fluid.ParamAttr(name='mask_lm_trans_fc.b_0')) - # transform: layer norm - mask_trans_feat = pre_process_layer( - mask_trans_feat, 'n', name='mask_lm_trans') - - mask_lm_out_bias_attr = fluid.ParamAttr( - name="mask_lm_out_fc.b_0", - initializer=fluid.initializer.Constant(value=0.0)) - - fc_out = fluid.layers.matmul( - x=mask_trans_feat, - y=fluid.default_main_program().global_block().var( - _word_emb_name), - transpose_y=True) - fc_out += fluid.layers.create_parameter( - shape=[_voc_size], - dtype=_dtype, - attr=mask_lm_out_bias_attr, - is_bias=True) - - output_tensors = {} - output_tensors['num_seqs'] = num_seqs - output_tensors['mlm_out'] = fc_out - output_tensors['mask_label'] = mask_label - - return output_tensors - diff --git a/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/model/mrqa_net.py b/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/model/mrqa_net.py deleted file mode 100644 index 618b8207..00000000 --- a/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/model/mrqa_net.py +++ /dev/null @@ -1,122 +0,0 @@ -# Copyright (c) 2019 PaddlePaddle Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -import paddle.fluid as fluid - - -def compute_loss(output_tensors, args=None): - """Compute loss for mrc model""" - def _compute_single_loss(logits, positions): - """Compute start/end loss for mrc model""" - loss = fluid.layers.softmax_with_cross_entropy( - logits=logits, label=positions) - loss = fluid.layers.mean(x=loss) - return loss - - start_logits = output_tensors['start_logits'] - end_logits = output_tensors['end_logits'] - start_positions = output_tensors['start_positions'] - end_positions = output_tensors['end_positions'] - start_loss = _compute_single_loss(start_logits, start_positions) - end_loss = _compute_single_loss(end_logits, end_positions) - total_loss = (start_loss + end_loss) / 2.0 - if args.use_fp16 and args.loss_scaling > 1.0: - total_loss = total_loss * args.loss_scaling - - return total_loss - - -def compute_distill_loss(output_tensors, args=None): - """Compute loss for mrc model""" - start_logits = output_tensors['start_logits'] - end_logits = output_tensors['end_logits'] - start_logits_truth = output_tensors['start_logits_truth'] - end_logits_truth = output_tensors['end_logits_truth'] - input_mask = output_tensors['input_mask'] - def _mask(logits, input_mask, nan=1e5): - input_mask = fluid.layers.reshape(input_mask, [-1, 512]) - logits = logits - (1.0 - input_mask) * nan - return logits - start_logits = _mask(start_logits, input_mask) - end_logits = _mask(end_logits, input_mask) - start_logits_truth = _mask(start_logits_truth, input_mask) - end_logits_truth = _mask(end_logits_truth, input_mask) - start_logits_truth = fluid.layers.reshape(start_logits_truth, [-1, 512]) - end_logits_truth = fluid.layers.reshape(end_logits_truth, [-1, 512]) - T = 1.0 - start_logits_softmax = fluid.layers.softmax(input=start_logits/T) - end_logits_softmax = fluid.layers.softmax(input=end_logits/T) - start_logits_truth_softmax = fluid.layers.softmax(input=start_logits_truth/T) - end_logits_truth_softmax = fluid.layers.softmax(input=end_logits_truth/T) - start_logits_truth_softmax.stop_gradient = True - end_logits_truth_softmax.stop_gradient = True - start_loss = fluid.layers.cross_entropy(start_logits_softmax, start_logits_truth_softmax, soft_label=True) - end_loss = fluid.layers.cross_entropy(end_logits_softmax, end_logits_truth_softmax, soft_label=True) - start_loss = fluid.layers.mean(x=start_loss) - end_loss = fluid.layers.mean(x=end_loss) - total_loss = (start_loss + end_loss) / 2.0 - return total_loss - - -def create_model(reader_input, base_model=None, is_training=True, args=None): - """ - given the base model, reader_input - return the output tensors - """ - - if is_training: - if args.do_distill: - src_ids, pos_ids, sent_ids, input_mask, \ - start_logits_truth, end_logits_truth, start_positions, end_positions = reader_input - else: - src_ids, pos_ids, sent_ids, input_mask, \ - start_positions, end_positions = reader_input - else: - src_ids, pos_ids, sent_ids, input_mask, unique_id = reader_input - enc_out = base_model.get_output("sequence_output") - logits = fluid.layers.fc( - input=enc_out, - size=2, - num_flatten_dims=2, - param_attr=fluid.ParamAttr( - name="cls_squad_out_w", - initializer=fluid.initializer.TruncatedNormal(scale=0.02)), - bias_attr=fluid.ParamAttr( - name="cls_squad_out_b", initializer=fluid.initializer.Constant(0.))) - - logits = fluid.layers.transpose(x=logits, perm=[2, 0, 1]) - start_logits, end_logits = fluid.layers.unstack(x=logits, axis=0) - - batch_ones = fluid.layers.fill_constant_batch_size_like( - input=start_logits, dtype='int64', shape=[1], value=1) - num_seqs = fluid.layers.reduce_sum(input=batch_ones) - - output_tensors = {} - output_tensors['start_logits'] = start_logits - output_tensors['end_logits'] = end_logits - output_tensors['num_seqs'] = num_seqs - output_tensors['input_mask'] = input_mask - if is_training: - output_tensors['start_positions'] = start_positions - output_tensors['end_positions'] = end_positions - if args.do_distill: - output_tensors['start_logits_truth'] = start_logits_truth - output_tensors['end_logits_truth'] = end_logits_truth - - else: - output_tensors['unique_id'] = unique_id - output_tensors['start_logits'] = start_logits - output_tensors['end_logits'] = end_logits - - return output_tensors diff --git a/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/reader/joint_reader.py b/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/reader/joint_reader.py deleted file mode 100644 index b270fe1c..00000000 --- a/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/reader/joint_reader.py +++ /dev/null @@ -1,109 +0,0 @@ -# Copyright (c) 2019 PaddlePaddle Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -import os -import sys -import random -import numpy as np - -import paddle -import paddle.fluid as fluid - -from utils.placeholder import Placeholder - - -def repeat(reader): - """Repeat a generator forever""" - generator = reader() - while True: - try: - yield next(generator) - except StopIteration: - generator = reader() - yield next(generator) - - -def create_joint_generator(input_shape, generators, do_distill, is_multi_task=True): - - def empty_output(input_shape, batch_size=1): - results = [] - for i in range(len(input_shape)): - if input_shape[i][1] == 'int32': - dtype = np.int32 - if input_shape[i][1] == 'int64': - dtype = np.int64 - if input_shape[i][1] == 'float32': - dtype = np.float32 - if input_shape[i][1] == 'float64': - dtype = np.float64 - shape = input_shape[i][0] - shape[0] = batch_size - pad_tensor = np.zeros(shape=shape, dtype=dtype) - results.append(pad_tensor) - return results - - def wrapper(): - """wrapper data""" - generators_inst = [repeat(gen[0]) for gen in generators] - - generators_ratio = [gen[1] for gen in generators] - weights = [ratio/sum(generators_ratio) for ratio in generators_ratio] - run_task_id = range(len(generators)) - while True: - idx = np.random.choice(run_task_id, p=weights) - gen_results = next(generators_inst[idx]) - if not gen_results: - break - batch_size = gen_results[0].shape[0] - results = empty_output(input_shape, batch_size) - - task_id_tensor = np.array([[idx]]).astype("int64") - results[0] = task_id_tensor - for i in range(4): - results[i+1] = gen_results[i] - if do_distill: - if idx == 0: - results[5] = gen_results[4] - results[6] = gen_results[5] - results[7] = gen_results[6] - results[8] = gen_results[7] - else: - results[9] = gen_results[4] - results[10] = gen_results[5] - - else: - if idx == 0: - # mrc batch - results[5] = gen_results[4] - results[6] = gen_results[5] - elif idx == 1: - # mlm batch - results[7] = gen_results[4] - results[8] = gen_results[5] - # idx stands for the task index - yield results - - return wrapper - - -def create_reader(reader_name, input_shape, is_multi_task, do_distill, *gens): - """ - build reader for multi_task_learning - """ - placeholder = Placeholder(input_shape) - pyreader, model_inputs = placeholder.build(capacity=100, reader_name=reader_name) - joint_generator = create_joint_generator(input_shape, gens[0], do_distill, is_multi_task=is_multi_task) - - return joint_generator, pyreader, model_inputs - diff --git a/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/reader/mlm_reader.py b/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/reader/mlm_reader.py deleted file mode 100644 index 3de3ff83..00000000 --- a/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/reader/mlm_reader.py +++ /dev/null @@ -1,290 +0,0 @@ -# Copyright (c) 2019 PaddlePaddle Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -from __future__ import print_function -from __future__ import division - -import os -import re -import six -import gzip -import types -import logging -import numpy as np -import collections - -import paddle -import paddle.fluid as fluid - -from utils import tokenization -from utils.batching import prepare_batch_data - - -class DataReader(object): - def __init__(self, - data_dir, - vocab_path, - batch_size=4096, - in_tokens=True, - max_seq_len=512, - shuffle_files=True, - epoch=100, - voc_size=0, - is_test=False, - generate_neg_sample=False): - - self.vocab = self.load_vocab(vocab_path) - self.data_dir = data_dir - self.batch_size = batch_size - self.in_tokens = in_tokens - self.shuffle_files = shuffle_files - self.epoch = epoch - self.current_epoch = 0 - self.current_file_index = 0 - self.total_file = 0 - self.current_file = None - self.voc_size = voc_size - self.max_seq_len = max_seq_len - self.pad_id = self.vocab["[PAD]"] - self.cls_id = self.vocab["[CLS]"] - self.sep_id = self.vocab["[SEP]"] - self.mask_id = self.vocab["[MASK]"] - self.is_test = is_test - self.generate_neg_sample = generate_neg_sample - if self.in_tokens: - assert self.batch_size >= self.max_seq_len, "The number of " \ - "tokens in batch should not be smaller than max seq length." - - if self.is_test: - self.epoch = 1 - self.shuffle_files = False - - def get_progress(self): - """return current progress of traning data - """ - return self.current_epoch, self.current_file_index, self.total_file, self.current_file - - def parse_line(self, line, max_seq_len=512): - """ parse one line to token_ids, sentence_ids, pos_ids, label - """ - line = line.strip().decode().split(";") - assert len(line) == 4, "One sample must have 4 fields!" - (token_ids, sent_ids, pos_ids, label) = line - token_ids = [int(token) for token in token_ids.split(" ")] - sent_ids = [int(token) for token in sent_ids.split(" ")] - pos_ids = [int(token) for token in pos_ids.split(" ")] - assert len(token_ids) == len(sent_ids) == len( - pos_ids - ), "[Must be true]len(token_ids) == len(sent_ids) == len(pos_ids)" - label = int(label) - if len(token_ids) > max_seq_len: - return None - return [token_ids, sent_ids, pos_ids, label] - - def read_file(self, file): - assert file.endswith('.gz'), "[ERROR] %s is not a gzip file" % file - file_path = self.data_dir + "/" + file - with gzip.open(file_path, "rb") as f: - for line in f: - parsed_line = self.parse_line( - line, max_seq_len=self.max_seq_len) - if parsed_line is None: - continue - yield parsed_line - - def convert_to_unicode(self, text): - """Converts `text` to Unicode (if it's not already), assuming utf-8 input.""" - if six.PY3: - if isinstance(text, str): - return text - elif isinstance(text, bytes): - return text.decode("utf-8", "ignore") - else: - raise ValueError("Unsupported string type: %s" % (type(text))) - elif six.PY2: - if isinstance(text, str): - return text.decode("utf-8", "ignore") - elif isinstance(text, unicode): - return text - else: - raise ValueError("Unsupported string type: %s" % (type(text))) - else: - raise ValueError("Not running on Python2 or Python 3?") - - def load_vocab(self, vocab_file): - """Loads a vocabulary file into a dictionary.""" - vocab = collections.OrderedDict() - fin = open(vocab_file) - for num, line in enumerate(fin): - items = self.convert_to_unicode(line.strip()).split("\t") - if len(items) > 2: - break - token = items[0] - index = items[1] if len(items) == 2 else num - token = token.strip() - vocab[token] = int(index) - return vocab - - def random_pair_neg_samples(self, pos_samples): - """ randomly generate negtive samples using pos_samples - - Args: - pos_samples: list of positive samples - - Returns: - neg_samples: list of negtive samples - """ - np.random.shuffle(pos_samples) - num_sample = len(pos_samples) - neg_samples = [] - miss_num = 0 - - for i in range(num_sample): - pair_index = (i + 1) % num_sample - origin_src_ids = pos_samples[i][0] - origin_sep_index = origin_src_ids.index(2) - pair_src_ids = pos_samples[pair_index][0] - pair_sep_index = pair_src_ids.index(2) - - src_ids = origin_src_ids[:origin_sep_index + 1] + pair_src_ids[ - pair_sep_index + 1:] - if len(src_ids) >= self.max_seq_len: - miss_num += 1 - continue - sent_ids = [0] * len(origin_src_ids[:origin_sep_index + 1]) + [ - 1 - ] * len(pair_src_ids[pair_sep_index + 1:]) - pos_ids = list(range(len(src_ids))) - neg_sample = [src_ids, sent_ids, pos_ids, 0] - assert len(src_ids) == len(sent_ids) == len( - pos_ids - ), "[ERROR]len(src_id) == lne(sent_id) == len(pos_id) must be True" - neg_samples.append(neg_sample) - return neg_samples, miss_num - - def mixin_negtive_samples(self, pos_sample_generator, buffer=1000): - """ 1. generate negtive samples by randomly group sentence_1 and sentence_2 of positive samples - 2. combine negtive samples and positive samples - - Args: - pos_sample_generator: a generator producing a parsed positive sample, which is a list: [token_ids, sent_ids, pos_ids, 1] - - Returns: - sample: one sample from shuffled positive samples and negtive samples - """ - pos_samples = [] - num_total_miss = 0 - pos_sample_num = 0 - try: - while True: - while len(pos_samples) < buffer: - pos_sample = next(pos_sample_generator) - label = pos_sample[3] - assert label == 1, "positive sample's label must be 1" - pos_samples.append(pos_sample) - pos_sample_num += 1 - - neg_samples, miss_num = self.random_pair_neg_samples( - pos_samples) - num_total_miss += miss_num - samples = pos_samples + neg_samples - pos_samples = [] - np.random.shuffle(samples) - for sample in samples: - yield sample - except StopIteration: - print("stopiteration: reach end of file") - if len(pos_samples) == 1: - yield pos_samples[0] - elif len(pos_samples) == 0: - yield None - else: - neg_samples, miss_num = self.random_pair_neg_samples( - pos_samples) - num_total_miss += miss_num - samples = pos_samples + neg_samples - pos_samples = [] - np.random.shuffle(samples) - for sample in samples: - yield sample - print("miss_num:%d\tideal_total_sample_num:%d\tmiss_rate:%f" % - (num_total_miss, pos_sample_num * 2, - num_total_miss / (pos_sample_num * 2))) - - def data_generator(self): - """ - data_generator - """ - files = os.listdir(self.data_dir) - self.total_file = len(files) - assert self.total_file > 0, "[Error] data_dir is empty" - - def wrapper(): - def reader(): - for epoch in range(self.epoch): - self.current_epoch = epoch + 1 - if self.shuffle_files: - np.random.shuffle(files) - for index, file in enumerate(files): - self.current_file_index = index + 1 - self.current_file = file - sample_generator = self.read_file(file) - if not self.is_test and self.generate_neg_sample: - sample_generator = self.mixin_negtive_samples( - sample_generator) - for sample in sample_generator: - if sample is None: - continue - yield sample - - def batch_reader(reader, batch_size, in_tokens): - batch, total_token_num, max_len = [], 0, 0 - for parsed_line in reader(): - token_ids, sent_ids, pos_ids, label = parsed_line - max_len = max(max_len, len(token_ids)) - if in_tokens: - to_append = (len(batch) + 1) * max_len <= batch_size - else: - to_append = len(batch) < batch_size - if to_append: - batch.append(parsed_line) - total_token_num += len(token_ids) - else: - yield batch, total_token_num - batch, total_token_num, max_len = [parsed_line], len( - token_ids), len(token_ids) - - if len(batch) > 0: - yield batch, total_token_num - - for batch_data, total_token_num in batch_reader( - reader, self.batch_size, self.in_tokens): - yield prepare_batch_data( - batch_data, - total_token_num, - voc_size=self.voc_size, - pad_id=self.pad_id, - cls_id=self.cls_id, - sep_id=self.sep_id, - mask_id=self.mask_id, - max_len=self.max_seq_len, - return_input_mask=True, - return_max_len=False, - return_num_token=False) - - return wrapper - - -if __name__ == "__main__": - pass diff --git a/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/reader/mrqa_distill_reader.py b/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/reader/mrqa_distill_reader.py deleted file mode 100644 index 4b8f2c05..00000000 --- a/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/reader/mrqa_distill_reader.py +++ /dev/null @@ -1,105 +0,0 @@ -# Copyright (c) 2019 PaddlePaddle Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -"""Run MRQA""" - -import six -import math -import json -import random -import collections -import numpy as np - -from utils import tokenization -from utils.batching import prepare_batch_data - - -class DataProcessorDistill(object): - def __init__(self): - self.num_examples = -1 - self.current_train_example = -1 - self.current_train_epoch = -1 - - def get_features(self, data_path): - with open(data_path, 'r') as fr: - for line in fr: - yield line.strip() - - def data_generator(self, - data_file, - batch_size, - max_len, - in_tokens, - dev_count, - epochs, - shuffle): - self.num_examples = len([ "" for line in open(data_file,"r")]) - def batch_reader(data_file, in_tokens, batch_size): - batch = [] - index = 0 - for feature in self.get_features(data_file): - to_append = len(batch) < batch_size - if to_append: - batch.append(feature) - else: - yield batch - batch = [] - if len(batch) > 0: - yield batch - - def wrapper(): - for epoch in range(epochs): - all_batches = [] - for batch_data in batch_reader(data_file, in_tokens, batch_size): - batch_data_segment = [] - for feature in batch_data: - data = json.loads(feature.strip()) - example_index = data['example_index'] - unique_id = data['unique_id'] - input_ids = data['input_ids'] - position_ids = data['position_ids'] - input_mask = data['input_mask'] - segment_ids = data['segment_ids'] - start_position = data['start_position'] - end_position = data['end_position'] - start_logits = data['start_logits'] - end_logits = data['end_logits'] - instance = [input_ids, position_ids, segment_ids, input_mask, start_logits, end_logits, start_position, end_position] - batch_data_segment.append(instance) - batch_data = batch_data_segment - src_ids = [inst[0] for inst in batch_data] - pos_ids = [inst[1] for inst in batch_data] - sent_ids = [inst[2] for inst in batch_data] - input_mask = [inst[3] for inst in batch_data] - start_logits = [inst[4] for inst in batch_data] - end_logits = [inst[5] for inst in batch_data] - src_ids = np.array(src_ids).astype("int64").reshape([-1, max_len, 1]) - pos_ids = np.array(pos_ids).astype("int64").reshape([-1, max_len, 1]) - sent_ids = np.array(sent_ids).astype("int64").reshape([-1, max_len, 1]) - input_mask = np.array(input_mask).astype("float32").reshape([-1, max_len, 1]) - start_logits = np.array(start_logits).astype("float32").reshape([-1, max_len]) - end_logits = np.array(end_logits).astype("float32").reshape([-1, max_len]) - start_positions = [inst[6] for inst in batch_data] - end_positions = [inst[7] for inst in batch_data] - start_positions = np.array(start_positions).astype("int64").reshape([-1, 1]) - end_positions = np.array(end_positions).astype("int64").reshape([-1, 1]) - batch_data = [src_ids, pos_ids, sent_ids, input_mask, start_logits, end_logits, start_positions, end_positions] - - if len(all_batches) < dev_count: - all_batches.append(batch_data) - - if len(all_batches) == dev_count: - for batch in all_batches: - yield batch - all_batches = [] - return wrapper diff --git a/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/run_distill.sh b/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/run_distill.sh deleted file mode 100755 index 9042506c..00000000 --- a/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/run_distill.sh +++ /dev/null @@ -1,47 +0,0 @@ -#!/bin/bash - -export FLAGS_sync_nccl_allreduce=0 -export FLAGS_eager_delete_tensor_gb=1 - -export CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 -if [ ! "$CUDA_VISIBLE_DEVICES" ] -then - export CPU_NUM=1 - use_cuda=false -else - use_cuda=true -fi - -# path of pre_train model -INPUT_PATH="data/input" -PRETRAIN_MODEL_PATH="data/pretrain_model/squad2_model" -# path to save checkpoint -CHECKPOINT_PATH="data/output/output_mrqa" -mkdir -p $CHECKPOINT_PATH - -python -u train.py --use_cuda ${use_cuda}\ - --batch_size 8 \ - --in_tokens false \ - --init_pretraining_params ${PRETRAIN_MODEL_PATH}/params \ - --checkpoints $CHECKPOINT_PATH \ - --vocab_path ${PRETRAIN_MODEL_PATH}/vocab.txt \ - --do_distill true \ - --do_train true \ - --do_predict true \ - --save_steps 10000 \ - --warmup_proportion 0.1 \ - --weight_decay 0.01 \ - --sample_rate 0.02 \ - --epoch 2 \ - --max_seq_len 512 \ - --bert_config_path ${PRETRAIN_MODEL_PATH}/bert_config.json \ - --predict_file ${INPUT_PATH}/mrqa_distill_data/mrqa-combined.all_dev.raw.json \ - --do_lower_case false \ - --doc_stride 128 \ - --train_file ${INPUT_PATH}/mrqa_distill_data/mrqa_distill.json \ - --mlm_path ${INPUT_PATH}/mlm_data \ - --mix_ratio 2.0 \ - --learning_rate 3e-5 \ - --lr_scheduler linear_warmup_decay \ - --skip_steps 100 - diff --git a/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/run_evaluation.sh b/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/run_evaluation.sh deleted file mode 100755 index 176ce90b..00000000 --- a/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/run_evaluation.sh +++ /dev/null @@ -1,50 +0,0 @@ -#!/usr/bin/env bash -# ============================================================================== -# Copyright 2017 Baidu.com, Inc. All Rights Reserved -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============================================================================== - -# path of dev data -PATH_dev=./data/input/mrqa_evaluation_dataset - - -# path of dev predict -KD_prediction=./prediction_results/KD_ema_predictions.json - -files=$(ls ./prediction_results/*.log 2> /dev/null | wc -l) -if [ "$files" != "0" ]; -then - rm prediction_results/*.log -fi - -# evaluation KD model -echo "evaluate knowledge distillation model........................................." -for dataset in `ls $PATH_dev/in_domain_dev/*.raw.json`;do - echo $dataset >> prediction_results/KD.log - python ../multi_task_learning/scripts/evaluate-v1.1.py $dataset $KD_prediction >> prediction_results/KD.log -done - -for dataset in `ls $PATH_dev/out_of_domain_dev/*.raw.json`;do - echo $dataset >> prediction_results/KD.log - python ../multi_task_learning/scripts/evaluate-v1.1.py $dataset $KD_prediction >> prediction_results/KD.log -done -python ../multi_task_learning/scripts/macro_avg.py prediction_results/KD.log - - - - - - - - diff --git a/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/train.py b/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/train.py deleted file mode 100755 index a6ac862c..00000000 --- a/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/train.py +++ /dev/null @@ -1,515 +0,0 @@ -# Copyright (c) 2019 PaddlePaddle Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -import os -import time -import argparse -import collections -import numpy as np -import multiprocessing - -import paddle -import paddle.fluid as fluid - -from utils.placeholder import Placeholder -from utils.init import init_pretraining_params, init_checkpoint -from utils.configure import ArgumentGroup, print_arguments, JsonConfig - -from model import mlm_net -from model import mrqa_net - -from optimizer.optimization import optimization -from model.bert_model import ModelBERT -from reader.mrqa_reader import DataProcessor, write_predictions -from reader.mrqa_distill_reader import DataProcessorDistill -from reader.mlm_reader import DataReader -from reader.joint_reader import create_reader - - -parser = argparse.ArgumentParser(__doc__) -model_g = ArgumentGroup(parser, "model", "model configuration and paths.") -model_g.add_arg("bert_config_path", str, None, "Path to the json file for bert model config.") -model_g.add_arg("init_checkpoint", str, None, "Init checkpoint to resume training from.") -model_g.add_arg("init_pretraining_params", str, None, - "Init pre-training params which preforms fine-tuning from. If the " - "arg 'init_checkpoint' has been set, this argument wouldn't be valid.") -model_g.add_arg("checkpoints", str, "checkpoints", "Path to save checkpoints.") - -train_g = ArgumentGroup(parser, "training", "training options.") -train_g.add_arg("epoch", int, 3, "Number of epoches for fine-tuning.") -train_g.add_arg("learning_rate", float, 5e-5, "Learning rate used to train with warmup.") -train_g.add_arg("lr_scheduler", str, "linear_warmup_decay", - "scheduler of learning rate.", choices=['linear_warmup_decay', 'noam_decay']) -train_g.add_arg("weight_decay", float, 0.01, "Weight decay rate for L2 regularizer.") -train_g.add_arg("use_ema", bool, True, "Whether to use ema.") -train_g.add_arg("ema_decay", float, 0.9999, "Decay rate for expoential moving average.") -train_g.add_arg("warmup_proportion", float, 0.1, - "Proportion of training steps to perform linear learning rate warmup for.") -train_g.add_arg("save_steps", int, 1000, "The steps interval to save checkpoints.") -train_g.add_arg("sample_rate", float, 0.02, "train samples num.") -train_g.add_arg("use_fp16", bool, False, "Whether to use fp16 mixed precision training.") -train_g.add_arg("mix_ratio", float, 0.4, "batch mix ratio for masked language model task") -train_g.add_arg("loss_scaling", float, 1.0, - "Loss scaling factor for mixed precision training, only valid when use_fp16 is enabled.") - -train_g.add_arg("do_distill", bool, False, "do distillation") - -log_g = ArgumentGroup(parser, "logging", "logging related.") -log_g.add_arg("skip_steps", int, 10, "The steps interval to print loss.") -log_g.add_arg("verbose", bool, False, "Whether to output verbose log.") - -data_g = ArgumentGroup(parser, "data", "Data paths, vocab paths and data processing options") -data_g.add_arg("train_file", str, None, "json data for training.") -data_g.add_arg("mlm_path", str, None, "data for masked language model training.") -data_g.add_arg("predict_file", str, None, "json data for predictions.") -data_g.add_arg("vocab_path", str, None, "Vocabulary path.") -data_g.add_arg("with_negative", bool, False, - "If true, the examples contain some that do not have an answer.") -data_g.add_arg("max_seq_len", int, 512, "Number of words of the longest seqence.") -data_g.add_arg("max_query_length", int, 64, "Max query length.") -data_g.add_arg("max_answer_length", int, 30, "Max answer length.") -data_g.add_arg("batch_size", int, 12, - "Total examples' number in batch for training. see also --in_tokens.") -data_g.add_arg("in_tokens", bool, False, - "If set, the batch size will be the maximum number of tokens in one batch. " - "Otherwise, it will be the maximum number of examples in one batch.") -data_g.add_arg("do_lower_case", bool, True, - "Whether to lower case the input text. Should be True for uncased models and False for cased models.") -data_g.add_arg("doc_stride", int, 128, - "When splitting up a long document into chunks, how much stride to take between chunks.") -data_g.add_arg("n_best_size", int, 20, - "The total number of n-best predictions to generate in the nbest_predictions.json output file.") -data_g.add_arg("null_score_diff_threshold", float, 0.0, - "If null_score - best_non_null is greater than the threshold predict null.") -data_g.add_arg("random_seed", int, 0, "Random seed.") - -run_type_g = ArgumentGroup(parser, "run_type", "running type options.") -run_type_g.add_arg("use_cuda", bool, True, "If set, use GPU for training.") -run_type_g.add_arg("use_fast_executor", bool, False, - "If set, use fast parallel executor (in experiment).") -run_type_g.add_arg("num_iteration_per_drop_scope", int, 1, - "Ihe iteration intervals to clean up temporary variables.") -run_type_g.add_arg("do_train", bool, True, "Whether to perform training.") -run_type_g.add_arg("do_predict", bool, True, "Whether to perform prediction.") - -args = parser.parse_args() - - -max_seq_len = args.max_seq_len - -if args.do_distill: - input_shape = [ - ([1, 1], 'int64'), - ([-1, max_seq_len, 1], 'int64'), # src_ids - ([-1, max_seq_len, 1], 'int64'), # pos_ids - ([-1, max_seq_len, 1], 'int64'), # sent_ids - ([-1, max_seq_len, 1], 'float32'), # input_mask - ([-1, max_seq_len, 1], 'float32'), # start_logits_truth - ([-1, max_seq_len, 1], 'float32'), # end_logits_truth - ([-1, 1], 'int64'), # start label - ([-1, 1], 'int64'), # end label - ([-1, 1], 'int64'), # masked label - ([-1, 1], 'int64')] # masked pos -else: - input_shape = [ - ([1, 1], 'int64'), - ([-1, max_seq_len, 1], 'int64'), - ([-1, max_seq_len, 1], 'int64'), - ([-1, max_seq_len, 1], 'int64'), - ([-1, max_seq_len, 1], 'float32'), - ([-1, 1], 'int64'), # start label - ([-1, 1], 'int64'), # end label - ([-1, 1], 'int64'), # masked label - ([-1, 1], 'int64')] # masked pos - -# yapf: enable. - -RawResult = collections.namedtuple("RawResult", - ["unique_id", "start_logits", "end_logits"]) - - -def predict(test_exe, test_program, test_pyreader, fetch_list, processor, prefix=''): - if not os.path.exists(args.checkpoints): - os.makedirs(args.checkpoints) - output_prediction_file = os.path.join(args.checkpoints, prefix + "predictions.json") - output_nbest_file = os.path.join(args.checkpoints, prefix + "nbest_predictions.json") - output_null_log_odds_file = os.path.join(args.checkpoints, prefix + "null_odds.json") - - test_pyreader.start() - all_results = [] - time_begin = time.time() - while True: - try: - np_unique_ids, np_start_logits, np_end_logits, np_num_seqs = test_exe.run( - fetch_list=fetch_list, program=test_program) - for idx in range(np_unique_ids.shape[0]): - if np_unique_ids[idx] < 0: - continue - if len(all_results) % 1000 == 0: - print("Processing example: %d" % len(all_results)) - unique_id = int(np_unique_ids[idx]) - start_logits = [float(x) for x in np_start_logits[idx].flat] - end_logits = [float(x) for x in np_end_logits[idx].flat] - all_results.append( - RawResult( - unique_id=unique_id, - start_logits=start_logits, - end_logits=end_logits)) - except fluid.core.EOFException: - test_pyreader.reset() - break - time_end = time.time() - - features = processor.get_features( - processor.predict_examples, is_training=False) - write_predictions(processor.predict_examples, features, all_results, - args.n_best_size, args.max_answer_length, - args.do_lower_case, output_prediction_file, - output_nbest_file, output_null_log_odds_file, - args.with_negative, - args.null_score_diff_threshold, args.verbose) - - -def train(args): - - if not (args.do_train or args.do_predict): - raise ValueError("For args `do_train` and `do_predict`, at " - "least one of them must be True.") - - if args.use_cuda: - place = fluid.CUDAPlace(0) - dev_count = fluid.core.get_cuda_device_count() - else: - place = fluid.CPUPlace() - dev_count = int(os.environ.get('CPU_NUM', multiprocessing.cpu_count())) - exe = fluid.Executor(place) - - startup_prog = fluid.default_startup_program() - - if args.random_seed is not None: - startup_prog.random_seed = args.random_seed - - if args.do_train: - if args.do_distill: - train_processor = DataProcessorDistill() - mrc_train_generator = train_processor.data_generator( - data_file=args.train_file, - batch_size=args.batch_size, - max_len=args.max_seq_len, - in_tokens=False, - dev_count=dev_count, - epochs=args.epoch, - shuffle=True) - else: - train_processor = DataProcessor( - vocab_path=args.vocab_path, - do_lower_case=args.do_lower_case, - max_seq_length=args.max_seq_len, - in_tokens=args.in_tokens, - doc_stride=args.doc_stride, - max_query_length=args.max_query_length) - - mrc_train_generator = train_processor.data_generator( - data_path=args.train_file, - batch_size=args.batch_size, - max_len=args.max_seq_len, - phase='train', - shuffle=True, - dev_count=dev_count, - with_negative=args.with_negative, - epoch=args.epoch) - - bert_conf = JsonConfig(args.bert_config_path) - - data_reader = DataReader( - args.mlm_path, - vocab_path=args.vocab_path, - batch_size=args.batch_size, - in_tokens=args.in_tokens, - voc_size=bert_conf['vocab_size'], - shuffle_files=False, - epoch=args.epoch, - max_seq_len=args.max_seq_len, - is_test=False) - mlm_train_generator = data_reader.data_generator() - gens = [ - (mrc_train_generator, 1.0), - (mlm_train_generator, args.mix_ratio) - ] - # create joint pyreader - joint_generator, train_pyreader, model_inputs = \ - create_reader("train_reader", input_shape, True, args.do_distill, - gens) - train_pyreader.decorate_tensor_provider(joint_generator) - - task_id = model_inputs[0] - if args.do_distill: - bert_inputs = model_inputs[1:5] - mrc_inputs = model_inputs[1:9] - mlm_inputs = model_inputs[9:11] - else: - bert_inputs = model_inputs[1:5] - mrc_inputs = model_inputs[1:7] - mlm_inputs = model_inputs[7:9] - - # create model - train_bert_model = ModelBERT( - conf={"bert_conf_file": args.bert_config_path}, - is_training=True) - train_create_bert = train_bert_model.create_model(args, bert_inputs) - - build_strategy = fluid.BuildStrategy() - if args.do_distill: - num_train_examples = train_processor.num_examples - print("runtime number of examples:") - print(num_train_examples) - else: - print("estimating runtime number of examples...") - num_train_examples = train_processor.estimate_runtime_examples( - args.train_file, sample_rate=args.sample_rate) - print("runtime number of examples:") - print(num_train_examples) - - if args.in_tokens: - max_train_steps = args.epoch * num_train_examples // ( - args.batch_size // args.max_seq_len) // dev_count - else: - max_train_steps = args.epoch * num_train_examples // ( - args.batch_size) // dev_count - max_train_steps = int(max_train_steps * (1 + args.mix_ratio)) - warmup_steps = int(max_train_steps * args.warmup_proportion) - print("Device count: %d" % dev_count) - print("Num train examples: %d" % num_train_examples) - print("Max train steps: %d" % max_train_steps) - print("Num warmup steps: %d" % warmup_steps) - - train_program = fluid.default_main_program() - with fluid.program_guard(train_program, startup_prog): - with fluid.unique_name.guard(): - train_create_bert() - mlm_output_tensors = mlm_net.create_model( - mlm_inputs, base_model=train_bert_model, is_training=True, args=args - ) - mrc_output_tensors = mrqa_net.create_model( - mrc_inputs, base_model=train_bert_model, is_training=True, args=args - ) - task_one_hot = fluid.layers.one_hot(task_id, 2) - mrc_loss = mrqa_net.compute_loss(mrc_output_tensors, args) - if args.do_distill: - distill_loss = mrqa_net.compute_distill_loss(mrc_output_tensors, args) - mrc_loss = mrc_loss + distill_loss - num_seqs = mrc_output_tensors['num_seqs'] - mlm_loss = mlm_net.compute_loss(mlm_output_tensors) - num_seqs = mlm_output_tensors['num_seqs'] - all_loss = fluid.layers.concat([mrc_loss, mlm_loss], axis=0) - loss = fluid.layers.reduce_sum(task_one_hot * all_loss) - - scheduled_lr = optimization( - loss=loss, - warmup_steps=warmup_steps, - num_train_steps=max_train_steps, - learning_rate=args.learning_rate, - train_program=train_program, - startup_prog=startup_prog, - weight_decay=args.weight_decay, - scheduler=args.lr_scheduler, - use_fp16=args.use_fp16, - loss_scaling=args.loss_scaling) - - loss.persistable = True - num_seqs.persistable = True - - ema = fluid.optimizer.ExponentialMovingAverage(args.ema_decay) - ema.update() - - train_compiled_program = fluid.CompiledProgram(train_program).with_data_parallel( - loss_name=loss.name, build_strategy=build_strategy) - - if args.verbose: - if args.in_tokens: - lower_mem, upper_mem, unit = fluid.contrib.memory_usage( - program=train_program, - batch_size=args.batch_size // args.max_seq_len) - else: - lower_mem, upper_mem, unit = fluid.contrib.memory_usage( - program=train_program, batch_size=args.batch_size) - print("Theoretical memory usage in training: %.3f - %.3f %s" % - (lower_mem, upper_mem, unit)) - - if args.do_predict: - predict_processor = DataProcessor( - vocab_path=args.vocab_path, - do_lower_case=args.do_lower_case, - max_seq_length=args.max_seq_len, - in_tokens=args.in_tokens, - doc_stride=args.doc_stride, - max_query_length=args.max_query_length) - mrc_test_generator = predict_processor.data_generator( - data_path=args.predict_file, - batch_size=args.batch_size, - max_len=args.max_seq_len, - phase='predict', - shuffle=False, - dev_count=dev_count, - epoch=1) - - test_input_shape = [ - ([-1, max_seq_len, 1], 'int64'), - ([-1, max_seq_len, 1], 'int64'), - ([-1, max_seq_len, 1], 'int64'), - ([-1, max_seq_len, 1], 'float32'), - ([-1, 1], 'int64')] - build_strategy = fluid.BuildStrategy() - test_prog = fluid.Program() - with fluid.program_guard(test_prog, startup_prog): - with fluid.unique_name.guard(): - placeholder = Placeholder(test_input_shape) - test_pyreader, model_inputs = placeholder.build( - capacity=100, reader_name="test_reader") - - test_pyreader.decorate_tensor_provider(mrc_test_generator) - - # create model - bert_inputs = model_inputs[0:4] - mrc_inputs = model_inputs - test_bert_model = ModelBERT( - conf={"bert_conf_file": args.bert_config_path}, - is_training=False) - test_create_bert = test_bert_model.create_model(args, bert_inputs) - - test_create_bert() - mrc_output_tensors = mrqa_net.create_model( - mrc_inputs, base_model=test_bert_model, is_training=False, args=args - ) - unique_ids = mrc_output_tensors['unique_id'] - start_logits = mrc_output_tensors['start_logits'] - end_logits = mrc_output_tensors['end_logits'] - num_seqs = mrc_output_tensors['num_seqs'] - - if 'ema' not in dir(): - ema = fluid.optimizer.ExponentialMovingAverage(args.ema_decay) - - unique_ids.persistable = True - start_logits.persistable = True - end_logits.persistable = True - num_seqs.persistable = True - - test_prog = test_prog.clone(for_test=True) - test_compiled_program = fluid.CompiledProgram(test_prog).with_data_parallel( - build_strategy=build_strategy) - - exe.run(startup_prog) - - if args.do_train: - if args.init_checkpoint and args.init_pretraining_params: - print( - "WARNING: args 'init_checkpoint' and 'init_pretraining_params' " - "both are set! Only arg 'init_checkpoint' is made valid.") - if args.init_checkpoint: - init_checkpoint( - exe, - args.init_checkpoint, - main_program=startup_prog, - use_fp16=args.use_fp16) - elif args.init_pretraining_params: - init_pretraining_params( - exe, - args.init_pretraining_params, - main_program=startup_prog, - use_fp16=args.use_fp16) - elif args.do_predict: - if not args.init_checkpoint: - raise ValueError("args 'init_checkpoint' should be set if" - "only doing prediction!") - init_checkpoint( - exe, - args.init_checkpoint, - main_program=startup_prog, - use_fp16=args.use_fp16) - - if args.do_train: - train_pyreader.start() - - steps = 0 - total_cost, total_num_seqs = [], [] - time_begin = time.time() - while True: - try: - steps += 1 - if steps % args.skip_steps == 0: - if warmup_steps <= 0: - fetch_list = [loss.name, num_seqs.name] - else: - fetch_list = [ - loss.name, scheduled_lr.name, num_seqs.name - ] - else: - fetch_list = [] - - outputs = exe.run(train_compiled_program, fetch_list=fetch_list) - - if steps % args.skip_steps == 0: - if warmup_steps <= 0: - np_loss, np_num_seqs = outputs - else: - np_loss, np_lr, np_num_seqs = outputs - total_cost.extend(np_loss * np_num_seqs) - total_num_seqs.extend(np_num_seqs) - - if args.verbose: - verbose = "train pyreader queue size: %d, " % train_pyreader.queue.size( - ) - verbose += "learning rate: %f" % ( - np_lr[0] - if warmup_steps > 0 else args.learning_rate) - print(verbose) - - time_end = time.time() - used_time = time_end - time_begin - print("progress: %d/%d, step: %d, loss: %f" % (steps, max_train_steps, steps, np.sum(total_cost) / np.sum(total_num_seqs))) - - total_cost, total_num_seqs = [], [] - time_begin = time.time() - - if steps % args.save_steps == 0: - save_path = os.path.join(args.checkpoints, - "step_" + str(steps)) - fluid.io.save_persistables(exe, save_path, train_program) - if steps == max_train_steps: - save_path = os.path.join(args.checkpoints, - "step_" + str(steps) + "_final") - fluid.io.save_persistables(exe, save_path, train_program) - break - except paddle.fluid.core.EOFException as err: - save_path = os.path.join(args.checkpoints, - "step_" + str(steps) + "_final") - fluid.io.save_persistables(exe, save_path, train_program) - train_pyreader.reset() - break - - if args.do_predict: - if args.use_ema: - with ema.apply(exe): - predict(exe, test_compiled_program, test_pyreader, [ - unique_ids.name, start_logits.name, end_logits.name, num_seqs.name - ], predict_processor, prefix='ema_') - else: - predict(exe, test_compiled_program, test_pyreader, [ - unique_ids.name, start_logits.name, end_logits.name, num_seqs.name - ], predict_processor) - - -if __name__ == '__main__': - print_arguments(args) - train(args) diff --git a/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/wget_models_and_data.sh b/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/wget_models_and_data.sh deleted file mode 100755 index c58ef15a..00000000 --- a/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/wget_models_and_data.sh +++ /dev/null @@ -1,33 +0,0 @@ -# wget pretrain model -wget --no-check-certificate https://baidu-nlp.bj.bcebos.com/D-Net/squad2_model.tar.gz -tar -xvf squad2_model.tar.gz -rm squad2_model.tar.gz -mv squad2_model ./data/pretrain_model/ - -# wget knowledge_distillation dataset -wget --no-check-certificate https://baidu-nlp.bj.bcebos.com/D-Net/d_net_knowledge_distillation_dataset.tar.gz -tar -xvf d_net_knowledge_distillation_dataset.tar.gz -rm d_net_knowledge_distillation_dataset.tar.gz -mv mlm_data ./data/input -mv mrqa_distill_data ./data/input - -# wget evaluation dev dataset -wget --no-check-certificate https://baidu-nlp.bj.bcebos.com/D-Net/mrqa_evaluation_dataset.tar.gz -tar -xvf mrqa_evaluation_dataset.tar.gz -rm mrqa_evaluation_dataset.tar.gz -mv mrqa_evaluation_dataset ./data/input - -# wget predictions results -wget --no-check-certificate https://baidu-nlp.bj.bcebos.com/D-Net/kd_prediction_results.tar.gz -tar -xvf kd_prediction_results.tar.gz -rm kd_prediction_results.tar.gz - -# wget MRQA baidu trained knowledge distillation model -wget --no-check-certificate https://baidu-nlp.bj.bcebos.com/D-Net/knowledge_distillation_model.tar.gz -tar -xvf knowledge_distillation_model.tar.gz -rm knowledge_distillation_model.tar.gz -mv knowledge_distillation_model ./data/saved_models - - - - diff --git a/PaddleNLP/Research/MRQA2019-D-NET/multi_task_learning/README.md b/PaddleNLP/Research/MRQA2019-D-NET/multi_task_learning/README.md index 335634fa..c6c17a7e 100644 --- a/PaddleNLP/Research/MRQA2019-D-NET/multi_task_learning/README.md +++ b/PaddleNLP/Research/MRQA2019-D-NET/multi_task_learning/README.md @@ -1,96 +1,90 @@ -# Multi_task_learning +# Multi task learning -## 1、Introduction -The pretraining is usually performed on corpus with restricted domains, it is expected that increasing the domain diversity by further pre-training on other corpus may improve the generalization capability. Hence, we incorporate masked language model and domain classify model by using corpus from various domains as an auxiliary tasks in the fine-tuning phase, along with MRC. Additionally, we explore multi-task learning by incorporating the supervised dataset from other NLP tasks to learn better language representation. +## 1. Introduction +Multi task learning (MTL) has been used in many NLP tasks to obtain better language representations. Hence, we experiment with several auxiliary tasks to improve the generalization capability of a MRC model. The auxiliary tasks that we use include -## 2、Quick Start -We use PaddlePaddle PALM(multi-task Learning Library) to train MRQA2019 MRC multi-task baseline model, download PALM: -``` -git clone https://github.com/PaddlePaddle/PALM.git -``` + - Unsupervised Task: masked Language Model + - Supervised Tasks: + - natural language inference + - paragraph ranking + +In the MRQA 2019 shared task, We use [PALM](https://github.com/PaddlePaddle/PALM) v1.0 (a multi-task learning Library based on PaddlePaddle) to perform multi-task training, which makes the implementation of new tasks and pre-trained models much easier than from scratch. -PALM user guide: [README.md](https://github.com/PaddlePaddle/PALM/blob/master/README.md) + +## 2.Preparation ### Environment - Python >= 2.7 - cuda >= 9.0 - cudnn >= 7.0 -- PaddlePaddle >= 1.6 Please refer to Installation Guide [Installation Guide](http://www.paddlepaddle.org/#quick-start) +- PaddlePaddle 1.5.2 (Please refer to the Installation Guide [Installation Guide](http://www.paddlepaddle.org/#quick-start)) +- PALM v1.0 -### Data Preparation -#### Get data directly: -User can get the data directly we provided: -``` -bash wget_data.sh -``` +### Install PALM +To install PALM v1.0, run the follwing command under `multi_task_learning/`, -#### Convert MRC dataset to squad format data: -To download the MRQA datasets, run ``` -cd scripts && bash download_data.sh && cd .. +git clone --branch v1.0 --depth 1 https://github.com/PaddlePaddle/PALM.git ``` -The training and prediction datasets will be saved in `./scripts/train/` and `./scripts/dev/`, respectively. -The Multi_task_learning model only supports dataset files in SQuAD format. Before running the model on MRQA datasets, one need to convert the official MRQA data to SQuAD format. To do the conversion, run -``` -cd scripts && bash convert_mrqa2squad.sh && cd .. -``` -The output files will be named as `xxx.raw.json`. +For more instructions, see the PALM user guide: [README.md](https://github.com/PaddlePaddle/PALM/blob/v1.0/README.md) + + +### Dowload data + +To download the MRQA training and development data, as well as other auxiliary data for MTL, run -For convenience, we provide a script to combine all the training and development data into a single file respectively. ``` -cd scripts && bash combine.sh && cd .. +bash wget_data.sh ``` -The combined files will be saved in `./scripts/train/mrqa-combined.raw.json` and `./scripts/dev/mrqa-combined.raw.json`. +The downloaded data will be saved into `data/mrqa` (combined MRQA training and development data), `data/mrqa_dev` (seperated MRQA in-domain and out-of-domain data, for model evaluation), `mlm4mrqa` (training data for masked language model task) and `data/am4mrqa` (training data for paragraph matching task). + +### Download pre-trained parameters +In our MTL experiments, we use BERT as our shared encoder. The parameters are initialized from the Whole Word Masking BERT (BERTwwm), further fine-tuned on the SQuAD 2.0 task with synthetic generated question answering corpora. The model parameters in Tensorflow format can be downloaded [here](https://worksheets.codalab.org/worksheets/0x3852e60a51d2444680606556d404c657). The following command can be used to convert the parameters to the format that is readable for PaddlePaddle. -### Models Preparation -In this competition, We use google squad2.0 model as pretrain model [Model Link](https://worksheets.codalab.org/worksheets/0x3852e60a51d2444680606556d404c657) -we provide script to convert tensorflow model to paddle model ``` cd scripts && python convert_model_params.py --init_tf_checkpoint tf_model --fluid_params_dir paddle_model && cd .. ``` -or user can get the pretrain model and multi-task learning trained models we provided: +Alternatively, user can directly **download the parameters that we have converted**: + ``` -bash wget_models.sh +bash wget_pretrained_model.sh ``` -## 3、Train and Predict -Preparing data, models, and task profiles for PALM +## 3. Training +In the following example, we use PALM library to preform a MLT with 3 tasks (i.e. machine reading comprehension as main task, masked lagnuage model and paragraph ranking as auxiliary tasks). For a detialed instruction on PALM, please refer to the [user guide](https://github.com/PaddlePaddle/PALM/blob/v1.0/README.md). + +The PALM library requires a config file for every single task and a main config file `mtl_config.yaml`, which control the training behavior and hyper-parameters. For simplicity, we have prepared those files in the `multi_task_learning/configs` folder. To move the configuration files, data set and model parameters to the correct directory, run + ``` bash run_build_palm.sh ``` -Start training: +Once everything is in the right place, one can start training + ``` cd PALM bash run_multi_task.sh ``` +The fine-tuned parameters and model predictions will be saved in `PALM/output/`, as specified by `mtl_config.yaml`. + +## 4. Evaluation +The scripts for evaluation are in the folder `scripts/`. Here we provide an example for the usage of those scripts. +Before evaluation, one need a json file which contains the prediction results on the MRQA dev set. For convenience, we prepare two model prediction files with different MTL configurations, which have been saved in the `prediction_results/` folder, as downloaded in section **Download data**. -## 4、Evaluation To evaluate the result, run + ``` bash run_evaluation.sh ``` -Note that we use the evaluation script for SQuAD 1.1 here, which is equivalent to the official one. +The F1 and EM score of the two model predictions will be saved into `prediction_results/BERT_MLM.log` and `prediction_results/BERT_MLM_ParaRank.log`. The macro average of F1 score will be printed on the console. The table below shows the results of our experiments with different MTL configurations. -## 5、Performance -| | dev in_domain(Macro-F1)| dev out_of_domain(Macro-F1) | +|models |in-domain dev (Macro-F1)|out-of-domain dev (Macro-F1) | | ------------- | ------------ | ------------ | | Official baseline | 77.87 | 58.67 | -| BERT | 82.40 | 66.35 | +| BERT (no MTL) | 82.40 | 66.35 | | BERT + MLM | 83.19 | 67.45 | | BERT + MLM + ParaRank | 83.51 | 66.83 | -BERT: reading comprehension single model. - -BERT + MLM: reading comprehension single model as main task, mask language model as auxiliary task. - -BERT + MLM + ParaRank: reading comprehension single model as main task, mask language model and paragraph classify rank as auxiliary tasks. - -BERT config: configs/reading_comprehension.yaml - -MLM config: configs/mask_language_model.yaml - -ParaRank config: configs/answer_matching.yaml ## Copyright and License Copyright 2019 Baidu.com, Inc. All Rights Reserved Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and diff --git a/PaddleNLP/Research/MRQA2019-D-NET/multi_task_learning/run_build_palm.sh b/PaddleNLP/Research/MRQA2019-D-NET/multi_task_learning/run_build_palm.sh index 2d67633c..77ab9985 100755 --- a/PaddleNLP/Research/MRQA2019-D-NET/multi_task_learning/run_build_palm.sh +++ b/PaddleNLP/Research/MRQA2019-D-NET/multi_task_learning/run_build_palm.sh @@ -5,5 +5,4 @@ cp configs/mtl_config.yaml PALM/ rm -rf PALM/data mv data PALM/ mv squad2_model PALM/pretrain_model -mv mrqa_multi_task_models PALM/ cp run_multi_task.sh PALM/ diff --git a/PaddleNLP/Research/MRQA2019-D-NET/multi_task_learning/wget_models.sh b/PaddleNLP/Research/MRQA2019-D-NET/multi_task_learning/wget_models.sh deleted file mode 100755 index 52c28fd9..00000000 --- a/PaddleNLP/Research/MRQA2019-D-NET/multi_task_learning/wget_models.sh +++ /dev/null @@ -1,7 +0,0 @@ -wget --no-check-certificate https://baidu-nlp.bj.bcebos.com/D-Net/squad2_model.tar.gz -tar -xvf squad2_model.tar.gz -rm squad2_model.tar.gz - -wget --no-check-certificate https://baidu-nlp.bj.bcebos.com/D-Net/mrqa_multi_task_models.tar.gz -tar -xvf mrqa_multi_task_models.tar.gz -rm mrqa_multi_task_models.tar.gz diff --git a/PaddleNLP/Research/MRQA2019-D-NET/multi_task_learning/wget_pretrained_model.sh b/PaddleNLP/Research/MRQA2019-D-NET/multi_task_learning/wget_pretrained_model.sh new file mode 100755 index 00000000..ae8fb767 --- /dev/null +++ b/PaddleNLP/Research/MRQA2019-D-NET/multi_task_learning/wget_pretrained_model.sh @@ -0,0 +1,4 @@ +wget --no-check-certificate https://baidu-nlp.bj.bcebos.com/D-Net/squad2_model.tar.gz +tar -xvf squad2_model.tar.gz +rm squad2_model.tar.gz + diff --git a/PaddleNLP/Research/MRQA2019-D-NET/server/README.md b/PaddleNLP/Research/MRQA2019-D-NET/server/README.md index 4dffb4c6..ef31990a 100644 --- a/PaddleNLP/Research/MRQA2019-D-NET/server/README.md +++ b/PaddleNLP/Research/MRQA2019-D-NET/server/README.md @@ -1,28 +1,50 @@ -# server +# ensemble server system +This directory contains the ensemble system for the three models that are fine-tuned on the MRQA in-domain data (i.e. models based on ERNIE2.0, XL-NET and BERT). The architecture of the ensemble system is shown in the figure below. We first start 3 independent model server for ERNIE, XL-NET and BERT. We then start a main server to receive client requests, invoke model servers and ensemble model results. +For convinience, users are able to explore **any ensemble combinations** (e.g. ERNIE+XL-NET, BERT+XL-NET), by simply modifying the configurations. -## Introduction -MRQA 2019 Shared Task submission will be handled through the [Codalab](https://worksheets.codalab.org/) platform: see [these instructions](https://worksheets.codalab.org/worksheets/0x926e37ac8b4941f793bf9b9758cc01be/). +

+ +

-We provided D-NET models submission environment for MRQA competition. it includes two server: bert server and xlnet server, we merged the results of two serves. -## Inference Model Preparation -Download bert inference model and xlnet inferece model +## Environment +In our test environment, we use + + - Python 2.7.13 + - PaddlePaddle 1.5.2 + - sentencepiece 0.1.83 + - flask 1.1.1 + - Cuda 9.0 + - CuDNN 7.0 + +## Download model parameters +To downlowd the model parameters that are fine-tuned on the MRQA in-domain data, run + ``` bash wget_server_inference_model.sh ``` +A folder named `infere_model` will appear in `ernie_server/`, `xlnet_server/` and `bert_server/`. -## Start server +## Start servers + +Before starting the server, please make sure the ports `5118` to `5121` are available, and specify the `gpu_id` in `start.sh` (by default `GPU 0` on the machine will be used). + +To start the servers, run -We can set GPU card for bert server or xlnet server, By setting variable CUDA_VISIBLE_DEVICES: -``` -export CUDA_VISIBLE_DEVICES=1 -``` -In main_server.py file we set the server port for bert and xlnet model, as shown below, If the port 5118 or 5120 is occupied, please set up an idle port. ``` -url_1 = 'http://127.0.0.1:5118' # url for model1 -url_2 = 'http://127.0.0.1:5120' # url for model2 +bash start.sh ``` -start server +The log for the main server will be saved in `main_server.log`, and the logs for the 3 model servers witll be saved in `ernie_server/ernie.log`, `xlnet_server/xlnet.log` and `bert_server/bert.log`. + +By default, the main server will ensemble the results from ERNIE and XL-NET. To explore other ensemble combinations, one can change the configuration in `start.sh` (e.g. `python main_server.py --ernie --xlnet --bert` for 3 models, `python main_server.py --bert --xlnet` for BERT and XL-NET only). + +Note that in our test environment, we use Tesla K40 (12G) and the three modles are able to fit in a single card. For GPUs with smaller RAM, one can choose to put three models on different card by modifying the configurations in `start.sh`. + +## Send requests +Once the servers are successfully launched, one can use the client script to send requests. + ``` -bash start.sh +cd client +python client.py demo.txt results.txt 5121 ``` +This will the read the examples in `demo.txt`, send requests to the main server, and save results into `results.txt`. The format of the input file (i.e. `demo.txt`) need to be in [MRQA official format](https://github.com/mrqa/MRQA-Shared-Task-2019). \ No newline at end of file diff --git a/PaddleNLP/Research/MRQA2019-D-NET/server/bert_server/bert_model.py b/PaddleNLP/Research/MRQA2019-D-NET/server/bert_server/bert_model.py deleted file mode 100644 index cccbc4fb..00000000 --- a/PaddleNLP/Research/MRQA2019-D-NET/server/bert_server/bert_model.py +++ /dev/null @@ -1,93 +0,0 @@ -#encoding=utf8 - -import os -import sys -import argparse -from copy import deepcopy as copy -import numpy as np -import paddle -import paddle.fluid as fluid -import collections -import multiprocessing - -from pdnlp.nets.bert import BertModel -from pdnlp.toolkit.configure import JsonConfig - -class ModelBERT(object): - - def __init__( - self, - conf, - name = "", - is_training = False, - base_model = None): - - # the name of this task - # name is used for identifying parameters - self.name = name - - # deep copy the configure of model - self.conf = copy(conf) - - self.is_training = is_training - - ## the overall loss of this task - self.loss = None - - ## outputs may be useful for the other models - self.outputs = {} - - ## the prediction of this task - self.predict = [] - - def create_model(self, - args, - reader_input, - base_model = None): - """ - given the base model, reader_input - return the create fn for create this model - """ - - def _create_model(): - - src_ids, pos_ids, sent_ids, input_mask = reader_input - - bert_conf = JsonConfig(self.conf["bert_conf_file"]) - self.bert = BertModel( - src_ids = src_ids, - position_ids = pos_ids, - sentence_ids = sent_ids, - input_mask = input_mask, - config = bert_conf, - use_fp16 = args.use_fp16, - model_name = self.name) - - self.loss = None - self.outputs = { - "sequence_output": self.bert.get_sequence_output(), - # "pooled_output": self.bert.get_pooled_output() - } - - return _create_model - - - def get_output(self, name): - return self.outputs[name] - - - def get_outputs(self): - return self.outputs - - def get_predict(self): - return self.predict - - -if __name__ == "__main__": - - bert_model = ModelBERT(conf = {"json_conf_path" : "./data/pretrained_models/squad2_model/bert_config.json"}) - - - - - diff --git a/PaddleNLP/Research/MRQA2019-D-NET/server/bert_server/model_wrapper.py b/PaddleNLP/Research/MRQA2019-D-NET/server/bert_server/model_wrapper.py index d2fef7f3..eac6fd03 100644 --- a/PaddleNLP/Research/MRQA2019-D-NET/server/bert_server/model_wrapper.py +++ b/PaddleNLP/Research/MRQA2019-D-NET/server/bert_server/model_wrapper.py @@ -12,8 +12,6 @@ import argparse import numpy as np import paddle.fluid as fluid from task_reader.mrqa import DataProcessor, get_answers -from bert_model import ModelBERT -import mrc_model ema_decay = 0.9999 verbose = False diff --git a/PaddleNLP/Research/MRQA2019-D-NET/server/bert_server/mrc_model.py b/PaddleNLP/Research/MRQA2019-D-NET/server/bert_server/mrc_model.py deleted file mode 100644 index c55a4bd3..00000000 --- a/PaddleNLP/Research/MRQA2019-D-NET/server/bert_server/mrc_model.py +++ /dev/null @@ -1,70 +0,0 @@ -# encoding=utf8 - -import paddle.fluid as fluid - - -def compute_loss(output_tensors, args=None): - """Compute loss for mrc model""" - def _compute_single_loss(logits, positions): - """Compute start/end loss for mrc model""" - loss = fluid.layers.softmax_with_cross_entropy( - logits=logits, label=positions) - loss = fluid.layers.mean(x=loss) - return loss - - start_logits = output_tensors['start_logits'] - end_logits = output_tensors['end_logits'] - start_positions = output_tensors['start_positions'] - end_positions = output_tensors['end_positions'] - start_loss = _compute_single_loss(start_logits, start_positions) - end_loss = _compute_single_loss(end_logits, end_positions) - total_loss = (start_loss + end_loss) / 2.0 - if args.use_fp16 and args.loss_scaling > 1.0: - total_loss = total_loss * args.loss_scaling - - return total_loss - - -def create_model(reader_input, base_model=None, is_training=True, args=None): - """ - given the base model, reader_input - return the output tensors - """ - - if is_training: - src_ids, pos_ids, sent_ids, input_mask, \ - start_positions, end_positions = reader_input - else: - src_ids, pos_ids, sent_ids, input_mask, unique_id = reader_input - - enc_out = base_model.get_output("sequence_output") - logits = fluid.layers.fc( - input=enc_out, - size=2, - num_flatten_dims=2, - param_attr=fluid.ParamAttr( - name="cls_squad_out_w", - initializer=fluid.initializer.TruncatedNormal(scale=0.02)), - bias_attr=fluid.ParamAttr( - name="cls_squad_out_b", initializer=fluid.initializer.Constant(0.))) - - logits = fluid.layers.transpose(x=logits, perm=[2, 0, 1]) - start_logits, end_logits = fluid.layers.unstack(x=logits, axis=0) - - batch_ones = fluid.layers.fill_constant_batch_size_like( - input=start_logits, dtype='int64', shape=[1], value=1) - num_seqs = fluid.layers.reduce_sum(input=batch_ones) - - output_tensors = {} - output_tensors['start_logits'] = start_logits - output_tensors['end_logits'] = end_logits - output_tensors['num_seqs'] = num_seqs - if is_training: - output_tensors['start_positions'] = start_positions - output_tensors['end_positions'] = end_positions - else: - output_tensors['unique_id'] = unique_id - output_tensors['start_logits'] = start_logits - output_tensors['end_logits'] = end_logits - - return output_tensors diff --git a/PaddleNLP/Research/MRQA2019-D-NET/server/bert_server/pdnlp/module/transformer_encoder.py.old b/PaddleNLP/Research/MRQA2019-D-NET/server/bert_server/pdnlp/module/transformer_encoder.py.old deleted file mode 100644 index e26fa3e4..00000000 --- a/PaddleNLP/Research/MRQA2019-D-NET/server/bert_server/pdnlp/module/transformer_encoder.py.old +++ /dev/null @@ -1,351 +0,0 @@ -# Copyright (c) 2019 PaddlePaddle Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -"""Transformer encoder.""" - -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function - -from functools import partial -import numpy as np - -import paddle.fluid as fluid -import paddle.fluid.layers as layers - -def multi_head_attention(queries, - keys, - values, - attn_bias, - d_key, - d_value, - d_model, - n_head=1, - dropout_rate=0., - cache=None, - param_initializer=None, - name='multi_head_att'): - """ - Multi-Head Attention. Note that attn_bias is added to the logit before - computing softmax activiation to mask certain selected positions so that - they will not considered in attention weights. - """ - keys = queries if keys is None else keys - values = keys if values is None else values - - if not (len(queries.shape) == len(keys.shape) == len(values.shape) == 3): - raise ValueError( - "Inputs: quries, keys and values should all be 3-D tensors.") - - def __compute_qkv(queries, keys, values, n_head, d_key, d_value): - """ - Add linear projection to queries, keys, and values. - """ - q = layers.fc(input = queries, - size = d_key * n_head, - num_flatten_dims = 2, - param_attr = fluid.ParamAttr( - name = name + '_query_fc.w_0', - initializer = param_initializer), - bias_attr = name + '_query_fc.b_0') - k = layers.fc(input = keys, - size = d_key * n_head, - num_flatten_dims = 2, - param_attr = fluid.ParamAttr( - name = name + '_key_fc.w_0', - initializer = param_initializer), - bias_attr = name + '_key_fc.b_0') - v = layers.fc(input = values, - size = d_value * n_head, - num_flatten_dims = 2, - param_attr = fluid.ParamAttr( - name = name + '_value_fc.w_0', - initializer = param_initializer), - bias_attr = name + '_value_fc.b_0') - return q, k, v - - def __split_heads(x, n_head): - """ - Reshape the last dimension of inpunt tensor x so that it becomes two - dimensions and then transpose. Specifically, input a tensor with shape - [bs, max_sequence_length, n_head * hidden_dim] then output a tensor - with shape [bs, n_head, max_sequence_length, hidden_dim]. - """ - hidden_size = x.shape[-1] - # The value 0 in shape attr means copying the corresponding dimension - # size of the input as the output dimension size. - reshaped = layers.reshape( - x = x, shape = [0, 0, n_head, hidden_size // n_head], inplace=True) - - # permuate the dimensions into: - # [batch_size, n_head, max_sequence_len, hidden_size_per_head] - return layers.transpose(x=reshaped, perm=[0, 2, 1, 3]) - - def __combine_heads(x): - """ - Transpose and then reshape the last two dimensions of inpunt tensor x - so that it becomes one dimension, which is reverse to __split_heads. - """ - if len(x.shape) == 3: return x - if len(x.shape) != 4: - raise ValueError("Input(x) should be a 4-D Tensor.") - - trans_x = layers.transpose(x, perm=[0, 2, 1, 3]) - # The value 0 in shape attr means copying the corresponding dimension - # size of the input as the output dimension size. - return layers.reshape( - x = trans_x, - shape = [0, 0, trans_x.shape[2] * trans_x.shape[3]], - inplace = True) - - def scaled_dot_product_attention(q, k, v, attn_bias, d_key, dropout_rate): - """ - Scaled Dot-Product Attention - """ - scaled_q = layers.scale(x = q, scale = d_key**-0.5) - product = layers.matmul(x = scaled_q, y = k, transpose_y = True) - if attn_bias: - product += attn_bias - weights = layers.softmax(product) - if dropout_rate: - weights = layers.dropout( - weights, - dropout_prob=dropout_rate, - dropout_implementation="upscale_in_train", - is_test=False) - out = layers.matmul(weights, v) - return out - - q, k, v = __compute_qkv(queries, keys, values, n_head, d_key, d_value) - - if cache is not None: # use cache and concat time steps - # Since the inplace reshape in __split_heads changes the shape of k and - # v, which is the cache input for next time step, reshape the cache - # input from the previous time step first. - k = cache["k"] = layers.concat( - [layers.reshape( - cache["k"], shape=[0, 0, d_model]), k], axis=1) - v = cache["v"] = layers.concat( - [layers.reshape( - cache["v"], shape=[0, 0, d_model]), v], axis=1) - - q = __split_heads(q, n_head) - k = __split_heads(k, n_head) - v = __split_heads(v, n_head) - - ctx_multiheads = scaled_dot_product_attention(q, k, v, attn_bias, d_key, - dropout_rate) - - out = __combine_heads(ctx_multiheads) - - # Project back to the model size. - proj_out = layers.fc(input = out, - size = d_model, - num_flatten_dims = 2, - param_attr=fluid.ParamAttr( - name = name + '_output_fc.w_0', - initializer = param_initializer), - bias_attr = name + '_output_fc.b_0') - return proj_out - - -def positionwise_feed_forward(x, - d_inner_hid, - d_hid, - dropout_rate, - hidden_act, - param_initializer=None, - name='ffn'): - """ - Position-wise Feed-Forward Networks. - This module consists of two linear transformations with a ReLU activation - in between, which is applied to each position separately and identically. - """ - hidden = layers.fc(input=x, - size=d_inner_hid, - num_flatten_dims=2, - act=hidden_act, - param_attr=fluid.ParamAttr( - name=name + '_fc_0.w_0', - initializer=param_initializer), - bias_attr=name + '_fc_0.b_0') - if dropout_rate: - hidden = layers.dropout( - hidden, - dropout_prob=dropout_rate, - dropout_implementation="upscale_in_train", - is_test = False) - - out = layers.fc(input = hidden, - size = d_hid, - num_flatten_dims = 2, - param_attr=fluid.ParamAttr( - name = name + '_fc_1.w_0', - initializer = param_initializer), - bias_attr = name + '_fc_1.b_0') - return out - - -def pre_post_process_layer(prev_out, out, process_cmd, dropout_rate=0., - name=''): - """ - Add residual connection, layer normalization and droput to the out tensor - optionally according to the value of process_cmd. - This will be used before or after multi-head attention and position-wise - feed-forward networks. - """ - for cmd in process_cmd: - if cmd == "a": # add residual connection - out = out + prev_out if prev_out else out - elif cmd == "n": # add layer normalization - out_dtype = out.dtype - if out_dtype == fluid.core.VarDesc.VarType.FP16: - out = layers.cast(x = out, dtype = "float32") - out = layers.layer_norm( - out, - begin_norm_axis=len(out.shape) - 1, - param_attr=fluid.ParamAttr( - name = name + '_layer_norm_scale', - initializer = fluid.initializer.Constant(1.)), - bias_attr=fluid.ParamAttr( - name = name + '_layer_norm_bias', - initializer = fluid.initializer.Constant(0.))) - if out_dtype == fluid.core.VarDesc.VarType.FP16: - out = layers.cast(x = out, dtype = "float16") - elif cmd == "d": # add dropout - if dropout_rate: - out = layers.dropout( - out, - dropout_prob = dropout_rate, - dropout_implementation = "upscale_in_train", - is_test = False) - return out - - -pre_process_layer = partial(pre_post_process_layer, None) -post_process_layer = pre_post_process_layer - -def encoder_layer(enc_input, - attn_bias, - n_head, - d_key, - d_value, - d_model, - d_inner_hid, - prepostprocess_dropout, - attention_dropout, - relu_dropout, - hidden_act, - preprocess_cmd="n", - postprocess_cmd="da", - param_initializer=None, - name=''): - """The encoder layers that can be stacked to form a deep encoder. - This module consits of a multi-head (self) attention followed by - position-wise feed-forward networks and both the two components companied - with the post_process_layer to add residual connection, layer normalization - and droput. - """ - attn_output = multi_head_attention( - pre_process_layer( - enc_input, - preprocess_cmd, - prepostprocess_dropout, - name=name + '_pre_att'), - None, - None, - attn_bias, - d_key, - d_value, - d_model, - n_head, - attention_dropout, - param_initializer = param_initializer, - name = name + '_multi_head_att') - attn_output = post_process_layer( - enc_input, - attn_output, - postprocess_cmd, - prepostprocess_dropout, - name = name + '_post_att') - ffd_output = positionwise_feed_forward( - pre_process_layer( - attn_output, - preprocess_cmd, - prepostprocess_dropout, - name = name + '_pre_ffn'), - d_inner_hid, - d_model, - relu_dropout, - hidden_act, - param_initializer = param_initializer, - name = name + '_ffn') - return post_process_layer( - attn_output, - ffd_output, - postprocess_cmd, - prepostprocess_dropout, - name = name + '_post_ffn') - - -def encoder(enc_input, - attn_bias, - n_layer, - n_head, - d_key, - d_value, - d_model, - d_inner_hid, - prepostprocess_dropout, - attention_dropout, - relu_dropout, - hidden_act, - preprocess_cmd="n", - postprocess_cmd="da", - param_initializer=None, - name='', - return_all = False): - """ - The encoder is composed of a stack of identical layers returned by calling - encoder_layer. - """ - enc_outputs = [] - for i in range(n_layer): - enc_output = encoder_layer( - enc_input, - attn_bias, - n_head, - d_key, - d_value, - d_model, - d_inner_hid, - prepostprocess_dropout, - attention_dropout, - relu_dropout, - hidden_act, - preprocess_cmd, - postprocess_cmd, - param_initializer = param_initializer, - name = name + '_layer_' + str(i)) - enc_input = enc_output - if i < n_layer - 1: - enc_outputs.append(enc_output) - - enc_output = pre_process_layer( - enc_output, preprocess_cmd, prepostprocess_dropout, name="post_encoder") - enc_outputs.append(enc_output) - - if not return_all: - return enc_output - else: - return enc_output, enc_outputs diff --git a/PaddleNLP/Research/MRQA2019-D-NET/server/bert_server/reader.py b/PaddleNLP/Research/MRQA2019-D-NET/server/bert_server/reader.py deleted file mode 100644 index f634ee92..00000000 --- a/PaddleNLP/Research/MRQA2019-D-NET/server/bert_server/reader.py +++ /dev/null @@ -1,88 +0,0 @@ -#encoding=utf8 -import os -import sys -import random -import numpy as np -import paddle -import paddle.fluid as fluid -from pdnlp.toolkit.placeholder import Placeholder - - -def repeat(reader): - """Repeat a generator forever""" - generator = reader() - while True: - try: - yield next(generator) - except StopIteration: - generator = reader() - yield next(generator) - - -def create_joint_generator(input_shape, generators, is_multi_task=True): - - def empty_output(input_shape, batch_size=1): - results = [] - for i in range(len(input_shape)): - if input_shape[i][1] == 'int32': - dtype = np.int32 - if input_shape[i][1] == 'int64': - dtype = np.int64 - if input_shape[i][1] == 'float32': - dtype = np.float32 - if input_shape[i][1] == 'float64': - dtype = np.float64 - shape = input_shape[i][0] - shape[0] = batch_size - pad_tensor = np.zeros(shape=shape, dtype=dtype) - results.append(pad_tensor) - return results - - def wrapper(): - """wrapper data""" - generators_inst = [repeat(gen[0]) for gen in generators] - - generators_ratio = [gen[1] for gen in generators] - weights = [ratio/sum(generators_ratio) for ratio in generators_ratio] - run_task_id = range(len(generators)) - while True: - idx = np.random.choice(run_task_id, p=weights) - gen_results = next(generators_inst[idx]) - if not gen_results: - break - batch_size = gen_results[0].shape[0] - results = empty_output(input_shape, batch_size) - - task_id_tensor = np.array([[idx]]).astype("int64") - results[0] = task_id_tensor - for i in range(4): - results[i+1] = gen_results[i] - if idx == 0: - # mrc batch - results[5] = gen_results[4] - results[6] = gen_results[5] - elif idx == 1: - # mlm batch - results[7] = gen_results[4] - results[8] = gen_results[5] - elif idx == 2: - # MNLI batch - results[9] = gen_results[4] - else: - raise RuntimeError('Invalid task ID - {}'.format(idx)) - # idx stands for the task index - yield results - - return wrapper - - -def create_reader(reader_name, input_shape, is_multi_task, *gens): - """ - build reader for multi_task_learning - """ - placeholder = Placeholder(input_shape) - pyreader, model_inputs = placeholder.build(capacity=100, reader_name=reader_name) - joint_generator = create_joint_generator(input_shape, gens[0], is_multi_task=is_multi_task) - - return joint_generator, pyreader, model_inputs - diff --git a/PaddleNLP/Research/MRQA2019-D-NET/server/bert_server/start.sh b/PaddleNLP/Research/MRQA2019-D-NET/server/bert_server/start.sh index bb191a9e..f0ca8c51 100755 --- a/PaddleNLP/Research/MRQA2019-D-NET/server/bert_server/start.sh +++ b/PaddleNLP/Research/MRQA2019-D-NET/server/bert_server/start.sh @@ -1,3 +1,6 @@ export FLAGS_fraction_of_gpu_memory_to_use=0.1 -python start_service.py ./infer_model 5118 & +port=$1 +gpu=$2 +export CUDA_VISIBLE_DEVICES=$gpu +python start_service.py ./infer_model $port diff --git a/PaddleNLP/Research/MRQA2019-D-NET/server/bert_server/start_service.py b/PaddleNLP/Research/MRQA2019-D-NET/server/bert_server/start_service.py index 35a1d3ae..54d4bf84 100644 --- a/PaddleNLP/Research/MRQA2019-D-NET/server/bert_server/start_service.py +++ b/PaddleNLP/Research/MRQA2019-D-NET/server/bert_server/start_service.py @@ -1,9 +1,7 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -"""Provide MRC service for TOP1 short answer extraction system -Note the services here share some global pre/post process objects, which -are **NOT THREAD SAFE**. Try to use multi-process instead of multi-thread -for deployment. +""" +BERT model service """ import json import sys diff --git a/PaddleNLP/Research/MRQA2019-D-NET/server/client/client.py b/PaddleNLP/Research/MRQA2019-D-NET/server/client/client.py new file mode 100644 index 00000000..a72fb266 --- /dev/null +++ b/PaddleNLP/Research/MRQA2019-D-NET/server/client/client.py @@ -0,0 +1,43 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +""" +Query the MRQA model server to generate predictions. +""" +import argparse +import json +import requests +import time + + +if __name__ == '__main__': + parse = argparse.ArgumentParser("") + parse.add_argument("dataset") + parse.add_argument("output_file") + parse.add_argument("port", type=int) + args = parse.parse_args() + + all_predictions = {} + contexts = [] + f = open(args.dataset) + for example in f: + context = json.loads(example) + if 'header' in context: + continue + contexts.append(context) + f.close() + + results = {} + cnt = 0 + for context in contexts: + cnt += 1 + start = time.time() + pred = requests.post('http://127.0.0.1:%d' % args.port, json=context) + result = pred.json() + results.update(result) + end=time.time() + print('----- request cnt: {}, time elapsed: {:.2f} ms -----'.format(cnt, (end - start)*1000)) + for qid, answer in result.items(): + print('{}: {}'.format(qid, answer.encode('utf-8'))) + with open(args.output_file,'w') as f: + json.dump(results, f, indent=1) + diff --git a/PaddleNLP/Research/MRQA2019-D-NET/server/client/demo.txt b/PaddleNLP/Research/MRQA2019-D-NET/server/client/demo.txt new file mode 100644 index 00000000..3a45c97e --- /dev/null +++ b/PaddleNLP/Research/MRQA2019-D-NET/server/client/demo.txt @@ -0,0 +1,10 @@ +{"id": "", "context": "Super Bowl 50 was an American football game to determine the champion of the National Football League (NFL) for the 2015 season. The American Football Conference (AFC) champion Denver Broncos defeated the National Football Conference (NFC) champion Carolina Panthers 24\u201310 to earn their third Super Bowl title. The game was played on February 7, 2016, at Levi's Stadium in the San Francisco Bay Area at Santa Clara, California. As this was the 50th Super Bowl, the league emphasized the \"golden anniversary\" with various gold-themed initiatives, as well as temporarily suspending the tradition of naming each Super Bowl game with Roman numerals (under which the game would have been known as \"Super Bowl L\"), so that the logo could prominently feature the Arabic numerals 50.", "qas": [{"answers": ["Denver Broncos", "Denver Broncos", "Denver Broncos"], "question": "Which NFL team represented the AFC at Super Bowl 50?", "id": "56be4db0acb8001400a502ec", "qid": "b0626b3af0764c80b1e6f22c114982c1", "question_tokens": [["Which", 0], ["NFL", 6], ["team", 10], ["represented", 15], ["the", 27], ["AFC", 31], ["at", 35], ["Super", 38], ["Bowl", 44], ["50", 49], ["?", 51]], "detected_answers": [{"text": "Denver Broncos", "char_spans": [[177, 190]], "token_spans": [[33, 34]]}]}, {"answers": ["Carolina Panthers", "Carolina Panthers", "Carolina Panthers"], "question": "Which NFL team represented the NFC at Super Bowl 50?", "id": "56be4db0acb8001400a502ed", "qid": "8d96e9feff464a52a15e192b1dc9ed01", "question_tokens": [["Which", 0], ["NFL", 6], ["team", 10], ["represented", 15], ["the", 27], ["NFC", 31], ["at", 35], ["Super", 38], ["Bowl", 44], ["50", 49], ["?", 51]], "detected_answers": [{"text": "Carolina Panthers", "char_spans": [[249, 265]], "token_spans": [[44, 45]]}]}, {"answers": ["Santa Clara, California", "Levi's Stadium", "Levi's Stadium in the San Francisco Bay Area at Santa Clara, California."], "question": "Where did Super Bowl 50 take place?", "id": "56be4db0acb8001400a502ee", "qid": "190fdfbc068243a7a04eb3ed59808db8", "question_tokens": [["Where", 0], ["did", 6], ["Super", 10], ["Bowl", 16], ["50", 21], ["take", 24], ["place", 29], ["?", 34]], "detected_answers": [{"text": "Levi's Stadium in the San Francisco Bay Area at Santa Clara, California.", "char_spans": [[355, 426]], "token_spans": [[66, 80]]}]}, {"answers": ["Denver Broncos", "Denver Broncos", "Denver Broncos"], "question": "Which NFL team won Super Bowl 50?", "id": "56be4db0acb8001400a502ef", "qid": "e8d4a7478ed5439fa55c2660267bcaa1", "question_tokens": [["Which", 0], ["NFL", 6], ["team", 10], ["won", 15], ["Super", 19], ["Bowl", 25], ["50", 30], ["?", 32]], "detected_answers": [{"text": "Denver Broncos", "char_spans": [[177, 190]], "token_spans": [[33, 34]]}]}, {"answers": ["gold", "gold", "gold"], "question": "What color was used to emphasize the 50th anniversary of the Super Bowl?", "id": "56be4db0acb8001400a502f0", "qid": "74019130542f49e184d733607e565a68", "question_tokens": [["What", 0], ["color", 5], ["was", 11], ["used", 15], ["to", 20], ["emphasize", 23], ["the", 33], ["50th", 37], ["anniversary", 42], ["of", 54], ["the", 57], ["Super", 61], ["Bowl", 67], ["?", 71]], "detected_answers": [{"text": "gold", "char_spans": [[521, 524]], "token_spans": [[99, 99]]}]}, {"answers": ["\"golden anniversary\"", "gold-themed", "\"golden anniversary"], "question": "What was the theme of Super Bowl 50?", "id": "56be8e613aeaaa14008c90d1", "qid": "3729174743f74ed58aa64cb7c7dbc7b3", "question_tokens": [["What", 0], ["was", 5], ["the", 9], ["theme", 13], ["of", 19], ["Super", 22], ["Bowl", 28], ["50", 33], ["?", 35]], "detected_answers": [{"text": "\"golden anniversary", "char_spans": [[487, 505]], "token_spans": [[93, 95]]}]}, {"answers": ["February 7, 2016", "February 7", "February 7, 2016"], "question": "What day was the game played on?", "id": "56be8e613aeaaa14008c90d2", "qid": "cc75a31d588842848d9890cafe092dec", "question_tokens": [["What", 0], ["day", 5], ["was", 9], ["the", 13], ["game", 17], ["played", 22], ["on", 29], ["?", 31]], "detected_answers": [{"text": "February 7, 2016", "char_spans": [[334, 349]], "token_spans": [[60, 63]]}]}, {"answers": ["American Football Conference", "American Football Conference", "American Football Conference"], "question": "What is the AFC short for?", "id": "56be8e613aeaaa14008c90d3", "qid": "7c1424bfa53a4de28c3ec91adfbfe4ab", "question_tokens": [["What", 0], ["is", 5], ["the", 8], ["AFC", 12], ["short", 16], ["for", 22], ["?", 25]], "detected_answers": [{"text": "American Football Conference", "char_spans": [[133, 160]], "token_spans": [[26, 28]]}]}, {"answers": ["\"golden anniversary\"", "gold-themed", "gold"], "question": "What was the theme of Super Bowl 50?", "id": "56bea9923aeaaa14008c91b9", "qid": "78a00c316d9e40e69711a9b5c7a932a0", "question_tokens": [["What", 0], ["was", 5], ["the", 9], ["theme", 13], ["of", 19], ["Super", 22], ["Bowl", 28], ["50", 33], ["?", 35]], "detected_answers": [{"text": "gold", "char_spans": [[521, 524]], "token_spans": [[99, 99]]}]}, {"answers": ["American Football Conference", "American Football Conference", "American Football Conference"], "question": "What does AFC stand for?", "id": "56bea9923aeaaa14008c91ba", "qid": "1ef03938ae3848798b701dd4dbb30bd9", "question_tokens": [["What", 0], ["does", 5], ["AFC", 10], ["stand", 14], ["for", 20], ["?", 23]], "detected_answers": [{"text": "American Football Conference", "char_spans": [[133, 160]], "token_spans": [[26, 28]]}]}, {"answers": ["February 7, 2016", "February 7", "February 7, 2016"], "question": "What day was the Super Bowl played on?", "id": "56bea9923aeaaa14008c91bb", "qid": "cfd440704eee420b9fdf92725a6cdb64", "question_tokens": [["What", 0], ["day", 5], ["was", 9], ["the", 13], ["Super", 17], ["Bowl", 23], ["played", 28], ["on", 35], ["?", 37]], "detected_answers": [{"text": "February 7, 2016", "char_spans": [[334, 349]], "token_spans": [[60, 63]]}]}, {"answers": ["Denver Broncos", "Denver Broncos", "Denver Broncos"], "question": "Who won Super Bowl 50?", "id": "56beace93aeaaa14008c91df", "qid": "ca4749d3d0204f418fbfbaa52a1d9ece", "question_tokens": [["Who", 0], ["won", 4], ["Super", 8], ["Bowl", 14], ["50", 19], ["?", 21]], "detected_answers": [{"text": "Denver Broncos", "char_spans": [[177, 190]], "token_spans": [[33, 34]]}]}, {"answers": ["Levi's Stadium", "Levi's Stadium", "Levi's Stadium in the San Francisco Bay Area at Santa Clara"], "question": "What venue did Super Bowl 50 take place in?", "id": "56beace93aeaaa14008c91e0", "qid": "c2c7e5d3fb87437c80d863d91f8a4e21", "question_tokens": [["What", 0], ["venue", 5], ["did", 11], ["Super", 15], ["Bowl", 21], ["50", 26], ["take", 29], ["place", 34], ["in", 40], ["?", 42]], "detected_answers": [{"text": "Levi's Stadium in the San Francisco Bay Area at Santa Clara", "char_spans": [[355, 413]], "token_spans": [[66, 77]]}]}, {"answers": ["Santa Clara", "Santa Clara", "Santa Clara"], "question": "What city did Super Bowl 50 take place in?", "id": "56beace93aeaaa14008c91e1", "qid": "643b4c1ef1644d18bf6866d95f24f900", "question_tokens": [["What", 0], ["city", 5], ["did", 10], ["Super", 14], ["Bowl", 20], ["50", 25], ["take", 28], ["place", 33], ["in", 39], ["?", 41]], "detected_answers": [{"text": "Santa Clara", "char_spans": [[403, 413]], "token_spans": [[76, 77]]}]}, {"answers": ["Super Bowl L", "L", "Super Bowl L"], "question": "If Roman numerals were used, what would Super Bowl 50 have been called?", "id": "56beace93aeaaa14008c91e2", "qid": "fad596c3f0e944abae33bf99ceccfbd6", "question_tokens": [["If", 0], ["Roman", 3], ["numerals", 9], ["were", 18], ["used", 23], [",", 27], ["what", 29], ["would", 34], ["Super", 40], ["Bowl", 46], ["50", 51], ["have", 54], ["been", 59], ["called", 64], ["?", 70]], "detected_answers": [{"text": "Super Bowl L", "char_spans": [[693, 704]], "token_spans": [[131, 133]]}]}, {"answers": ["2015", "the 2015 season", "2015"], "question": "Super Bowl 50 decided the NFL champion for what season?", "id": "56beace93aeaaa14008c91e3", "qid": "97f0c1c69a694cc8bc9edd41dd4c42be", "question_tokens": [["Super", 0], ["Bowl", 6], ["50", 11], ["decided", 14], ["the", 22], ["NFL", 26], ["champion", 30], ["for", 39], ["what", 43], ["season", 48], ["?", 54]], "detected_answers": [{"text": "2015", "char_spans": [[116, 119]], "token_spans": [[22, 22]]}]}, {"answers": ["2015", "2016", "2015"], "question": "What year did the Denver Broncos secure a Super Bowl title for the third time?", "id": "56bf10f43aeaaa14008c94fd", "qid": "d14fc2f7c07e4729a02888b4ee4c400c", "question_tokens": [["What", 0], ["year", 5], ["did", 10], ["the", 14], ["Denver", 18], ["Broncos", 25], ["secure", 33], ["a", 40], ["Super", 42], ["Bowl", 48], ["title", 53], ["for", 59], ["the", 63], ["third", 67], ["time", 73], ["?", 77]], "detected_answers": [{"text": "2015", "char_spans": [[116, 119]], "token_spans": [[22, 22]]}]}, {"answers": ["Santa Clara", "Santa Clara", "Santa Clara"], "question": "What city did Super Bowl 50 take place in?", "id": "56bf10f43aeaaa14008c94fe", "qid": "4297cde9c23a4105998937901a7fd3f6", "question_tokens": [["What", 0], ["city", 5], ["did", 10], ["Super", 14], ["Bowl", 20], ["50", 25], ["take", 28], ["place", 33], ["in", 39], ["?", 41]], "detected_answers": [{"text": "Santa Clara", "char_spans": [[403, 413]], "token_spans": [[76, 77]]}]}, {"answers": ["Levi's Stadium", "Levi's Stadium", "Levi's Stadium"], "question": "What stadium did Super Bowl 50 take place in?", "id": "56bf10f43aeaaa14008c94ff", "qid": "da8f425e541a46c19be04738f41097b3", "question_tokens": [["What", 0], ["stadium", 5], ["did", 13], ["Super", 17], ["Bowl", 23], ["50", 28], ["take", 31], ["place", 36], ["in", 42], ["?", 44]], "detected_answers": [{"text": "Levi's Stadium", "char_spans": [[355, 368]], "token_spans": [[66, 68]]}]}, {"answers": ["24\u201310", "24\u201310", "24\u201310"], "question": "What was the final score of Super Bowl 50? ", "id": "56bf10f43aeaaa14008c9500", "qid": "f944d4b2519b43e4a3dd13dda85495fc", "question_tokens": [["What", 0], ["was", 5], ["the", 9], ["final", 13], ["score", 19], ["of", 25], ["Super", 28], ["Bowl", 34], ["50", 39], ["?", 41]], "detected_answers": [{"text": "24\u201310", "char_spans": [[267, 271]], "token_spans": [[46, 46]]}]}, {"answers": ["February 7, 2016", "February 7, 2016", "February 7, 2016"], "question": "What month, day and year did Super Bowl 50 take place? ", "id": "56bf10f43aeaaa14008c9501", "qid": "adff197d69764b7fbe2a6ebaae075df4", "question_tokens": [["What", 0], ["month", 5], [",", 10], ["day", 12], ["and", 16], ["year", 20], ["did", 25], ["Super", 29], ["Bowl", 35], ["50", 40], ["take", 43], ["place", 48], ["?", 53]], "detected_answers": [{"text": "February 7, 2016", "char_spans": [[334, 349]], "token_spans": [[60, 63]]}]}, {"answers": ["2015", "2016", "2016"], "question": "What year was Super Bowl 50?", "id": "56d20362e7d4791d009025e8", "qid": "c5187d183b494ccf969a15cd0c3039e2", "question_tokens": [["What", 0], ["year", 5], ["was", 10], ["Super", 14], ["Bowl", 20], ["50", 25], ["?", 27]], "detected_answers": [{"text": "2016", "char_spans": [[346, 349]], "token_spans": [[63, 63]]}]}, {"answers": ["Denver Broncos", "Denver Broncos", "Denver Broncos"], "question": "What team was the AFC champion?", "id": "56d20362e7d4791d009025e9", "qid": "6288b96ce9944dc1b391ff08b6bd8386", "question_tokens": [["What", 0], ["team", 5], ["was", 10], ["the", 14], ["AFC", 18], ["champion", 22], ["?", 30]], "detected_answers": [{"text": "Denver Broncos", "char_spans": [[177, 190]], "token_spans": [[33, 34]]}]}, {"answers": ["Carolina Panthers", "Carolina Panthers", "Carolina Panthers"], "question": "What team was the NFC champion?", "id": "56d20362e7d4791d009025ea", "qid": "80edad8dc6254bd680100e36be2cfa98", "question_tokens": [["What", 0], ["team", 5], ["was", 10], ["the", 14], ["NFC", 18], ["champion", 22], ["?", 30]], "detected_answers": [{"text": "Carolina Panthers", "char_spans": [[249, 265]], "token_spans": [[44, 45]]}]}, {"answers": ["Denver Broncos", "Denver Broncos", "Denver Broncos"], "question": "Who won Super Bowl 50?", "id": "56d20362e7d4791d009025eb", "qid": "556c5788c4574cc78d53a241004c4e93", "question_tokens": [["Who", 0], ["won", 4], ["Super", 8], ["Bowl", 14], ["50", 19], ["?", 21]], "detected_answers": [{"text": "Denver Broncos", "char_spans": [[177, 190]], "token_spans": [[33, 34]]}]}, {"answers": ["2015", "the 2015 season", "2015"], "question": "Super Bowl 50 determined the NFL champion for what season?", "id": "56d600e31c85041400946eae", "qid": "18d7493cca8a44db945ff16a2949e26d", "question_tokens": [["Super", 0], ["Bowl", 6], ["50", 11], ["determined", 14], ["the", 25], ["NFL", 29], ["champion", 33], ["for", 42], ["what", 46], ["season", 51], ["?", 57]], "detected_answers": [{"text": "2015", "char_spans": [[116, 119]], "token_spans": [[22, 22]]}]}, {"answers": ["Denver Broncos", "Denver Broncos", "Denver Broncos"], "question": "Which team won Super Bowl 50.", "id": "56d600e31c85041400946eb0", "qid": "6392df5f107a4acf9d96321f1e0c177d", "question_tokens": [["Which", 0], ["team", 6], ["won", 11], ["Super", 15], ["Bowl", 21], ["50", 26], [".", 28]], "detected_answers": [{"text": "Denver Broncos", "char_spans": [[177, 190]], "token_spans": [[33, 34]]}]}, {"answers": ["Santa Clara, California.", "Levi's Stadium", "Levi's Stadium"], "question": "Where was Super Bowl 50 held?", "id": "56d600e31c85041400946eb1", "qid": "81485c83e23a45448e2b9d31a679d73b", "question_tokens": [["Where", 0], ["was", 6], ["Super", 10], ["Bowl", 16], ["50", 21], ["held", 24], ["?", 28]], "detected_answers": [{"text": "Levi's Stadium", "char_spans": [[355, 368]], "token_spans": [[66, 68]]}]}, {"answers": ["Super Bowl", "Super Bowl", "Super Bowl"], "question": "The name of the NFL championship game is?", "id": "56d9895ddc89441400fdb50e", "qid": "5668cdd5c25b4549856d628a3ec248d9", "question_tokens": [["The", 0], ["name", 4], ["of", 9], ["the", 12], ["NFL", 16], ["championship", 20], ["game", 33], ["is", 38], ["?", 40]], "detected_answers": [{"text": "Super Bowl", "token_spans": [[0, 1], [86, 87], [51, 52], [114, 115], [131, 132]], "char_spans": [[0, 9], [449, 458], [293, 302], [609, 618], [693, 702]]}]}, {"answers": ["Denver Broncos", "Denver Broncos", "Denver Broncos"], "question": "What 2015 NFL team one the AFC playoff?", "id": "56d9895ddc89441400fdb510", "qid": "52d6568dd0b74a99866cad2599161a4a", "question_tokens": [["What", 0], ["2015", 5], ["NFL", 10], ["team", 14], ["one", 19], ["the", 23], ["AFC", 27], ["playoff", 31], ["?", 38]], "detected_answers": [{"text": "Denver Broncos", "char_spans": [[177, 190]], "token_spans": [[33, 34]]}]}], "context_tokens": [["Super", 0], ["Bowl", 6], ["50", 11], ["was", 14], ["an", 18], ["American", 21], ["football", 30], ["game", 39], ["to", 44], ["determine", 47], ["the", 57], ["champion", 61], ["of", 70], ["the", 73], ["National", 77], ["Football", 86], ["League", 95], ["(", 102], ["NFL", 103], [")", 106], ["for", 108], ["the", 112], ["2015", 116], ["season", 121], [".", 127], ["The", 129], ["American", 133], ["Football", 142], ["Conference", 151], ["(", 162], ["AFC", 163], [")", 166], ["champion", 168], ["Denver", 177], ["Broncos", 184], ["defeated", 192], ["the", 201], ["National", 205], ["Football", 214], ["Conference", 223], ["(", 234], ["NFC", 235], [")", 238], ["champion", 240], ["Carolina", 249], ["Panthers", 258], ["24\u201310", 267], ["to", 273], ["earn", 276], ["their", 281], ["third", 287], ["Super", 293], ["Bowl", 299], ["title", 304], [".", 309], ["The", 311], ["game", 315], ["was", 320], ["played", 324], ["on", 331], ["February", 334], ["7", 343], [",", 344], ["2016", 346], [",", 350], ["at", 352], ["Levi", 355], ["'s", 359], ["Stadium", 362], ["in", 370], ["the", 373], ["San", 377], ["Francisco", 381], ["Bay", 391], ["Area", 395], ["at", 400], ["Santa", 403], ["Clara", 409], [",", 414], ["California", 416], [".", 426], ["As", 428], ["this", 431], ["was", 436], ["the", 440], ["50th", 444], ["Super", 449], ["Bowl", 455], [",", 459], ["the", 461], ["league", 465], ["emphasized", 472], ["the", 483], ["\"", 487], ["golden", 488], ["anniversary", 495], ["\"", 506], ["with", 508], ["various", 513], ["gold", 521], ["-", 525], ["themed", 526], ["initiatives", 533], [",", 544], ["as", 546], ["well", 549], ["as", 554], ["temporarily", 557], ["suspending", 569], ["the", 580], ["tradition", 584], ["of", 594], ["naming", 597], ["each", 604], ["Super", 609], ["Bowl", 615], ["game", 620], ["with", 625], ["Roman", 630], ["numerals", 636], ["(", 645], ["under", 646], ["which", 652], ["the", 658], ["game", 662], ["would", 667], ["have", 673], ["been", 678], ["known", 683], ["as", 689], ["\"", 692], ["Super", 693], ["Bowl", 699], ["L", 704], ["\"", 705], [")", 706], [",", 707], ["so", 709], ["that", 712], ["the", 717], ["logo", 721], ["could", 726], ["prominently", 732], ["feature", 744], ["the", 752], ["Arabic", 756], ["numerals", 763], ["50", 772], [".", 774]]} +{"id": "", "context": "The Broncos took an early lead in Super Bowl 50 and never trailed. Newton was limited by Denver's defense, which sacked him seven times and forced him into three turnovers, including a fumble which they recovered for a touchdown. Denver linebacker Von Miller was named Super Bowl MVP, recording five solo tackles, 2\u00bd sacks, and two forced fumbles.", "qas": [{"answers": ["Von Miller", "Von Miller", "Miller"], "question": "Who was the Super Bowl 50 MVP?", "id": "56be4eafacb8001400a50302", "qid": "fd7bfb38f688441087d80a0351b57a67", "question_tokens": [["Who", 0], ["was", 4], ["the", 8], ["Super", 12], ["Bowl", 18], ["50", 23], ["MVP", 26], ["?", 29]], "detected_answers": [{"text": "Miller", "char_spans": [[252, 257]], "token_spans": [[47, 47]]}]}, {"answers": ["2", "two", "two"], "question": "How many fumbles did Von Miller force in Super Bowl 50?", "id": "56be4eafacb8001400a50303", "qid": "5b79e7b38c4144318840802650a9dad7", "question_tokens": [["How", 0], ["many", 4], ["fumbles", 9], ["did", 17], ["Von", 21], ["Miller", 25], ["force", 32], ["in", 38], ["Super", 41], ["Bowl", 47], ["50", 52], ["?", 54]], "detected_answers": [{"text": "two", "char_spans": [[328, 330]], "token_spans": [[63, 63]]}]}, {"answers": ["Broncos", "The Broncos", "Broncos"], "question": "Which team held the scoring lead throughout the entire game?", "id": "56be4eafacb8001400a50304", "qid": "8eb67b9ad5dc44d0b807662d713368df", "question_tokens": [["Which", 0], ["team", 6], ["held", 11], ["the", 16], ["scoring", 20], ["lead", 28], ["throughout", 33], ["the", 44], ["entire", 48], ["game", 55], ["?", 59]], "detected_answers": [{"text": "Broncos", "char_spans": [[4, 10]], "token_spans": [[1, 1]]}]}, {"answers": ["linebacker Von Miller", "Von Miller", "Miller"], "question": "Which Denver linebacker was named Super Bowl MVP?", "id": "56beab833aeaaa14008c91d2", "qid": "bfa155f66d054ed8a2bd324ffd07f306", "question_tokens": [["Which", 0], ["Denver", 6], ["linebacker", 13], ["was", 24], ["named", 28], ["Super", 34], ["Bowl", 40], ["MVP", 45], ["?", 48]], "detected_answers": [{"text": "Miller", "char_spans": [[252, 257]], "token_spans": [[47, 47]]}]}, {"answers": ["five solo tackles", "five", "five"], "question": "How many solo tackles did Von Miller make at Super Bowl 50?", "id": "56beab833aeaaa14008c91d3", "qid": "52db8fd9a50a405286d50511f0cbdc01", "question_tokens": [["How", 0], ["many", 4], ["solo", 9], ["tackles", 14], ["did", 22], ["Von", 26], ["Miller", 30], ["make", 37], ["at", 42], ["Super", 45], ["Bowl", 51], ["50", 56], ["?", 58]], "detected_answers": [{"text": "five", "char_spans": [[295, 298]], "token_spans": [[55, 55]]}]}, {"answers": ["Newton was limited by Denver's defense", "Newton", "Newton"], "question": "Who was limited by Denver's defense?", "id": "56beab833aeaaa14008c91d4", "qid": "aa128287be4c4c259f508edb9cf10649", "question_tokens": [["Who", 0], ["was", 4], ["limited", 8], ["by", 16], ["Denver", 19], ["'s", 25], ["defense", 28], ["?", 35]], "detected_answers": [{"text": "Newton", "char_spans": [[67, 72]], "token_spans": [[14, 14]]}]}, {"answers": ["seven", "seven", "seven"], "question": "How many times was Cam Newton sacked?", "id": "56beae423aeaaa14008c91f4", "qid": "346105c83f374c7d850fc3851add1c0e", "question_tokens": [["How", 0], ["many", 4], ["times", 9], ["was", 15], ["Cam", 19], ["Newton", 23], ["sacked", 30], ["?", 36]], "detected_answers": [{"text": "seven", "char_spans": [[124, 128]], "token_spans": [[25, 25]]}]}, {"answers": ["Von Miller", "The Broncos", "Miller"], "question": "Who won the Super Bowl MVP?", "id": "56beae423aeaaa14008c91f5", "qid": "419e07351e714aea8c9f8f4768193d42", "question_tokens": [["Who", 0], ["won", 4], ["the", 8], ["Super", 12], ["Bowl", 18], ["MVP", 23], ["?", 26]], "detected_answers": [{"text": "Miller", "char_spans": [[252, 257]], "token_spans": [[47, 47]]}]}, {"answers": ["three", "three", "three"], "question": "How many turnovers did Cam Newton have?", "id": "56beae423aeaaa14008c91f6", "qid": "e3458adb99b1445ba9f0c15bfb1a835b", "question_tokens": [["How", 0], ["many", 4], ["turnovers", 9], ["did", 19], ["Cam", 23], ["Newton", 27], ["have", 34], ["?", 38]], "detected_answers": [{"text": "three", "char_spans": [[156, 160]], "token_spans": [[31, 31]]}]}, {"answers": ["two", "two", "two"], "question": "How many fumbles did Von Miller force?", "id": "56beae423aeaaa14008c91f7", "qid": "4212722392fb404e9a51f825307ef039", "question_tokens": [["How", 0], ["many", 4], ["fumbles", 9], ["did", 17], ["Von", 21], ["Miller", 25], ["force", 32], ["?", 37]], "detected_answers": [{"text": "two", "char_spans": [[328, 330]], "token_spans": [[63, 63]]}]}, {"answers": ["Von Miller", "Von Miller", "Miller"], "question": "Who was given the esteemed status of MVP for Super Bowl 50?", "id": "56bf17653aeaaa14008c9511", "qid": "96a72d8e442a4f79a95e7a10343fa74d", "question_tokens": [["Who", 0], ["was", 4], ["given", 8], ["the", 14], ["esteemed", 18], ["status", 27], ["of", 34], ["MVP", 37], ["for", 41], ["Super", 45], ["Bowl", 51], ["50", 56], ["?", 58]], "detected_answers": [{"text": "Miller", "char_spans": [[252, 257]], "token_spans": [[47, 47]]}]}, {"answers": ["linebacker", "linebacker", "linebacker"], "question": "What position does Von Miller play for the Denver Broncos?", "id": "56bf17653aeaaa14008c9513", "qid": "45016738a27c46cc85e841bd27ddde8f", "question_tokens": [["What", 0], ["position", 5], ["does", 14], ["Von", 19], ["Miller", 23], ["play", 30], ["for", 35], ["the", 39], ["Denver", 43], ["Broncos", 50], ["?", 57]], "detected_answers": [{"text": "linebacker", "char_spans": [[237, 246]], "token_spans": [[45, 45]]}]}, {"answers": ["5", "five", "five"], "question": "What was the number of solo tackles that Von Miller had in Super Bowl 50?", "id": "56bf17653aeaaa14008c9514", "qid": "659ef466d7aa45eb9cd9074c865831e0", "question_tokens": [["What", 0], ["was", 5], ["the", 9], ["number", 13], ["of", 20], ["solo", 23], ["tackles", 28], ["that", 36], ["Von", 41], ["Miller", 45], ["had", 52], ["in", 56], ["Super", 59], ["Bowl", 65], ["50", 70], ["?", 72]], "detected_answers": [{"text": "five", "char_spans": [[295, 298]], "token_spans": [[55, 55]]}]}, {"answers": ["2", "two", "two"], "question": "How many forced fumbles did Von Miller have during the Super Bowl 50 game?", "id": "56bf17653aeaaa14008c9515", "qid": "a0fa827ce3e94fa2be0997ba37a5cfe6", "question_tokens": [["How", 0], ["many", 4], ["forced", 9], ["fumbles", 16], ["did", 24], ["Von", 28], ["Miller", 32], ["have", 39], ["during", 44], ["the", 51], ["Super", 55], ["Bowl", 61], ["50", 66], ["game", 69], ["?", 73]], "detected_answers": [{"text": "two", "char_spans": [[328, 330]], "token_spans": [[63, 63]]}]}, {"answers": ["Von Miller", "Von Miller", "Von Miller"], "question": "Who won the MVP for the Super Bowl?", "id": "56d204ade7d4791d00902603", "qid": "277ba1c1c0b640da94f7959433306e9d", "question_tokens": [["Who", 0], ["won", 4], ["the", 8], ["MVP", 12], ["for", 16], ["the", 20], ["Super", 24], ["Bowl", 30], ["?", 34]], "detected_answers": [{"text": "Von Miller", "char_spans": [[248, 257]], "token_spans": [[46, 47]]}]}, {"answers": ["5", "five", "five"], "question": "How many tackles did Von Miller get during the game?", "id": "56d204ade7d4791d00902604", "qid": "eacb604a58ae461c8becaf241d20fc94", "question_tokens": [["How", 0], ["many", 4], ["tackles", 9], ["did", 17], ["Von", 21], ["Miller", 25], ["get", 32], ["during", 36], ["the", 43], ["game", 47], ["?", 51]], "detected_answers": [{"text": "five", "char_spans": [[295, 298]], "token_spans": [[55, 55]]}]}, {"answers": ["seven", "seven", "seven"], "question": "How many times was Cam Newton sacked in Super Bowl 50?", "id": "56d601e41c85041400946ece", "qid": "2d10f1eb017749d286b27d931c11ad1c", "question_tokens": [["How", 0], ["many", 4], ["times", 9], ["was", 15], ["Cam", 19], ["Newton", 23], ["sacked", 30], ["in", 37], ["Super", 40], ["Bowl", 46], ["50", 51], ["?", 53]], "detected_answers": [{"text": "seven", "char_spans": [[124, 128]], "token_spans": [[25, 25]]}]}, {"answers": ["three", "three", "three"], "question": "How many times did the Denver defense force Newton into turnovers?", "id": "56d601e41c85041400946ecf", "qid": "25e7b1192a3f46b29939ca3d24ba84d1", "question_tokens": [["How", 0], ["many", 4], ["times", 9], ["did", 15], ["the", 19], ["Denver", 23], ["defense", 30], ["force", 38], ["Newton", 44], ["into", 51], ["turnovers", 56], ["?", 65]], "detected_answers": [{"text": "three", "char_spans": [[156, 160]], "token_spans": [[31, 31]]}]}, {"answers": ["a fumble", "a fumble", "fumble"], "question": "Which Newton turnover resulted in seven points for Denver?", "id": "56d601e41c85041400946ed0", "qid": "f5a36768278949f2a141aaac2b35a90d", "question_tokens": [["Which", 0], ["Newton", 6], ["turnover", 13], ["resulted", 22], ["in", 31], ["seven", 34], ["points", 40], ["for", 47], ["Denver", 51], ["?", 57]], "detected_answers": [{"text": "fumble", "char_spans": [[185, 190]], "token_spans": [[36, 36]]}]}, {"answers": ["Von Miller", "Von Miller", "Von Miller"], "question": "Who was the Most Valuable Player of Super Bowl 50?", "id": "56d601e41c85041400946ed1", "qid": "cdf0925e33f84a06991a7a956f04aa72", "question_tokens": [["Who", 0], ["was", 4], ["the", 8], ["Most", 12], ["Valuable", 17], ["Player", 26], ["of", 33], ["Super", 36], ["Bowl", 42], ["50", 47], ["?", 49]], "detected_answers": [{"text": "Von Miller", "char_spans": [[248, 257]], "token_spans": [[46, 47]]}]}, {"answers": ["linebacker", "linebacker", "linebacker"], "question": "What position does Von Miller play?", "id": "56d601e41c85041400946ed2", "qid": "056e4a0f86af48ed8e52b5a5bbb20a9e", "question_tokens": [["What", 0], ["position", 5], ["does", 14], ["Von", 19], ["Miller", 23], ["play", 30], ["?", 34]], "detected_answers": [{"text": "linebacker", "char_spans": [[237, 246]], "token_spans": [[45, 45]]}]}, {"answers": ["seven", "seven", "seven"], "question": "How many times was the Panthers' quarterback sacked?", "id": "56d98b33dc89441400fdb53b", "qid": "28add3f364454f83ad3c97bbeeef265e", "question_tokens": [["How", 0], ["many", 4], ["times", 9], ["was", 15], ["the", 19], ["Panthers", 23], ["'", 31], ["quarterback", 33], ["sacked", 45], ["?", 51]], "detected_answers": [{"text": "seven", "char_spans": [[124, 128]], "token_spans": [[25, 25]]}]}, {"answers": ["three", "three", "three"], "question": "How many times did the Broncos cause turnovers in the game?", "id": "56d98b33dc89441400fdb53c", "qid": "d1794bb6911644c890519cdcb177ee1f", "question_tokens": [["How", 0], ["many", 4], ["times", 9], ["did", 15], ["the", 19], ["Broncos", 23], ["cause", 31], ["turnovers", 37], ["in", 47], ["the", 50], ["game", 54], ["?", 58]], "detected_answers": [{"text": "three", "char_spans": [[156, 160]], "token_spans": [[31, 31]]}]}, {"answers": ["Von Miller", "Von Miller", "Von Miller"], "question": "What Denver player caused two fumbles for the Panthers?", "id": "56d98b33dc89441400fdb53d", "qid": "7bb2d15a021247b1b3d162659e7dd9f3", "question_tokens": [["What", 0], ["Denver", 5], ["player", 12], ["caused", 19], ["two", 26], ["fumbles", 30], ["for", 38], ["the", 42], ["Panthers", 46], ["?", 54]], "detected_answers": [{"text": "Von Miller", "char_spans": [[248, 257]], "token_spans": [[46, 47]]}]}, {"answers": ["five", "five", "five"], "question": "How many tackles did Von Miller accomlish by himself in the game?", "id": "56d98b33dc89441400fdb53e", "qid": "1e24127c2a4340c68af60b0d65bf2321", "question_tokens": [["How", 0], ["many", 4], ["tackles", 9], ["did", 17], ["Von", 21], ["Miller", 25], ["accomlish", 32], ["by", 42], ["himself", 45], ["in", 53], ["the", 56], ["game", 60], ["?", 64]], "detected_answers": [{"text": "five", "char_spans": [[295, 298]], "token_spans": [[55, 55]]}]}], "context_tokens": [["The", 0], ["Broncos", 4], ["took", 12], ["an", 17], ["early", 20], ["lead", 26], ["in", 31], ["Super", 34], ["Bowl", 40], ["50", 45], ["and", 48], ["never", 52], ["trailed", 58], [".", 65], ["Newton", 67], ["was", 74], ["limited", 78], ["by", 86], ["Denver", 89], ["'s", 95], ["defense", 98], [",", 105], ["which", 107], ["sacked", 113], ["him", 120], ["seven", 124], ["times", 130], ["and", 136], ["forced", 140], ["him", 147], ["into", 151], ["three", 156], ["turnovers", 162], [",", 171], ["including", 173], ["a", 183], ["fumble", 185], ["which", 192], ["they", 198], ["recovered", 203], ["for", 213], ["a", 217], ["touchdown", 219], [".", 228], ["Denver", 230], ["linebacker", 237], ["Von", 248], ["Miller", 252], ["was", 259], ["named", 263], ["Super", 269], ["Bowl", 275], ["MVP", 280], [",", 283], ["recording", 285], ["five", 295], ["solo", 300], ["tackles", 305], [",", 312], ["2\u00bd", 314], ["sacks", 317], [",", 322], ["and", 324], ["two", 328], ["forced", 332], ["fumbles", 339], [".", 346]]} +{"id": "", "context": "The Panthers finished the regular season with a 15\u20131 record, and quarterback Cam Newton was named the NFL Most Valuable Player (MVP). They defeated the Arizona Cardinals 49\u201315 in the NFC Championship Game and advanced to their second Super Bowl appearance since the franchise was founded in 1995. The Broncos finished the regular season with a 12\u20134 record, and denied the New England Patriots a chance to defend their title from Super Bowl XLIX by defeating them 20\u201318 in the AFC Championship Game. They joined the Patriots, Dallas Cowboys, and Pittsburgh Steelers as one of four teams that have made eight appearances in the Super Bowl.", "qas": [{"answers": ["Cam Newton", "Cam Newton", "Cam Newton"], "question": "Which Carolina Panthers player was named Most Valuable Player?", "id": "56be4e1facb8001400a502f6", "qid": "da07218228a644c1857fd6ccb910ae72", "question_tokens": [["Which", 0], ["Carolina", 6], ["Panthers", 15], ["player", 24], ["was", 31], ["named", 35], ["Most", 41], ["Valuable", 46], ["Player", 55], ["?", 61]], "detected_answers": [{"text": "Cam Newton", "char_spans": [[77, 86]], "token_spans": [[13, 14]]}]}, {"answers": ["8", "eight", "eight"], "question": "How many appearances have the Denver Broncos made in the Super Bowl?", "id": "56be4e1facb8001400a502f9", "qid": "49a498b05c4a4acd85397de984cf2188", "question_tokens": [["How", 0], ["many", 4], ["appearances", 9], ["have", 21], ["the", 26], ["Denver", 30], ["Broncos", 37], ["made", 45], ["in", 50], ["the", 53], ["Super", 57], ["Bowl", 63], ["?", 67]], "detected_answers": [{"text": "eight", "char_spans": [[601, 605]], "token_spans": [[109, 109]]}]}, {"answers": ["1995", "1995", "1995"], "question": "What year was the Carolina Panthers franchise founded?", "id": "56be4e1facb8001400a502fa", "qid": "3e7b4eb8b2224ed89647e15fd9d6cd23", "question_tokens": [["What", 0], ["year", 5], ["was", 10], ["the", 14], ["Carolina", 18], ["Panthers", 27], ["franchise", 36], ["founded", 46], ["?", 53]], "detected_answers": [{"text": "1995", "char_spans": [[291, 294]], "token_spans": [[51, 51]]}]}, {"answers": ["Arizona Cardinals", "the Arizona Cardinals", "Arizona Cardinals"], "question": "What team did the Panthers defeat?", "id": "56beaa4a3aeaaa14008c91c2", "qid": "323d496b4dbe465d9eae68f98bf610cb", "question_tokens": [["What", 0], ["team", 5], ["did", 10], ["the", 14], ["Panthers", 18], ["defeat", 27], ["?", 33]], "detected_answers": [{"text": "Arizona Cardinals", "char_spans": [[152, 168]], "token_spans": [[29, 30]]}]}, {"answers": ["New England Patriots", "the New England Patriots", "New England Patriots"], "question": "Who did the Broncos prevent from going to the Super Bowl?", "id": "56beaa4a3aeaaa14008c91c3", "qid": "ecdf89b712b84cbc8372a41495f62571", "question_tokens": [["Who", 0], ["did", 4], ["the", 8], ["Broncos", 12], ["prevent", 20], ["from", 28], ["going", 33], ["to", 39], ["the", 42], ["Super", 46], ["Bowl", 52], ["?", 56]], "detected_answers": [{"text": "New England Patriots", "char_spans": [[372, 391]], "token_spans": [[67, 69]]}]}, {"answers": ["Arizona Cardinals", "the Arizona Cardinals", "Arizona Cardinals"], "question": "Who did the Panthers beat in the NFC Championship Game?", "id": "56bead5a3aeaaa14008c91e9", "qid": "9e40a8ebc8564507b738a65605b9a67e", "question_tokens": [["Who", 0], ["did", 4], ["the", 8], ["Panthers", 12], ["beat", 21], ["in", 26], ["the", 29], ["NFC", 33], ["Championship", 37], ["Game", 50], ["?", 54]], "detected_answers": [{"text": "Arizona Cardinals", "char_spans": [[152, 168]], "token_spans": [[29, 30]]}]}, {"answers": ["New England Patriots", "the New England Patriots", "New England Patriots"], "question": "Who lost to the Broncos in the AFC Championship?", "id": "56bead5a3aeaaa14008c91ea", "qid": "1b9a02825aa04d5081e10af76a72440f", "question_tokens": [["Who", 0], ["lost", 4], ["to", 9], ["the", 12], ["Broncos", 16], ["in", 24], ["the", 27], ["AFC", 31], ["Championship", 35], ["?", 47]], "detected_answers": [{"text": "New England Patriots", "char_spans": [[372, 391]], "token_spans": [[67, 69]]}]}, {"answers": ["New England Patriots", "the New England Patriots", "New England Patriots"], "question": "Who were the defending Super Bowl champions?", "id": "56bead5a3aeaaa14008c91eb", "qid": "9af08f972fde41f9922d06b3f4f10c9a", "question_tokens": [["Who", 0], ["were", 4], ["the", 9], ["defending", 13], ["Super", 23], ["Bowl", 29], ["champions", 34], ["?", 43]], "detected_answers": [{"text": "New England Patriots", "char_spans": [[372, 391]], "token_spans": [[67, 69]]}]}, {"answers": ["four", "four", "four"], "question": "How many teams have been in the Super Bowl eight times?", "id": "56bead5a3aeaaa14008c91ec", "qid": "0c53b9deba6e4052833488cdfd5104e3", "question_tokens": [["How", 0], ["many", 4], ["teams", 9], ["have", 15], ["been", 20], ["in", 25], ["the", 28], ["Super", 32], ["Bowl", 38], ["eight", 43], ["times", 49], ["?", 54]], "detected_answers": [{"text": "four", "char_spans": [[575, 578]], "token_spans": [[104, 104]]}]}, {"answers": ["Cam Newton", "Cam Newton", "Cam Newton"], "question": "Who was this season's NFL MVP?", "id": "56bead5a3aeaaa14008c91ed", "qid": "6bf2e3769c5b47d899142e101e4f7ef6", "question_tokens": [["Who", 0], ["was", 4], ["this", 8], ["season", 13], ["'s", 19], ["NFL", 22], ["MVP", 26], ["?", 29]], "detected_answers": [{"text": "Cam Newton", "char_spans": [[77, 86]], "token_spans": [[13, 14]]}]}, {"answers": ["15\u20131", "15\u20131", "15\u20131"], "question": "What was the win/loss ratio in 2015 for the Carolina Panthers during their regular season?", "id": "56bf159b3aeaaa14008c9507", "qid": "437d2865eb1843b9b7d2b307b47aefc0", "question_tokens": [["What", 0], ["was", 5], ["the", 9], ["win", 13], ["/", 16], ["loss", 17], ["ratio", 22], ["in", 28], ["2015", 31], ["for", 36], ["the", 40], ["Carolina", 44], ["Panthers", 53], ["during", 62], ["their", 69], ["regular", 75], ["season", 83], ["?", 89]], "detected_answers": [{"text": "15\u20131", "char_spans": [[48, 51]], "token_spans": [[8, 8]]}]}, {"answers": ["Cam Newton", "Cam Newton", "Cam Newton"], "question": "Which Carolina Panthers team member was picked as the team's MVP in 2015? ", "id": "56bf159b3aeaaa14008c9508", "qid": "6feefc79aadb4cc2a2dbe29b3de1932d", "question_tokens": [["Which", 0], ["Carolina", 6], ["Panthers", 15], ["team", 24], ["member", 29], ["was", 36], ["picked", 40], ["as", 47], ["the", 50], ["team", 54], ["'s", 58], ["MVP", 61], ["in", 65], ["2015", 68], ["?", 72]], "detected_answers": [{"text": "Cam Newton", "char_spans": [[77, 86]], "token_spans": [[13, 14]]}]}, {"answers": ["12\u20134", "12\u20134", "12\u20134"], "question": "What were the win/loss game stats for the Denver Bronco's regular season in 2015?", "id": "56bf159b3aeaaa14008c9509", "qid": "8a18fb154ca84cbdacb07e149efaaebd", "question_tokens": [["What", 0], ["were", 5], ["the", 10], ["win", 14], ["/", 17], ["loss", 18], ["game", 23], ["stats", 28], ["for", 34], ["the", 38], ["Denver", 42], ["Bronco", 49], ["'s", 55], ["regular", 58], ["season", 66], ["in", 73], ["2015", 76], ["?", 80]], "detected_answers": [{"text": "12\u20134", "char_spans": [[344, 347]], "token_spans": [[61, 61]]}]}, {"answers": ["4", "four", "four"], "question": "How many teams have played in the Super Bowl eight times?", "id": "56bf159b3aeaaa14008c950a", "qid": "909ce53c05864cc1b802bf64daa96a57", "question_tokens": [["How", 0], ["many", 4], ["teams", 9], ["have", 15], ["played", 20], ["in", 27], ["the", 30], ["Super", 34], ["Bowl", 40], ["eight", 45], ["times", 51], ["?", 56]], "detected_answers": [{"text": "four", "char_spans": [[575, 578]], "token_spans": [[104, 104]]}]}, {"answers": ["New England Patriots", "the New England Patriots", "New England Patriots"], "question": "Which team did not get a chance to defend their Super Bowl XLIX win in Super Bowl 50?", "id": "56bf159b3aeaaa14008c950b", "qid": "4415e45815e14a0985ef22441f8a6ddc", "question_tokens": [["Which", 0], ["team", 6], ["did", 11], ["not", 15], ["get", 19], ["a", 23], ["chance", 25], ["to", 32], ["defend", 35], ["their", 42], ["Super", 48], ["Bowl", 54], ["XLIX", 59], ["win", 64], ["in", 68], ["Super", 71], ["Bowl", 77], ["50", 82], ["?", 84]], "detected_answers": [{"text": "New England Patriots", "char_spans": [[372, 391]], "token_spans": [[67, 69]]}]}, {"answers": ["Cam Newton", "Cam Newton", "Cam Newton"], "question": "Who is the quarterback for the Panthers?", "id": "56d2045de7d4791d009025f3", "qid": "e7a5911b99434f94b94b1fc214d78255", "question_tokens": [["Who", 0], ["is", 4], ["the", 7], ["quarterback", 11], ["for", 23], ["the", 27], ["Panthers", 31], ["?", 39]], "detected_answers": [{"text": "Cam Newton", "char_spans": [[77, 86]], "token_spans": [[13, 14]]}]}, {"answers": ["Arizona Cardinals", "the Arizona Cardinals", "Arizona Cardinals"], "question": "Who did Carolina beat in the NFC championship game?", "id": "56d2045de7d4791d009025f4", "qid": "5d1fa83a07cb49f8aac96a4d5442e160", "question_tokens": [["Who", 0], ["did", 4], ["Carolina", 8], ["beat", 17], ["in", 22], ["the", 25], ["NFC", 29], ["championship", 33], ["game", 46], ["?", 50]], "detected_answers": [{"text": "Arizona Cardinals", "char_spans": [[152, 168]], "token_spans": [[29, 30]]}]}, {"answers": ["2", "second", "second"], "question": "How many times have the Panthers been in the Super Bowl?", "id": "56d2045de7d4791d009025f5", "qid": "d4667206b27343018306c903f6bc6a99", "question_tokens": [["How", 0], ["many", 4], ["times", 9], ["have", 15], ["the", 20], ["Panthers", 24], ["been", 33], ["in", 38], ["the", 41], ["Super", 45], ["Bowl", 51], ["?", 55]], "detected_answers": [{"text": "second", "char_spans": [[227, 232]], "token_spans": [[41, 41]]}]}, {"answers": ["New England Patriots", "the New England Patriots", "New England Patriots"], "question": "Who did Denver beat in the AFC championship?", "id": "56d2045de7d4791d009025f6", "qid": "0c538848194644f9903c7fb60dd171e6", "question_tokens": [["Who", 0], ["did", 4], ["Denver", 8], ["beat", 15], ["in", 20], ["the", 23], ["AFC", 27], ["championship", 31], ["?", 43]], "detected_answers": [{"text": "New England Patriots", "char_spans": [[372, 391]], "token_spans": [[67, 69]]}]}, {"answers": ["Cam Newton", "Cam Newton", "Cam Newton"], "question": "Who was the Most Valuable Player for the 2015 NFL season?", "id": "56d6017d1c85041400946ebe", "qid": "4d3d83197bba4f518feb689ef7f60f8a", "question_tokens": [["Who", 0], ["was", 4], ["the", 8], ["Most", 12], ["Valuable", 17], ["Player", 26], ["for", 33], ["the", 37], ["2015", 41], ["NFL", 46], ["season", 50], ["?", 56]], "detected_answers": [{"text": "Cam Newton", "char_spans": [[77, 86]], "token_spans": [[13, 14]]}]}, {"answers": ["New England Patriots", "the New England Patriots", "New England Patriots"], "question": "Who did Denver beat in the 2015 AFC Championship game?", "id": "56d6017d1c85041400946ec1", "qid": "63bed63e1ba54b279f24036708cfddf2", "question_tokens": [["Who", 0], ["did", 4], ["Denver", 8], ["beat", 15], ["in", 20], ["the", 23], ["2015", 27], ["AFC", 32], ["Championship", 36], ["game", 49], ["?", 53]], "detected_answers": [{"text": "New England Patriots", "char_spans": [[372, 391]], "token_spans": [[67, 69]]}]}, {"answers": ["Arizona Cardinals", "the Arizona Cardinals", "Arizona Cardinals"], "question": "Who did the Carolina Panthers beat in the 2015 NFC Championship game?", "id": "56d6017d1c85041400946ec2", "qid": "4b5d0e2322fe49ccb9a5448a73d88622", "question_tokens": [["Who", 0], ["did", 4], ["the", 8], ["Carolina", 12], ["Panthers", 21], ["beat", 30], ["in", 35], ["the", 38], ["2015", 42], ["NFC", 47], ["Championship", 51], ["game", 64], ["?", 68]], "detected_answers": [{"text": "Arizona Cardinals", "char_spans": [[152, 168]], "token_spans": [[29, 30]]}]}, {"answers": ["Cam Newton", "Cam Newton", "Cam Newton"], "question": "Who was the 2015 NFL MVP?", "id": "56d98a59dc89441400fdb52a", "qid": "1765057242ee422e82a04197605bfd07", "question_tokens": [["Who", 0], ["was", 4], ["the", 8], ["2015", 12], ["NFL", 17], ["MVP", 21], ["?", 24]], "detected_answers": [{"text": "Cam Newton", "char_spans": [[77, 86]], "token_spans": [[13, 14]]}]}, {"answers": ["Arizona Cardinals", "the Arizona Cardinals", "Arizona Cardinals"], "question": "Who did the Panthers beat to become the NFC champs?", "id": "56d98a59dc89441400fdb52b", "qid": "7cc6f913c3334f6bacff45bc1d39eb11", "question_tokens": [["Who", 0], ["did", 4], ["the", 8], ["Panthers", 12], ["beat", 21], ["to", 26], ["become", 29], ["the", 36], ["NFC", 40], ["champs", 44], ["?", 50]], "detected_answers": [{"text": "Arizona Cardinals", "char_spans": [[152, 168]], "token_spans": [[29, 30]]}]}, {"answers": ["1995.", "1995", "1995"], "question": "What year did the Carolina Panthers form?", "id": "56d98a59dc89441400fdb52e", "qid": "3ce823a0265c42138af5f46290aee69d", "question_tokens": [["What", 0], ["year", 5], ["did", 10], ["the", 14], ["Carolina", 18], ["Panthers", 27], ["form", 36], ["?", 40]], "detected_answers": [{"text": "1995", "char_spans": [[291, 294]], "token_spans": [[51, 51]]}]}], "context_tokens": [["The", 0], ["Panthers", 4], ["finished", 13], ["the", 22], ["regular", 26], ["season", 34], ["with", 41], ["a", 46], ["15\u20131", 48], ["record", 53], [",", 59], ["and", 61], ["quarterback", 65], ["Cam", 77], ["Newton", 81], ["was", 88], ["named", 92], ["the", 98], ["NFL", 102], ["Most", 106], ["Valuable", 111], ["Player", 120], ["(", 127], ["MVP", 128], [")", 131], [".", 132], ["They", 134], ["defeated", 139], ["the", 148], ["Arizona", 152], ["Cardinals", 160], ["49\u201315", 170], ["in", 176], ["the", 179], ["NFC", 183], ["Championship", 187], ["Game", 200], ["and", 205], ["advanced", 209], ["to", 218], ["their", 221], ["second", 227], ["Super", 234], ["Bowl", 240], ["appearance", 245], ["since", 256], ["the", 262], ["franchise", 266], ["was", 276], ["founded", 280], ["in", 288], ["1995", 291], [".", 295], ["The", 297], ["Broncos", 301], ["finished", 309], ["the", 318], ["regular", 322], ["season", 330], ["with", 337], ["a", 342], ["12\u20134", 344], ["record", 349], [",", 355], ["and", 357], ["denied", 361], ["the", 368], ["New", 372], ["England", 376], ["Patriots", 384], ["a", 393], ["chance", 395], ["to", 402], ["defend", 405], ["their", 412], ["title", 418], ["from", 424], ["Super", 429], ["Bowl", 435], ["XLIX", 440], ["by", 445], ["defeating", 448], ["them", 458], ["20\u201318", 463], ["in", 469], ["the", 472], ["AFC", 476], ["Championship", 480], ["Game", 493], [".", 497], ["They", 499], ["joined", 504], ["the", 511], ["Patriots", 515], [",", 523], ["Dallas", 525], ["Cowboys", 532], [",", 539], ["and", 541], ["Pittsburgh", 545], ["Steelers", 556], ["as", 565], ["one", 568], ["of", 572], ["four", 575], ["teams", 580], ["that", 586], ["have", 591], ["made", 596], ["eight", 601], ["appearances", 607], ["in", 619], ["the", 622], ["Super", 626], ["Bowl", 632], [".", 636]]} +{"id": "", "context": "In early 2012, NFL Commissioner Roger Goodell stated that the league planned to make the 50th Super Bowl \"spectacular\" and that it would be \"an important game for us as a league\".", "qas": [{"answers": ["Roger Goodell", "Roger Goodell", "Goodell"], "question": "Who was the NFL Commissioner in early 2012?", "id": "56be53b8acb8001400a50314", "qid": "4a254acd87b748b5b285642219aa07af", "question_tokens": [["Who", 0], ["was", 4], ["the", 8], ["NFL", 12], ["Commissioner", 16], ["in", 29], ["early", 32], ["2012", 38], ["?", 42]], "detected_answers": [{"text": "Goodell", "char_spans": [[38, 44]], "token_spans": [[7, 7]]}]}, {"answers": ["the 50th Super Bowl", "the 50th", "50th"], "question": "Which Super Bowl did Roger Goodell speak about?", "id": "56be53b8acb8001400a50315", "qid": "0e71ff5d91a049f2913aa1d7c79e1d4e", "question_tokens": [["Which", 0], ["Super", 6], ["Bowl", 12], ["did", 17], ["Roger", 21], ["Goodell", 27], ["speak", 35], ["about", 41], ["?", 46]], "detected_answers": [{"text": "50th", "char_spans": [[89, 92]], "token_spans": [[16, 16]]}]}, {"answers": ["2012", "2012", "2012"], "question": "In what year did Roger Goodell call Super Bowl 50 'an important game for us as a league'?", "id": "56be53b8acb8001400a50316", "qid": "9b27dff5b8064c328e37b252b1546ec7", "question_tokens": [["In", 0], ["what", 3], ["year", 8], ["did", 13], ["Roger", 17], ["Goodell", 23], ["call", 31], ["Super", 36], ["Bowl", 42], ["50", 47], ["'", 50], ["an", 51], ["important", 54], ["game", 64], ["for", 69], ["us", 73], ["as", 76], ["a", 79], ["league", 81], ["'", 87], ["?", 88]], "detected_answers": [{"text": "2012", "char_spans": [[9, 12]], "token_spans": [[2, 2]]}]}, {"answers": ["Roger Goodell", "Roger Goodell", "Goodell"], "question": "Who is the Commissioner of the National Football League?", "id": "56beafca3aeaaa14008c9207", "qid": "ab3d30def72b4174826a713e8f572f0c", "question_tokens": [["Who", 0], ["is", 4], ["the", 7], ["Commissioner", 11], ["of", 24], ["the", 27], ["National", 31], ["Football", 40], ["League", 49], ["?", 55]], "detected_answers": [{"text": "Goodell", "char_spans": [[38, 44]], "token_spans": [[7, 7]]}]}, {"answers": ["early 2012", "In early 2012", "2012"], "question": "When did he make the quoted remarks about Super Bowl 50?", "id": "56beafca3aeaaa14008c9208", "qid": "a8ee01c022a64793bb108576e29f8586", "question_tokens": [["When", 0], ["did", 5], ["he", 9], ["make", 12], ["the", 17], ["quoted", 21], ["remarks", 28], ["about", 36], ["Super", 42], ["Bowl", 48], ["50", 53], ["?", 55]], "detected_answers": [{"text": "2012", "char_spans": [[9, 12]], "token_spans": [[2, 2]]}]}, {"answers": ["Roger Goodell", "Roger Goodell", "Goodell"], "question": "Who was the commissioner of the NFL in 2012? ", "id": "56bf42f53aeaaa14008c95a3", "qid": "badec4360c174c3aabc71178828a274c", "question_tokens": [["Who", 0], ["was", 4], ["the", 8], ["commissioner", 12], ["of", 25], ["the", 28], ["NFL", 32], ["in", 36], ["2012", 39], ["?", 43]], "detected_answers": [{"text": "Goodell", "char_spans": [[38, 44]], "token_spans": [[7, 7]]}]}, {"answers": ["Roger Goodell", "Roger Goodell", "Goodell"], "question": "Who if the commissioner of the NFL?", "id": "56d2053ae7d4791d00902610", "qid": "9f3e1e612d60489d920c5bba8d856be3", "question_tokens": [["Who", 0], ["if", 4], ["the", 7], ["commissioner", 11], ["of", 24], ["the", 27], ["NFL", 31], ["?", 34]], "detected_answers": [{"text": "Goodell", "char_spans": [[38, 44]], "token_spans": [[7, 7]]}]}, {"answers": ["Roger Goodell", "Roger Goodell", "Goodell"], "question": "Who is the commissioner of the NFL?", "id": "56d6edd00d65d21400198250", "qid": "2bc59ee77b55423b803ab82039f4a8ad", "question_tokens": [["Who", 0], ["is", 4], ["the", 7], ["commissioner", 11], ["of", 24], ["the", 27], ["NFL", 31], ["?", 34]], "detected_answers": [{"text": "Goodell", "char_spans": [[38, 44]], "token_spans": [[7, 7]]}]}, {"answers": ["spectacular", "an important game for us as a league", "spectacular"], "question": "In early 2012, Goodell said that Super Bowl 50 would be what?", "id": "56d6edd00d65d21400198251", "qid": "d61a05770159444da1a4243481a3f2cd", "question_tokens": [["In", 0], ["early", 3], ["2012", 9], [",", 13], ["Goodell", 15], ["said", 23], ["that", 28], ["Super", 33], ["Bowl", 39], ["50", 44], ["would", 47], ["be", 53], ["what", 56], ["?", 60]], "detected_answers": [{"text": "spectacular", "char_spans": [[106, 116]], "token_spans": [[20, 20]]}]}, {"answers": ["spectacular", "spectacular", "spectacular"], "question": "What one word did the NFL commissioner use to describe what Super Bowl 50 was intended to be?", "id": "56d98d0adc89441400fdb54e", "qid": "79205f275aa3488fa6f4d8d35adc0dad", "question_tokens": [["What", 0], ["one", 5], ["word", 9], ["did", 14], ["the", 18], ["NFL", 22], ["commissioner", 26], ["use", 39], ["to", 43], ["describe", 46], ["what", 55], ["Super", 60], ["Bowl", 66], ["50", 71], ["was", 74], ["intended", 78], ["to", 87], ["be", 90], ["?", 92]], "detected_answers": [{"text": "spectacular", "char_spans": [[106, 116]], "token_spans": [[20, 20]]}]}, {"answers": ["2012", "2012", "2012"], "question": "What year did Roger Goodell announce that Super Bowl 50 would be \"important\"?", "id": "56d98d0adc89441400fdb54f", "qid": "281dd246f1eb4df29ce5fa1c9b7e2df1", "question_tokens": [["What", 0], ["year", 5], ["did", 10], ["Roger", 14], ["Goodell", 20], ["announce", 28], ["that", 37], ["Super", 42], ["Bowl", 48], ["50", 53], ["would", 56], ["be", 62], ["\"", 65], ["important", 66], ["\"", 75], ["?", 76]], "detected_answers": [{"text": "2012", "char_spans": [[9, 12]], "token_spans": [[2, 2]]}]}], "context_tokens": [["In", 0], ["early", 3], ["2012", 9], [",", 13], ["NFL", 15], ["Commissioner", 19], ["Roger", 32], ["Goodell", 38], ["stated", 46], ["that", 53], ["the", 58], ["league", 62], ["planned", 69], ["to", 77], ["make", 80], ["the", 85], ["50th", 89], ["Super", 94], ["Bowl", 100], ["\"", 105], ["spectacular", 106], ["\"", 117], ["and", 119], ["that", 123], ["it", 128], ["would", 131], ["be", 137], ["\"", 140], ["an", 141], ["important", 144], ["game", 154], ["for", 159], ["us", 163], ["as", 166], ["a", 169], ["league", 171], ["\"", 177], [".", 178]]} +{"id": "", "context": "CBS broadcast Super Bowl 50 in the U.S., and charged an average of $5 million for a 30-second commercial during the game. The Super Bowl 50 halftime show was headlined by the British rock group Coldplay with special guest performers Beyonc\u00e9 and Bruno Mars, who headlined the Super Bowl XLVII and Super Bowl XLVIII halftime shows, respectively. It was the third-most watched U.S. broadcast ever.", "qas": [{"answers": ["CBS", "CBS", "CBS"], "question": "Which network broadcasted Super Bowl 50 in the U.S.?", "id": "56be5333acb8001400a5030a", "qid": "0c9b4fa5b9c94a6dbb05efdc241ecaea", "question_tokens": [["Which", 0], ["network", 6], ["broadcasted", 14], ["Super", 26], ["Bowl", 32], ["50", 37], ["in", 40], ["the", 43], ["U.S.", 47], ["?", 51]], "detected_answers": [{"text": "CBS", "token_spans": [[0, 0]], "char_spans": [[0, 2]]}]}, {"answers": ["$5 million", "$5 million", "$5 million"], "question": "What was the average cost for a 30 second commercial during Super Bowl 50?", "id": "56be5333acb8001400a5030b", "qid": "b4ce2af7a31a480799a4ddf27001324b", "question_tokens": [["What", 0], ["was", 5], ["the", 9], ["average", 13], ["cost", 21], ["for", 26], ["a", 30], ["30", 32], ["second", 35], ["commercial", 42], ["during", 53], ["Super", 60], ["Bowl", 66], ["50", 71], ["?", 73]], "detected_answers": [{"text": "$5 million", "char_spans": [[67, 76]], "token_spans": [[14, 16]]}]}, {"answers": ["Coldplay", "Coldplay", "Coldplay"], "question": "Which group headlined the Super Bowl 50 halftime show?", "id": "56be5333acb8001400a5030c", "qid": "3c8f72ed38114041b2a0c784556b70af", "question_tokens": [["Which", 0], ["group", 6], ["headlined", 12], ["the", 22], ["Super", 26], ["Bowl", 32], ["50", 37], ["halftime", 40], ["show", 49], ["?", 53]], "detected_answers": [{"text": "Coldplay", "char_spans": [[194, 201]], "token_spans": [[38, 38]]}]}, {"answers": ["Beyonc\u00e9 and Bruno Mars", "Beyonc\u00e9 and Bruno Mars", "Beyonc\u00e9 and Bruno Mars"], "question": "Which performers joined the headliner during the Super Bowl 50 halftime show?", "id": "56be5333acb8001400a5030d", "qid": "bd4ac80e6ab34822bd30bc62c0aa84f0", "question_tokens": [["Which", 0], ["performers", 6], ["joined", 17], ["the", 24], ["headliner", 28], ["during", 38], ["the", 45], ["Super", 49], ["Bowl", 55], ["50", 60], ["halftime", 63], ["show", 72], ["?", 76]], "detected_answers": [{"text": "Beyonc\u00e9 and Bruno Mars", "char_spans": [[233, 254]], "token_spans": [[43, 46]]}]}, {"answers": ["Super Bowl XLVII", "Super Bowl XLVII", "XLVII"], "question": "At which Super Bowl did Beyonce headline the halftime show?", "id": "56be5333acb8001400a5030e", "qid": "e10622bd50994a70ba188696f1fa950a", "question_tokens": [["At", 0], ["which", 3], ["Super", 9], ["Bowl", 15], ["did", 20], ["Beyonce", 24], ["headline", 32], ["the", 41], ["halftime", 45], ["show", 54], ["?", 58]], "detected_answers": [{"text": "XLVII", "char_spans": [[286, 290]], "token_spans": [[53, 53]]}]}, {"answers": ["CBS", "CBS", "CBS"], "question": "Who was the broadcaster for Super Bowl 50 in the United States?", "id": "56beaf5e3aeaaa14008c91fd", "qid": "9c8627c4245d40958d9eafe5b3ecb7d9", "question_tokens": [["Who", 0], ["was", 4], ["the", 8], ["broadcaster", 12], ["for", 24], ["Super", 28], ["Bowl", 34], ["50", 39], ["in", 42], ["the", 45], ["United", 49], ["States", 56], ["?", 62]], "detected_answers": [{"text": "CBS", "token_spans": [[0, 0]], "char_spans": [[0, 2]]}]}, {"answers": ["$5 million", "$5 million", "$5 million"], "question": "What was the average cost of a 30-second commercial?", "id": "56beaf5e3aeaaa14008c91fe", "qid": "ed933501734a4497bdc14153e593e2e3", "question_tokens": [["What", 0], ["was", 5], ["the", 9], ["average", 13], ["cost", 21], ["of", 26], ["a", 29], ["30-second", 31], ["commercial", 41], ["?", 51]], "detected_answers": [{"text": "$5 million", "char_spans": [[67, 76]], "token_spans": [[14, 16]]}]}, {"answers": ["Beyonc\u00e9", "Beyonc\u00e9", "Beyonc\u00e9"], "question": "What halftime performer previously headlined Super Bowl XLVII?", "id": "56beaf5e3aeaaa14008c91ff", "qid": "6d5190021d0e47b7939a8a4098fbca30", "question_tokens": [["What", 0], ["halftime", 5], ["performer", 14], ["previously", 24], ["headlined", 35], ["Super", 45], ["Bowl", 51], ["XLVII", 56], ["?", 61]], "detected_answers": [{"text": "Beyonc\u00e9", "char_spans": [[233, 239]], "token_spans": [[43, 43]]}]}, {"answers": ["Bruno Mars", "Bruno Mars", "Mars"], "question": "What halftime performer previously headlined Super Bowl XLVIII?", "id": "56beaf5e3aeaaa14008c9200", "qid": "953fb4e5f4754283b144e9502aa611b6", "question_tokens": [["What", 0], ["halftime", 5], ["performer", 14], ["previously", 24], ["headlined", 35], ["Super", 45], ["Bowl", 51], ["XLVIII", 56], ["?", 62]], "detected_answers": [{"text": "Mars", "char_spans": [[251, 254]], "token_spans": [[46, 46]]}]}, {"answers": ["Coldplay", "Coldplay", "Coldplay"], "question": "Who was the main performer at this year's halftime show?", "id": "56beaf5e3aeaaa14008c9201", "qid": "f43c83e38d1e424ea00f8ad3c77ec999", "question_tokens": [["Who", 0], ["was", 4], ["the", 8], ["main", 12], ["performer", 17], ["at", 27], ["this", 30], ["year", 35], ["'s", 39], ["halftime", 42], ["show", 51], ["?", 55]], "detected_answers": [{"text": "Coldplay", "char_spans": [[194, 201]], "token_spans": [[38, 38]]}]}, {"answers": ["CBS", "CBS", "CBS"], "question": "Which network broadcasted the 50th Super Bowl game? ", "id": "56bf1ae93aeaaa14008c951b", "qid": "f2d38fefa10543f28667c2516b598752", "question_tokens": [["Which", 0], ["network", 6], ["broadcasted", 14], ["the", 26], ["50th", 30], ["Super", 35], ["Bowl", 41], ["game", 46], ["?", 50]], "detected_answers": [{"text": "CBS", "token_spans": [[0, 0]], "char_spans": [[0, 2]]}]}, {"answers": ["$5 million", "$5 million", "$5 million"], "question": "What was the average cost for a TV ad lasting 30 seconds during Super Bowl 50?", "id": "56bf1ae93aeaaa14008c951c", "qid": "8010971a771042da83d36365518ce556", "question_tokens": [["What", 0], ["was", 5], ["the", 9], ["average", 13], ["cost", 21], ["for", 26], ["a", 30], ["TV", 32], ["ad", 35], ["lasting", 38], ["30", 46], ["seconds", 49], ["during", 57], ["Super", 64], ["Bowl", 70], ["50", 75], ["?", 77]], "detected_answers": [{"text": "$5 million", "char_spans": [[67, 76]], "token_spans": [[14, 16]]}]}, {"answers": ["Bruno Mars", "Bruno Mars", "Bruno Mars,"], "question": "Who was the male singer who performed as a special guest during Super Bowl 50?", "id": "56bf1ae93aeaaa14008c951e", "qid": "f8d1ae73efb54b31a90381ab150dbae6", "question_tokens": [["Who", 0], ["was", 4], ["the", 8], ["male", 12], ["singer", 17], ["who", 24], ["performed", 28], ["as", 38], ["a", 41], ["special", 43], ["guest", 51], ["during", 57], ["Super", 64], ["Bowl", 70], ["50", 75], ["?", 77]], "detected_answers": [{"text": "Bruno Mars,", "char_spans": [[245, 255]], "token_spans": [[45, 47]]}]}, {"answers": ["third", "third", "third"], "question": "What ranking does the Super Bowl 50 halftime show have on the list of most watched TV broadcasts?", "id": "56bf1ae93aeaaa14008c951f", "qid": "7384156b154247e288e57763eca2d4c7", "question_tokens": [["What", 0], ["ranking", 5], ["does", 13], ["the", 18], ["Super", 22], ["Bowl", 28], ["50", 33], ["halftime", 36], ["show", 45], ["have", 50], ["on", 55], ["the", 58], ["list", 62], ["of", 67], ["most", 70], ["watched", 75], ["TV", 83], ["broadcasts", 86], ["?", 96]], "detected_answers": [{"text": "third", "char_spans": [[355, 359]], "token_spans": [[66, 66]]}]}, {"answers": ["CBS", "CBS", "CBS"], "question": "What station aired the Super Bowl?", "id": "56d2051ce7d4791d00902608", "qid": "7df46260b280403986082e27c6b39ecc", "question_tokens": [["What", 0], ["station", 5], ["aired", 13], ["the", 19], ["Super", 23], ["Bowl", 29], ["?", 33]], "detected_answers": [{"text": "CBS", "token_spans": [[0, 0]], "char_spans": [[0, 2]]}]}, {"answers": ["$5 million", "$5 million", "$5 million"], "question": "How much money did a 1/2 minute commercial cost?", "id": "56d2051ce7d4791d00902609", "qid": "e9add81e71134709ba5c5ca255265932", "question_tokens": [["How", 0], ["much", 4], ["money", 9], ["did", 15], ["a", 19], ["1/2", 21], ["minute", 25], ["commercial", 32], ["cost", 43], ["?", 47]], "detected_answers": [{"text": "$5 million", "char_spans": [[67, 76]], "token_spans": [[14, 16]]}]}, {"answers": ["Coldplay", "Coldplay", "Coldplay"], "question": "What band headlined half-time during Super Bowl 50?", "id": "56d2051ce7d4791d0090260a", "qid": "63a7e9b702d94b1994b9f543ba173e99", "question_tokens": [["What", 0], ["band", 5], ["headlined", 10], ["half", 20], ["-", 24], ["time", 25], ["during", 30], ["Super", 37], ["Bowl", 43], ["50", 48], ["?", 50]], "detected_answers": [{"text": "Coldplay", "char_spans": [[194, 201]], "token_spans": [[38, 38]]}]}, {"answers": ["Beyonc\u00e9 and Bruno Mars", "Beyonc\u00e9 and Bruno Mars", "Beyonc\u00e9 and Bruno Mars"], "question": "What two artists came out with Coldplay during the half-time show?", "id": "56d2051ce7d4791d0090260b", "qid": "25d0c8f0803a41b5867e1e10e9d4186d", "question_tokens": [["What", 0], ["two", 5], ["artists", 9], ["came", 17], ["out", 22], ["with", 26], ["Coldplay", 31], ["during", 40], ["the", 47], ["half", 51], ["-", 55], ["time", 56], ["show", 61], ["?", 65]], "detected_answers": [{"text": "Beyonc\u00e9 and Bruno Mars", "char_spans": [[233, 254]], "token_spans": [[43, 46]]}]}, {"answers": ["CBS", "CBS", "CBS"], "question": "Who broadcast the Super Bowl on TV?", "id": "56d602631c85041400946ed8", "qid": "4071b2abd36948da9dc8ae88d79ec150", "question_tokens": [["Who", 0], ["broadcast", 4], ["the", 14], ["Super", 18], ["Bowl", 24], ["on", 29], ["TV", 32], ["?", 34]], "detected_answers": [{"text": "CBS", "token_spans": [[0, 0]], "char_spans": [[0, 2]]}]}, {"answers": ["Coldplay", "Coldplay", "Coldplay"], "question": "Who headlined the halftime show for Super Bowl 50?", "id": "56d602631c85041400946eda", "qid": "6e5cce1881714600bdd943b40eea3b1f", "question_tokens": [["Who", 0], ["headlined", 4], ["the", 14], ["halftime", 18], ["show", 27], ["for", 32], ["Super", 36], ["Bowl", 42], ["50", 47], ["?", 49]], "detected_answers": [{"text": "Coldplay", "char_spans": [[194, 201]], "token_spans": [[38, 38]]}]}, {"answers": ["Beyonc\u00e9 and Bruno Mars", "Beyonc\u00e9 and Bruno Mars", "Beyonc\u00e9 and Bruno Mars"], "question": "Who were special guests for the Super Bowl halftime show?", "id": "56d602631c85041400946edb", "qid": "c0a739122447497f872a3041671bc290", "question_tokens": [["Who", 0], ["were", 4], ["special", 9], ["guests", 17], ["for", 24], ["the", 28], ["Super", 32], ["Bowl", 38], ["halftime", 43], ["show", 52], ["?", 56]], "detected_answers": [{"text": "Beyonc\u00e9 and Bruno Mars", "char_spans": [[233, 254]], "token_spans": [[43, 46]]}]}, {"answers": ["Super Bowl XLVII", "Super Bowl XLVII", "Super Bowl XLVII"], "question": "Which Super Bowl halftime show did Beyonc\u00e9 headline?", "id": "56d602631c85041400946edc", "qid": "612366179dfb48acb54d038ce202389d", "question_tokens": [["Which", 0], ["Super", 6], ["Bowl", 12], ["halftime", 17], ["show", 26], ["did", 31], ["Beyonc\u00e9", 35], ["headline", 43], ["?", 51]], "detected_answers": [{"text": "Super Bowl XLVII", "char_spans": [[275, 290]], "token_spans": [[51, 53]]}]}, {"answers": ["$5 million", "$5 million", "$5 million for a 30-second"], "question": "What was the cost for a half minute ad?", "id": "56d98c53dc89441400fdb544", "qid": "79e082c905b147288f1fd1552221c21b", "question_tokens": [["What", 0], ["was", 5], ["the", 9], ["cost", 13], ["for", 18], ["a", 22], ["half", 24], ["minute", 29], ["ad", 36], ["?", 38]], "detected_answers": [{"text": "$5 million for a 30-second", "char_spans": [[67, 92]], "token_spans": [[14, 19]]}]}, {"answers": ["Coldplay", "Coldplay", "Coldplay"], "question": "Who lead the Super Bowl 50 halftime performance?", "id": "56d98c53dc89441400fdb545", "qid": "d43b746325264596ad5ab1cd3afd9cb6", "question_tokens": [["Who", 0], ["lead", 4], ["the", 9], ["Super", 13], ["Bowl", 19], ["50", 24], ["halftime", 27], ["performance", 36], ["?", 47]], "detected_answers": [{"text": "Coldplay", "char_spans": [[194, 201]], "token_spans": [[38, 38]]}]}, {"answers": ["Beyonc\u00e9 and Bruno Mars", "Beyonc\u00e9 and Bruno Mars", "Beyonc\u00e9 and Bruno Mars"], "question": "What other two famous performers were part of the Super Bowl 50 halftime?", "id": "56d98c53dc89441400fdb546", "qid": "8e4c964faecf4027892e02623dc82f33", "question_tokens": [["What", 0], ["other", 5], ["two", 11], ["famous", 15], ["performers", 22], ["were", 33], ["part", 38], ["of", 43], ["the", 46], ["Super", 50], ["Bowl", 56], ["50", 61], ["halftime", 64], ["?", 72]], "detected_answers": [{"text": "Beyonc\u00e9 and Bruno Mars", "char_spans": [[233, 254]], "token_spans": [[43, 46]]}]}, {"answers": ["Bruno Mars", "Coldplay", "Coldplay"], "question": "What performer lead the Super Bowl XLVIII halftime show?", "id": "56d98c53dc89441400fdb548", "qid": "469309ce71a9446f886ef563f7eafc66", "question_tokens": [["What", 0], ["performer", 5], ["lead", 15], ["the", 20], ["Super", 24], ["Bowl", 30], ["XLVIII", 35], ["halftime", 42], ["show", 51], ["?", 55]], "detected_answers": [{"text": "Coldplay", "char_spans": [[194, 201]], "token_spans": [[38, 38]]}]}], "context_tokens": [["CBS", 0], ["broadcast", 4], ["Super", 14], ["Bowl", 20], ["50", 25], ["in", 28], ["the", 31], ["U.S.", 35], [",", 39], ["and", 41], ["charged", 45], ["an", 53], ["average", 56], ["of", 64], ["$", 67], ["5", 68], ["million", 70], ["for", 78], ["a", 82], ["30-second", 84], ["commercial", 94], ["during", 105], ["the", 112], ["game", 116], [".", 120], ["The", 122], ["Super", 126], ["Bowl", 132], ["50", 137], ["halftime", 140], ["show", 149], ["was", 154], ["headlined", 158], ["by", 168], ["the", 171], ["British", 175], ["rock", 183], ["group", 188], ["Coldplay", 194], ["with", 203], ["special", 208], ["guest", 216], ["performers", 222], ["Beyonc\u00e9", 233], ["and", 241], ["Bruno", 245], ["Mars", 251], [",", 255], ["who", 257], ["headlined", 261], ["the", 271], ["Super", 275], ["Bowl", 281], ["XLVII", 286], ["and", 292], ["Super", 296], ["Bowl", 302], ["XLVIII", 307], ["halftime", 314], ["shows", 323], [",", 328], ["respectively", 330], [".", 342], ["It", 344], ["was", 347], ["the", 351], ["third", 355], ["-", 360], ["most", 361], ["watched", 366], ["U.S.", 374], ["broadcast", 379], ["ever", 389], [".", 393]]} +{"id": "", "context": "The league eventually narrowed the bids to three sites: New Orleans' Mercedes-Benz Superdome, Miami's Sun Life Stadium, and the San Francisco Bay Area's Levi's Stadium.", "qas": [{"answers": ["New Orleans' Mercedes-Benz Superdome", "New Orleans' Mercedes-Benz Superdome", "Mercedes-Benz Superdome"], "question": "Which Louisiana venue was one of three considered for Super Bowl 50?", "id": "56be5438acb8001400a5031a", "qid": "a76d3c5264da4af68c11aadcbac645c1", "question_tokens": [["Which", 0], ["Louisiana", 6], ["venue", 16], ["was", 22], ["one", 26], ["of", 30], ["three", 33], ["considered", 39], ["for", 50], ["Super", 54], ["Bowl", 60], ["50", 65], ["?", 67]], "detected_answers": [{"text": "Mercedes-Benz Superdome", "char_spans": [[69, 91]], "token_spans": [[13, 16]]}]}, {"answers": ["Miami's Sun Life Stadium", "Miami's Sun Life Stadium", "Sun Life Stadium"], "question": "Which Florida venue was one of three considered for Super Bowl 50?", "id": "56be5438acb8001400a5031b", "qid": "38dec4e3dfcb48cfbaeb1d34ce1c8d4d", "question_tokens": [["Which", 0], ["Florida", 6], ["venue", 14], ["was", 20], ["one", 24], ["of", 28], ["three", 31], ["considered", 37], ["for", 48], ["Super", 52], ["Bowl", 58], ["50", 63], ["?", 65]], "detected_answers": [{"text": "Sun Life Stadium", "char_spans": [[102, 117]], "token_spans": [[20, 22]]}]}, {"answers": ["San Francisco Bay Area's Levi's Stadium", "San Francisco Bay Area's Levi's Stadium", "Levi's Stadium"], "question": "Which California venue was one of three considered for Super Bowl 50?", "id": "56be5438acb8001400a5031c", "qid": "a3a813c2479d435793ebceaa7017cb4a", "question_tokens": [["Which", 0], ["California", 6], ["venue", 17], ["was", 23], ["one", 27], ["of", 31], ["three", 34], ["considered", 40], ["for", 51], ["Super", 55], ["Bowl", 61], ["50", 66], ["?", 68]], "detected_answers": [{"text": "Levi's Stadium", "char_spans": [[153, 166]], "token_spans": [[31, 33]]}]}, {"answers": ["Sun Life Stadium", "Sun Life Stadium", "Sun Life Stadium"], "question": "What venue in Miami was a candidate for the site of Super Bowl 50?", "id": "56beb03c3aeaaa14008c920b", "qid": "af29d2ba013041048ae9c7fc80c87c69", "question_tokens": [["What", 0], ["venue", 5], ["in", 11], ["Miami", 14], ["was", 20], ["a", 24], ["candidate", 26], ["for", 36], ["the", 40], ["site", 44], ["of", 49], ["Super", 52], ["Bowl", 58], ["50", 63], ["?", 65]], "detected_answers": [{"text": "Sun Life Stadium", "char_spans": [[102, 117]], "token_spans": [[20, 22]]}]}, {"answers": ["Levi's Stadium", "Levi's Stadium", "Levi's Stadium"], "question": "What site is located in the San Francisco Bay Area?", "id": "56beb03c3aeaaa14008c920d", "qid": "2624809fbaba41b7a7f293ba928b0a4f", "question_tokens": [["What", 0], ["site", 5], ["is", 10], ["located", 13], ["in", 21], ["the", 24], ["San", 28], ["Francisco", 32], ["Bay", 42], ["Area", 46], ["?", 50]], "detected_answers": [{"text": "Levi's Stadium", "char_spans": [[153, 166]], "token_spans": [[31, 33]]}]}, {"answers": ["Levi's Stadium", "Levi's Stadium", "Levi's Stadium."], "question": "What is the name of San Francisco's stadium when looked at as a possibility for Super Bowl 50?", "id": "56bf3c633aeaaa14008c9580", "qid": "d3577e3a35a44b5698776546235b1afe", "question_tokens": [["What", 0], ["is", 5], ["the", 8], ["name", 12], ["of", 17], ["San", 20], ["Francisco", 24], ["'s", 33], ["stadium", 36], ["when", 44], ["looked", 49], ["at", 56], ["as", 59], ["a", 62], ["possibility", 64], ["for", 76], ["Super", 80], ["Bowl", 86], ["50", 91], ["?", 93]], "detected_answers": [{"text": "Levi's Stadium.", "char_spans": [[153, 167]], "token_spans": [[31, 34]]}]}, {"answers": ["Mercedes-Benz Superdome", "Mercedes-Benz Superdome", "Mercedes-Benz Superdome"], "question": "What was the name of New Orleans' superdome at the time that Super Bowl 50 took place?", "id": "56bf3c633aeaaa14008c9581", "qid": "8b5db421a73d4a6e8a2cc23306a86d4f", "question_tokens": [["What", 0], ["was", 5], ["the", 9], ["name", 13], ["of", 18], ["New", 21], ["Orleans", 25], ["'", 32], ["superdome", 34], ["at", 44], ["the", 47], ["time", 51], ["that", 56], ["Super", 61], ["Bowl", 67], ["50", 72], ["took", 75], ["place", 80], ["?", 85]], "detected_answers": [{"text": "Mercedes-Benz Superdome", "char_spans": [[69, 91]], "token_spans": [[13, 16]]}]}, {"answers": ["Sun Life Stadium", "Sun Life Stadium", "Sun Life Stadium"], "question": "What was the given name of Miami's stadium at the time of Super Bowl 50?", "id": "56bf3c633aeaaa14008c9582", "qid": "9433233f7fbc417882f5b3bf324b9a18", "question_tokens": [["What", 0], ["was", 5], ["the", 9], ["given", 13], ["name", 19], ["of", 24], ["Miami", 27], ["'s", 32], ["stadium", 35], ["at", 43], ["the", 46], ["time", 50], ["of", 55], ["Super", 58], ["Bowl", 64], ["50", 69], ["?", 71]], "detected_answers": [{"text": "Sun Life Stadium", "char_spans": [[102, 117]], "token_spans": [[20, 22]]}]}, {"answers": ["New Orleans' Mercedes-Benz Superdome, Miami's Sun Life Stadium, and the San Francisco Bay Area's Levi's Stadium", "New Orleans' Mercedes-Benz Superdome, Miami's Sun Life Stadium, and the San Francisco Bay Area's Levi's Stadium.", "New Orleans' Mercedes-Benz Superdome, Miami's Sun Life Stadium, and the San Francisco Bay Area's Levi's Stadium."], "question": "What three stadiums did the NFL decide between for the game?", "id": "56d20564e7d4791d00902612", "qid": "2f2b6dda6f9541c6aa54e8c503c27b44", "question_tokens": [["What", 0], ["three", 5], ["stadiums", 11], ["did", 20], ["the", 24], ["NFL", 28], ["decide", 32], ["between", 39], ["for", 47], ["the", 51], ["game", 55], ["?", 59]], "detected_answers": [{"text": "New Orleans' Mercedes-Benz Superdome, Miami's Sun Life Stadium, and the San Francisco Bay Area's Levi's Stadium.", "char_spans": [[56, 167]], "token_spans": [[10, 34]]}]}, {"answers": ["three", "three", "three"], "question": "How many sites did the NFL narrow down Super Bowl 50's location to?", "id": "56d6ee6e0d65d21400198254", "qid": "bd6015231c15435780b020832ada86e5", "question_tokens": [["How", 0], ["many", 4], ["sites", 9], ["did", 15], ["the", 19], ["NFL", 23], ["narrow", 27], ["down", 34], ["Super", 39], ["Bowl", 45], ["50", 50], ["'s", 52], ["location", 55], ["to", 64], ["?", 66]], "detected_answers": [{"text": "three", "char_spans": [[43, 47]], "token_spans": [[7, 7]]}]}, {"answers": ["New Orleans", "New Orleans", "New Orleans'"], "question": "One of the sites, Merceds-Benz Superdome, is located where?", "id": "56d6ee6e0d65d21400198255", "qid": "b57a3b8a64f14502a58f26d61562aa17", "question_tokens": [["One", 0], ["of", 4], ["the", 7], ["sites", 11], [",", 16], ["Merceds", 18], ["-", 25], ["Benz", 26], ["Superdome", 31], [",", 40], ["is", 42], ["located", 45], ["where", 53], ["?", 58]], "detected_answers": [{"text": "New Orleans'", "char_spans": [[56, 67]], "token_spans": [[10, 12]]}]}, {"answers": ["Sun Life Stadium", "Sun Life Stadium", "Sun Life Stadium"], "question": "What is the name of the stadium in Miami that was considered?", "id": "56d6ee6e0d65d21400198256", "qid": "4bc32a6d068f45f7863322228b5222fc", "question_tokens": [["What", 0], ["is", 5], ["the", 8], ["name", 12], ["of", 17], ["the", 20], ["stadium", 24], ["in", 32], ["Miami", 35], ["that", 41], ["was", 46], ["considered", 50], ["?", 60]], "detected_answers": [{"text": "Sun Life Stadium", "char_spans": [[102, 117]], "token_spans": [[20, 22]]}]}, {"answers": ["San Francisco", "San Francisco", "San Francisco Bay Area's"], "question": "What was the third city that was considered?", "id": "56d6ee6e0d65d21400198257", "qid": "df37bf87d0e54df88c25d785dd8a0990", "question_tokens": [["What", 0], ["was", 5], ["the", 9], ["third", 13], ["city", 19], ["that", 24], ["was", 29], ["considered", 33], ["?", 43]], "detected_answers": [{"text": "San Francisco Bay Area's", "char_spans": [[128, 151]], "token_spans": [[26, 30]]}]}, {"answers": ["Levi's Stadium.", "Levi's Stadium", "Levi's Stadium."], "question": "What is the name of the stadium in San Francisco Bay Area?", "id": "56d6ee6e0d65d21400198258", "qid": "51aa32cd575e4f89939cf9279afc8463", "question_tokens": [["What", 0], ["is", 5], ["the", 8], ["name", 12], ["of", 17], ["the", 20], ["stadium", 24], ["in", 32], ["San", 35], ["Francisco", 39], ["Bay", 49], ["Area", 53], ["?", 57]], "detected_answers": [{"text": "Levi's Stadium.", "char_spans": [[153, 167]], "token_spans": [[31, 34]]}]}, {"answers": ["Sun Life Stadium", "Sun Life Stadium", "Sun Life Stadium"], "question": "What Florida stadium was considered for Super Bowl 50?", "id": "56d98db6dc89441400fdb552", "qid": "f130a64961bd4ccca57897ffeec58791", "question_tokens": [["What", 0], ["Florida", 5], ["stadium", 13], ["was", 21], ["considered", 25], ["for", 36], ["Super", 40], ["Bowl", 46], ["50", 51], ["?", 53]], "detected_answers": [{"text": "Sun Life Stadium", "char_spans": [[102, 117]], "token_spans": [[20, 22]]}]}, {"answers": ["Mercedes-Benz Superdome", "Mercedes-Benz Superdome", "Mercedes-Benz Superdome,"], "question": "What New Orleans stadium was considered for Super Bowl 50?", "id": "56d98db6dc89441400fdb553", "qid": "9acb55c4351a4534b7aa7553a2cbbe97", "question_tokens": [["What", 0], ["New", 5], ["Orleans", 9], ["stadium", 17], ["was", 25], ["considered", 29], ["for", 40], ["Super", 44], ["Bowl", 50], ["50", 55], ["?", 57]], "detected_answers": [{"text": "Mercedes-Benz Superdome,", "char_spans": [[69, 92]], "token_spans": [[13, 17]]}]}, {"answers": ["Levi's Stadium.", "Levi's Stadium", "Levi's Stadium."], "question": "What is the name of the stadium where Super Bowl 50 was played?", "id": "56d98db6dc89441400fdb554", "qid": "eaaeea366d5145059e51c31dfc75fb5d", "question_tokens": [["What", 0], ["is", 5], ["the", 8], ["name", 12], ["of", 17], ["the", 20], ["stadium", 24], ["where", 32], ["Super", 38], ["Bowl", 44], ["50", 49], ["was", 52], ["played", 56], ["?", 62]], "detected_answers": [{"text": "Levi's Stadium.", "char_spans": [[153, 167]], "token_spans": [[31, 34]]}]}], "context_tokens": [["The", 0], ["league", 4], ["eventually", 11], ["narrowed", 22], ["the", 31], ["bids", 35], ["to", 40], ["three", 43], ["sites", 49], [":", 54], ["New", 56], ["Orleans", 60], ["'", 67], ["Mercedes", 69], ["-", 77], ["Benz", 78], ["Superdome", 83], [",", 92], ["Miami", 94], ["'s", 99], ["Sun", 102], ["Life", 106], ["Stadium", 111], [",", 118], ["and", 120], ["the", 124], ["San", 128], ["Francisco", 132], ["Bay", 142], ["Area", 146], ["'s", 150], ["Levi", 153], ["'s", 157], ["Stadium", 160], [".", 167]]} +{"id": "", "context": "On May 21, 2013, NFL owners at their spring meetings in Boston voted and awarded the game to Levi's Stadium. The $1.2 billion stadium opened in 2014. It is the first Super Bowl held in the San Francisco Bay Area since Super Bowl XIX in 1985, and the first in California since Super Bowl XXXVII took place in San Diego in 2003.", "qas": [{"answers": ["May 21, 2013", "May 21, 2013", "May 21, 2013,"], "question": "When was Levi's Stadium awarded the right to host Super Bowl 50?", "id": "56be5523acb8001400a5032c", "qid": "af73833956fe4991baf9a6cef4978577", "question_tokens": [["When", 0], ["was", 5], ["Levi", 9], ["'s", 13], ["Stadium", 16], ["awarded", 24], ["the", 32], ["right", 36], ["to", 42], ["host", 45], ["Super", 50], ["Bowl", 56], ["50", 61], ["?", 63]], "detected_answers": [{"text": "May 21, 2013,", "char_spans": [[3, 15]], "token_spans": [[1, 5]]}]}, {"answers": ["NFL owners", "NFL owners", "NFL owners"], "question": "Who voted on the venue for Super Bowl 50?", "id": "56be5523acb8001400a5032d", "qid": "1c1158f70ceb460c809cd8deb51b4aa2", "question_tokens": [["Who", 0], ["voted", 4], ["on", 10], ["the", 13], ["venue", 17], ["for", 23], ["Super", 27], ["Bowl", 33], ["50", 38], ["?", 40]], "detected_answers": [{"text": "NFL owners", "char_spans": [[17, 26]], "token_spans": [[6, 7]]}]}, {"answers": ["2014", "in 2014", "2014"], "question": "When did Lev's Stadium open?", "id": "56be5523acb8001400a5032e", "qid": "4d9d4a9f586540c1b5227e8a6c96741b", "question_tokens": [["When", 0], ["did", 5], ["Lev", 9], ["'s", 12], ["Stadium", 15], ["open", 23], ["?", 27]], "detected_answers": [{"text": "2014", "char_spans": [[144, 147]], "token_spans": [[31, 31]]}]}, {"answers": ["$1.2 billion", "$1.2 billion", "$1.2 billion"], "question": "How much did it cost to build Levi's Stadium?", "id": "56be5523acb8001400a5032f", "qid": "a3bf86576c0342fca8dcc03a882cb85c", "question_tokens": [["How", 0], ["much", 4], ["did", 9], ["it", 13], ["cost", 16], ["to", 21], ["build", 24], ["Levi", 30], ["'s", 34], ["Stadium", 37], ["?", 44]], "detected_answers": [{"text": "$1.2 billion", "char_spans": [[113, 124]], "token_spans": [[25, 27]]}]}, {"answers": ["San Diego", "San Diego", "San Diego"], "question": "What California city last hosted the Super Bowl?", "id": "56be5523acb8001400a50330", "qid": "9151a879be3d4a8593009534310b4654", "question_tokens": [["What", 0], ["California", 5], ["city", 16], ["last", 21], ["hosted", 26], ["the", 33], ["Super", 37], ["Bowl", 43], ["?", 47]], "detected_answers": [{"text": "San Diego", "char_spans": [[308, 316]], "token_spans": [[65, 66]]}]}, {"answers": ["Boston", "in Boston", "May 21, 2013"], "question": "Where did the spring meetings of the NFL owners take place?", "id": "56beb2153aeaaa14008c9225", "qid": "1e65836b1a664410966341a9178768f1", "question_tokens": [["Where", 0], ["did", 6], ["the", 10], ["spring", 14], ["meetings", 21], ["of", 30], ["the", 33], ["NFL", 37], ["owners", 41], ["take", 48], ["place", 53], ["?", 58]], "detected_answers": [{"text": "May 21, 2013", "char_spans": [[3, 14]], "token_spans": [[1, 4]]}]}, {"answers": ["May 21, 2013", "May 21, 2013", "May 21, 2013,"], "question": "On what date was Super Bowl 50 given to Levi's Stadium?", "id": "56beb2153aeaaa14008c9226", "qid": "83d81045f7744f30ba5c03f6adf08438", "question_tokens": [["On", 0], ["what", 3], ["date", 8], ["was", 13], ["Super", 17], ["Bowl", 23], ["50", 28], ["given", 31], ["to", 37], ["Levi", 40], ["'s", 44], ["Stadium", 47], ["?", 54]], "detected_answers": [{"text": "May 21, 2013,", "char_spans": [[3, 15]], "token_spans": [[1, 5]]}]}, {"answers": ["$1.2 billion", "$1.2 billion", "$1.2 billion"], "question": "How much did it cost to build Levi's Stadium?", "id": "56beb2153aeaaa14008c9227", "qid": "3c29ee3785fa46b092dc7e5034bb8ca0", "question_tokens": [["How", 0], ["much", 4], ["did", 9], ["it", 13], ["cost", 16], ["to", 21], ["build", 24], ["Levi", 30], ["'s", 34], ["Stadium", 37], ["?", 44]], "detected_answers": [{"text": "$1.2 billion", "char_spans": [[113, 124]], "token_spans": [[25, 27]]}]}, {"answers": ["Super Bowl XXXVII", "Super Bowl XXXVII", "XXXVII"], "question": "Prior to Super Bowl 50, what was the last Super Bowl in California?", "id": "56beb2153aeaaa14008c9228", "qid": "3d8ac2bd694a4ac7bad126269d0c92a0", "question_tokens": [["Prior", 0], ["to", 6], ["Super", 9], ["Bowl", 15], ["50", 20], [",", 22], ["what", 24], ["was", 29], ["the", 33], ["last", 37], ["Super", 42], ["Bowl", 48], ["in", 53], ["California", 56], ["?", 66]], "detected_answers": [{"text": "XXXVII", "char_spans": [[287, 292]], "token_spans": [[61, 61]]}]}, {"answers": ["San Diego", "San Diego", "San Diego"], "question": "In what city did the last Super Bowl in California occur?", "id": "56beb2153aeaaa14008c9229", "qid": "6313f86b729e4d0da3c7a7ab7fbdb6d2", "question_tokens": [["In", 0], ["what", 3], ["city", 8], ["did", 13], ["the", 17], ["last", 21], ["Super", 26], ["Bowl", 32], ["in", 37], ["California", 40], ["occur", 51], ["?", 56]], "detected_answers": [{"text": "San Diego", "char_spans": [[308, 316]], "token_spans": [[65, 66]]}]}, {"answers": ["2013", "2013", "2013"], "question": "What year did Levi's Stadium become fully approved to host Super Bowl 50?", "id": "56bf23363aeaaa14008c952f", "qid": "03910221e3584c339e1a16176c2cfe25", "question_tokens": [["What", 0], ["year", 5], ["did", 10], ["Levi", 14], ["'s", 18], ["Stadium", 21], ["become", 29], ["fully", 36], ["approved", 42], ["to", 51], ["host", 54], ["Super", 59], ["Bowl", 65], ["50", 70], ["?", 72]], "detected_answers": [{"text": "2013", "char_spans": [[11, 14]], "token_spans": [[4, 4]]}]}, {"answers": ["2014", "2014", "2014"], "question": "When did Levi's stadium open to the public? ", "id": "56bf23363aeaaa14008c9530", "qid": "660318b1d68a45e7b9131ea05889dd92", "question_tokens": [["When", 0], ["did", 5], ["Levi", 9], ["'s", 13], ["stadium", 16], ["open", 24], ["to", 29], ["the", 32], ["public", 36], ["?", 42]], "detected_answers": [{"text": "2014", "char_spans": [[144, 147]], "token_spans": [[31, 31]]}]}, {"answers": ["$1.2 billion", "$1.2 billion", "$1.2 billion"], "question": "How much did it cost to build the stadium where Super Bowl 50 was played?", "id": "56bf23363aeaaa14008c9531", "qid": "d0d23a90127a4c3f8b3928ef185631fd", "question_tokens": [["How", 0], ["much", 4], ["did", 9], ["it", 13], ["cost", 16], ["to", 21], ["build", 24], ["the", 30], ["stadium", 34], ["where", 42], ["Super", 48], ["Bowl", 54], ["50", 59], ["was", 62], ["played", 66], ["?", 72]], "detected_answers": [{"text": "$1.2 billion", "char_spans": [[113, 124]], "token_spans": [[25, 27]]}]}, {"answers": ["1985", "1985", "1985"], "question": "What year did a Super Bowl play in the bay area around San Francisco, prior to Super Bowl 50?", "id": "56bf23363aeaaa14008c9532", "qid": "b0c8ddcc8734483f8fa0245dca48785b", "question_tokens": [["What", 0], ["year", 5], ["did", 10], ["a", 14], ["Super", 16], ["Bowl", 22], ["play", 27], ["in", 32], ["the", 35], ["bay", 39], ["area", 43], ["around", 48], ["San", 55], ["Francisco", 59], [",", 68], ["prior", 70], ["to", 76], ["Super", 79], ["Bowl", 85], ["50", 90], ["?", 92]], "detected_answers": [{"text": "1985", "char_spans": [[236, 239]], "token_spans": [[51, 51]]}]}, {"answers": ["Super Bowl XXXVII", "Super Bowl XXXVII", "XXXVII"], "question": "Which Super Bowl was hosted in San Diego in 2003? ", "id": "56bf23363aeaaa14008c9533", "qid": "a9fdb83b628849e89bfd5ead56d2e6ee", "question_tokens": [["Which", 0], ["Super", 6], ["Bowl", 12], ["was", 17], ["hosted", 21], ["in", 28], ["San", 31], ["Diego", 35], ["in", 41], ["2003", 44], ["?", 48]], "detected_answers": [{"text": "XXXVII", "char_spans": [[287, 292]], "token_spans": [[61, 61]]}]}, {"answers": ["May 21, 2013", "May 21, 2013,", "May 21, 2013"], "question": "When was San Francisco voted to be the location for Super Bowl 50?", "id": "56d6f0770d65d21400198268", "qid": "3b37d8ac6ff6441d87bfab0589ee4a22", "question_tokens": [["When", 0], ["was", 5], ["San", 9], ["Francisco", 13], ["voted", 23], ["to", 29], ["be", 32], ["the", 35], ["location", 39], ["for", 48], ["Super", 52], ["Bowl", 58], ["50", 63], ["?", 65]], "detected_answers": [{"text": "May 21, 2013", "char_spans": [[3, 14]], "token_spans": [[1, 4]]}]}, {"answers": ["2014", "in 2014", "2014"], "question": "When did Levi's Stadium open?", "id": "56d6f0770d65d21400198269", "qid": "2b8e91f54fc241e8ab6d393ed21f4c2b", "question_tokens": [["When", 0], ["did", 5], ["Levi", 9], ["'s", 13], ["Stadium", 16], ["open", 24], ["?", 28]], "detected_answers": [{"text": "2014", "char_spans": [[144, 147]], "token_spans": [[31, 31]]}]}, {"answers": ["2003", "in 2003", "2003"], "question": "When was the last Super Bowl in California?", "id": "56d6f0770d65d2140019826a", "qid": "39c35592698d4f8b82183414e95a97e0", "question_tokens": [["When", 0], ["was", 5], ["the", 9], ["last", 13], ["Super", 18], ["Bowl", 24], ["in", 29], ["California", 32], ["?", 42]], "detected_answers": [{"text": "2003", "char_spans": [[321, 324]], "token_spans": [[68, 68]]}]}, {"answers": ["Boston", "in Boston", "Boston"], "question": "Where was the meeting held when the NFL owners voted on the location for Super Bowl 50?", "id": "56d6f0770d65d2140019826c", "qid": "123c0940045243b6a72eead43011d1fc", "question_tokens": [["Where", 0], ["was", 6], ["the", 10], ["meeting", 14], ["held", 22], ["when", 27], ["the", 32], ["NFL", 36], ["owners", 40], ["voted", 47], ["on", 53], ["the", 56], ["location", 60], ["for", 69], ["Super", 73], ["Bowl", 79], ["50", 84], ["?", 86]], "detected_answers": [{"text": "Boston", "char_spans": [[56, 61]], "token_spans": [[13, 13]]}]}, {"answers": ["May 21, 2013", "May 21, 2013", "May 21, 2013"], "question": "When was Levi's Stadium picked for Super bowl 50?", "id": "56d98fbfdc89441400fdb562", "qid": "3c2a542e2d8d4c159215b971ad3f096d", "question_tokens": [["When", 0], ["was", 5], ["Levi", 9], ["'s", 13], ["Stadium", 16], ["picked", 24], ["for", 31], ["Super", 35], ["bowl", 41], ["50", 46], ["?", 48]], "detected_answers": [{"text": "May 21, 2013", "char_spans": [[3, 14]], "token_spans": [[1, 4]]}]}, {"answers": ["2014.", "in 2014", "2014"], "question": "When did Levi's Stadium open?", "id": "56d98fbfdc89441400fdb563", "qid": "622ba886d68649619d926563ca28eb8f", "question_tokens": [["When", 0], ["did", 5], ["Levi", 9], ["'s", 13], ["Stadium", 16], ["open", 24], ["?", 28]], "detected_answers": [{"text": "2014", "char_spans": [[144, 147]], "token_spans": [[31, 31]]}]}, {"answers": ["$1.2 billion", "$1.2 billion", "$1.2 billion"], "question": "How much did Levi's Stadium cost?", "id": "56d98fbfdc89441400fdb564", "qid": "ab581f4ebb6e4f3a97e224e9fe6a515f", "question_tokens": [["How", 0], ["much", 4], ["did", 9], ["Levi", 13], ["'s", 17], ["Stadium", 20], ["cost", 28], ["?", 32]], "detected_answers": [{"text": "$1.2 billion", "char_spans": [[113, 124]], "token_spans": [[25, 27]]}]}, {"answers": ["2003.", "2003", "2003"], "question": "When was the last time California hosted a Super Bowl?", "id": "56d98fbfdc89441400fdb565", "qid": "bb8ff77cd36a4f02bc6995da68245cc1", "question_tokens": [["When", 0], ["was", 5], ["the", 9], ["last", 13], ["time", 18], ["California", 23], ["hosted", 34], ["a", 41], ["Super", 43], ["Bowl", 49], ["?", 53]], "detected_answers": [{"text": "2003", "char_spans": [[321, 324]], "token_spans": [[68, 68]]}]}], "context_tokens": [["On", 0], ["May", 3], ["21", 7], [",", 9], ["2013", 11], [",", 15], ["NFL", 17], ["owners", 21], ["at", 28], ["their", 31], ["spring", 37], ["meetings", 44], ["in", 53], ["Boston", 56], ["voted", 63], ["and", 69], ["awarded", 73], ["the", 81], ["game", 85], ["to", 90], ["Levi", 93], ["'s", 97], ["Stadium", 100], [".", 107], ["The", 109], ["$", 113], ["1.2", 114], ["billion", 118], ["stadium", 126], ["opened", 134], ["in", 141], ["2014", 144], [".", 148], ["It", 150], ["is", 153], ["the", 156], ["first", 160], ["Super", 166], ["Bowl", 172], ["held", 177], ["in", 182], ["the", 185], ["San", 189], ["Francisco", 193], ["Bay", 203], ["Area", 207], ["since", 212], ["Super", 218], ["Bowl", 224], ["XIX", 229], ["in", 233], ["1985", 236], [",", 240], ["and", 242], ["the", 246], ["first", 250], ["in", 256], ["California", 259], ["since", 270], ["Super", 276], ["Bowl", 282], ["XXXVII", 287], ["took", 294], ["place", 299], ["in", 305], ["San", 308], ["Diego", 312], ["in", 318], ["2003", 321], [".", 325]]} +{"id": "", "context": "The league announced on October 16, 2012, that the two finalists were Sun Life Stadium and Levi's Stadium. The South Florida/Miami area has previously hosted the event 10 times (tied for most with New Orleans), with the most recent one being Super Bowl XLIV in 2010. The San Francisco Bay Area last hosted in 1985 (Super Bowl XIX), held at Stanford Stadium in Stanford, California, won by the home team 49ers. The Miami bid depended on whether the stadium underwent renovations. However, on May 3, 2013, the Florida legislature refused to approve the funding plan to pay for the renovations, dealing a significant blow to Miami's chances.", "qas": [{"answers": ["October 16, 2012", "October 16, 2012,", "October 16, 2012"], "question": "When were the two finalists for hosting Super Bowl 50 announced?", "id": "56be54bdacb8001400a50322", "qid": "4d621b4978da4a5dbd57791b86da9c71", "question_tokens": [["When", 0], ["were", 5], ["the", 10], ["two", 14], ["finalists", 18], ["for", 28], ["hosting", 32], ["Super", 40], ["Bowl", 46], ["50", 51], ["announced", 54], ["?", 63]], "detected_answers": [{"text": "October 16, 2012", "char_spans": [[24, 39]], "token_spans": [[4, 7]]}]}, {"answers": ["10", "10", "10"], "question": "How many times has the South Florida/Miami area hosted the Super Bowl?", "id": "56be54bdacb8001400a50323", "qid": "2e83992ae554439b8e85c47c3518977e", "question_tokens": [["How", 0], ["many", 4], ["times", 9], ["has", 15], ["the", 19], ["South", 23], ["Florida", 29], ["/", 36], ["Miami", 37], ["area", 43], ["hosted", 48], ["the", 55], ["Super", 59], ["Bowl", 65], ["?", 69]], "detected_answers": [{"text": "10", "char_spans": [[168, 169]], "token_spans": [[33, 33]]}]}, {"answers": ["Super Bowl XLIV", "Super Bowl XLIV", "2010"], "question": "What was the most recent Super Bowl hosted in the South Florida/Miami area?", "id": "56be54bdacb8001400a50324", "qid": "85b0a0b8b1ab46a68e968470f4e5a390", "question_tokens": [["What", 0], ["was", 5], ["the", 9], ["most", 13], ["recent", 18], ["Super", 25], ["Bowl", 31], ["hosted", 36], ["in", 43], ["the", 46], ["South", 50], ["Florida", 56], ["/", 63], ["Miami", 64], ["area", 70], ["?", 74]], "detected_answers": [{"text": "2010", "char_spans": [[261, 264]], "token_spans": [[54, 54]]}]}, {"answers": ["2010", "2010", "2010"], "question": "When was the most recent Super Bowl hosted in the South Florida/Miami area?", "id": "56be54bdacb8001400a50325", "qid": "37042bcbf3774e3a8b6fc7582af90bc5", "question_tokens": [["When", 0], ["was", 5], ["the", 9], ["most", 13], ["recent", 18], ["Super", 25], ["Bowl", 31], ["hosted", 36], ["in", 43], ["the", 46], ["South", 50], ["Florida", 56], ["/", 63], ["Miami", 64], ["area", 70], ["?", 74]], "detected_answers": [{"text": "2010", "char_spans": [[261, 264]], "token_spans": [[54, 54]]}]}, {"answers": ["1985", "1985", "1985"], "question": "When did the San Francisco Bay area last host the Super Bowl?", "id": "56be54bdacb8001400a50326", "qid": "c1610b846d7f4f7a8cb684a694470ce5", "question_tokens": [["When", 0], ["did", 5], ["the", 9], ["San", 13], ["Francisco", 17], ["Bay", 27], ["area", 31], ["last", 36], ["host", 41], ["the", 46], ["Super", 50], ["Bowl", 56], ["?", 60]], "detected_answers": [{"text": "1985", "char_spans": [[309, 312]], "token_spans": [[64, 64]]}]}, {"answers": ["Sun Life Stadium", "Sun Life Stadium", "Sun Life Stadium"], "question": "What was the other finalist besides Levi's Stadium?", "id": "56beb0f43aeaaa14008c921b", "qid": "aaaee866ce0f4876bf9b5f411f80c7bb", "question_tokens": [["What", 0], ["was", 5], ["the", 9], ["other", 13], ["finalist", 19], ["besides", 28], ["Levi", 36], ["'s", 40], ["Stadium", 43], ["?", 50]], "detected_answers": [{"text": "Sun Life Stadium", "char_spans": [[70, 85]], "token_spans": [[14, 16]]}]}, {"answers": ["October 16, 2012", "October 16, 2012", "October 16, 2012,"], "question": "When were the finalists announced?", "id": "56beb0f43aeaaa14008c921c", "qid": "cff82fdf8f12427aab53d690ce70d30e", "question_tokens": [["When", 0], ["were", 5], ["the", 10], ["finalists", 14], ["announced", 24], ["?", 33]], "detected_answers": [{"text": "October 16, 2012,", "char_spans": [[24, 40]], "token_spans": [[4, 8]]}]}, {"answers": ["Stanford Stadium", "Stanford Stadium", "Stanford Stadium"], "question": "In what venue did Super Bowl XIX take place?", "id": "56beb0f43aeaaa14008c921d", "qid": "aa03e9f4b1354458b939ccf3b1b5ff2d", "question_tokens": [["In", 0], ["what", 3], ["venue", 8], ["did", 14], ["Super", 18], ["Bowl", 24], ["XIX", 29], ["take", 33], ["place", 38], ["?", 43]], "detected_answers": [{"text": "Stanford Stadium", "char_spans": [[340, 355]], "token_spans": [[73, 74]]}]}, {"answers": ["May 3, 2013", "May 3, 2013", "May 3, 2013"], "question": "On what date did the Florida legislature decide against the plan to renovate the Miami stadium?", "id": "56beb0f43aeaaa14008c921e", "qid": "ef692734c5774551b78c1d6a8a1aa509", "question_tokens": [["On", 0], ["what", 3], ["date", 8], ["did", 13], ["the", 17], ["Florida", 21], ["legislature", 29], ["decide", 41], ["against", 48], ["the", 56], ["plan", 60], ["to", 65], ["renovate", 68], ["the", 77], ["Miami", 81], ["stadium", 87], ["?", 94]], "detected_answers": [{"text": "May 3, 2013", "char_spans": [[491, 501]], "token_spans": [[101, 104]]}]}, {"answers": ["2010", "2010", "2010"], "question": "In what year was the Super Bowl last held in the Miami/South Florida area?", "id": "56beb0f43aeaaa14008c921f", "qid": "a70a0ccb24d74a4a8b0f2a3e6436bdff", "question_tokens": [["In", 0], ["what", 3], ["year", 8], ["was", 13], ["the", 17], ["Super", 21], ["Bowl", 27], ["last", 32], ["held", 37], ["in", 42], ["the", 45], ["Miami", 49], ["/", 54], ["South", 55], ["Florida", 61], ["area", 69], ["?", 73]], "detected_answers": [{"text": "2010", "char_spans": [[261, 264]], "token_spans": [[54, 54]]}]}, {"answers": ["two", "10", "10"], "question": "How many times has a Super Bowl taken place at Miami's Sun Life Stadium?", "id": "56bf21b43aeaaa14008c9525", "qid": "6d0b299bfeff4ab196ab679382d17d8f", "question_tokens": [["How", 0], ["many", 4], ["times", 9], ["has", 15], ["a", 19], ["Super", 21], ["Bowl", 27], ["taken", 32], ["place", 38], ["at", 44], ["Miami", 47], ["'s", 52], ["Sun", 55], ["Life", 59], ["Stadium", 64], ["?", 71]], "detected_answers": [{"text": "10", "char_spans": [[168, 169]], "token_spans": [[33, 33]]}]}, {"answers": ["Super Bowl XLIV", "Super Bowl XLIV", "2010"], "question": "What was the last Super Bowl that took place at Sun Life Stadium in Miami? ", "id": "56bf21b43aeaaa14008c9526", "qid": "75fe1964de0046fa99d54ac2e81be956", "question_tokens": [["What", 0], ["was", 5], ["the", 9], ["last", 13], ["Super", 18], ["Bowl", 24], ["that", 29], ["took", 34], ["place", 39], ["at", 45], ["Sun", 48], ["Life", 52], ["Stadium", 57], ["in", 65], ["Miami", 68], ["?", 73]], "detected_answers": [{"text": "2010", "char_spans": [[261, 264]], "token_spans": [[54, 54]]}]}, {"answers": ["two", "two", "two"], "question": "In 2012, how many stadiums were named as finalists for hosting Super Bowl 50 before the final stadium was chosen?", "id": "56bf21b43aeaaa14008c9528", "qid": "e1f33f1fb239449c9c2048e8e48dd40c", "question_tokens": [["In", 0], ["2012", 3], [",", 7], ["how", 9], ["many", 13], ["stadiums", 18], ["were", 27], ["named", 32], ["as", 38], ["finalists", 41], ["for", 51], ["hosting", 55], ["Super", 63], ["Bowl", 69], ["50", 74], ["before", 77], ["the", 84], ["final", 88], ["stadium", 94], ["was", 102], ["chosen", 106], ["?", 112]], "detected_answers": [{"text": "two", "char_spans": [[51, 53]], "token_spans": [[11, 11]]}]}, {"answers": ["Florida legislature", "the Florida legislature", "Florida legislature"], "question": "What was the entity that stepped in and caused Miami's Sun Life Stadium to no longer be in the running to host Super Bowl 50?", "id": "56bf21b43aeaaa14008c9529", "qid": "64bf0e133c0741b0ab7bb79e3f695356", "question_tokens": [["What", 0], ["was", 5], ["the", 9], ["entity", 13], ["that", 20], ["stepped", 25], ["in", 33], ["and", 36], ["caused", 40], ["Miami", 47], ["'s", 52], ["Sun", 55], ["Life", 59], ["Stadium", 64], ["to", 72], ["no", 75], ["longer", 78], ["be", 85], ["in", 88], ["the", 91], ["running", 95], ["to", 103], ["host", 106], ["Super", 111], ["Bowl", 117], ["50", 122], ["?", 124]], "detected_answers": [{"text": "Florida legislature", "char_spans": [[508, 526]], "token_spans": [[107, 108]]}]}, {"answers": ["1985", "1985", "1985"], "question": "Prior to this consideration, when did San Francisco last host a Super Bowl?", "id": "56d6ef6a0d65d21400198260", "qid": "118f18b3891a4fa9b39b090ba2a49a89", "question_tokens": [["Prior", 0], ["to", 6], ["this", 9], ["consideration", 14], [",", 27], ["when", 29], ["did", 34], ["San", 38], ["Francisco", 42], ["last", 52], ["host", 57], ["a", 62], ["Super", 64], ["Bowl", 70], ["?", 74]], "detected_answers": [{"text": "1985", "char_spans": [[309, 312]], "token_spans": [[64, 64]]}]}, {"answers": ["New Orleans", "New Orleans", "New Orleans"], "question": "What other city has hosted the Super Bowl ten times?", "id": "56d6ef6a0d65d21400198262", "qid": "504beced7bd646f28d3a3d983d0019e9", "question_tokens": [["What", 0], ["other", 5], ["city", 11], ["has", 16], ["hosted", 20], ["the", 27], ["Super", 31], ["Bowl", 37], ["ten", 42], ["times", 46], ["?", 51]], "detected_answers": [{"text": "New Orleans", "char_spans": [[197, 207]], "token_spans": [[40, 41]]}]}, {"answers": ["October 16, 2012", "October 16, 2012", "October 16, 2012,"], "question": "What date were the top two stadium choices for Super Bowl 50 announced?", "id": "56d98f0ddc89441400fdb558", "qid": "6d639b775f574bd3b9955b0ab4ad61cf", "question_tokens": [["What", 0], ["date", 5], ["were", 10], ["the", 15], ["top", 19], ["two", 23], ["stadium", 27], ["choices", 35], ["for", 43], ["Super", 47], ["Bowl", 53], ["50", 58], ["announced", 61], ["?", 70]], "detected_answers": [{"text": "October 16, 2012,", "char_spans": [[24, 40]], "token_spans": [[4, 8]]}]}, {"answers": ["10.", "10", "10 times"], "question": "How many times prios has the Sun Life Stadium had Super Bowls?", "id": "56d98f0ddc89441400fdb559", "qid": "d2aa5e88daed457589d89095055adcbb", "question_tokens": [["How", 0], ["many", 4], ["times", 9], ["prios", 15], ["has", 21], ["the", 25], ["Sun", 29], ["Life", 33], ["Stadium", 38], ["had", 46], ["Super", 50], ["Bowls", 56], ["?", 61]], "detected_answers": [{"text": "10 times", "char_spans": [[168, 175]], "token_spans": [[33, 34]]}]}, {"answers": ["New Orleans", "New Orleans", "New Orleans"], "question": "What city is tied with Miami for hosting the Super Bowl?", "id": "56d98f0ddc89441400fdb55a", "qid": "2ee29208f7ae4be1a28fce711758a99f", "question_tokens": [["What", 0], ["city", 5], ["is", 10], ["tied", 13], ["with", 18], ["Miami", 23], ["for", 29], ["hosting", 33], ["the", 41], ["Super", 45], ["Bowl", 51], ["?", 55]], "detected_answers": [{"text": "New Orleans", "char_spans": [[197, 207]], "token_spans": [[40, 41]]}]}, {"answers": ["1985", "1985", "1985"], "question": "When was the last time San Francisco hosted a Super Bowl?", "id": "56d98f0ddc89441400fdb55b", "qid": "84c1a0498d4b4843a03ea86fa7e8a5c6", "question_tokens": [["When", 0], ["was", 5], ["the", 9], ["last", 13], ["time", 18], ["San", 23], ["Francisco", 27], ["hosted", 37], ["a", 44], ["Super", 46], ["Bowl", 52], ["?", 56]], "detected_answers": [{"text": "1985", "char_spans": [[309, 312]], "token_spans": [[64, 64]]}]}, {"answers": ["Florida legislature", "the Florida legislature", "Florida legislature"], "question": "Who decided not to approve paying for renovations at Sun Life Stadium that the league wanted for them to do to host Super Bowl 50?", "id": "56d98f0ddc89441400fdb55c", "qid": "0e0dd2d0d46c491082bc3f0196789a95", "question_tokens": [["Who", 0], ["decided", 4], ["not", 12], ["to", 16], ["approve", 19], ["paying", 27], ["for", 34], ["renovations", 38], ["at", 50], ["Sun", 53], ["Life", 57], ["Stadium", 62], ["that", 70], ["the", 75], ["league", 79], ["wanted", 86], ["for", 93], ["them", 97], ["to", 102], ["do", 105], ["to", 108], ["host", 111], ["Super", 116], ["Bowl", 122], ["50", 127], ["?", 129]], "detected_answers": [{"text": "Florida legislature", "char_spans": [[508, 526]], "token_spans": [[107, 108]]}]}], "context_tokens": [["The", 0], ["league", 4], ["announced", 11], ["on", 21], ["October", 24], ["16", 32], [",", 34], ["2012", 36], [",", 40], ["that", 42], ["the", 47], ["two", 51], ["finalists", 55], ["were", 65], ["Sun", 70], ["Life", 74], ["Stadium", 79], ["and", 87], ["Levi", 91], ["'s", 95], ["Stadium", 98], [".", 105], ["The", 107], ["South", 111], ["Florida", 117], ["/", 124], ["Miami", 125], ["area", 131], ["has", 136], ["previously", 140], ["hosted", 151], ["the", 158], ["event", 162], ["10", 168], ["times", 171], ["(", 177], ["tied", 178], ["for", 183], ["most", 187], ["with", 192], ["New", 197], ["Orleans", 201], [")", 208], [",", 209], ["with", 211], ["the", 216], ["most", 220], ["recent", 225], ["one", 232], ["being", 236], ["Super", 242], ["Bowl", 248], ["XLIV", 253], ["in", 258], ["2010", 261], [".", 265], ["The", 267], ["San", 271], ["Francisco", 275], ["Bay", 285], ["Area", 289], ["last", 294], ["hosted", 299], ["in", 306], ["1985", 309], ["(", 314], ["Super", 315], ["Bowl", 321], ["XIX", 326], [")", 329], [",", 330], ["held", 332], ["at", 337], ["Stanford", 340], ["Stadium", 349], ["in", 357], ["Stanford", 360], [",", 368], ["California", 370], [",", 380], ["won", 382], ["by", 386], ["the", 389], ["home", 393], ["team", 398], ["49ers", 403], [".", 408], ["The", 410], ["Miami", 414], ["bid", 420], ["depended", 424], ["on", 433], ["whether", 436], ["the", 444], ["stadium", 448], ["underwent", 456], ["renovations", 466], [".", 477], ["However", 479], [",", 486], ["on", 488], ["May", 491], ["3", 495], [",", 496], ["2013", 498], [",", 502], ["the", 504], ["Florida", 508], ["legislature", 516], ["refused", 528], ["to", 536], ["approve", 539], ["the", 547], ["funding", 551], ["plan", 559], ["to", 564], ["pay", 567], ["for", 571], ["the", 575], ["renovations", 579], [",", 590], ["dealing", 592], ["a", 600], ["significant", 602], ["blow", 614], ["to", 619], ["Miami", 622], ["'s", 627], ["chances", 630], [".", 637]]} +{"id": "", "context": "For the third straight season, the number one seeds from both conferences met in the Super Bowl. The Carolina Panthers became one of only ten teams to have completed a regular season with only one loss, and one of only six teams to have acquired a 15\u20131 record, while the Denver Broncos became one of four teams to have made eight appearances in the Super Bowl. The Broncos made their second Super Bowl appearance in three years, having reached Super Bowl XLVIII, while the Panthers made their second Super Bowl appearance in franchise history, their other appearance being Super Bowl XXXVIII. Coincidentally, both teams were coached by John Fox in their last Super Bowl appearance prior to Super Bowl 50.", "qas": [{"answers": ["John Fox", "John Fox", "Fox"], "question": "Who coached each Super Bowl 50 participant in their most recent Super Bowl appearance prior to Super Bowl 50?", "id": "56be572b3aeaaa14008c9052", "qid": "c5f55f0f56704c7aa28769060e232615", "question_tokens": [["Who", 0], ["coached", 4], ["each", 12], ["Super", 17], ["Bowl", 23], ["50", 28], ["participant", 31], ["in", 43], ["their", 46], ["most", 52], ["recent", 57], ["Super", 64], ["Bowl", 70], ["appearance", 75], ["prior", 86], ["to", 92], ["Super", 95], ["Bowl", 101], ["50", 106], ["?", 108]], "detected_answers": [{"text": "Fox", "char_spans": [[641, 643]], "token_spans": [[118, 118]]}]}, {"answers": ["ten", "ten", "six"], "question": "How many NFL teams have finished the regular season with one loss?", "id": "56beb2a03aeaaa14008c922f", "qid": "b3627c8795144e2a9915e506968a0f53", "question_tokens": [["How", 0], ["many", 4], ["NFL", 9], ["teams", 13], ["have", 19], ["finished", 24], ["the", 33], ["regular", 37], ["season", 45], ["with", 52], ["one", 57], ["loss", 61], ["?", 65]], "detected_answers": [{"text": "six", "char_spans": [[219, 221]], "token_spans": [[43, 43]]}]}, {"answers": ["six", "six", "six"], "question": "How many NFL teams have gone 15-1 in one season?", "id": "56beb2a03aeaaa14008c9230", "qid": "d93364aeb44a49c0b8d03fcdae097770", "question_tokens": [["How", 0], ["many", 4], ["NFL", 9], ["teams", 13], ["have", 19], ["gone", 24], ["15", 29], ["-", 31], ["1", 32], ["in", 34], ["one", 37], ["season", 41], ["?", 47]], "detected_answers": [{"text": "six", "char_spans": [[219, 221]], "token_spans": [[43, 43]]}]}, {"answers": ["Carolina Panthers", "The Carolina Panthers", "Panthers"], "question": "Which team in Super Bowl 50 had a 15-1 record?", "id": "56beb2a03aeaaa14008c9231", "qid": "67f71da206e14df29c4095c51e2240a5", "question_tokens": [["Which", 0], ["team", 6], ["in", 11], ["Super", 14], ["Bowl", 20], ["50", 25], ["had", 28], ["a", 32], ["15", 34], ["-", 36], ["1", 37], ["record", 39], ["?", 45]], "detected_answers": [{"text": "Panthers", "char_spans": [[110, 117]], "token_spans": [[21, 21]]}]}, {"answers": ["Super Bowl XLVIII", "Super Bowl XLVIII", "XLVIII"], "question": "What was the last Super Bowl the Broncos participated in?", "id": "56beb2a03aeaaa14008c9232", "qid": "c6488a805a0044f2818aab09b0a77edb", "question_tokens": [["What", 0], ["was", 5], ["the", 9], ["last", 13], ["Super", 18], ["Bowl", 24], ["the", 29], ["Broncos", 33], ["participated", 41], ["in", 54], ["?", 56]], "detected_answers": [{"text": "XLVIII", "char_spans": [[455, 460]], "token_spans": [[87, 87]]}]}, {"answers": ["John Fox", "John Fox", "Fox"], "question": "Who was the head coach of the Broncos in Super Bowl XLVIII?", "id": "56beb2a03aeaaa14008c9233", "qid": "51784276fee04f33966e71320a7d87c3", "question_tokens": [["Who", 0], ["was", 4], ["the", 8], ["head", 12], ["coach", 17], ["of", 23], ["the", 26], ["Broncos", 30], ["in", 38], ["Super", 41], ["Bowl", 47], ["XLVIII", 52], ["?", 58]], "detected_answers": [{"text": "Fox", "char_spans": [[641, 643]], "token_spans": [[118, 118]]}]}, {"answers": ["eight", "eight", "eight"], "question": "What was the number of times the Denver Broncos played in a Super Bowl by the time they reached Super Bowl 50?", "id": "56bf28c73aeaaa14008c9539", "qid": "ddcbfe39a20540df86ccc7b713d820f6", "question_tokens": [["What", 0], ["was", 5], ["the", 9], ["number", 13], ["of", 20], ["times", 23], ["the", 29], ["Denver", 33], ["Broncos", 40], ["played", 48], ["in", 55], ["a", 58], ["Super", 60], ["Bowl", 66], ["by", 71], ["the", 74], ["time", 78], ["they", 83], ["reached", 88], ["Super", 96], ["Bowl", 102], ["50", 107], ["?", 109]], "detected_answers": [{"text": "eight", "char_spans": [[324, 328]], "token_spans": [[64, 64]]}]}, {"answers": ["ten", "ten", "ten"], "question": "How many NFL teams have had only one loss by the end of a regular season?", "id": "56bf28c73aeaaa14008c953a", "qid": "f420b5aeeea04b40aa8943b7c3cb9c66", "question_tokens": [["How", 0], ["many", 4], ["NFL", 9], ["teams", 13], ["have", 19], ["had", 24], ["only", 28], ["one", 33], ["loss", 37], ["by", 42], ["the", 45], ["end", 49], ["of", 53], ["a", 56], ["regular", 58], ["season", 66], ["?", 72]], "detected_answers": [{"text": "ten", "char_spans": [[138, 140]], "token_spans": [[26, 26]]}]}, {"answers": ["Super Bowl XXXVIII", "Super Bowl XXXVIII", "XXXVIII"], "question": "What was the first Super Bowl that the Carolina Panthers played in? ", "id": "56bf28c73aeaaa14008c953c", "qid": "dda3b90e6e59403ab7d02ce32a8e84b5", "question_tokens": [["What", 0], ["was", 5], ["the", 9], ["first", 13], ["Super", 19], ["Bowl", 25], ["that", 30], ["the", 35], ["Carolina", 39], ["Panthers", 48], ["played", 57], ["in", 64], ["?", 66]], "detected_answers": [{"text": "XXXVIII", "char_spans": [[584, 590]], "token_spans": [[108, 108]]}]}, {"answers": ["six", "ten", "ten"], "question": "How many teams can boast a 15\u20131 regular season record?", "id": "56bf28c73aeaaa14008c953d", "qid": "2ff5748b293c472ba0800a38fc620079", "question_tokens": [["How", 0], ["many", 4], ["teams", 9], ["can", 15], ["boast", 19], ["a", 25], ["15\u20131", 27], ["regular", 32], ["season", 40], ["record", 47], ["?", 53]], "detected_answers": [{"text": "ten", "char_spans": [[138, 140]], "token_spans": [[26, 26]]}]}, {"answers": ["number one", "number one", "one"], "question": "What seed was the Carolina Panthers?", "id": "56d6f1190d65d21400198272", "qid": "9b75a742420e4c5c8f12e837ff18c25a", "question_tokens": [["What", 0], ["seed", 5], ["was", 10], ["the", 14], ["Carolina", 18], ["Panthers", 27], ["?", 35]], "detected_answers": [{"text": "one", "char_spans": [[42, 44]], "token_spans": [[8, 8]]}]}, {"answers": ["number one", "number one", "one"], "question": "What seed was the Denver Broncos?", "id": "56d6f1190d65d21400198273", "qid": "b870221781c64c0e9769b542adb9de5c", "question_tokens": [["What", 0], ["seed", 5], ["was", 10], ["the", 14], ["Denver", 18], ["Broncos", 25], ["?", 32]], "detected_answers": [{"text": "one", "char_spans": [[42, 44]], "token_spans": [[8, 8]]}]}, {"answers": ["Super Bowl XLVIII", "Super Bowl XLVIII", "Super Bowl XLVIII"], "question": "Prior to Super Bowl 50, when were the Broncos last there?", "id": "56d6f1190d65d21400198274", "qid": "3891e5bedff44b968211dcb2f9287a75", "question_tokens": [["Prior", 0], ["to", 6], ["Super", 9], ["Bowl", 15], ["50", 20], [",", 22], ["when", 24], ["were", 29], ["the", 34], ["Broncos", 38], ["last", 46], ["there", 51], ["?", 56]], "detected_answers": [{"text": "Super Bowl XLVIII", "char_spans": [[444, 460]], "token_spans": [[85, 87]]}]}, {"answers": ["Super Bowl XXXVIII.", "Super Bowl XXXVIII", "Super Bowl XXXVIII"], "question": "Prior to Super Bowl 50, when were the Carolina Panthers last there?", "id": "56d6f1190d65d21400198275", "qid": "f3b014ecab1c4032a1c6e5fa7641555b", "question_tokens": [["Prior", 0], ["to", 6], ["Super", 9], ["Bowl", 15], ["50", 20], [",", 22], ["when", 24], ["were", 29], ["the", 34], ["Carolina", 38], ["Panthers", 47], ["last", 56], ["there", 61], ["?", 66]], "detected_answers": [{"text": "Super Bowl XXXVIII", "char_spans": [[573, 590]], "token_spans": [[106, 108]]}]}, {"answers": ["six", "ten", "ten"], "question": "How many teams have had a 15-1 record for the regular season?", "id": "56d6f1190d65d21400198276", "qid": "644501ec5c0749bbbb3b27debffca9b8", "question_tokens": [["How", 0], ["many", 4], ["teams", 9], ["have", 15], ["had", 20], ["a", 24], ["15", 26], ["-", 28], ["1", 29], ["record", 31], ["for", 38], ["the", 42], ["regular", 46], ["season", 54], ["?", 60]], "detected_answers": [{"text": "ten", "char_spans": [[138, 140]], "token_spans": [[26, 26]]}]}, {"answers": ["one", "1", "1"], "question": "How many games did the Panthers lose in the regular season before Super Bowl 50?", "id": "56d99179dc89441400fdb56c", "qid": "a4339b28775f456c94895fc5a37e77fd", "question_tokens": [["How", 0], ["many", 4], ["games", 9], ["did", 15], ["the", 19], ["Panthers", 23], ["lose", 32], ["in", 37], ["the", 40], ["regular", 44], ["season", 52], ["before", 59], ["Super", 66], ["Bowl", 72], ["50", 77], ["?", 79]], "detected_answers": [{"text": "one", "char_spans": [[42, 44]], "token_spans": [[8, 8]]}]}, {"answers": ["four", "four", "four"], "question": "How many teams up to Super Bowl 50 have been to the championship game eight times?", "id": "56d99179dc89441400fdb56d", "qid": "b1cb5895c617478aa2d30992551f903a", "question_tokens": [["How", 0], ["many", 4], ["teams", 9], ["up", 15], ["to", 18], ["Super", 21], ["Bowl", 27], ["50", 32], ["have", 35], ["been", 40], ["to", 45], ["the", 48], ["championship", 52], ["game", 65], ["eight", 70], ["times", 76], ["?", 81]], "detected_answers": [{"text": "four", "char_spans": [[300, 303]], "token_spans": [[59, 59]]}]}, {"answers": ["John Fox", "John Fox", "John Fox"], "question": "Before Super Bowl 50, what was the coach's name that coached both teams for their last Super Bowl appearances?", "id": "56d99179dc89441400fdb570", "qid": "7311a706089c4dedaee715881d893ebc", "question_tokens": [["Before", 0], ["Super", 7], ["Bowl", 13], ["50", 18], [",", 20], ["what", 22], ["was", 27], ["the", 31], ["coach", 35], ["'s", 40], ["name", 43], ["that", 48], ["coached", 53], ["both", 61], ["teams", 66], ["for", 72], ["their", 76], ["last", 82], ["Super", 87], ["Bowl", 93], ["appearances", 98], ["?", 109]], "detected_answers": [{"text": "John Fox", "char_spans": [[636, 643]], "token_spans": [[117, 118]]}]}], "context_tokens": [["For", 0], ["the", 4], ["third", 8], ["straight", 14], ["season", 23], [",", 29], ["the", 31], ["number", 35], ["one", 42], ["seeds", 46], ["from", 52], ["both", 57], ["conferences", 62], ["met", 74], ["in", 78], ["the", 81], ["Super", 85], ["Bowl", 91], [".", 95], ["The", 97], ["Carolina", 101], ["Panthers", 110], ["became", 119], ["one", 126], ["of", 130], ["only", 133], ["ten", 138], ["teams", 142], ["to", 148], ["have", 151], ["completed", 156], ["a", 166], ["regular", 168], ["season", 176], ["with", 183], ["only", 188], ["one", 193], ["loss", 197], [",", 201], ["and", 203], ["one", 207], ["of", 211], ["only", 214], ["six", 219], ["teams", 223], ["to", 229], ["have", 232], ["acquired", 237], ["a", 246], ["15\u20131", 248], ["record", 253], [",", 259], ["while", 261], ["the", 267], ["Denver", 271], ["Broncos", 278], ["became", 286], ["one", 293], ["of", 297], ["four", 300], ["teams", 305], ["to", 311], ["have", 314], ["made", 319], ["eight", 324], ["appearances", 330], ["in", 342], ["the", 345], ["Super", 349], ["Bowl", 355], [".", 359], ["The", 361], ["Broncos", 365], ["made", 373], ["their", 378], ["second", 384], ["Super", 391], ["Bowl", 397], ["appearance", 402], ["in", 413], ["three", 416], ["years", 422], [",", 427], ["having", 429], ["reached", 436], ["Super", 444], ["Bowl", 450], ["XLVIII", 455], [",", 461], ["while", 463], ["the", 469], ["Panthers", 473], ["made", 482], ["their", 487], ["second", 493], ["Super", 500], ["Bowl", 506], ["appearance", 511], ["in", 522], ["franchise", 525], ["history", 535], [",", 542], ["their", 544], ["other", 550], ["appearance", 556], ["being", 567], ["Super", 573], ["Bowl", 579], ["XXXVIII", 584], [".", 591], ["Coincidentally", 593], [",", 607], ["both", 609], ["teams", 614], ["were", 620], ["coached", 625], ["by", 633], ["John", 636], ["Fox", 641], ["in", 645], ["their", 648], ["last", 654], ["Super", 659], ["Bowl", 665], ["appearance", 670], ["prior", 681], ["to", 687], ["Super", 690], ["Bowl", 696], ["50", 701], [".", 703]]} +{"id": "", "context": "Despite waiving longtime running back DeAngelo Williams and losing top wide receiver Kelvin Benjamin to a torn ACL in the preseason, the Carolina Panthers had their best regular season in franchise history, becoming the seventh team to win at least 15 regular season games since the league expanded to a 16-game schedule in 1978. Carolina started the season 14\u20130, not only setting franchise records for the best start and the longest single-season winning streak, but also posting the best start to a season by an NFC team in NFL history, breaking the 13\u20130 record previously shared with the 2009 New Orleans Saints and the 2011 Green Bay Packers. With their NFC-best 15\u20131 regular season record, the Panthers clinched home-field advantage throughout the NFC playoffs for the first time in franchise history. Ten players were selected to the Pro Bowl (the most in franchise history) along with eight All-Pro selections.", "qas": [{"answers": ["DeAngelo Williams", "DeAngelo Williams", "Williams"], "question": "Whic Carolina Panthers running back was waived?", "id": "56be59683aeaaa14008c9058", "qid": "0e3b434ab0ac4318aabcd29e030523ae", "question_tokens": [["Whic", 0], ["Carolina", 5], ["Panthers", 14], ["running", 23], ["back", 31], ["was", 36], ["waived", 40], ["?", 46]], "detected_answers": [{"text": "Williams", "char_spans": [[47, 54]], "token_spans": [[6, 6]]}]}, {"answers": ["Kelvin Benjamin", "Kelvin Benjamin", "Benjamin"], "question": "Which Carolina Panthers wide receiver suffered a torn ACL before the season began?", "id": "56be59683aeaaa14008c9059", "qid": "08b9ace3723f4360b5bb00a7aea977ec", "question_tokens": [["Which", 0], ["Carolina", 6], ["Panthers", 15], ["wide", 24], ["receiver", 29], ["suffered", 38], ["a", 47], ["torn", 49], ["ACL", 54], ["before", 58], ["the", 65], ["season", 69], ["began", 76], ["?", 81]], "detected_answers": [{"text": "Benjamin", "char_spans": [[92, 99]], "token_spans": [[13, 13]]}]}, {"answers": ["7", "seventh", "seventh"], "question": "How many teams have won 15 regular season games since the 16-game schedule was adopted?", "id": "56be59683aeaaa14008c905a", "qid": "50f65d4d1ec6483ba2bb42031d656df0", "question_tokens": [["How", 0], ["many", 4], ["teams", 9], ["have", 15], ["won", 20], ["15", 24], ["regular", 27], ["season", 35], ["games", 42], ["since", 48], ["the", 54], ["16-game", 58], ["schedule", 66], ["was", 75], ["adopted", 79], ["?", 86]], "detected_answers": [{"text": "seventh", "char_spans": [[220, 226]], "token_spans": [[36, 36]]}]}, {"answers": ["1978", "1978", "1978"], "question": "In what year did the NFL switch to a 16-game regular season?", "id": "56beb3083aeaaa14008c923d", "qid": "d82088877d5543f694f2af057fce09a7", "question_tokens": [["In", 0], ["what", 3], ["year", 8], ["did", 13], ["the", 17], ["NFL", 21], ["switch", 25], ["to", 32], ["a", 35], ["16-game", 37], ["regular", 45], ["season", 53], ["?", 59]], "detected_answers": [{"text": "1978", "char_spans": [[324, 327]], "token_spans": [[55, 55]]}]}, {"answers": ["Carolina Panthers", "the Panthers", "Carolina"], "question": "Who had the best record in the NFC?", "id": "56beb3083aeaaa14008c923e", "qid": "4394b910b1d840e78b9ad6b8e5f31b4c", "question_tokens": [["Who", 0], ["had", 4], ["the", 8], ["best", 12], ["record", 17], ["in", 24], ["the", 27], ["NFC", 31], ["?", 34]], "detected_answers": [{"text": "Carolina", "char_spans": [[330, 337]], "token_spans": [[57, 57]]}]}, {"answers": ["Ten", "Ten", "Ten"], "question": "How many Panthers went to the Pro Bowl?", "id": "56beb3083aeaaa14008c923f", "qid": "7131e4b52ecb44f4ae14f3734f6d7c96", "question_tokens": [["How", 0], ["many", 4], ["Panthers", 9], ["went", 18], ["to", 23], ["the", 26], ["Pro", 30], ["Bowl", 34], ["?", 38]], "detected_answers": [{"text": "Ten", "char_spans": [[807, 809]], "token_spans": [[146, 146]]}]}, {"answers": ["eight", "eight", "eight"], "question": "How many Panthers were designated All-Pro?", "id": "56beb3083aeaaa14008c9240", "qid": "0ec83cf9a5d94c08a7f75fcfbded2057", "question_tokens": [["How", 0], ["many", 4], ["Panthers", 9], ["were", 18], ["designated", 23], ["All", 34], ["-", 37], ["Pro", 38], ["?", 41]], "detected_answers": [{"text": "eight", "char_spans": [[892, 896]], "token_spans": [[163, 163]]}]}, {"answers": ["Kelvin Benjamin", "Kelvin Benjamin", "Benjamin"], "question": "What Panther tore his ACL in the preseason?", "id": "56beb3083aeaaa14008c9241", "qid": "0515b56f5c034b8492e71266251cd34f", "question_tokens": [["What", 0], ["Panther", 5], ["tore", 13], ["his", 18], ["ACL", 22], ["in", 26], ["the", 29], ["preseason", 33], ["?", 42]], "detected_answers": [{"text": "Benjamin", "char_spans": [[92, 99]], "token_spans": [[13, 13]]}]}, {"answers": ["1978", "1978", "1978"], "question": "What year did the league begin having schedules with 16 games in them?", "id": "56bf2afe3aeaaa14008c9543", "qid": "04def93363e142fb976ded79212e9331", "question_tokens": [["What", 0], ["year", 5], ["did", 10], ["the", 14], ["league", 18], ["begin", 25], ["having", 31], ["schedules", 38], ["with", 48], ["16", 53], ["games", 56], ["in", 62], ["them", 65], ["?", 69]], "detected_answers": [{"text": "1978", "char_spans": [[324, 327]], "token_spans": [[55, 55]]}]}, {"answers": ["2009", "2009", "2009"], "question": "What year did the the Saints hit a 13-0 record?", "id": "56bf2afe3aeaaa14008c9544", "qid": "e91a3b3b72d44a4ab0de6f9cbe4de146", "question_tokens": [["What", 0], ["year", 5], ["did", 10], ["the", 14], ["the", 18], ["Saints", 22], ["hit", 29], ["a", 33], ["13", 35], ["-", 37], ["0", 38], ["record", 40], ["?", 46]], "detected_answers": [{"text": "2009", "char_spans": [[591, 594]], "token_spans": [[106, 106]]}]}, {"answers": ["2011", "2011", "2011"], "question": "When did the Packers arrive at a record of 13-0?", "id": "56bf2afe3aeaaa14008c9545", "qid": "9e6cf6de9029406a8c807f3c9dadaab0", "question_tokens": [["When", 0], ["did", 5], ["the", 9], ["Packers", 13], ["arrive", 21], ["at", 28], ["a", 31], ["record", 33], ["of", 40], ["13", 43], ["-", 45], ["0", 46], ["?", 47]], "detected_answers": [{"text": "2011", "char_spans": [[623, 626]], "token_spans": [[112, 112]]}]}, {"answers": ["torn ACL", "a torn ACL", "torn ACL"], "question": "What injury did the Carolina Panthers lose Kelvin Benjamin to during their preseason?", "id": "56bf2afe3aeaaa14008c9547", "qid": "88138335d9724387ab75669b97131b2a", "question_tokens": [["What", 0], ["injury", 5], ["did", 12], ["the", 16], ["Carolina", 20], ["Panthers", 29], ["lose", 38], ["Kelvin", 43], ["Benjamin", 50], ["to", 59], ["during", 62], ["their", 69], ["preseason", 75], ["?", 84]], "detected_answers": [{"text": "torn ACL", "char_spans": [[106, 113]], "token_spans": [[16, 17]]}]}, {"answers": ["Kelvin Benjamin", "Kelvin Benjamin", "Benjamin"], "question": "Which player did the Panthers lose to an ACL injury in a preseason game?", "id": "56d6f2000d65d2140019827c", "qid": "8367dace42d646df8dfe429f545d2c1b", "question_tokens": [["Which", 0], ["player", 6], ["did", 13], ["the", 17], ["Panthers", 21], ["lose", 30], ["to", 35], ["an", 38], ["ACL", 41], ["injury", 45], ["in", 52], ["a", 55], ["preseason", 57], ["game", 67], ["?", 71]], "detected_answers": [{"text": "Benjamin", "char_spans": [[92, 99]], "token_spans": [[13, 13]]}]}, {"answers": ["DeAngelo Williams", "DeAngelo Williams", "Williams"], "question": "Which running back did the Panthers waive?", "id": "56d6f2000d65d2140019827d", "qid": "56ff24dfe4eb4f2186901cca0ee168f3", "question_tokens": [["Which", 0], ["running", 6], ["back", 14], ["did", 19], ["the", 23], ["Panthers", 27], ["waive", 36], ["?", 41]], "detected_answers": [{"text": "Williams", "char_spans": [[47, 54]], "token_spans": [[6, 6]]}]}, {"answers": ["1978", "1978", "1978"], "question": "When did the NFL start their 16 game seasons?", "id": "56d6f2000d65d2140019827e", "qid": "cf061826580f45908fec8617888fe6a9", "question_tokens": [["When", 0], ["did", 5], ["the", 9], ["NFL", 13], ["start", 17], ["their", 23], ["16", 29], ["game", 32], ["seasons", 37], ["?", 44]], "detected_answers": [{"text": "1978", "char_spans": [[324, 327]], "token_spans": [[55, 55]]}]}, {"answers": ["Ten", "Ten", "Ten"], "question": "How many Panthers players were selected to the Pro Bowl?", "id": "56d6f2000d65d2140019827f", "qid": "aab9c74ec68645e79ecf9019e36ac771", "question_tokens": [["How", 0], ["many", 4], ["Panthers", 9], ["players", 18], ["were", 26], ["selected", 31], ["to", 40], ["the", 43], ["Pro", 47], ["Bowl", 51], ["?", 55]], "detected_answers": [{"text": "Ten", "char_spans": [[807, 809]], "token_spans": [[146, 146]]}]}, {"answers": ["Carolina Panthers", "the Panthers", "Carolina"], "question": "Which team had the best regular season in their history?", "id": "56d9943fdc89441400fdb576", "qid": "0833e0539eb44c2fba66625f7bdce517", "question_tokens": [["Which", 0], ["team", 6], ["had", 11], ["the", 15], ["best", 19], ["regular", 24], ["season", 32], ["in", 39], ["their", 42], ["history", 48], ["?", 55]], "detected_answers": [{"text": "Carolina", "char_spans": [[330, 337]], "token_spans": [[57, 57]]}]}, {"answers": ["1978.", "1978", "1978"], "question": "When did the league go from 15 to 16 games in the regular season?", "id": "56d9943fdc89441400fdb577", "qid": "2e29854700ab4436bf2a4fa777c84665", "question_tokens": [["When", 0], ["did", 5], ["the", 9], ["league", 13], ["go", 20], ["from", 23], ["15", 28], ["to", 31], ["16", 34], ["games", 37], ["in", 43], ["the", 46], ["regular", 50], ["season", 58], ["?", 64]], "detected_answers": [{"text": "1978", "char_spans": [[324, 327]], "token_spans": [[55, 55]]}]}, {"answers": ["Carolina Panthers", "the Panthers", "Carolina"], "question": "What team had the best start ever in the NFL?", "id": "56d9943fdc89441400fdb578", "qid": "7ded1b9fa0c4487cb947ea9653235a3f", "question_tokens": [["What", 0], ["team", 5], ["had", 10], ["the", 14], ["best", 18], ["start", 23], ["ever", 29], ["in", 34], ["the", 37], ["NFL", 41], ["?", 44]], "detected_answers": [{"text": "Carolina", "char_spans": [[330, 337]], "token_spans": [[57, 57]]}]}, {"answers": ["Ten", "Ten", "Ten"], "question": "How many Panthers players were chosen for the 2015 season's Pro Bowl?", "id": "56d9943fdc89441400fdb57a", "qid": "8bc00cf440354fd5bd645ccad4b04290", "question_tokens": [["How", 0], ["many", 4], ["Panthers", 9], ["players", 18], ["were", 26], ["chosen", 31], ["for", 38], ["the", 42], ["2015", 46], ["season", 51], ["'s", 57], ["Pro", 60], ["Bowl", 64], ["?", 68]], "detected_answers": [{"text": "Ten", "char_spans": [[807, 809]], "token_spans": [[146, 146]]}]}], "context_tokens": [["Despite", 0], ["waiving", 8], ["longtime", 16], ["running", 25], ["back", 33], ["DeAngelo", 38], ["Williams", 47], ["and", 56], ["losing", 60], ["top", 67], ["wide", 71], ["receiver", 76], ["Kelvin", 85], ["Benjamin", 92], ["to", 101], ["a", 104], ["torn", 106], ["ACL", 111], ["in", 115], ["the", 118], ["preseason", 122], [",", 131], ["the", 133], ["Carolina", 137], ["Panthers", 146], ["had", 155], ["their", 159], ["best", 165], ["regular", 170], ["season", 178], ["in", 185], ["franchise", 188], ["history", 198], [",", 205], ["becoming", 207], ["the", 216], ["seventh", 220], ["team", 228], ["to", 233], ["win", 236], ["at", 240], ["least", 243], ["15", 249], ["regular", 252], ["season", 260], ["games", 267], ["since", 273], ["the", 279], ["league", 283], ["expanded", 290], ["to", 299], ["a", 302], ["16-game", 304], ["schedule", 312], ["in", 321], ["1978", 324], [".", 328], ["Carolina", 330], ["started", 339], ["the", 347], ["season", 351], ["14\u20130", 358], [",", 362], ["not", 364], ["only", 368], ["setting", 373], ["franchise", 381], ["records", 391], ["for", 399], ["the", 403], ["best", 407], ["start", 412], ["and", 418], ["the", 422], ["longest", 426], ["single", 434], ["-", 440], ["season", 441], ["winning", 448], ["streak", 456], [",", 462], ["but", 464], ["also", 468], ["posting", 473], ["the", 481], ["best", 485], ["start", 490], ["to", 496], ["a", 499], ["season", 501], ["by", 508], ["an", 511], ["NFC", 514], ["team", 518], ["in", 523], ["NFL", 526], ["history", 530], [",", 537], ["breaking", 539], ["the", 548], ["13\u20130", 552], ["record", 557], ["previously", 564], ["shared", 575], ["with", 582], ["the", 587], ["2009", 591], ["New", 596], ["Orleans", 600], ["Saints", 608], ["and", 615], ["the", 619], ["2011", 623], ["Green", 628], ["Bay", 634], ["Packers", 638], [".", 645], ["With", 647], ["their", 652], ["NFC", 658], ["-", 661], ["best", 662], ["15\u20131", 667], ["regular", 672], ["season", 680], ["record", 687], [",", 693], ["the", 695], ["Panthers", 699], ["clinched", 708], ["home", 717], ["-", 721], ["field", 722], ["advantage", 728], ["throughout", 738], ["the", 749], ["NFC", 753], ["playoffs", 757], ["for", 766], ["the", 770], ["first", 774], ["time", 780], ["in", 785], ["franchise", 788], ["history", 798], [".", 805], ["Ten", 807], ["players", 811], ["were", 819], ["selected", 824], ["to", 833], ["the", 836], ["Pro", 840], ["Bowl", 844], ["(", 849], ["the", 850], ["most", 854], ["in", 859], ["franchise", 862], ["history", 872], [")", 879], ["along", 881], ["with", 887], ["eight", 892], ["All", 898], ["-", 901], ["Pro", 902], ["selections", 906], [".", 916]]} diff --git a/PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/model_wrapper.py b/PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/model_wrapper.py new file mode 100644 index 00000000..d72b5b14 --- /dev/null +++ b/PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/model_wrapper.py @@ -0,0 +1,136 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +"""ERNIE (PaddlePaddle) model wrapper""" +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function +import os +import json +import collections +import multiprocessing +import argparse +import numpy as np +import paddle.fluid as fluid +from pdnlp.toolkit.configure import ArgumentGroup +from task_reader.mrqa_infer import DataProcessor, get_answers +from pdnlp.toolkit.init import init_pretraining_params, init_checkpoint + +ema_decay = 0.9999 +verbose = False +max_seq_len = 512 +max_query_length = 64 +max_answer_length = 30 +in_tokens = False +do_lower_case = True +doc_stride = 128 +n_best_size = 20 +use_cuda = True + + + +class ERNIEModelWrapper(): + """ + Wrap a tnet model + the basic processes include input checking, preprocessing, calling tf-serving + and postprocessing + """ + def __init__(self, model_dir): + """ """ + if use_cuda: + place = fluid.CUDAPlace(0) + dev_count = fluid.core.get_cuda_device_count() + else: + place = fluid.CPUPlace() + dev_count = int(os.environ.get('CPU_NUM', multiprocessing.cpu_count())) + self.exe = fluid.Executor(place) + + self.bert_preprocessor = DataProcessor( + vocab_path=os.path.join(model_dir, 'vocab.txt'), + do_lower_case=do_lower_case, + max_seq_length=max_seq_len, + in_tokens=in_tokens, + doc_stride=doc_stride, + max_query_length=max_query_length) + + self.inference_program, self.feed_target_names, self.fetch_targets = \ + fluid.io.load_inference_model(dirname=model_dir, executor=self.exe) + + def preprocessor(self, samples, batch_size, examples_start_id, features_start_id): + """Preprocess the input samples, including word seg, padding, token to ids""" + # Tokenization and paragraph padding + examples, features, batch = self.bert_preprocessor.data_generator( + samples, batch_size, max_len=max_seq_len, examples_start_id=examples_start_id, features_start_id=features_start_id) + self.samples = samples + return examples, features, batch + + def call_mrc(self, batch, squeeze_dim0=False, return_list=False): + """MRC""" + if squeeze_dim0 and return_list: + raise ValueError("squeeze_dim0 only work for dict-type return value.") + src_ids = batch[0] + pos_ids = batch[1] + sent_ids = batch[2] + input_mask = batch[3] + unique_id = batch[4] + feed_dict = { + self.feed_target_names[0]: src_ids, + self.feed_target_names[1]: pos_ids, + self.feed_target_names[2]: sent_ids, + self.feed_target_names[3]: input_mask, + self.feed_target_names[4]: unique_id + } + + np_unique_ids, np_start_logits, np_end_logits, np_num_seqs = \ + self.exe.run(self.inference_program, feed=feed_dict, fetch_list=self.fetch_targets) + + if len(np_unique_ids) == 1 and squeeze_dim0: + np_unique_ids = np_unique_ids[0] + np_start_logits = np_start_logits[0] + np_end_logits = np_end_logits[0] + + if return_list: + mrc_results = [{'unique_ids': id, 'start_logits': st, 'end_logits': end} + for id, st, end in zip(np_unique_ids, np_start_logits, np_end_logits)] + else: + mrc_results = { + 'unique_ids': np_unique_ids, + 'start_logits': np_start_logits, + 'end_logits': np_end_logits, + } + return mrc_results + + def postprocessor(self, examples, features, mrc_results): + """Extract answer + batch: [examples, features] from preprocessor + mrc_results: model results from call_mrc. if mrc_results is list, each element of which is a size=1 batch. + """ + RawResult = collections.namedtuple("RawResult", + ["unique_id", "start_logits", "end_logits"]) + results = [] + if isinstance(mrc_results, list): + for res in mrc_results: + unique_id = res['unique_ids'][0] + start_logits = [float(x) for x in res['start_logits'].flat] + end_logits = [float(x) for x in res['end_logits'].flat] + results.append( + RawResult( + unique_id=unique_id, + start_logits=start_logits, + end_logits=end_logits)) + else: + assert isinstance(mrc_results, dict) + for idx in range(mrc_results['unique_ids'].shape[0]): + unique_id = int(mrc_results['unique_ids'][idx]) + start_logits = [float(x) for x in mrc_results['start_logits'][idx].flat] + end_logits = [float(x) for x in mrc_results['end_logits'][idx].flat] + results.append( + RawResult( + unique_id=unique_id, + start_logits=start_logits, + end_logits=end_logits)) + + answers = get_answers( + examples, features, results, n_best_size, + max_answer_length, do_lower_case, verbose) + return answers + diff --git a/PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/mrc_service.py b/PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/mrc_service.py new file mode 100644 index 00000000..895b0a31 --- /dev/null +++ b/PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/mrc_service.py @@ -0,0 +1,189 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +"""Some utilities for MRC online service""" +import json +import sys +import logging +import time +import numpy as np +from flask import Response +from flask import request +from copy import deepcopy + +verbose = False + +def _request_check(input_json): + """Check if the request json is valid""" + if input_json is None or not isinstance(input_json, dict): + return 'Can not parse the input json data - {}'.format(input_json) + try: + c = input_json['context'] + qa = input_json['qas'][0] + qid = qa['qid'] + q = qa['question'] + except KeyError as e: + return 'Invalid request, key "{}" not found'.format(e) + return 'OK' + +def _abort(status_code, message): + """Create custom error message and status code""" + return Response(json.dumps(message), status=status_code, mimetype='application/json') + +def _timmer(init_start, start, current, process_name): + cumulated_elapsed_time = (current - init_start) * 1000 + current_elapsed_time = (current - start) * 1000 + print('{}\t-\t{:.2f}\t{:.2f}'.format(process_name, cumulated_elapsed_time, + current_elapsed_time)) + +def _split_input_json(input_json): + if len(input_json['context_tokens']) > 810: + input_json['context'] = input_json['context'][:5000] + if len(input_json['qas']) == 1: + return [input_json] + else: + rets = [] + for i in range(len(input_json['qas'])): + temp = deepcopy(input_json) + temp['qas'] = [input_json['qas'][i]] + rets.append(temp) + return rets + +class BasicMRCService(object): + """Provide basic MRC service for flask""" + def __init__(self, name, logger=None, log_data=False): + """ """ + self.name = name + if logger is None: + self.logger = logging.getLogger('flask') + else: + self.logger = logger + self.log_data = log_data + + def __call__(self, model, process_mode='serial', max_batch_size=5, timmer=False): + """ + Args: + mode: serial, parallel + """ + if timmer: + start = time.time() + """Call mrc model wrapper and handle expectations""" + self.input_json = request.get_json(silent=True) + try: + if timmer: + start_request_check = time.time() + request_status = _request_check(self.input_json) + if timmer: + current_time = time.time() + _timmer(start, start_request_check, current_time, 'request check') + if self.log_data: + if self.logger is None: + logging.info( + 'Client input - {}'.format(json.dumps(self.input_json, ensure_ascii=False)) + ) + else: + self.logger.info( + 'Client input - {}'.format(json.dumps(self.input_json, ensure_ascii=False)) + ) + except Exception as e: + self.logger.error('server request checker error') + self.logger.exception(e) + return _abort(500, 'server request checker error - {}'.format(e)) + if request_status != 'OK': + return _abort(400, request_status) + + # call preprocessor + try: + if timmer: + start_preprocess = time.time() + + jsons = _split_input_json(self.input_json) + processed = [] + ex_start_idx = 0 + feat_start_idx = 1000000000 + for i in jsons: + e,f,b = model.preprocessor(i, batch_size=max_batch_size if process_mode == 'parallel' else 1, examples_start_id=ex_start_idx, features_start_id=feat_start_idx) + ex_start_idx += len(e) + feat_start_idx += len(f) + processed.append([e,f,b]) + + if timmer: + current_time = time.time() + _timmer(start, start_preprocess, current_time, 'preprocess') + except Exception as e: + self.logger.error('preprocessor error') + self.logger.exception(e) + return _abort(500, 'preprocessor error - {}'.format(e)) + + def transpose(mat): + return zip(*mat) + + # call mrc + try: + if timmer: + start_call_mrc = time.time() + + self.mrc_results = [] + self.examples = [] + self.features = [] + for e, f, batches in processed: + if verbose: + if len(f) > max_batch_size: + print("get a too long example....") + if process_mode == 'serial': + self.mrc_results.extend([model.call_mrc(b, squeeze_dim0=True) for b in batches[:max_batch_size]]) + elif process_mode == 'parallel': + # only keep first max_batch_size features + # batches = batches[0] + + for b in batches: + self.mrc_results.extend(model.call_mrc(b, return_list=True)) + else: + raise NotImplementedError() + self.examples.extend(e) + # self.features.extend(f[:max_batch_size]) + self.features.extend(f) + + if timmer: + current_time = time.time() + _timmer(start, start_call_mrc, current_time, 'call mrc') + except Exception as e: + self.logger.error('call_mrc error') + self.logger.exception(e) + return _abort(500, 'call_mrc error - {}'.format(e)) + + # call post processor + try: + if timmer: + start_post_precess = time.time() + self.results = model.postprocessor(self.examples, self.features, self.mrc_results) + + # only nbest results is POSTed back + self.results = self.results[1] + # self.results = self.results[0] + + if timmer: + current_time = time.time() + _timmer(start, start_post_precess, current_time, 'post process') + except Exception as e: + self.logger.error('postprocessor error') + self.logger.exception(e) + return _abort(500, 'postprocessor error - {}'.format(e)) + + return self._response_constructor() + + def _response_constructor(self): + """construct http response object""" + try: + response = { + # 'requestID': self.input_json['requestID'], + 'results': self.results + } + if self.log_data: + self.logger.info( + 'Response - {}'.format(json.dumps(response, ensure_ascii=False)) + ) + return Response(json.dumps(response), mimetype='application/json') + except Exception as e: + self.logger.error('response constructor error') + self.logger.exception(e) + return _abort(500, 'response constructor error - {}'.format(e)) diff --git a/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/model/__init__.py b/PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/pdnlp/__init__.py similarity index 100% rename from PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/model/__init__.py rename to PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/pdnlp/__init__.py diff --git a/PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/pdnlp/__main__.py b/PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/pdnlp/__main__.py new file mode 100644 index 00000000..cf1dc9ef --- /dev/null +++ b/PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/pdnlp/__main__.py @@ -0,0 +1,9 @@ +from algorithm import optimization +from algorithm import multitask +from extension import fp16 +from module import transformer_encoder +from toolkit import configure +from toolkit import init +from toolkit import placeholder +from nets import bert + diff --git a/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/optimizer/__init__.py b/PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/pdnlp/algorithm/__init__.py similarity index 100% rename from PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/optimizer/__init__.py rename to PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/pdnlp/algorithm/__init__.py diff --git a/PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/pdnlp/algorithm/multitask.py b/PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/pdnlp/algorithm/multitask.py new file mode 100644 index 00000000..8ea01825 --- /dev/null +++ b/PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/pdnlp/algorithm/multitask.py @@ -0,0 +1,119 @@ +#encoding=utf8 + +import os +import sys +import random +from copy import deepcopy as copy +import numpy as np +import paddle +import paddle.fluid as fluid +import multiprocessing + +class Task: + + def __init__( + self, + conf, + name = "", + is_training = False, + _DataProcesser = None, + shared_name = ""): + + self.conf = copy(conf) + + self.name = name + self.shared_name = shared_name + + self.is_training = is_training + self.DataProcesser = _DataProcesser + + def _create_reader(self): + raise NotImplementedError("Task:_create_reader not implemented") + + def _create_model(self): + raise NotImplementedError("Task:_create_model not implemented") + + def prepare(self, args): + raise NotImplementedError("Task:prepare not implemented") + + def train_step(self, args): + raise NotImplementedError("Task:train_step not implemented") + + def predict(self, args): + raise NotImplementedError("Task:_predict not implemented") + + +class JointTask: + + def __init__(self): + + self.tasks = [] + + #self.startup_exe = None + #self.train_exe = None + + self.exe = None + + self.share_vars_from = None + + self.startup_prog = fluid.Program() + + def __add__(self, task): + + assert isinstance(task, Task) + + self.tasks.append(task) + + return self + + def prepare(self, args): + + if args.use_cuda: + place = fluid.CUDAPlace(0) + dev_count = fluid.core.get_cuda_device_count() + else: + place = fluid.CPUPlace() + dev_count = int(os.environ.get('CPU_NUM', multiprocessing.cpu_count())) + + #self.startup_exe = fluid.Executor(place) + self.exe = fluid.Executor(place) + + for idx, task in enumerate(self.tasks): + if idx == 0: + print("for idx : %d" % idx) + task.prepare(args, exe = self.exe) + self.share_vars_from = task.compiled_train_prog + else: + print("for idx : %d" % idx) + task.prepare(args, exe = self.exe, share_vars_from = self.share_vars_from) + + def train(self, args): + + joint_steps = [] + for i in xrange(0, len(self.tasks)): + for _ in xrange(0, self.tasks[i].max_train_steps): + joint_steps.append(i) + + self.tasks[0].train_step(args, exe = self.exe) + + random.shuffle(joint_steps) + for next_task_id in joint_steps: + self.tasks[next_task_id].train_step(args, exe = self.exe) + + +if __name__ == "__main__": + + basetask_a = Task(None) + + basetask_b = Task(None) + + joint_tasks = JointTask() + + joint_tasks += basetask_a + + print(joint_tasks.tasks) + + joint_tasks += basetask_b + + print(joint_tasks.tasks) + diff --git a/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/optimizer/optimization.py b/PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/pdnlp/algorithm/optimization.py similarity index 98% rename from PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/optimizer/optimization.py rename to PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/pdnlp/algorithm/optimization.py index e010bca9..0f338263 100644 --- a/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/optimizer/optimization.py +++ b/PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/pdnlp/algorithm/optimization.py @@ -19,7 +19,7 @@ from __future__ import print_function import numpy as np import paddle.fluid as fluid -from utils.fp16 import create_master_params_grads, master_param_to_train_param +from pdnlp.extension.fp16 import create_master_params_grads, master_param_to_train_param def linear_warmup_decay(learning_rate, warmup_steps, num_train_steps): diff --git a/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/reader/__init__.py b/PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/pdnlp/extension/__init__.py similarity index 100% rename from PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/reader/__init__.py rename to PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/pdnlp/extension/__init__.py diff --git a/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/utils/fp16.py b/PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/pdnlp/extension/fp16.py similarity index 100% rename from PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/utils/fp16.py rename to PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/pdnlp/extension/fp16.py diff --git a/PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/pdnlp/module/__init__.py b/PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/pdnlp/module/__init__.py new file mode 100644 index 00000000..139597f9 --- /dev/null +++ b/PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/pdnlp/module/__init__.py @@ -0,0 +1,2 @@ + + diff --git a/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/model/transformer_encoder.py b/PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/pdnlp/module/transformer_encoder.py similarity index 99% rename from PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/model/transformer_encoder.py rename to PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/pdnlp/module/transformer_encoder.py index 468e4501..da65ae82 100644 --- a/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/model/transformer_encoder.py +++ b/PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/pdnlp/module/transformer_encoder.py @@ -18,7 +18,6 @@ from __future__ import division from __future__ import print_function from functools import partial -from functools import reduce import numpy as np import paddle.fluid as fluid diff --git a/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/utils/__init__.py b/PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/pdnlp/nets/__init__.py similarity index 100% rename from PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/utils/__init__.py rename to PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/pdnlp/nets/__init__.py diff --git a/PaddleNLP/Research/MRQA2019-D-NET/server/bert_server/bert.py b/PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/pdnlp/nets/bert.py similarity index 100% rename from PaddleNLP/Research/MRQA2019-D-NET/server/bert_server/bert.py rename to PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/pdnlp/nets/bert.py diff --git a/PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/pdnlp/toolkit/__init__.py b/PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/pdnlp/toolkit/__init__.py new file mode 100644 index 00000000..139597f9 --- /dev/null +++ b/PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/pdnlp/toolkit/__init__.py @@ -0,0 +1,2 @@ + + diff --git a/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/utils/configure.py b/PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/pdnlp/toolkit/configure.py similarity index 89% rename from PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/utils/configure.py rename to PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/pdnlp/toolkit/configure.py index 50eaf83a..1472b858 100644 --- a/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/utils/configure.py +++ b/PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/pdnlp/toolkit/configure.py @@ -1,17 +1,4 @@ -# Copyright (c) 2019 PaddlePaddle Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - +#encoding=utf8 from __future__ import absolute_import from __future__ import division from __future__ import print_function @@ -25,7 +12,6 @@ import json logging_only_message = "%(message)s" logging_details = "%(asctime)s.%(msecs)03d %(levelname)s %(module)s - %(funcName)s: %(message)s" - class JsonConfig(object): def __init__(self, config_path): self._config_dict = self._parse(config_path) @@ -62,7 +48,6 @@ class ArgumentGroup(object): help=help + ' Default: %(default)s.', **kwargs) - class ArgConfig(object): def __init__(self): diff --git a/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/utils/init.py b/PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/pdnlp/toolkit/init.py similarity index 100% rename from PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/utils/init.py rename to PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/pdnlp/toolkit/init.py diff --git a/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/utils/placeholder.py b/PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/pdnlp/toolkit/placeholder.py similarity index 73% rename from PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/utils/placeholder.py rename to PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/pdnlp/toolkit/placeholder.py index 598891e5..e835038e 100644 --- a/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/utils/placeholder.py +++ b/PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/pdnlp/toolkit/placeholder.py @@ -1,19 +1,5 @@ -# Copyright (c) 2019 PaddlePaddle Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -from __future__ import absolute_import -from __future__ import division +#encoding=utf8 + from __future__ import print_function import os @@ -54,6 +40,7 @@ class Placeholder(object): self.lod_levels.append(lod_level) self.names.append(name) + def build(self, capacity, reader_name, use_double_buffer = False): pyreader = fluid.layers.py_reader( capacity = capacity, @@ -65,6 +52,7 @@ class Placeholder(object): return [pyreader, fluid.layers.read_file(pyreader)] + def __add__(self, new_holder): assert isinstance(new_holder, tuple) or isinstance(new_holder, list) assert len(new_holder) >= 2 diff --git a/PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/start.sh b/PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/start.sh new file mode 100755 index 00000000..b4d99095 --- /dev/null +++ b/PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/start.sh @@ -0,0 +1,6 @@ +export FLAGS_fraction_of_gpu_memory_to_use=0.1 +port=$1 +gpu=$2 +export CUDA_VISIBLE_DEVICES=$gpu +python start_service.py ./infer_model $port + diff --git a/PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/start_service.py b/PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/start_service.py new file mode 100644 index 00000000..05b59349 --- /dev/null +++ b/PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/start_service.py @@ -0,0 +1,40 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +""" +ERNIE model service +""" +import json +import sys +import logging +logging.basicConfig( + level=logging.INFO, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s' +) +import requests +from flask import Flask +from flask import Response +from flask import request +import mrc_service +import model_wrapper as ernie_wrapper + +assert len(sys.argv) == 3 or len(sys.argv) == 4, "Usage: python serve.py [process_mode]" +if len(sys.argv) == 3: + _, model_dir, port = sys.argv + mode = 'parallel' +else: + _, model_dir, port, mode = sys.argv + +app = Flask(__name__) +app.logger.setLevel(logging.INFO) +ernie_model = ernie_wrapper.ERNIEModelWrapper(model_dir=model_dir) +server = mrc_service.BasicMRCService('Short answer MRC service', app.logger) + +@app.route('/', methods=['POST']) +def mrqa_service(): + """Description""" + model = ernie_model + return server(model, process_mode=mode, max_batch_size=5) + + +if __name__ == '__main__': + app.run(port=port, debug=False, threaded=False, processes=1) + diff --git a/PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/task_reader/__init__.py b/PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/task_reader/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/utils/batching.py b/PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/task_reader/batching.py similarity index 99% rename from PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/utils/batching.py rename to PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/task_reader/batching.py index 6db357b1..13803cf7 100644 --- a/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/utils/batching.py +++ b/PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/task_reader/batching.py @@ -12,7 +12,6 @@ # See the License for the specific language governing permissions and # limitations under the License. """Mask, padding and batching.""" - from __future__ import absolute_import from __future__ import division from __future__ import print_function diff --git a/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/reader/mrqa_reader.py b/PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/task_reader/mrqa_infer.py similarity index 76% rename from PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/reader/mrqa_reader.py rename to PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/task_reader/mrqa_infer.py index 78731d1e..d76c559d 100644 --- a/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/reader/mrqa_reader.py +++ b/PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/task_reader/mrqa_infer.py @@ -1,4 +1,5 @@ -# Copyright (c) 2019 PaddlePaddle Authors. All Rights Reserved. +# coding=utf-8 +# Copyright 2018 The Google AI Language Team Authors. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -13,15 +14,15 @@ # limitations under the License. """Run MRQA""" +import re import six import math import json import random import collections import numpy as np - -from utils import tokenization -from utils.batching import prepare_batch_data +import tokenization +from batching import prepare_batch_data class MRQAExample(object): @@ -94,10 +95,8 @@ class InputFeatures(object): self.is_impossible = is_impossible -def read_mrqa_examples(input_file, is_training, with_negative=False): +def read_mrqa_examples(sample, is_training=False, with_negative=False): """Read a MRQA json file into a list of MRQAExample.""" - with open(input_file, "r") as reader: - input_data = json.load(reader)["data"] def is_whitespace(c): if c == " " or c == "\t" or c == "\r" or c == "\n" or ord(c) == 0x202F: @@ -105,74 +104,36 @@ def read_mrqa_examples(input_file, is_training, with_negative=False): return False examples = [] - for entry in input_data: - for paragraph in entry["paragraphs"]: - paragraph_text = paragraph["context"] - doc_tokens = [] - char_to_word_offset = [] + # sample = json.loads(raw_sample) + paragraph_text = sample["context"] + paragraph_text = re.sub(r'\[TLE\]|\[DOC\]|\[PAR\]', '[SEP]', paragraph_text) + doc_tokens = [] + char_to_word_offset = [] + prev_is_whitespace = True + for c in paragraph_text: + if is_whitespace(c): prev_is_whitespace = True - for c in paragraph_text: - if is_whitespace(c): - prev_is_whitespace = True - else: - if prev_is_whitespace: - doc_tokens.append(c) - else: - doc_tokens[-1] += c - prev_is_whitespace = False - char_to_word_offset.append(len(doc_tokens) - 1) - - for qa in paragraph["qas"]: - qas_id = qa["id"] - question_text = qa["question"] - start_position = None - end_position = None - orig_answer_text = None - is_impossible = False - if is_training: - - if with_negative: - is_impossible = qa["is_impossible"] - if (len(qa["answers"]) != 1) and (not is_impossible): - raise ValueError( - "For training, each question should have exactly 1 answer." - ) - if not is_impossible: - answer = qa["answers"][0] - orig_answer_text = answer["text"] - answer_offset = answer["answer_start"] - answer_length = len(orig_answer_text) - start_position = char_to_word_offset[answer_offset] - end_position = char_to_word_offset[answer_offset + - answer_length - 1] - # Only add answers where the text can be exactly recovered from the - # document. If this CAN'T happen it's likely due to weird Unicode - # stuff so we will just skip the example. - # - # Note that this means for training mode, every example is NOT - # guaranteed to be preserved. - actual_text = " ".join(doc_tokens[start_position:( - end_position + 1)]) - cleaned_answer_text = " ".join( - tokenization.whitespace_tokenize(orig_answer_text)) - if actual_text.find(cleaned_answer_text) == -1: - print("Could not find answer: '%s' vs. '%s'", - actual_text, cleaned_answer_text) - continue - else: - start_position = -1 - end_position = -1 - orig_answer_text = "" - - example = MRQAExample( - qas_id=qas_id, - question_text=question_text, - doc_tokens=doc_tokens, - orig_answer_text=orig_answer_text, - start_position=start_position, - end_position=end_position, - is_impossible=is_impossible) - examples.append(example) + else: + if prev_is_whitespace: + doc_tokens.append(c) + else: + doc_tokens[-1] += c + prev_is_whitespace = False + char_to_word_offset.append(len(doc_tokens) - 1) + + for qa in sample["qas"]: + qas_id = qa["qid"] + question_text = qa["question"] + start_position = None + end_position = None + orig_answer_text = None + is_impossible = False + + example = MRQAExample( + qas_id=qas_id, + question_text=question_text, + doc_tokens=doc_tokens) + examples.append(example) return examples @@ -184,13 +145,17 @@ def convert_examples_to_features( doc_stride, max_query_length, is_training, + examples_start_id=0, + features_start_id=1000000000 #output_fn ): """Loads a data file into a list of `InputBatch`s.""" - unique_id = 1000000000 + unique_id = features_start_id + example_index = examples_start_id - for (example_index, example) in enumerate(examples): + features = [] + for example in examples: query_tokens = tokenizer.tokenize(example.question_text) if len(query_tokens) > max_query_length: @@ -308,34 +273,6 @@ def convert_examples_to_features( start_position = 0 end_position = 0 """ - if example_index < 3: - print("*** Example ***") - print("unique_id: %s" % (unique_id)) - print("example_index: %s" % (example_index)) - print("doc_span_index: %s" % (doc_span_index)) - print("tokens: %s" % " ".join( - [tokenization.printable_text(x) for x in tokens])) - print("token_to_orig_map: %s" % " ".join([ - "%d:%d" % (x, y) - for (x, y) in six.iteritems(token_to_orig_map) - ])) - print("token_is_max_context: %s" % " ".join([ - "%d:%s" % (x, y) - for (x, y) in six.iteritems(token_is_max_context) - ])) - print("input_ids: %s" % " ".join([str(x) for x in input_ids])) - print("input_mask: %s" % " ".join([str(x) for x in input_mask])) - print("segment_ids: %s" % - " ".join([str(x) for x in segment_ids])) - if is_training and example.is_impossible: - print("impossible example") - if is_training and not example.is_impossible: - answer_text = " ".join(tokens[start_position:(end_position + - 1)]) - print("start_position: %d" % (start_position)) - print("end_position: %d" % (end_position)) - print("answer: %s" % - (tokenization.printable_text(answer_text))) feature = InputFeatures( unique_id=unique_id, @@ -352,8 +289,9 @@ def convert_examples_to_features( is_impossible=example.is_impossible) unique_id += 1 - - yield feature + features.append(feature) + example_index += 1 + return features def estimate_runtime_examples(data_path, sample_rate, tokenizer, \ @@ -606,7 +544,6 @@ class DataProcessor(object): self.current_train_epoch = -1 self.train_examples = None - self.predict_examples = None self.num_examples = {'train': -1, 'predict': -1} def get_train_progress(self): @@ -636,42 +573,30 @@ class DataProcessor(object): self._max_seq_length, self._doc_stride, self._max_query_length, \ remove_impossible_questions=True, filter_invalid_spans=True) - def get_features(self, examples, is_training): + def get_features(self, examples, is_training, examples_start_id, features_start_id): features = convert_examples_to_features( examples=examples, tokenizer=self._tokenizer, max_seq_length=self._max_seq_length, doc_stride=self._doc_stride, max_query_length=self._max_query_length, + examples_start_id=examples_start_id, + features_start_id=features_start_id, is_training=is_training) return features def data_generator(self, - data_path, + raw_samples, batch_size, max_len=None, - phase='train', + phase='predict', shuffle=False, dev_count=1, with_negative=False, - epoch=1): - if phase == 'train': - self.train_examples = self.get_examples( - data_path, - is_training=True, - with_negative=with_negative) - examples = self.train_examples - self.num_examples['train'] = len(self.train_examples) - elif phase == 'predict': - self.predict_examples = self.get_examples( - data_path, - is_training=False, - with_negative=with_negative) - examples = self.predict_examples - self.num_examples['predict'] = len(self.predict_examples) - else: - raise ValueError( - "Unknown phase, which should be in ['train', 'predict'].") + epoch=1, + examples_start_id=0, + features_start_id=1000000000): + examples = read_mrqa_examples(raw_samples) def batch_reader(features, batch_size, in_tokens): batch, total_token_num, max_len = [], 0, 0 @@ -704,57 +629,31 @@ class DataProcessor(object): if len(batch) > 0: yield batch, total_token_num - def wrapper(): - for epoch_index in range(epoch): - if shuffle: - random.shuffle(examples) - if phase == 'train': - self.current_train_epoch = epoch_index - features = self.get_features(examples, is_training=True) - else: - features = self.get_features(examples, is_training=False) - - all_dev_batches = [] - for batch_data, total_token_num in batch_reader( - features, batch_size, self._in_tokens): - batch_data = prepare_batch_data( - batch_data, - total_token_num, - max_len=max_len, - voc_size=-1, - pad_id=self.pad_id, - cls_id=self.cls_id, - sep_id=self.sep_id, - mask_id=-1, - return_input_mask=True, - return_max_len=False, - return_num_token=False) - if len(all_dev_batches) < dev_count: - all_dev_batches.append(batch_data) - - if len(all_dev_batches) == dev_count: - for batch in all_dev_batches: - yield batch - all_dev_batches = [] - - if phase == 'predict' and len(all_dev_batches) > 0: - fake_batch = all_dev_batches[-1] - fake_batch = fake_batch[:-1] + [np.array([-1]*len(fake_batch[0]))] - all_dev_batches = all_dev_batches + [fake_batch] * (dev_count - len(all_dev_batches)) - for batch in all_dev_batches: - yield batch - - return wrapper - - -def write_predictions(all_examples, all_features, all_results, n_best_size, - max_answer_length, do_lower_case, output_prediction_file, - output_nbest_file, output_null_log_odds_file, - with_negative, null_score_diff_threshold, - verbose): + features = self.get_features(examples, is_training=False, examples_start_id=examples_start_id, features_start_id=features_start_id) + + all_dev_batches = [] + for batch_data, total_token_num in batch_reader( + features, batch_size, self._in_tokens): + batch_data = prepare_batch_data( + batch_data, + total_token_num, + max_len=max_len, + voc_size=-1, + pad_id=self.pad_id, + cls_id=self.cls_id, + sep_id=self.sep_id, + mask_id=-1, + return_input_mask=True, + return_max_len=False, + return_num_token=False) + all_dev_batches.append(batch_data) + return examples, features, all_dev_batches + + +def get_answers(all_examples, all_features, all_results, n_best_size, + max_answer_length, do_lower_case, + verbose=False): """Write final predictions to the json file and log-odds of null if needed.""" - print("Writing predictions to: %s" % (output_prediction_file)) - print("Writing nbest to: %s" % (output_nbest_file)) example_index_to_features = collections.defaultdict(list) for feature in all_features: @@ -788,14 +687,6 @@ def write_predictions(all_examples, all_features, all_results, n_best_size, start_indexes = _get_best_indexes(result.start_logits, n_best_size) end_indexes = _get_best_indexes(result.end_logits, n_best_size) # if we could have irrelevant answers, get the min score of irrelevant - if with_negative: - feature_null_score = result.start_logits[0] + result.end_logits[ - 0] - if feature_null_score < score_null: - score_null = feature_null_score - min_null_feature_index = feature_index - null_start_logit = result.start_logits[0] - null_end_logit = result.end_logits[0] for start_index in start_indexes: for end_index in end_indexes: # We could hypothetically create invalid predictions, e.g., predict @@ -824,14 +715,6 @@ def write_predictions(all_examples, all_features, all_results, n_best_size, start_logit=result.start_logits[start_index], end_logit=result.end_logits[end_index])) - if with_negative: - prelim_predictions.append( - _PrelimPrediction( - feature_index=min_null_feature_index, - start_index=0, - end_index=0, - start_logit=null_start_logit, - end_logit=null_end_logit)) prelim_predictions = sorted( prelim_predictions, key=lambda x: (x.start_logit + x.end_logit), @@ -880,14 +763,6 @@ def write_predictions(all_examples, all_features, all_results, n_best_size, start_logit=pred.start_logit, end_logit=pred.end_logit)) - # if we didn't inlude the empty option in the n-best, inlcude it - if with_negative: - if "" not in seen_predictions: - nbest.append( - _NbestPrediction( - text="", - start_logit=null_start_logit, - end_logit=null_end_logit)) # In very rare edge cases we could have no valid predictions. So we # just create a nonce prediction in this case to avoid failure. if not nbest: @@ -921,29 +796,10 @@ def write_predictions(all_examples, all_features, all_results, n_best_size, assert len(nbest_json) >= 1 - if not with_negative: - all_predictions[example.qas_id] = nbest_json[0]["text"] - else: - # predict "" iff the null score - the score of best non-null > threshold - score_diff = score_null - best_non_null_entry.start_logit - ( - best_non_null_entry.end_logit) - scores_diff_json[example.qas_id] = score_diff - if score_diff > null_score_diff_threshold: - all_predictions[example.qas_id] = "" - else: - all_predictions[example.qas_id] = best_non_null_entry.text - + all_predictions[example.qas_id] = nbest_json[0]["text"] all_nbest_json[example.qas_id] = nbest_json - with open(output_prediction_file, "w") as writer: - writer.write(json.dumps(all_predictions, indent=4) + "\n") - - with open(output_nbest_file, "w") as writer: - writer.write(json.dumps(all_nbest_json, indent=4) + "\n") - - if with_negative: - with open(output_null_log_odds_file, "w") as writer: - writer.write(json.dumps(scores_diff_json, indent=4) + "\n") + return all_predictions, all_nbest_json def get_final_text(pred_text, orig_text, do_lower_case, verbose): diff --git a/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/utils/tokenization.py b/PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/task_reader/tokenization.py similarity index 99% rename from PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/utils/tokenization.py rename to PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/task_reader/tokenization.py index 3a52ecf6..59e035d9 100644 --- a/PaddleNLP/Research/MRQA2019-D-NET/knowledge_distillation/utils/tokenization.py +++ b/PaddleNLP/Research/MRQA2019-D-NET/server/ernie_server/task_reader/tokenization.py @@ -1,10 +1,11 @@ -# Copyright (c) 2019 PaddlePaddle Authors. All Rights Reserved. +# coding=utf-8 +# Copyright 2018 The Google AI Language Team Authors. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/PaddleNLP/Research/MRQA2019-D-NET/server/main_server.py b/PaddleNLP/Research/MRQA2019-D-NET/server/main_server.py index cd30476c..00f64bf4 100755 --- a/PaddleNLP/Research/MRQA2019-D-NET/server/main_server.py +++ b/PaddleNLP/Research/MRQA2019-D-NET/server/main_server.py @@ -11,13 +11,13 @@ from flask import Flask from flask import Response from flask import request import numpy as np +import argparse from multiprocessing.dummy import Pool as ThreadPool app = Flask(__name__) logger = logging.getLogger('flask') -url_1 = 'http://127.0.0.1:5118' # url for model1 -url_2 = 'http://127.0.0.1:5120' # url for model2 + def ensemble_example(answers, n_models=None): if n_models is None: @@ -50,32 +50,45 @@ def mrqa_main(): return nbest try: input_json = request.get_json(silent=True) - - pool = ThreadPool(2) - res1 = pool.apply_async(_call_model, (url_1, input_json)) - res2 = pool.apply_async(_call_model, (url_2, input_json)) - nbest1 = res1.get() - nbest2 = res2.get() - # print(res1) - # print(nbest1) + n_models = len(urls) + pool = ThreadPool(n_models) + results = [] + for url in urls: + result = pool.apply_async(_call_model, (url, input_json)) + results.append(result.get()) pool.close() pool.join() - - nbest1 = nbest1.json()['results'] - nbest2 = nbest2.json()['results'] - qids = list(nbest1.keys()) + nbests = [nbest.json()['results'] for nbest in results] + qids = list(nbests[0].keys()) for qid in qids: - ensemble_nbest = ensemble_example([nbest1[qid], nbest2[qid]], n_models=2) + ensemble_nbest = ensemble_example([nbest[qid] for nbest in nbests], n_models=n_models) pred[qid] = ensemble_nbest[0]['text'] except Exception as e: pred['error'] = 'empty' - # logger.error('Error in mrc server - {}'.format(e)) logger.exception(e) - # import pdb; pdb.set_trace() # XXX BREAKPOINT return Response(json.dumps(pred), mimetype='application/json') if __name__ == '__main__': + url_1 = 'http://127.0.0.1:5118' # url for ernie + url_2 = 'http://127.0.0.1:5119' # url for xl-net + url_3 = 'http://127.0.0.1:5120' # url for bert + parser = argparse.ArgumentParser('main server') + parser.add_argument('--ernie', action='store_true', default=False, help="Include ERNIE") + parser.add_argument('--xlnet', action='store_true', default=False, help="Include XL-NET") + parser.add_argument('--bert', action='store_true', default=False, help="Include BERT") + args = parser.parse_args() + urls = [] + if args.ernie: + print('Include ERNIE model') + urls.append(url_1) + if args.xlnet: + print('Include XL-NET model') + urls.append(url_2) + if args.bert: + print('Include BERT model') + urls.append(url_3) + assert len(urls) > 0, "At lease one model is required" app.run(host='127.0.0.1', port=5121, debug=False, threaded=False, processes=1) diff --git a/PaddleNLP/Research/MRQA2019-D-NET/server/start.sh b/PaddleNLP/Research/MRQA2019-D-NET/server/start.sh index be3f5d31..dec7f6c3 100755 --- a/PaddleNLP/Research/MRQA2019-D-NET/server/start.sh +++ b/PaddleNLP/Research/MRQA2019-D-NET/server/start.sh @@ -1,10 +1,25 @@ +#!/bin/bash + +gpu_id=0 + +# start ernie service +# usage: sh start.sh port gpu_id +cd ernie_server +nohup sh start.sh 5118 $gpu_id > ernie.log 2>&1 & +cd .. + +# start xlnet service +cd xlnet_server +nohup sh start.sh 5119 $gpu_id > xlnet.log 2>&1 & +cd .. + +# start bert service cd bert_server -export CUDA_VISIBLE_DEVICES=1 -sh start.sh -cd ../xlnet_server -export CUDA_VISIBLE_DEVICES=2 -sh serve.sh +nohup sh start.sh 5120 $gpu_id > bert.log 2>&1 & cd .. -sleep 60 -python main_server.py +sleep 3 +# start main server +# usage: python main_server.py --model_name +# the model_name specifies the model to be used in the ensemble. +nohup python main_server.py --ernie --xlnet > main_server.log 2>&1 & diff --git a/PaddleNLP/Research/MRQA2019-D-NET/server/wget_server_inference_model.sh b/PaddleNLP/Research/MRQA2019-D-NET/server/wget_server_inference_model.sh index 8e77c940..c065d0d6 100755 --- a/PaddleNLP/Research/MRQA2019-D-NET/server/wget_server_inference_model.sh +++ b/PaddleNLP/Research/MRQA2019-D-NET/server/wget_server_inference_model.sh @@ -1,5 +1,6 @@ wget --no-check-certificate https://baidu-nlp.bj.bcebos.com/D-Net/mrqa2019_inference_model.tar.gz tar -xvf mrqa2019_inference_model.tar.gz rm mrqa2019_inference_model.tar.gz -mv infer_model bert_server -mv infer_model_800_bs128 xlnet_server +mv bert_infer_model bert_server/infer_model +mv xlnet_infer_model xlnet_server/infer_model +mv ernie_infer_model ernie_server/infer_model diff --git a/PaddleNLP/Research/MRQA2019-D-NET/server/xlnet_server/serve.py b/PaddleNLP/Research/MRQA2019-D-NET/server/xlnet_server/serve.py index 5b89f133..da020b57 100644 --- a/PaddleNLP/Research/MRQA2019-D-NET/server/xlnet_server/serve.py +++ b/PaddleNLP/Research/MRQA2019-D-NET/server/xlnet_server/serve.py @@ -1,9 +1,7 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -"""Provide MRC service for TOP1 short answer extraction system -Note the services here share some global pre/post process objects, which -are **NOT THREAD SAFE**. Try to use multi-process instead of multi-thread -for deployment. +""" +XL-NET model service """ import json import sys diff --git a/PaddleNLP/Research/MRQA2019-D-NET/server/xlnet_server/serve.sh b/PaddleNLP/Research/MRQA2019-D-NET/server/xlnet_server/start.sh similarity index 59% rename from PaddleNLP/Research/MRQA2019-D-NET/server/xlnet_server/serve.sh rename to PaddleNLP/Research/MRQA2019-D-NET/server/xlnet_server/start.sh index ff56192b..d8e924e6 100755 --- a/PaddleNLP/Research/MRQA2019-D-NET/server/xlnet_server/serve.sh +++ b/PaddleNLP/Research/MRQA2019-D-NET/server/xlnet_server/start.sh @@ -1,5 +1,8 @@ export FLAGS_sync_nccl_allreduce=0 export FLAGS_eager_delete_tensor_gb=1 export FLAGS_fraction_of_gpu_memory_to_use=0.1 +port=$1 +gpu=$2 +export CUDA_VISIBLE_DEVICES=$gpu -python serve.py ./infer_model_800_bs128 5001 & +python serve.py ./infer_model $port -- GitLab