From 0865df55ee9aae7ece883bf76b0a7a48a711d852 Mon Sep 17 00:00:00 2001 From: Vick Scarlet Date: Tue, 17 Aug 2021 12:12:25 +0800 Subject: [PATCH] bug fix --- data/age.json | 6 +- data/events.json | 153 +++++++++++++++++++------------------ data/events.xlsx | Bin 36923 -> 36924 bytes src/event.js | 27 +++---- src/functions/condition.js | 2 +- src/life.js | 65 ++++++++++++++-- src/property.js | 18 +++-- src/talent.js | 23 +++--- test.js | 51 +++++++++++++ 9 files changed, 227 insertions(+), 118 deletions(-) diff --git a/data/age.json b/data/age.json index 29c283e..8bcf0e4 100644 --- a/data/age.json +++ b/data/age.json @@ -25,7 +25,7 @@ }, "6": { "age": "6", - "event": "10007,10012,10014,10022,10023,10036,10037,10038,10043,10044,10045,1004710048,10049,10050,10052,10054,10057,10058,10061,10065,10067,10069,10072,10073,10075,10076,10077,10078,10089,10091,10093,10094,10095,10096,10098,10099,10100,10101*100,10123,10124,10125,10126,10127*4,10128*4,10130,10140,10141,10142,10143,10144,10045,10046,10047,10048,10150,10153,10166,10168,10169,10172,10178,10179,10183,10224" + "event": "10007,10012,10014,10022,10023,10036,10037,10038,10043,10044,10045,10047,10048,10049,10050,10052,10054,10057,10058,10061,10065,10067,10069,10072,10073,10075,10076,10077,10078,10089,10091,10093,10094,10095,10096,10098,10099,10100,10101*100,10123,10124,10125,10126,10127*4,10128*4,10130,10140,10141,10142,10143,10144,10045,10046,10047,10048,10150,10153,10166,10168,10169,10172,10178,10179,10183,10224" }, "7": { "age": "7", @@ -193,7 +193,7 @@ }, "48": { "age": "48", - "event": "10069,10070,10071,10087,10253,10254,10255,10256,10257,10273,10274,10275,10276,10277,10278,10279*0.01,10281,10282*0.001,10286,10287,10288,10289*0.1,10290*0.01,10292,10293,10291*0.01,10295,10296,10297,10298,10299,10300,10301,10302,10303,10304,10305,10306,10308,10317,10318,10319,10320.10322" + "event": "10069,10070,10071,10087,10253,10254,10255,10256,10257,10273,10274,10275,10276,10277,10278,10279*0.01,10281,10282*0.001,10286,10287,10288,10289*0.1,10290*0.01,10292,10293,10291*0.01,10295,10296,10297,10298,10299,10300,10301,10302,10303,10304,10305,10306,10308,10317,10318,10319,10320,10322" }, "49": { "age": "49", @@ -213,7 +213,7 @@ }, "53": { "age": "53", - "event": "10069,10070,10071,10253,10254,10255,10256,10257,10273,10274,10275,10276,10277,10278,10279*0.01,10281,10282*0.001,10286,1028+B577,10288,10290*0.01,10291*0.01,10295,10296,10297,10298,10299,10300,10301,10302,10303,10304,10305,10306,10307,10317,10318,10319,10320,10321" + "event": "10069,10070,10071,10253,10254,10255,10256,10257,10273,10274,10275,10276,10277,10278,10279*0.01,10281,10282*0.001,10286,10287,10288,10290*0.01,10291*0.01,10295,10296,10297,10298,10299,10300,10301,10302,10303,10304,10305,10306,10307,10317,10318,10319,10320,10321" }, "54": { "age": "54", diff --git a/data/events.json b/data/events.json index c0bcbe2..b23e3fd 100644 --- a/data/events.json +++ b/data/events.json @@ -2,6 +2,9 @@ "10000": { "id": 10000, "event": "你死了。", + "effect": { + "LIF": -1 + }, "NoRandom": 1 }, "10001": { @@ -17,7 +20,7 @@ "10003": { "id": 10003, "event": "你生了场重病。", - "PostEvent": "家里花了不少钱。", + "postEvent": "家里花了不少钱。", "effect": { "MNY": -1 }, @@ -36,7 +39,7 @@ "10005": { "id": 10005, "event": "刚学会走路,你意外从桌子上跌落。", - "PostEvent": "受了轻伤。", + "postEvent": "受了轻伤。", "exclude": "INT>7", "branch": [ "TLT?[1002]:10006", @@ -125,7 +128,7 @@ "10016": { "id": 10016, "event": "你的母亲因病去世。", - "PostEvent": "家庭更加困难了。", + "postEvent": "家庭更加困难了。", "effect": { "MNY": -1 }, @@ -139,7 +142,7 @@ "10017": { "id": 10017, "event": "你的父亲因病去世。", - "PostEvent": "家庭更加困难了。", + "postEvent": "家庭更加困难了。", "effect": { "MNY": -2 }, @@ -153,7 +156,7 @@ "10018": { "id": 10018, "event": "你的父亲在种地时意外发现一箱金条。", - "PostEvent": "家境有所好转。", + "postEvent": "家境有所好转。", "effect": { "MNY": 2 }, @@ -191,7 +194,7 @@ "10022": { "id": 10022, "event": "你什么事都要让着妹妹。", - "PostEvent": "不开心。", + "postEvent": "不开心。", "effect": { "SPR": -1 }, @@ -201,7 +204,7 @@ "10023": { "id": 10023, "event": "你什么事都要让着弟弟。", - "PostEvent": "不开心。", + "postEvent": "不开心。", "effect": { "SPR": -1 }, @@ -211,7 +214,7 @@ "10024": { "id": 10024, "event": "父母到城里务工。", - "PostEvent": "你在农村留守。", + "postEvent": "你在农村留守。", "effect": { "SPR": -1 }, @@ -238,7 +241,7 @@ "10027": { "id": 10027, "event": "你的母亲救了个人,得到了很多感谢金。", - "PostEvent": "家境有所好转。", + "postEvent": "家境有所好转。", "effect": { "MNY": 2 }, @@ -265,7 +268,7 @@ "10030": { "id": 10030, "event": "你的脸意外被开水烫伤。", - "PostEvent": "毁容了。", + "postEvent": "毁容了。", "effect": { "CHR": -3 }, @@ -279,7 +282,7 @@ "10031": { "id": 10031, "event": "你被邻居叔叔绑架了。", - "PostEvent": "没勒索到钱,你被放了。", + "postEvent": "没勒索到钱,你被放了。", "effect": { "SPR": -1 }, @@ -293,7 +296,7 @@ "10032": { "id": 10032, "event": "叔叔向你父母勒索了很多现金。", - "PostEvent": "你被放了回家。", + "postEvent": "你被放了回家。", "effect": { "MNY": -2 }, @@ -302,7 +305,7 @@ "10033": { "id": 10033, "event": "叔叔侵犯了你。", - "PostEvent": "你被放了回家。", + "postEvent": "你被放了回家。", "effect": { "SPR": -2 }, @@ -347,7 +350,7 @@ "10038": { "id": 10038, "event": "你玩父母手机时被诈骗。", - "PostEvent": "损失了父母一年的心血。", + "postEvent": "损失了父母一年的心血。", "effect": { "MNY": -1 }, @@ -368,7 +371,7 @@ "10040": { "id": 10040, "event": "你告诉父母后,打电话举报。", - "PostEvent": "损失被追回。", + "postEvent": "损失被追回。", "effect": { "MNY": 1 }, @@ -377,7 +380,7 @@ "10041": { "id": 10041, "event": "你和村里小孩打架。", - "PostEvent": "战斗力提高了。", + "postEvent": "战斗力提高了。", "effect": { "STR": 1 }, @@ -391,7 +394,7 @@ "10042": { "id": 10042, "event": "你失手把一个小孩打死了。", - "PostEvent": "父母赔了很多钱。", + "postEvent": "父母赔了很多钱。", "effect": { "MNY": -2 }, @@ -416,7 +419,7 @@ "10045": { "id": 10045, "event": "你有次去池塘边玩时掉进了水里。", - "PostEvent": "差点淹死。", + "postEvent": "差点淹死。", "include": "EVT?[10044,10047,10180]", "exclude": "EVT?[10045]", "branch": [ @@ -509,7 +512,7 @@ "10058": { "id": 10058, "event": "下暴雨,发洪水。", - "PostEvent": "田都被淹了。", + "postEvent": "田都被淹了。", "effect": { "MNY": -1 }, @@ -559,7 +562,7 @@ "10062": { "id": 10062, "event": "你的情绪越来越低落,尝试自杀。", - "PostEvent": "没有成功。", + "postEvent": "没有成功。", "NoRandom": 1, "branch": [ "SPR<1:10000" @@ -604,7 +607,7 @@ "10067": { "id": 10067, "event": "有一只鸟撞在了你家窗户上。", - "PostEvent": "你把它养好后放了。", + "postEvent": "你把它养好后放了。", "include": "EVT?[10009]", "exclude": "EVT?[10067]", "branch": [ @@ -646,7 +649,7 @@ "10073": { "id": 10073, "event": "你意外挖到一个上了锁的盒子。", - "PostEvent": "你打不开,只好扔了。", + "postEvent": "你打不开,只好扔了。", "include": "EVT?[10009]", "exclude": "EVT?[10073,10025]", "branch": [ @@ -656,7 +659,7 @@ "10074": { "id": 10074, "event": "你想方设法打开了锁。", - "PostEvent": "里面有大量珠宝。", + "postEvent": "里面有大量珠宝。", "effect": { "MNY": 2 }, @@ -696,14 +699,14 @@ "10080": { "id": 10080, "event": "有人将你发在了网上,你小有名气。", - "PostEvent": "很多人来你家拍短视频。", + "postEvent": "很多人来你家拍短视频。", "include": "(CHR>8)&(EVT?[10079])", "exclude": "EVT?[10080]" }, "10081": { "id": 10081, "event": "有星探和公司想带你去大城市发展。", - "PostEvent": "你没有同意。", + "postEvent": "你没有同意。", "include": "EVT?[10080]", "exclude": "EVT?[10081]", "branch": [ @@ -713,7 +716,7 @@ "10082": { "id": 10082, "event": "你来到了一线城市,住进了一家网络公司。", - "PostEvent": "你开始直播生活。", + "postEvent": "你开始直播生活。", "effect": { "MNY": 2 }, @@ -723,7 +726,7 @@ "10083": { "id": 10083, "event": "你过气了,被公司解除了协议。", - "PostEvent": "你回到了乡下。", + "postEvent": "你回到了乡下。", "include": "EVT?[10082]", "exclude": "EVT?[10083]", "branch": [ @@ -733,7 +736,7 @@ "10084": { "id": 10084, "event": "你过惯了奢靡的生活,无法再回乡下了。", - "PostEvent": "你开始出卖身体维持生活质量。", + "postEvent": "你开始出卖身体维持生活质量。", "effect": { "STR": -1 }, @@ -795,7 +798,7 @@ "10090": { "id": 10090, "event": "你的智力过高,被外星人抓走做实验。", - "PostEvent": "又放了回来。", + "postEvent": "又放了回来。", "effect": { "INT": -1 }, @@ -819,7 +822,7 @@ "10092": { "id": 10092, "event": "你被一只蛇咬了。", - "PostEvent": "还好没有毒。", + "postEvent": "还好没有毒。", "include": "EVT?[10009]", "exclude": "EVT?[10092]", "branch": [ @@ -855,21 +858,21 @@ "10096": { "id": 10096, "event": "你听说国外发生了很多大事。", - "PostEvent": "但感觉离你很遥远。", + "postEvent": "但感觉离你很遥远。", "include": "EVT?[10009]", "exclude": "EVT?[10096]" }, "10097": { "id": 10097, "event": "隔壁村的一个孩子淹死了。", - "PostEvent": "你的父母一年都没让你去池塘玩。", + "postEvent": "你的父母一年都没让你去池塘玩。", "include": "EVT?[10009]", "exclude": "EVT?[10097,10015,10016,10017,10024]" }, "10098": { "id": 10098, "event": "你听了轮回转世的神话故事。", - "PostEvent": "感觉好像似曾相识。", + "postEvent": "感觉好像似曾相识。", "include": "INT>4", "exclude": "EVT?[10098]" }, @@ -933,7 +936,7 @@ "10107": { "id": 10107, "event": "你期末考试全都不及格。", - "PostEvent": "老师来家访。", + "postEvent": "老师来家访。", "effect": { "SPR": -1 }, @@ -968,7 +971,7 @@ "10112": { "id": 10112, "event": "同学总是欺负你。", - "PostEvent": "还嘲笑你的长相。", + "postEvent": "还嘲笑你的长相。", "effect": { "SPR": -2 }, @@ -978,7 +981,7 @@ "10113": { "id": 10113, "event": "同学总是欺负你。", - "PostEvent": "还嘲笑你的成绩。", + "postEvent": "还嘲笑你的成绩。", "effect": { "SPR": -2 }, @@ -988,7 +991,7 @@ "10114": { "id": 10114, "event": "同学总是欺负你。", - "PostEvent": "嘲笑你不男不女。", + "postEvent": "嘲笑你不男不女。", "effect": { "SPR": -2 }, @@ -1055,14 +1058,14 @@ "10123": { "id": 10123, "event": "村中阿婆家新盖了小洋房。", - "PostEvent": "听说是孩子在外面赚了大钱。", + "postEvent": "听说是孩子在外面赚了大钱。", "include": "EVT?[10009]", "exclude": "EVT?[10123,10025]" }, "10124": { "id": 10124, "event": "夏日的一天村里鞭炮齐鸣。", - "PostEvent": "听说是人家的孩子考上了重点大学。", + "postEvent": "听说是人家的孩子考上了重点大学。", "include": "EVT?[10009]", "exclude": "EVT?[10124,10025]" }, @@ -1163,14 +1166,14 @@ "10136": { "id": 10136, "event": "老师在班上进行了IQ测试。", - "PostEvent": "你获得了145分", + "postEvent": "你获得了145分", "include": "(INT>7)&(EVT?[10101])", "exclude": "EVT?[10136]" }, "10137": { "id": 10137, "event": "老师在班上进行了IQ测试。", - "PostEvent": "你获得了135分", + "postEvent": "你获得了135分", "include": "(INT>6)&(EVT?[10101])", "exclude": "EVT?[10137]" }, @@ -1258,7 +1261,7 @@ "10149": { "id": 10149, "event": "教室里唯一较好的窗户也破了。", - "PostEvent": "下雨天靠窗完全不能坐人了。", + "postEvent": "下雨天靠窗完全不能坐人了。", "include": "EVT?[10101]", "exclude": "EVT?[10149,10025]" }, @@ -1330,7 +1333,7 @@ "10158": { "id": 10158, "event": "你买彩票中了个小奖。", - "PostEvent": "虽然钱不多但很快乐。", + "postEvent": "虽然钱不多但很快乐。", "effect": { "SPR": 1 }, @@ -1396,7 +1399,7 @@ "10167": { "id": 10167, "event": "用牙齿咬欺凌自己的人,反而被告老师。", - "PostEvent": "很委屈。", + "postEvent": "很委屈。", "effect": { "SPR": -1 }, @@ -1439,21 +1442,21 @@ "10173": { "id": 10173, "event": "学自行车摔得膝盖流血。", - "PostEvent": "没学会。", + "postEvent": "没学会。", "include": "(STR<4)&(EVT?[10009])", "exclude": "TLT?[1038]" }, "10174": { "id": 10174, "event": "尝试自学自行车。", - "PostEvent": "没学会。", + "postEvent": "没学会。", "include": "(INT<5)&(STR<5)&(EVT?[10009])", "exclude": "TLT?[1038]" }, "10175": { "id": 10175, "event": "尝试自学自行车。", - "PostEvent": "学会了。", + "postEvent": "学会了。", "include": "(INT>1)&(STR>1)&(EVT?[10009])", "exclude": "EVT?[10175]" }, @@ -1556,7 +1559,7 @@ "10190": { "id": 10190, "event": "游戏水平很高,远近网吧闻名。", - "PostEvent": "网吧老板允许你免费上网。", + "postEvent": "网吧老板允许你免费上网。", "effect": { "SPR": 1 }, @@ -1566,14 +1569,14 @@ "10191": { "id": 10191, "event": "被公司发掘,进入电竞培训队。", - "PostEvent": "前往大城市。", + "postEvent": "前往大城市。", "include": "EVT?[10190]", "exclude": "EVT?[10191]" }, "10192": { "id": 10192, "event": "开始为战队打比赛。", - "PostEvent": "但并没有打出什么成绩。", + "postEvent": "但并没有打出什么成绩。", "effect": { "STR": -1 }, @@ -1604,7 +1607,7 @@ "10195": { "id": 10195, "event": "巅峰时期退役。", - "PostEvent": "转行游戏主播。", + "postEvent": "转行游戏主播。", "include": "EVT?[10193]", "exclude": "EVT?[10195,10196,10197]" }, @@ -1620,7 +1623,7 @@ "10197": { "id": 10197, "event": "退役。", - "PostEvent": "转行游戏主播。", + "postEvent": "转行游戏主播。", "include": "EVT?[10192]", "exclude": "EVT?[10195,10196,10197]" }, @@ -1657,7 +1660,7 @@ "10203": { "id": 10203, "event": "进入省队。", - "PostEvent": "刻苦训练。", + "postEvent": "刻苦训练。", "include": "EVT?[10202]", "exclude": "EVT?[10203,10204]", "branch": [ @@ -1693,7 +1696,7 @@ "10207": { "id": 10207, "event": "参加奥运会。", - "PostEvent": "夺得奖牌。", + "postEvent": "夺得奖牌。", "effect": { "MNY": 1 }, @@ -1725,7 +1728,7 @@ "10210": { "id": 10210, "event": "退役。", - "PostEvent": "开始当教练。", + "postEvent": "开始当教练。", "include": "EVT?[10203]", "exclude": "EVT?[10210]" }, @@ -1806,7 +1809,7 @@ "10220": { "id": 10220, "event": "你吸毒被捕。", - "PostEvent": "进了戒毒所。", + "postEvent": "进了戒毒所。", "effect": { "STR": -1 }, @@ -1861,7 +1864,7 @@ "10224": { "id": 10224, "event": "去城里看亲戚。", - "PostEvent": "你很羡慕他们家什么都有。", + "postEvent": "你很羡慕他们家什么都有。", "include": "(MNY<5)&(EVT?[10009])", "exclude": "EVT?[10224]" }, @@ -2003,7 +2006,7 @@ "10243": { "id": 10243, "event": "你漏了一节思修课没上,打开了开关。", - "PostEvent": "之后经常翘课了。", + "postEvent": "之后经常翘课了。", "include": "EVT?[10237,10238,10239]", "exclude": "EVT?[10243]" }, @@ -2034,7 +2037,7 @@ "10247": { "id": 10247, "event": "遭到了附近的恶霸殴打,报警不管,举报无门。", - "PostEvent": "只能忍气吞声。", + "postEvent": "只能忍气吞声。", "effect": { "SPR": -2 }, @@ -2047,7 +2050,7 @@ "10248": { "id": 10248, "event": "你怀恨在心,买了水果刀将恶霸捅死了。", - "PostEvent": "你被刑事拘留。", + "postEvent": "你被刑事拘留。", "effect": { "SPR": 1 }, @@ -2091,7 +2094,7 @@ "10253": { "id": 10253, "event": "你的父亲因病去世。", - "PostEvent": "母亲也随之去世。", + "postEvent": "母亲也随之去世。", "include": "EVT?[10009]", "exclude": "EVT?[10253,10016,10017,10125,10126,10254,10255,10256,10257]" }, @@ -2163,7 +2166,7 @@ "10264": { "id": 10264, "event": "你退伍了。", - "PostEvent": "在县城当上了保安。", + "postEvent": "在县城当上了保安。", "effect": { "MNY": 1 }, @@ -2190,7 +2193,7 @@ "10267": { "id": 10267, "event": "你在一次演习中发生了意外。", - "PostEvent": "运气好,没有受伤。", + "postEvent": "运气好,没有受伤。", "include": "EVT?[10259]", "exclude": "EVT?[10267]", "branch": [ @@ -2224,7 +2227,7 @@ "10271": { "id": 10271, "event": "生不出孩子,医院检查发现你功能有问题。", - "PostEvent": "你们离婚了。", + "postEvent": "你们离婚了。", "include": "(EVT?[10235,10236,10234,10233,10231,10230,10229,10088,10236])&(TLT?[1046])", "exclude": "EVT?[10271,10279]" }, @@ -2240,7 +2243,7 @@ "10273": { "id": 10273, "event": "普通的家庭生活。", - "PostEvent": "你感觉时间过得越来越快。", + "postEvent": "你感觉时间过得越来越快。", "include": "EVT?[10235,10236,10234,10233,10231,10230,10229,10088,10236]", "exclude": "EVT?[10279]" }, @@ -2270,7 +2273,7 @@ "10277": { "id": 10277, "event": "小时候一件小事你都能记很久。", - "PostEvent": "现在你却连上个月的事都记不清了。", + "postEvent": "现在你却连上个月的事都记不清了。", "effect": { "STR": -1 }, @@ -2427,7 +2430,7 @@ "10295": { "id": 10295, "event": "你后悔年轻时没有做更多的事。", - "PostEvent": "大人的生活真的很无趣。", + "postEvent": "大人的生活真的很无趣。", "include": "EVT?[10235,10236,10234,10233,10231,10230,10229,10088,10236]", "exclude": "EVT?[10295]" }, @@ -2627,7 +2630,7 @@ "10322": { "id": 10322, "event": "你发现孩子不是亲生的。", - "PostEvent": "你装作不知道。", + "postEvent": "你装作不知道。", "effect": { "SPR": -2 }, @@ -2640,7 +2643,7 @@ "10323": { "id": 10323, "event": "你从盒子中获得了练气法门,突破到凝气一层。", - "PostEvent": "寿元提升到200年。", + "postEvent": "寿元提升到200年。", "effect": { "CHR": 3 }, @@ -2653,7 +2656,7 @@ "10324": { "id": 10324, "event": "练气。", - "PostEvent": "体质提升。", + "postEvent": "体质提升。", "effect": { "STR": 1 }, @@ -2734,7 +2737,7 @@ "10333": { "id": 10333, "event": "你突破到筑基一层。", - "PostEvent": "寿元提升到300年。", + "postEvent": "寿元提升到300年。", "effect": { "INT": 1 }, @@ -2762,7 +2765,7 @@ "10336": { "id": 10336, "event": "锻体。", - "PostEvent": "体质提升。", + "postEvent": "体质提升。", "effect": { "STR": 2 }, @@ -2843,7 +2846,7 @@ "10345": { "id": 10345, "event": "你突破到金丹一层。", - "PostEvent": "寿元提升到400年。", + "postEvent": "寿元提升到400年。", "effect": { "STR": 20 }, @@ -2881,7 +2884,7 @@ "10349": { "id": 10349, "event": "图你美色,一个境界极高的人强行和你双修。", - "PostEvent": "体质大幅提升。", + "postEvent": "体质大幅提升。", "effect": { "STR": 100 }, @@ -2891,7 +2894,7 @@ "10350": { "id": 10350, "event": "你发现一种加快修行速度的方法。", - "PostEvent": "体质大幅提升。", + "postEvent": "体质大幅提升。", "effect": { "STR": 50 }, diff --git a/data/events.xlsx b/data/events.xlsx index aa8192d0b3b9e4cf87cef6d777dea9ba0d21518e..49ecbe0d29a6ff2085de18078a1eff4cbefc4c49 100644 GIT binary patch delta 26653 zcmW(+WmFtZvtDFzcX!vtHNjcj-7UB~B(PX;cXtoLUOc#m;1b;3-3i?N?w>hxPWRO5 zE_8X+Vy3QqC;fTY?G25hXTP4xcqAQ=`>?5F7Zb@7AriU z48^V73xBCafm=t-i-tuf#D>~Rf-lqE?uP<*c6BV5@m|ZRV7IZF$qoT^;$;(M=7H$(KBCa$#52I zh%83=J{a70t^&I_qYhLpRkJ8k1*|yBQx2(;Vrah;^s!7g(#iUAZ7z4K?HfJ;0~uG4J{dLYVPRw(@if zHNlQFf$A&^W+I_6r842iwNeqVPm|wXLk{F|5>!?@iU6B-3@{TzLwcc9r1kJ zg50&qZqZ0QE`!*3rtjiPf1`ZnUvzYnz(1-&M|uh&6Zz}?IRC^6NZCff`|k;v2NpTU zzU)T}KL8+;!i&a3uU&1wP+n#Kczs5cq6ZvztdJKz@3~wtEBurCB@X9oE7xP{(_>03 z8WHH9`&TZR{MphmIck>lVmQsClbe6PhEzrwo6VKJ_NrCkIW^TDN)#T2r%68-TjS@Z z%%f33&Sa;ZezUA6%IRRCzbu3=jy0VB_umt@ym#V{Ii5t{xm?e0f}dw~-C4flv_Dia zh03nDrT=I4z%rGbpJFS&H`me)*da+aybd`HRVMVK&)fXTO8vV!DEiDzsj@ZWilUE^ z1c_lJX);5}cEs~+PoGy1gYN4=d9#1@%&O7gE+pPzK1IfbPEnZKG9%Z;FTJ?H{Iw$p zKSy!NbZwc_vwc+XF8}vf3Y+Q-Up^#085xCxu%)%ftwl4mtK#=b5`L^bf;#BNB#eoY znQKVVY@?&DV4?el{z17nY>pr(l903?{$R4fLdm&zi8859b(aL(g=H{C>O0Z z0V!DiM5WP$V-Rx_Tqm%C@n87Yc0A6S#_XTGDRJAX*lNvUPJ#w1(?0{3zGXbQ)H6h4 zZ-)rYYOM;6B;+K~wlnoDNAm6rc#-UQe+fub|79sQ#!(c+VpOEV z&I_OK(xM28CIKp&@#=-6mjpOkVO2^P*-8Fxbk?fbsP}HB-~)b?M25c?5P&=uLLnHg zS9@aYAmf!LfTIzA%IU~)jZr0)dipaO_ zn6YbVL5>F4yGMffpjSLp-wmQ<>A8Gc!O(Tr%&ZpNdr|=4;{))&M~$&@3R|nwKi1k; z3WwLP!}L`wJdYRgKGu(7m3Z2aT*Oso(;@ly01(|M0!Glr1n)l@{ebj2c!?Wcz|Gs! zKhB^7Uo+3Mv}X zCGcMN_!l?&{nh8C?&IxQ&`0e3YN`P8wyisy%U%9)6M@e|&UY|=u7tz;NOG4ZafdmB z6V%;aDA9U%79xx8?dye=(}{Z-p&yoGhgjg#2(SXJ9=7=vTcwm z-K9~72C*H1F%YPxFyP6~hk}E0jLDD$mkY?{5Hocz1Gc}{#TL0$;UXE`ABgvIZTP0z z{?x0WzI)Bf5t2L9hbRbP#)Y`$e|$)Kx_l?7Z-Vzyy%W<58-v{5=ZRcJi`k5(WL zRqH;x29yiCn;Pvaye>s&XB;)twq>Uu7Sm2I8itP|Pg5?!Xk03xI*0mnx6;I62Kul} z4T(s#IujRf`sFd7{5Gz9H5d-9_cvCp6#_&}0|B9oZ6t%Ko!` zF2%+(pAjomlN8V@Zj8T3Hi+OReXa8Z6 zl$}H#!G5jA(QMQ;n`8Q$!#d(&dS9L8sFCUz}2@ZN(JgFmbIb$N_#t-mes z=;BQ?PJUBxC*lJk7={^VwOlLP&7-XT4E(CI7#>h+y@x0Lq7GB63IduE;iCJNGp@p2 zn2iV7j8`CZqOTtZU2Y-nRl(})#+voo48wIE#>V0_SA7tgDWhBF?L%~7_ z$A1{lREFaTM@M5fy3>r!x}I}_`$dKO)Mj{I!8z93$Fkl^?OR1`XGZ6XPle_PYmv1j z4+lvQS21bJb2PKuL=X4f?^!d#CLbqq1O|}eWMwCXOX29l^t*zJ@`-nyT{3<~2n1Fl z&73F;d#{8CK41X`rW!PXkr<(&5KE={$7{{yD(uiH4C`pw4)ox2YO`>zTTNgM`N;h} zspVUOSYRarF8^>&1oBQ^0I7FQHa5kEC1m<1taOig+hnXdjJX~OM{HDXf1{xiV7(34 zd<#CcCiPy0`-QJw_ol50(=V8rVlm$0c7rK1{9AQl#nw7@Xndx2J)GeYtL!w1LATdF zm-z26k7cSGNMJZ~RIs3Mb}i(F475dRIbYj33GDjYQZ)NX%?>--^0KjE0O-As3K7`h z5UT5wTF>IAYe!68qm{1>S|BCZs?Z%Cbu$>p$%4pP#7oE>?uRdss5GqYA0 zuEZ3|bTgfM)o>G6Y3%2ApHb!dI-#1TA8WYhqec|lu=9(fdW`i_EncOTm&$H-*Bfi&0^N9@M!g5t*FMVhOwZtmYmD6uDQ4GbaV)~ z^XMJ-0*-E&f58cTQ#FAEwsk4)FRFbal;`YQ8oClNgqNt9Tt@-9X)a!`$q6oNC{i$jr|?@#CCQ zbRKRcJUw1q5v=K`2Wb3bZT%(jf_r%OxgsQO#9hT`#bqtXopjH~1udBetcIR1_&jnq zi2O9V6rNFT4JmanuW5lT&EwMhL*-`@}S6qM1#~Q_f+Vo*=hTMq1BnDo488r{BPPZUSW)zR} z)bZj|K}^XkW6(4%!gA;PJXQNJ1e>XCtBAQ+aB-SYu<{1Z9?~RMJ%%*uozZR*HA^&U z)e3~NENLg(laL=G9sIKjx<@D3iRL^(d6iCc&dcGylpd}3MyY+O07CBd^`^w72XkRE z0~}1*o=$Cl;9>a5(lnvI*Oz<~C(#G{5p@TG2o#Qo+K_J&m-3$pJ*DQZ)ECUhl6{Mv z)(!$;rYm=Hk78EeNUi^%x)5wGqOKxdW-X=0r}_#E{1~VDSQYTCWH?$2FDbRQa!D-F z3OYka+e?$kQT!2lEdA;Gg%K$UHynBv$VvyM(c`J_HuQ?XhZbtQ7^=OvoP12$qo zGh<7U4bL=>Q9cyZ&O?EJ(W1{RQ@a0tCYUq-IU@2get0$)zCD2z!qdvA71V@TqfLk) z^U$#7EQ`~}?&wkml@i5$=s}vCnT-v(Mdkc1s2x;4h0T+Trol?wIH-&8{K_siZ;a{w z%YzgJiUP)96nz+n#jiCaZQOF`XE2yH?NnwfmuRyLNT0C}_(h@lPC1CH5e2Ix;XAV~ zf*tPGwK8E?A0>i3u5{H|J9?VZgd8eWS`EMsX6bhU@g9#8H0Z&HzWMy-SCDg&)}kD! zUOh^4@TqJ*>u~Zg9knYzti%n-BY`6b)A{Fl`Dnk!&o{wZO3C^ut;6ZJ>4;jGYPfl8}e19YIwRp-W&#%he7#Bakg5ZaOD*@|}e319c`GX~Eol z=W3lSJU>1&YNi>>o(K2NhW~~_y)9Kr6`;>bI-CXQK82QyYTy#xLe%6G{I$+=w4RX9 zP)KA%NRdxY`gBJry>_? zbV-q7q+};qMvy^Ehs%1c%Q32dJ9^0n!P4ReaqC6s_j1tmKz&~cSQb$-2FX2Q^e7ss zVXccbZ8KLvh?hn7n4vNe;l6!IJj-MHn6&dloQq1WqUhicI|RTmi?+H~1D1vAd$T0$ zlZI$pbrGtr`S61=Dq}cgg_@|r&}i-UE$FL)4MV>AcAO=#0TsQI)yml@5hP39aL#PmgXAc?&fw*}hqD|XwRm4I)i6c<|#r?~j zPh5H)w#?k@J1LaP(Ui7=al6-O#QZ;}72k@g4IY zveo)=D1xIkj-w=|_a#sxw8vbgQC6qP;SF0+?1qF4?lzzUp-H)x7Wfme>=o+@Vmj(j z9)Hjq^VuaR4Ukpmt$HZ3Bn`~YhCrh$&;W{Nddw440^HxACHj8E7=7_7Fu_UB!Cux= z|IEzq^e15E%NptwnuZ~Y%B~CAjc&-{L`B9#g>GQSKfc4@tG5l2(0L8ov5ls=X6gyB z+`I+TKPZgBn_<5XQ;CuHVK$rgS$N%wtN*)hK*v;>kUJcZ>_SO222()Bsm{L<)tD#p z2LB!v%-qll;F9x;jI6iCw3A9m5KoYK2|cuhfd*Bh=eEw@j?0#ECLQd?vOO#7l zo-K1@Q;iSWR${B#<5m?qvU>48$b^>ACFfE_?D<~M*CKdftPH^Hcv+U;7}d0_fz zFH6|WO69*<4Q;G`SYML-&b4hF2JVxRke42nKmMYhlO!OEp`G}M%h(S@SJC+%fdvKK zatB;y+oNTLG`g;PpAgtcsN2yLcm35Je(J*ggl!y9$u3G-BoWaM=ih4dr8mdaB;+x} z$MBkoLYeGiw9W7oJmJ$7>8Nba5cTebw_3R(+aSu0VZ zTPL3n&kBNcA_-*^TSk11nij{&k+xsyIzxaMH?v9 zSRC2T7c&^ic7Ah~sy?Q2bk3W^!_t(p@4R8}q+SAvGz!imaT8Eurmo?VAXI7LiC1PiEZ9 zsT3Zf!$G3Yd=b=4ml1-(AE5eT*-J7o8-9apZhsDA@Xs;=CTM9}+06gK8@MdUu?PAYOh z13wwNA$y4AjHbsdX?zE3N+B=Gc zAv0jrii+|DE(J##RYcr#0?EoVUUE1Hyfcb{AvN$q+&I9PT)@GE*Q9iU&3*-Ds$N)~z_#AKF5b*&ngLZ4BHA+Zrq*tUuwSv8BqBn6y8Lp|^!2SW66O zvA-PseA3XIAT?1FKsJpxblLPaysK!Pwz$P9S<*8j1WN|DLGQ_2$;ACgj2<@|e&EtK zGp6##_6!8LYTbZ8Aft|x7}YC1LL!Dxwc?WWMy(QKy2A4yT+0;MMCyz$nFEkkw=B}3 zhiqYXy@r8LLE0ok(Qk@J6j&(Kh@tUGsFQ=lh~O=jx!0g6x(!qp1dQ{ z>Re+Huzde%vDD_E4L8&Y0w8dF$nM}dnTYP?eg~Kf#8}h;GjCP&M<~hQNE3fp zdb;no@{ksIAx@Hh>F7*)8Gdt1nH#cqXHR4$4K(s{JkAP5p)M;Hy9<1HT; z)&i8#k}f+x%W>fii^_}gHy8!}xyTKMQ70DU@pkt-!2lDF+_?1Bag{Dx z0ypGsny43f-~1krSX_f!ahY5Q@sIo`HOC3qte8sSip0BDrSU~w0cTsZ=kVYhm1r<1TjoFKK01byroD#^1#eDk@m`? zT`pworXw1yUSfUt4sdWB)h{IJ2LmaAI80AKmWFwxO`a2A! zgV8ZJ&~WJstTcvg?8WzD%LgY0mLvMnKVk})?7JirKUJRtJoV>nf83H8f9L9$i<%S= zIH4Krm3}GqY@pH+AaC$I&)o#uXv@}2mK3!Rs~mp)BN10Tjo#Tlf&CXFm1G>B61rh@ zbABDwAASD+DMQjRwy%R_?a|3c`7-}7RYs(X#Od|Ogg#aARx+Ma#nbds@mqk|%G4$Y zvkU>1G3n%Sk_@!ZZypjdZ%gWq^>@>7QI1?hh1hECI(QsGJ>iEs$x8LpWF)c!nF! zFm{LsJe_RGgMOd_PMA8~R5Cav?}k-TO)QT72P6rbzLz?SLn3x=rH15@0P7 zA47l=U(U`mPK(i9q%np;>F`KJsqI;lkUf;Np+C6esHm8OKe_lwJSM~lc@YmBYcc3~ z+uT$_2Ek9Mg??HlnNlhlI!(f)k;t0GAuNrFTYfk>Q%c13!t z7?ls&N`Yx(dB z!W^44$0Ym>B{Y#Yn!>(JpuU$^;cG~3NNO=liS2;(E__W)#}SCWv|wHa5uc#Z{$JP# zIX*nzXqqb?Iq*9+9M9ook{Z#q#jK))OhIG(xBf`J!Vk%!@UH-uSjFo^E^&oJ#0%pe>+u~EF)DW4JRq6whCinzf zt}IirM=FhM4$xDJO12X-42rpsmiiU77#Y!vyFvm9j0nr~QJGl1&pu_or;Ipx7`AAd z?FJwVFlMm5dHYkMBLMRe9MD3sG88WfRH1f`vIL{=%zi^ZC?BORK+J8`Ikp+ZXesLxa$%(4Lz` z6iDA=l$T5d-Z4YDB{t~Zy5L|2GJh}m0$O$mami7t-=A~elUUX50gO#M>2Q00zs^#t6QGP)Rsu$hPk zlFvO2A))?6YLrwE0qaKU+TZ09rCn@ruRKp>94cDlX!@de0tIfXsXqJ)HBe=sH-(1*rD+J zl~*kM?gG2X+kt4TEsMpOU?;)t?L5-Mup=YJPmg|*uzmdFebp=1OkVRWMRb>|D+~i3 zSC}oM;?snAL0g3}s=`hB??6W34kXRYv%mdF(C|8g%rVh=#`E@v*=b~d=jRtNZ_Gj4 zcGY5g=y|SWdM@_D@g{;5tj1P2A}b3+PFdf3ZO=P0{DUo@DNVqq4r~lUUsq0wbgKJ; zL(wAc3{E{Xm%eVI**lBiZ1j+*0xq{nN>m92gAJWOv$z726P+~<3s#fDdr?}U7!;i2 zB2fk5uoz40uw_2Si`qzT^D5zhHRMA7d!;}KO3<&?IQda2uJ z{!R-r-81dy*x4{u^T)f^k)Xu4`uCOHz20*8gsNaht%CT}RlY{POub2>8~Km$Z}m@F zSi(omV}0=)CrkzEJ{26oY}h}Lt74$VE07d&Qk(*co20&z*ESP79Xqf26E|NzWg5>a z$tIwuEO%O~oT*a&UR0PWVtG$N+>h|eP{ZuU$t0s8!%cDEMXDhieR(2E*It&jh{4RG zjZ;S6+W5rhk7BHWJWH-pD^Jv3bexO}JJ=9#k%karJW6)+-Oh)^4-?qOM)Dl{vNsC( z;onMbJ&PB&HkJ7snO0b{*If5tHe@47lSl?&@->7&!M8JpDplM$(%3T$hk-3d@G(|{ z3=Q{$6S!|G)BJpAkYDWuAEUp4s_-0D8494~-*KsNP($(ktsjSdj{F@thMwb7D{c*z zp=#CcGoj~5sFq}1GrqTPg0sP5nie#58+*2qm*d)bG)5WWy4;Feda|n5HDh_R z&4}N}5=g$&-&y?9(9b@&o8ER$8g?ug1RAt4*YnbPCqj_F+7>gic~c!`&Phd#$vmRm z8%%6nbHVe$xzpWgfG5oQr6E($L$7;#rjQ^;!u3{LpyOzF$#;;s;D^qN+9{E2&?c&a zdzOCg*n(oPj?$93Ri0|Ooq6n8qM#B@*ImtztwS1)tEKE2X@h2BT%p~U+?mEX zVpJA8Had}^Uk9U0h6%s*Z+Dd~Q;2y^XnCyX87F*g;@HV31#6SakI3z!iD}KODkeO= z{oax^{rlAPzW-k5R)DNBzf3Q@5Qy+27WT_-7T2K=ox*Zic19j}J2S44wNRw|(vKD; zMHay1vv9)_`r>>_TQSb$bmq$EEIsx^TK03Q%avUf z+OLMC;5d3^d9UiSx)fxN~^i(Can(rYg0}@=9`T6DgX$8iBU{7I52K>ijxGvM-GE#fVLJKMY78zPa z0e%|beHkXXIIGkiekl9Jjh7uxEg%#^o(#xbMF;CT+RC2^B=@^`O{0lF&2bheiXDw_=6KvEgv0b&+ z8lv%)>|lQb^~57g@{jJBYem0`-!Rd0^hQ!$=CvM&z9x>AXtrK{HL8_OPKd`H>%ozp zVck8ew;rIfVy14iCkz+mA!0Gaoe{5H{2l)s7Ta+C1s@{Pf#5iEqJ$)O zcoY`=d9bCE-CrEz%S{LTXmaDQr402VsKJb-{eFc+>+HX=W=rMdC@av;s>F<*9$`AO zYcveN_7*}VTt;e*^KTAUj>2MiWXE;rJu^E6ds*0_+G59yumfla_G;xmlVQgIOD+!c z)!n-}Gf_J5wD2-rr8x+c!qyaMA@;K7jaxqp_jHeGa2(8(@k>|DmE~M_nF}>d>G}RT z1@?ugHCj7^4RLL$^?6D{lDoHvV=LxMA! zxNGnJ#hFFD;?>C)I-!|j7jewEZrOKwW#UAJxtH`D^;6Qn9Y&}M;Iu-T@D{lEnHf(L zT>`FkbDAGVs~BPk{4{)hqKyA^2o_RRz(7LX|RmZJvb9{zJRQ@b@V0 zf@^MM_t8VSK9|JzeN4j8(VU`~I6cBj-Nb<`jupU4$Z?^=C6g+I?LZcZ5+8reVLytz z1nF&zN%c-UN3td)6Q_{lz#A`^JEO9VNu3C$WGRwF+X?A?i~j_>tAwJ#Y&@qUvnuJt z;_W6b#Iz7qLdC*pdNvzK+m&H*ESWi`4JNSY3wrw5RMeAD45%PTSlTWW_mB0JzKjI3 z5g{_b$<11#oBe?-5}=hO!?4-M6BdaC*!IR&2THq{dL$31XX?fBOI+H5*<{W8r6#tW ztMD1TW4T-@NQ z+!DU6e&Sp<{(vvnerLZ#=C;&)K|9?*vZ;CIwW_^*kKey7A z*$+PBQ{o#N7dEp}6u=f5OVoyz9N6lzJ*7b|$j_sPm;~^&n$q@TzKG7pmT9^G%W{pr zeRE)3#32wF2VR3{&1Xb#2v7sHpzG2@ZHxPw^!5U@9aK@E9m}4Hv+YW6TQY~Ca+ckp z`M?=ReuHGwp*rRtZBNiG#`o;Lmb@rLT_r&cL^3%c9l9?u>cfB3 zP?h4`Jz>l?<#uUWX=`6WB!sMz-J*lsw)&%V>RvM&U;CNr!-QtfY|Ytb;*tVr*<;t@ zo8UJ9Z8Tx@i5w|CE;r(V)$C?2qHgef=|}#%-H;?5S!b|8FO~$D)v|9);ReVk8yx=O|@ro z5PWA~d4OPbgF|V+Oy~nph!p2D_|<}IOrVUsxp7zJ$w)1ilCPlWO>;%9#eFqtIuqKt zk;Neiz#nBwS%=>yLyiOfQSV9jmc+G^MP`WXcZr+lIYNug>tBEGdB|XHNC%>r*;f{8D>o zj`gnGQL{TH)kBWbuS|aUiBgnT8jueG4q_`y4jRlP7>TJg`>E7+D}C8oB-bS-Xi~}+ zIey+>x50>?hUVh=<(J$yZ0&DDG6FSEOGFo_nQpf)Yy-w=A|@Pz=GLK|Gp1 z6Lji@qt&aYdb6vR!C;u982#}*BQi8|ksU7au@WUHG1XPO**`y*iB}m30hYLwG2_SK z^EH45R?GaD{zw^q@1IbD)nW|BU&pS274Cm`Cz3A87KNu;XSUb8+%n1(BEKfJKY_ zgd%K-LK>fxoWeM7IE#R4zlsY(*yGaJ=cAn+WXa~)+&4k%q-mAGvp~Ne*Ejt~I^Ev& zGOKGUR)7lL39cX+@7^0FO3(5Z0fl#b1iJwcyVxNdo9GL1p0%nyB|jsISz=>kWcgsqdk-bFD$3 z5(qmtlR<*pI!4Kc<(7 z-f`*{5P=&FS)sTJ;=gV$sZMQ;+%nePgE4GhzPY2tbY(Ix4d=Dhj*oy# zZ6_B3f`nUX_V56BQ1|*{i(cO+GzG_IPavbR1rv>P0Sdy{PGTj6enf2oltoxV*-opV z^b0Br`%jP`0l_wAc!7?<0s&yICa${tO5uXw|FZJ1#AGzZR;3%+)nuo`|GIXS(tCYc zg#?*9!o}07nC>{4OO#cV;%uRBGj}r-k%C)ge)C|(Ls<`(l89^>WJ*u%nSI1F7id`)zo?6@6WJ{?+SrJIqtEXp#_e&E1^u2yq8j=rA;wW<-a z+sEInh0_Vn6vv4Fjs-v=|BS|Q6xw(4+}=%MKz-vyG-H z5t8qO*?4rLuVEZ|p*LtHOjLX?33BVj<=xv?sboh1p&P(jj=0zS*d8^E3m`N3qSCYX zIJ4+UK7LF{NI$6>ipp!DQe&*1l`_*y#3Jb{lpjdV>C=|%Fk>?|%PzFRnDTCEV zrQ5IWDGkE#^*qepjA%<5qsL|CLCc#Sp!{~`vkjoClu}ET+=qC`DnNUpK zuHP7jih&ok&<$iPz=Xl1#Q4y{v;N1<3=N5F1gW_(q1Ozm9}pae@ROkdS{BE}W=sE1 zR|*$+sU$KU?1eGW5RO8UWW2ujIjweb39{I?{%EZD=(H%_Xbb^vdJhf-GT22$`&mTW z8JWCNI$iG5INZekic^0i=i`Fk8tEMlyi55KMh$uhv|1RjvRrZ?ss#cCvx57ZK86fF-g3q5 z6w@*?J|SrG`Gwy_q&z1gS@ujrV8kgT;1XBWFC0_LQCK2-1(Q)DDr24Hc7V`R1>1Ba zGjxtNu_ErM7=MXF{Ct1kkw6;%yeG!)5Ba9T?=W{!P?Gza_4VJb~8i!jW;X~zhjT>+>HWCzX7U=W_&TzkKX5<}a2 zenIqkU=K|*JE^bYt|dE(cNhk~05wh89VkIS2$8tL7@dlvikf2vDiQqcwLe#d)d zY9v8*Ul)J+YJ2Hi`UnczfNL+}3Mz{P&mYmi$wk|un|ZW?OKG5RV#cXd&Z`khRQ*>f z3zos>v{HhMD_R~Q5pRa1w}mM?NG9_gHzFA|^nFTkjG6aY!4F@V#% z@!?HdE<@)74yMt9fES+CeFsBOf&j^-i6%Tc5dnlMS`xB9p`I*AgI~nFr6%o0iA*H^ z<+~4Ch&Xm!@?at_D@X^?Qi+0!x%eJHS|hrmh1**6iRwkczLbZnzI@;WhQY=Ndln8L zgOGSPNz%*xUr9Ttp{WQR3u43!;+@SHJs;)kwMw1iEJ6fCqftHQ@C8Y2j%PJPxhip2 z+^1=|0BF65Zl*DOoG}du63+0R2g8=r{Z=y6x+CJ3kxVVsTfsAlGM6 z`GVJ(K?01yr#`^eh<69L;<10%H{VR|B03@Y4O4B3>#3d!1URStI2P)-PM&K@s;uv6E~SqKz=Ji<;QgFcowwcIg0Y>*@u5aLEm)TvWaf~j3o)JgEftpA5X zPB3zHXsekdZ9zNu`;CFOlP6Br&Iah8fdT*a^)Xx{GTa!$8Upxaiz?M^yLtYgd$;-S zdk3$T|L^iecN*a&yvxFUWbaM_x_@f?T|YSw9X__8gpidMso(-Dc2&( zmp%3A8qC+Fb33+w@1yMg*l*no{CN3u+4J@W0sN;dd4mRAxJ`Q;PLWn+<@Pc+8x>C& z8sD@3a}zof$3Jb^ww{fEfd0w0G?~7)dbV=x(|WHcUB+HM>LYtQPdiUaO0geCu{vcM@cdk0+T;Ix zO89YoGZC}-?Pjjv+uOm!D(01oY1i|8OxQ-mpi98JJURJyv^v$}cfS+LY4WkZU??i^Hxv>2 zBJi=x$q8|Iw=ER7-bqQ={C4|$#6?Vfp=N9&@NH&Q_4E6MgVOG~fa%-zD`vO%P^GCk&6T_b;t=rohXaof7EG$oFRABKTILeV^uA0 zePzx@YpsIYS`2zwjUm!z9yV@`-BSJE^09k+jJXrJ`d&822Nhy&46_@q>#IW7y8o$k zR}W9=7Ze3NSqoJ~|FAx@7MdX2aF}1%OP|lT``fzqJYnsnwg2N?Z^c;Q-{l^b%c)~k zLpAa3$C|RppEB#`r94QFwhefStC7X%20YAgKT_WH8?^>5pzxL$@(?0qm}cB>Ytr?% zb9EPkue*BkA;;&(#(lewVSn|`4=4B>N zpDKAwXAP@{{{DNs6ocFkL2pYDd&CIY@YU1?ET&&;w}h3%8XrQe8M5z7tS!6r3y^ir zqTiMO6Wy;N6n;}|?bt>CS*^8^MWOL5^=8`8xY5U^!~gVn*=}FPuFeE_XSDoR-Ec8mxO}%15>V_6c_2e>S~AjXQqeM;g=P%x05eux7w>CYvYxTv0j5{ z>#wmSVj8DEte}5%E*ai2I(WUc5!zj}e$1_!-n$P!tzU}$BOX2?Bq~XG#$UT8tw_~b zcJuhL^_lvI*zDFOPD!>XIxq^XOM_1%+ikr=8l3;ai=mnFKD0Kyt-maq{Bzi}5&JNu zL>Oiycs)DJ<+RK-a%W{su2y?Ish}~$jajYfrd4!H)Oq%3t3H_3T_zUrz^I#LH+iz; znS5#4+x^=D*@CZD`l)Y%M@#_D*pT$rv&3c*i0@8W_j#=5IxEL`JOA1ytC3SDw!~y~ z+boPjmZAat?-oP0t12W%`NxiMR(6(yjl1f3oS$U|EXK`7lFz3dbc$Dzm=y=&p$$i! zAJy(~p$D<(RsV{t10Pr2YD};KkZzIMLGC5jJw!(xhtZbDkv^v%?#HPe$1D7_{o`5T}Vn3<6m4q z7de@G%U`ME)EHYRe>KW^@FjF82n(G#IEo&TMu@p@G7)&`S$=f-FWpgR82jzDm-PX$ zYbWVfK91Ha{@Ya?_^|Jie_@@$#}$4d#afF6@~gf$de?}qZ*6Ax(4Gg*Q%2eO$13O| zkVb=~mSu_)O$@Syaw0WFIvd{5FxB*RW8#|lOwWynfHk&cN?63{4YQxxW6s1fZmW9& z?e_IW#4oKgMIxs)ceYbuo!21-X`7r1b(tAbRCJNS#PKJ6&5eWPaTW4Z@&G4TFm#bk zFYWrNiRS6$g*U(UKTwHzxn-O2-sUr56q%yA zly9kPQ^?tMB@*jh4qJ;33s=|`Ef56YKVZyDU{LBE#OO7wz34td8D8Wjsx>WTL+k6Hn=cXskyRJ|l`p)@ z>7o^le5CSmYa)*bGkar?kN=-O>|{=JlZa#`KQ^s`u8CdVGd)sgIh~M=z=>3p9Lol5 zq~&;E`Z}iCJ%uDe$MW)PmV6yA_7g!nn*Lstkk32G=_1>vNQzP9up_rH`4;m}C!|td z>x!gNMtFHszf5)`#e;gtq6y*LNLIQX_>tH zk@o)rMkl%0(#sQ#fcf&?^?Y~>^SMrRIEOEhVW6Mfus1Yea!sow7oAo2u5Y>i zRgid*jtatCRHLhLHX|j#BQiBLbEwv|r3Jcmv8A?`z55ET6#n6$ob%~6vVXO$!&0I+ zGhuK(#Kkx|%m)STeIK8Bpl*xqP{p~efWXC^l!Z`wHBiybMo9r1+0SGa)1RFSkh`%h zm8E0o->-Np_fp86&OLPZu_+ixFV~jc`I^q~O@V))hO@+8nP1`WFL(#=pTN6)roo+s zb0i(b2e&7==Y6O){Hq{^)PKS8@9m9r{Ck7X)!|?DMMn~S(cwb>`{9C}VSn`G`=bMz z{`aS$5!c($@1t+Jb_1(VB#+8D{r4_A!3Q7&_dT#~O{FELa`MofIP%Ne{_ci5wdCD$ zz3?#iqiGpEybK^kqz5@?s-X%M3T~DTyzN~lpLT026ty04xn(vu>roX3uEI#K=TTmf z$zP&Zu4PrZOkAUR08G>T%PIU^{A;vS@y3qf>w5K;)j(X70KAywk;+Q6~aURw|Q z0x4CTy)^bb@@*j35D`_+)ZZDCb6GD@UioW>lpe~?I9JDTh?v(Roe*6u0yl;qIe3j_ zT-o?42xFac*}1%=kPNgo2_K1=g7cf+`jR_Hv{rv-$$dBLENuaV6M$|kqnt-;ReJ}{ z(v$O9BoKXrEO`m`ksEy*cBM0(Q^QOirreFq|d|UUM0dBpjSC;yY!J{qm+WyJ3GS zx@fx;Z`|W0XZ#ksM+PwN)i#Y)C_@06UITY%k#IQxW$fI!s$Am7xrHaO-S*wwiHaIO z!RG~$R0Jb%hEs0s*t?lTX&ruT)-$L?B$w-a-776%?>OsWexXyb9*#6l24VSia(}$W zimDK9MfG;r5__uvUocnDT`5!<-sgWaNkKUC?uY&Ds=u4TukZ?Ky1K-e)&)DK!u1nr z@_R?XtNpcG8hjGx{>-G?DN0^CRM}lT$l1MiwxsA_eL~PBW=(~#cS-Fxqu#3SOb}u$ zgnjkt8;WV6Y=s&fzdjb>l8&D)r*)O6>gX6s6RhQW^iqmU({q!a%X?B;uY_m z%LObk*4I3OxvV%T{`!vIZwLNZ*3H7oakF7TMuThCuy{D!0E3h>LBb2>YLtPxRv7He={oRvAL zeJv3ole>i=^qk0K*oem6a_ci;^}Hr_PpDiP7d><0hCGDF!P_t%oimkoH_uR6=kIWD zQhPxA+YTr&d{z>lz`*5AC$ppB!BdqjQ_8fwPcMKBAxKiXxSZDRVnM*AHev<2X(Qiq+*T>vFG0Qz*u<*XF_ zV&Ciut8+#*p;2BBP3lUx#xMM9++>SmKz&f^&T z!N7VE?=8ZQAm?Xt&bvO>rBoaKF_UUuBY)dyR@aDLhs@wIw;u9A{NOntaf4-gYh!Bm zR4VBhq<2cQe8c0Oo>EYGx()xr5~Zc$lL59*5zbDn=Mb5AI6QkP6PZB9${lRD!$TBv z%|TD(5~mA5y+lFYfGMKj6Cm=3&dMt0OQ8dR(7To9-4&J_OiCv`;pO(+!4q$VD}Tgg zPuhS`_CV!MLCYpRtGz{&hbEJ&i(nD$NFdLnR7`s?;qKQ=8pt0kc#XWwowCf4p5<*iH>U&O1VYf+aV7;qX$7tXIi#6$k49BpU7)D^!c zVZkp6!oDEqu3m)G4W%T=4AGkvHh(}scNS9oePK35K!d!ybJp(NwX#>@Le~M@#lo4x z6l1?$*ZxNuRQL_6@}Mn43wrF|Kvypw|Lo^7s(<&hnv_1*tRocz8AZyidC5Wljx87y zEUo3r1rfb8b&hNVcoF!~mq3_;A;e{dLSvO4q>9j`EpL#U84PSG5)-W@JbzrKujOq` z>WYAUv2;urzCGQoB7E{}-`U!3R`*Q!jvTiUa^T{(!S1jXH9>8q{cX6?0u)H=!#J6O zcd+kGU3ev~`X4r3vvx`#ye2y1yr}ZH*2JaC4(Ovg3oGUixsi@ueKVBW16e%~JvC1U z1mO+6Gk*)h86IjTh8J`e$A7#Mm(xyX>#^vsvoQ!j->olr2b4e~q$P<uRRuyjOCwmN37{X3QFqt4KQ~?1Kfu!l? z6#u|S*3&$LlhaWEtkx`I+(94u8Ls2Y2|yOAZrx zB1v2j>^0m?LZ-B>Zi>vmgcMt>D}WWBevP!gxJn(GY_7^qI$PW-@xbx|(gy%kWYha? zt?1(<5ql-cj@H4vAow$|*`@ntZP(jA74fq!eWUa-_Yr= zB5TEBiOAecED=3+ zX_;202sBwJ;AY5#qfx@(Eq=W7aX@D1>?nujZd2aYg{Sd2(eEgw6SGl|n*;CQhWZtVT%X3t>kgj}9BH=h4B+Lpf!!Vru~ zLw|tk$mY`goPSumGFfN1MZ%S#05E&zRu2#x8psF<0w2;~>kYonM2MwzV}n07MO=S2 z2->q}D3c1njC9Vsrlf7NvX9;jh?!MNh^-&%62jXl($Ai$TGc(FNYN{yxOX4@ON8)n z8Byd|JSci1E5a0QHh>cqtF94go)F3E0l`iMZm<9xpMQMW<%T*U{dA0J9zh(ot0`xk zYn4oD1kR^P5|9JEw+IHWcdfO&_6`Kv5A9{0rGm*u5DQ%^sQ4Ra?oiRM=lt?67jM$p z9YV6e`a?+tiHB3dgThrqoJKRLp$hTZ&i19Ypai+yn&!9!1w9;0DAQ+hJdkk<8a+sN zVGta)gMZ9>TLvO1#e1)QPNJQHhRmcpRRkEE+_2#q#d=$6@kk7nmFWqo$F2Dz!BMqs zZk4K&8(Vviamm#%sb4jD3^gayzd#dxMomx))nSV9vtXB}DS@70H@yguA8Gf#S(`+~ z5hcdU=WsiS>yw;rmgnj9U|tW>Fb!Td->hspH-CrC8bvRBC_Q9C8G=N!R#$~ZcamEh zZbKFEHG;@U=GH5rJWH2_o$Z5BDRj3asN6G_&^UM^;3Ym)wANCRA2&tmk@r$tSHszY zPkJqk5{CU;WF2g(RMLnc>5XL1a4_8=z}-o5v@%CsV_1M8WzB#jk+TjUDHXv@YTQ-_qL~TUVryb&h-=!eZg}Z>+V5XfO(;YRv?z( zj@D|11K+bkg_YEjaby#%6A@0K)Dm^6loQn2dqM%eH0&BQmYP3=^ntln{_6XHt?sXI zNxU}i*j9cbmZRy8rek+duC@Mcw2oHH)_=owKsljN)DD}P>x|@a!1;kH)XoVpSxd8z z`*|{W2q=#-gHNBx4sMqs!Rz5;^sx+Y#@n3nHin$bHK$e}cV&>9h7bMC0Ug|Etgb6Y zOs-hB6?A@v9ygDkrWI0Jo*9d4+)%@V$lpFgH=J0vhMv1y^)3L*vwUpB=OZJvK7WJ0 zzyOdR%iGVXBMQ|8t|Tp*`M{bjUZF0SIjkwBB(~*UMcvJTI*xmdyka0EcNP2!Nd#fD z+vf7v2!*S79_o=f*;)4hIzi+Zo4g%~wVz*kYiBB31SguiWa~2kFGyr|v+CqeNgjS| zi&&hMD{A44CMHs~@3C%uHnqRmC4VDJ1TR1fzDU9&-MZMhOLRyHX)tqvc)LX3rX8L- z#0gdN(1JZ_+R|-qL{%!A?$(vyVSkYj+zMi7 zxcwJX&M~!0hoXo^jE~*11)O{Ln5&jxR)v-vWOqBbe{|~QhxmhI{uHxRp{~+UI+QS~ z9Qdm4`Zm&R-q1o~l^yTBhj^9RSkK2>XH zkoyA?BoPO9V*fFryU?GG=6@RWL~{+I#b;x^(f=x1mp0ZH%{73OL1*8cWVo~p4|bn- zpQa=XgiLM=+P|oxRV03#`B~H2gP+HEfKcH&%Aydqa!(qV2}u$?+VkycMLUJsKgD|Z zrI$!L>BfxC#C=%iP6*&FG!>+ZXzU6Is3uZUwsKC}s(>3!>nIs%{C@(sO|`dDhsncM zC5jAecU@O0X(=cnaFPGDI=nhEYwTC2n+05OojgUJUg&kLuqDNvJsR=vVN+sZ;sY`E z9I&)0ip-J+{_(0aan29IIu4HZSlnAAAc?e-Pp}4n%P$ z4>1Y^Rn($jDi0zq`G4?`*GK6M^(lYnjC17#1At{Zr4ScXaT^hRnqq?V4#mY#^g23q zwz(+|l&KTPf`sh~fp(k~K5teROvQb(-arE-Aw=HNzN8{++o(pmY~7A4-AdGYPQ5{< zUCg#T8aUP)ka6UP59kK+1DhVk?S+~l?8d5Xpax(QD}KEJgntD@X*D*DEw64b2n#pe zZL?|QDM?fYOr7j4j@vuA_e#{-LE%hxyGCfBf=AFs%;;&C{4N6UUY4-SRg+v9h#{$V(dJXeGebN z_`2g|wLcEYUVrL)b2b45BGd_b^?m60Qg9CatBlrHny&dPJHL=9gSGm4!TYtz?LDMZ zI<)DF^=UkrqSNql1@&5nMcbu`%{{F+xY*b+)cVTL*pRTFXEkE_B#Vx1{0roA4cU#5 z^`UZ0U*MJxPG-v_g0qYM>OEL_1hbG@0hilJ?mA>e(tnHo@F5u#-C_l*zH}5&Wm=sk zO5W6jH?#`$$(#})E7PZCtF7qL6YWb#NTh5$GPYWL!sO)5Nrv_eIc{qkEmAQZ5`adH zHugMs6Oad7Mo6v0jyN-r)n4*O*TK_tt_NGX8Me%dKz$S`u?4F`QRCJbFh8G}7$3p2 z>0@ippMME?vxuI!_ZSdPthXDam86|t>qtcRWr{_2Sc>&WV{OrLY_VuLwwM*TdH)2( zqt(;mw%W48zluew!o_2eoulHm&ZfhFmZ{z8uObNr@p$yJtc*yf0V8Xp;vf!2)M3S= z3%lYSs<(pL7;Zn+VRS}2H^oIbz*J&%dQYhk%YR`4l!X5Sob4tU);fe=n!04K)?_@x`P}mg&It~)(!&;4T)h4ApCwX+`7_8(_LJs ziDTzznY<*^IWmK;4paE^=#_}|n-0VQ_^zM9gC8k8)ZIo5X-REeQzX+s@-6AzhI+&8 zK~_r_;Gi^ETJsz8^2aiuQ5j7*N($OYihp|gP7S$}r|#m3H^uEy-QLysncm0RkA5B5 z+Z*_aKCCH33F69e^fo>t5U`Xb9s2!256X$?8`H>B4@7JQdy5|&b_#h)_kUW2 zg60PNnCa$I#JQdgg3kJdnoHB6)$RD4$+|ndsTSA$)GQf(w1OMYs!ZyK44sai`&&%D zNVdhy2Xlb3waO8EMDd!= zn>RLuWtfXVgSCT! z(nG8{vN0W_R~@_r>K_#wkkDKLH<>?{j_q5VmxvmWehp_20LWy)wKft1*nj#g{W)TG zo`xaG%7%oW-Pm28Z6TUL1$wjFx=ZXFmB`nU=vpHp#^N`Rr-1H^fo+y+=yt%hqO}9OveXF|dBnXMH_zNI7$JNFNhyz?Y66?) z6lWSFDxiDt$UcbPr9gf00`juvU(q`j>LM>?(cf;QfkKyA+iC42#`^U~2Y$)3*=-?6 za6w4Z=)(PKE*i?4#f_e-sVEWgb?u5JT2^d;9%vpF8wmKvkB|!9>VE|V#JxY-6A23_ z6+&3Km@fX04KAc<;xQ^*ZWa9fvzE6-bV<1PDRGyEBm@(JwVfId~M4w}J8u`WH- z04LOfGvT1@OK3mE zW3ANxZf3Q+wM22~?LIIFxuZVN>og5Poh+(Dt}VKF{ahqLj!dkn&?LeZ8x;eD| z>508$tK(K-m?2b=D`PuS5qp|@35Q0J2j-Zbrq1{*$#G01nMYZ)TOyPU(InBi8F!bt zT7pQe&?|yQ0QuiX_J9#Vfr=fcb`ZVXma}SYP3?`SNq<6TFM%e7aoqAzoJuI_ME+GY>$5wW z_1PUMU?1;}B-O@yqo>guJ&oSzY4k=4^T(r0?BjjWlebK}4t{rk^yIC7+v#6L6J60X zF6yI1vybD^?BnS1j}80G=EkXugfzn_wgKw079m>mZAIsl~xl!otx*? z-9L<=d+_n_C-&p1gBf+WjB+Q_O;_r1VK>+gPt^T;1)mrudNmprd(a#)bee~NSp#$r zU0NQ2j54*2e{BXo1apcsAbUIk3e;`I2qRDj@|#6#E8VYAlQIomMc81)blc?^mw%8E zT9DQPQ-Q85k3?e1$38Nnx$&?HTxu;s94hfheVkc)8wRX_ufW&~l`H=q6{2WlNsY!@P)z|h(b4bAeLd%z`^M)b)mrPNA z)k&^YOK5vLY}uz4VnaXyqzWyO?u}idt1oG|LR-NAMp`@8Z7hp4@OAEjzJK1{DKX)wiX=!;WmA|A%pzLkLVe;Tk-d1@NAyp!x~UX6;HHk zM04FDd)~WwypwQ>-I7kv!+)rcnyoNhDfFi%DcMHaIiFX#4YkWgb%Q)nTU%N-sBU`? zQJCA!V&H_@aQ?~&)&1Z;9lY`LWk)M@lVzMNc+~qg?H0E+wf7!>f_~@z68A!(Too#l z2MWEO_sW_r{^ZDPvJ z-@y+-xmVza(u4MplXrAXf3|a02%LhWRdqmJC!AtKZ4C*aN(WPJZJdHXfPs|48%Iz~ zTz>srq1|lzZamR_bV_ODo6s|gB2~Ct((U9(xd{GHecvsV1qXM>wG^agSBVcx4CU+$ z%qc{IV6olBdk9>MuMEXOLc@k<=e?dDEuA&uJ;Y9lYxFO!D|Su{`9V!|Y?G zRd6t4UgX<0d>}T`x)d^WtDc9&Z=Ze(VJaa+rVO6e>1|q`#x1=J<5hiqBy|7ggx*F8 zO*_{uD&jg90Sz6hpA^-bC1X8$sfw!<<&TOewu5smEo2xhQp`Zhx*Vuu6_Va^+=|dG z=WJKqW$DJc<5rc2e0Ep*u{s3S?c`PRj;0RfDyV7e$c{2_b*QAQV)jsGe}>b}{lbBe^fP>6&~$K6 z1fV0tS4M!;HlGKhSrxgAu^>Z=xSqn$-X2!B54<3w$0ePXaTEot$(mO#D zXqX^j)BD`u8nk}sE%{J0ZT;(CanXVo3@}z}gP0_E!I|L5attBuO}HXs)o{&~ zR*iOclg?&=j%((eT+7K#YC4*qK>sg)he~-l4-NLOf6!+&qxn1NUPe^e;GCTu@ehRD zXQCe6EGn%|I+CvlR&(`?e8nqn?`^_EM>f5K3FwgcOIM`y4AI{kw8bjmSJgP-e`Pbi znQb^Sz+CTU*PL$DS^<+)jce#TV;U;SMM#77$)PpH6zN0ktv;9$ogY)VYiEPoufkm5 zYUU8Ve>bS|vvG}@its_`A&l-~5b}pADBGV$?JMdb+9W~ZPcYG}{TF^7I$gCJ{1)qr z4Fo5b8dnub{;ydH)zzK|u))?4l?&!3jqSKWvL5AQCvTWBQ}nDN$-g?~l$^A4yC3~y zuWWbLuzSSfkn(U^jycceVk-MR>3eV@hWULN7-P#kMUeL6_Wh4bPOOXfbt^jh||`F2o?m ze`O(YquV+5YHFO`tMNWwNsyVTztDJO(6c2NJs~6BhR(*@CeOR^wF6D6zJtfka)vwO z0C{VZi4mPK-K6;mb+!V>U*yOIqZKYiMnjBiulQ*=?^@J{JZ|z*CAuS8>m?#7{1%RPdu9s&}q$MFtFmIr!|lAYR|vrcIq0n2rs1wKHi&mvc(_ECgNbma(%?AF#JtwHS% z{FA2_L4gDd%}fD2E1>>LcSXUM1t#T9ULbWX<5j13sH&h)M>^c!Swcfpe;MS5ThvA2 zgVwPToSI&|ODBJgW{6V2C7I=W*yK@y3IRVaU8$K-zUyl%&!nm2w&6-#SdiY1+cw_> z+OBb#F7EP)yL2pfB&C}-Ti8RF&)0UzuN{T4ts41Aw|YxIQr@}F0GhznH2e-~cXbj+ zm-3up7vky6Qw-O?S=&XJe*xhv(2RrhP;pwN4xJoQ0cmG!h#W+6;;(gtf6$^n$59T` zCv$AbL?E<`m_zBxNF52pla?6Ntfdh(AJE9>{zK5(6Uk!Zgsy0>4#$~<%$Fj^-g z5v>}63ZW<;D-o@ek%-jENT9oKE4wLVR{$8LfMoptPdb33<8znj@ z8?_mnzlCwp$<5t=`J-37S9@c)Xw8`=cV&ObnI3a8TybT4%SwA`R-vp7Uu745*;aKn z66s8!WIu*{8hz0if6Sb${c;Jl7KkQb@P#si79E$UXiCH>rPsx53{CFgZmL<&Q@Pt_ z!5^Fxg4x@gqEMNRnRSb3O<`%=GQEpn?pm^j+>S^#etX~65DI&B=wx#$Edv`v3!EyK z#@4|kq@Ls#+_ET}m`ea62)t+8!MUrAkA^j460(4MKYD@ke+2&p2o-odEGcrb*X8|T zo7MSenQiLqS!P=vexBK$Jj-k=>yld;RoMo1v0K>&h7TuIgc^___QB&P*>tJ+lR_vd zc&E7V@q91@IOmVvDgJEl6n2mc-YM~1?}X^#@jE5@WsO_7dL&oyX!UxY(TuuhGitL+ z`XU1Mj&3TdEyJy(r0y#;<)+K(ZV09CI@Xqdgz@Oy!E4-y&h?x>JV-^ed(;Nj+`WQt zq)L-tePj}G*JcTzL`%fXt%2&z$#O0ipp(^oj%?TN>6X6FcoXlm5Ew}YtDRvq+jBMs zA)TqIfk=8*(fK+^iDsvvv&h9zTQ*0qY(dF=?D;RZ0AZDWQi!j^%W)6Vr0odGF(fIs zr~Txns_tVgiEVhv?qGm_$-+alL!FR9Uy#2eUzs5&z-n{+f{{oZY1{AYBf9wYYt?>@p zvn_`w0e{PG!ypty_m%n&7JD1WyU2E=w#urJTE%@RI|Mflij6HGP4f4}PU5<1)g{c_ z!^{=&{8$#jCm5?Logf+!6o3|$R60-4YqkhyD6o!e$%{%uf=*!3JiWb%Ma@KI;Mr6) z7^lDno}?`kb%M6e)eK`Rwoq~#d58AmrZOdW{(oq4TywGGIp6^y6I_Dhk~@wYU|4rV zbU{kdA?v*pa5zMV zVH?Ber}$&}v}&t{N;kU_fYMkBCJb;_ne;{NPkXL|^|sP^jC)G6#e!S6^b6l8koTwb zO;U+nuoB!9;9~q+_u#h2nGQ1W$=JEaRe2viJZ1}&4hS8GWD=5bMrVxPvEgXlJpW_9 zNqW90FCqRV4roYbA)RJq#K@S9r#<2okhZyh{*Lquli>ywv$%;$0|ah~!iD*Cn_^@Dz7*%ZDdF=c41vTd|qZ zVC3=h6i=93NRmw}a*x3p74TD%BLP+%e`nQ_O?fmyCT%06J8k~zs`~i^lt~x8*pUb- z+AIlehQI72XnvO>J~8b=l8>h&_Cy>IlFQrbaMd(mI1dCCV=)-&B4|3krAW?tVj9^y zPOZrE!?o0)!5z85F3x;GP$^V3&QpO|vHV0n7^{c0tHroPcCh6m*G0XYp7G&aXLKvD zB0%Je15E#U@eGGt`HVdB=rhGv`>E*MnWKP%)28Gq>GETGR>faV5YxXJN0wtB6{zQt z)NPiG0Qm{7uKNE-ItJ)X{W53tC%I7&=Y2D+=@iPA!ATzqn+o1^bUrR6D*A<0THh7# zC-gSM;RHAs7JiaDu##~#|HBnK-Fzu}faZpAQ#yao_~+&=`24VTwypV9|v5Dq&*1kWLa9AXOjQq3EdIf8H3h zKdSiE+=>i+1lxNbrRk5BJRdhhB%H`;`)-%ejjj9ftqp{O=C0>HOytUh>+H7p>ZarS zm`R)WgP7MhYO2ecXIr8akj0bCtSN$6hIJEvG3w1cBK!}D7*gwEZ|fVv#BD^p`Uezl zSd@~;!lES-4`o{eJRmq(KtT>ohL=^ z9}=U`i8$U|yg8+_XA8&VD4A07;nWY0ug@|Dl}G3sjTF6mR7>$}8>$W@at}k2!H@ao z_@{~U=oAne#=|DlWIH(;<}k!ptA6XhOLxmUKhkJ~O8y)jefq{LL`oi`a+91Xp9ik; zVH(Sgcl-L6CH3|5_fJ!d4K&x5x&|7YoU8rkXwBr;dsx%|9>6 zdg+f*=!(-Oe=1rGyBzQ7@bF{Oc<&cA#%L5QwuTKuNEZ*~2s#s3jz*&NoVxz%M0ACo zoxpyvVcWjix%18aEj^TXuc(=A>KRdW^Pk1K%x)(Z^7r)!u*$oUHa8mlq=Jba~J~2jdYFiRk4L>R7O}r%wg5YC%E6Y7|bx; zLHWpkATMd_a8%OFd5sL@4_*al9M&yA6|VZ2%9rK2{}8?50W_cILJGD!0PDvYm4uS& z$M!XJ;lS+#z8-7rIataU=1VNbO(Txt;B=xIiSG_#ZswaS-zPe6xKa{r^X$P_$=|); z%%fk4hK;yBP&YqPxLu^x(ntgM@^lf%T7^_AAf)Ai+S7FtREH#L_SRh!PW-%tw`>ciaAR+E${Z8 z)>t!&SI&uw=J`$d!-`k_^82GU(B;^Q&k>c~V4)qm?~3F~fbb%s1E>*t~J8IpW}V^h!W z(fxkL-u?FUtRnXQ_AhqxefQ%1H5Br4`Rn;Qbo1@sLH8@&``v+E(mVD0_030|NcBz-TiufvbhK87J0RN zxZb_*UivE6QC}s#CyE>U{xIbyU zaczGTBIuEGAEo0GyT-Zs$>k3OJF)5`r5jqNwSVE{=E^hOy_|)rl809S?X52zC-W7_nc6>%8{4GN%8f>7p#3q?)A&tBq@5P zJqp(^y5pP-_fDl8FE$^WNyWs=S3SxAmA|cCS{w)I6oNy~yPa6$Lcfz%wzBLiE#7xX z46@7J5$mf^j5i<22KTcN=KuTQ&^=_^foV#Uq`xc)+pELH@WDEuu;h_C^~Z*nhZ0t! z7~<67nK<9ew`$8|IOGKqz;N}zjZWBw-o z{rga|KA2= z`-C70aT75eY7>a;?Ysq>1O&g-5lR+=&qcqZcU{PvvOngfL9!hjX;PJykc$%Ah#@Q8 zUn(Xn`u%@rG8z899Qa$Zy}0JbE6jV`RK>@^G!yuYimY&TBy+j2r6D5`YrrkjeeZ&$ zx=LuvFM~u=AeEp7IBv}At^%3pKa1)uE!s)(UCSEWx`qBIfStFNiv7kl)WNG9gzoGf z|FIH-`N%J23v&FU%&*-N&gmv(*t@y)g&V|zipz{u ztyYH}%*UxGq2^X;0i=a)dyrId%>B#s5?+Ol9`Ri*Z$VK%=8-G{Lxv%8m$~Bnc6hdp zd&}?xrb?=cs|Ru09ALB8en1^zEsML4>M?;6khlKB3o@b7c(U(3y^NBJ5q{)1XgGPO z0T?sg^8gim+5lMk4uS1v6p_1O*&gkcz)F`mTBv<07wEI#YwViWE{v9 zXIsEb$W1!uXzyeJu-GldX&p<|k7GhGB`DE>m>9jY(as>c>1v zu$or`#_OrS?~eOzDQr?Nwvquio%Zv!y6t?}qgg;&ezu*Ip|@P>t(+nAmL30OwE=es z#sJl)tExwhAdwpmS8aeh5}Tcx(vM7KflY`L z+{5&Fc_ZbhNStZ1*7(epvk%(koPr(rer~5|WIkqyBrs{*Hne!KX{r*mt|F(hxLLc| zf`;fdWK&lhwS77&40cK6Jp*X+d|?vqc!38Uh(o6#Zuzg zZurEZH^39Zn+e6%8$rMffuXu5AL2BcdWNZjq8u#%Ph(}#Ac1-cyiZp?xmb#Ka-gRD zXe_$t;4IRd_!C|`dFqaFfp4#Ph?R|HRw(roVxny;X_ohq#?8v>0WXa!OoAZAr%FHX zLy{{YHj{BTTsyNIZU$}Vf9ktr2YokH<~O}#Zz-!Y)^?i`!X4k^mKy~TnIZqCL-496 zN+<=llwA-Q!~z|sKn1Tq2Cj3Wwo$_E_bnTS);%`ggwNv+O(r%?V4tDvH0Eh0gwt6`Q z_}pq$PNCL>I=$eJrq3M)f&AMKUHzT3xq3c-7oR1&8ute+r) zzOpUT_p#YfP;Ua##8QHhM(RI~DQC_so)Oc&1{zSB!m89vjVQ{c_`}(hS76QU^+i_j zD`3SXbAfw=B}aSlAzk9fqp-bbClorL)Z|t!Y=VqVvp9YIk5W2FkVkJs(1(I+5?;hr zjxAu*K9XqP==Fpg+X4B zuxvw{wtrDyeqJNw*Yx9Ej;@%G_y|foYW-!nf0c=Q&}?nj6NFKh)r>w%EvptS>@XX< z?2mgHUyH%6moWp$3+`xuZOGx&&5#(HdiZshE|FQBb*9d;%%!rut?O$+|0_4Z#74?) z(Y#@mBU%?QX8U04I!ZyzKMl}A^gPHZ%OrnpPSj*GV>Z9F)6ds2Q-*t_>!FkO}!K0-~*QCH&lk#F&kpl+=QGgQJ`jlQ?lGc_zs8kT09ldm`6xm{Dx~PGv_C zVvc9>*rRJ_k&*E|jua1IpT2ro1eIyaJth3yRsp(QZU(3PO>DQL__Y96D)0%Et?woM z6K<)EdEdFGxxc|H0qoPa0Y_0F^bGpQk*v!J?S_p)u3X0cXwzv|Qzd6+B4(4%LqlSgPzbU#l_CptL zwrm#GLL{puEauihfBQHuite>}9Y!ltV??%&SWsbSud^i<5PIqR)<}#YdLJHBB#0l;D0$|Dz0jzBh19%T_7->$NAd?R>SY%Tt*MDe0ApEHSP1cMIIS7M@hg}?io z5)nk@Fp0C?X}`IT=ALaUo_|#{Q{uf`1;~&s5OMuMz%#3Rn;UTwCTI zvn9+$&I4JV@-XOiGt_or*nOd@bcY)icmRQ_Yyj{UD$ydmShW?@9u~Vr7|}v7(fvHL z(ELKIMiTm$QDT?5L$ra4Yldcv$$o-sVBaYUT)vs!eko$IX5NBbM9*&s7GkYe$-Lr~ zISzcR%>!Z`ll!G;ne%V^!xMQJ@wyo^m=aW4fH6vH{yo~jx=Ig^anZqglE+d=Oz}~e z87%xfHM2K#Q57}T-aHI-C{@p;inIYMJ}_RRxg$Ppg5&F-6W_nISNBJR+@n7weUGu# zhSK#8y>1+JI=eSE4?REef>w-&JDw@(lW<5tK=iN)F)Ea@O0uZ`#iDTsQ&q#Z&D68n z+_QAu={Jz(OrcI_jO_#D2+B9oM@s~TxmvcA&UQk;6HT!qu`R|BUZ2c|WghF`x4hnLa+DAFw!NxX3 zN+&ElzjHupQ1||q2RE><#V#scIWwH}?eH+Ku!pS-5;?)KCd7}I)YAcRd8^-43DJ_U zg%lKUr1wV)F%4Pm`IT34WqOx-+T>+LMAOd+cR?zXI}EGa+SlsE8MzK1+iz}m>~kt} z-3VHL9{DdG2MY|Mqr$%9Hu|;#xcT$Z;A2CYMD09RZYl=XJkVbn-XEflsW&cq@5YqOIewcJ zJ(<4tv&o$uw#eFf%9flDzt$fFaOwB-gPi(Z1UK7{5D}06$N(RDFULuJ{ircKa+RwV z*^tkWUNTu3PLRe4@smLN=WLV_5pu;Or}lW*4lnqSZt_7OLLRBV_b-G&`k?E1L6~k0 zMtRcVU^xyF7g?I6`O+Zjh(}@kASW0)ZQ2Dfwd!GU9}VjT5l~EXzof$Tnk&}qV9;M9 zeN`645-gc|q}!RR!t+tpR#Ji$A9MGUVC_Q{y_;jIWhZLUWoc1EYoH>u)_Mf^Q;b=mxWam}g^TcsG>Ckt-pk@fKD&f=8zD*z6{NI0B`dRx$NkQWdO z8;1~Uj~BhtyADrjXWBEDA_>XiiU1d-*(nX87V=^K#(t5w{N(CE9MK5N-B9a>b*z%X z9T%x1|DZLO=O0mx!`?SlH3n>-SU{uE_7b!AGcEDl$A>i`>5+E;j(cEkqUVs zQ5pGJBX-F*CHFthh|qdEJGzkZi5v&w<)UtmPcUH{fR(VxKp!Oy{rJ*xWYmmNX+<`1 zZ_N`d_RTO(|Cq3aZbtSC(43!%s(D@zS3UM!KD>qGUmfJ;+A$L$un)br6K@$h=%EyN zRu)0&8Rqo~Si~s#l4SAo7B|J!UB(--7rUX7-Cn!AQXu2n1OGA~*6yzu-ma(k<>S=4 zw(#TYHo*Qvg2!xo$AC&u$2NWs*RJP0QG|PiBsr_OaE4Ffw7Ys&v4_-!Xmd0R%0PUD zXHfgCuQ)J?N!Cx?a^O2^2E7-aYBT(=B0rpVtR_Jzovr3R(s~M zQyGO}QovHfEhJIXS`h=jyqSc;*&Hhc{1NCW-auSqZFf;D zgu772!$o;j*CG!Hj}9YcaFxpyz(uL;CuvQUlLKw6Q`6xjrEB#J$XIeu@5iY+(LFUR z`~5r#4;QtS5gkUcQvJnaXiNs|#X!e&GO<)(n+01;RlCcUxIi-VhqW zS{S6s>S91_zxEz0&)k;;7{?@1Qy%bV(?i&|tV`yNO5;<)%U?x2e#DOLqcso;Ms@Bz z2pByZ5>6#u(hG>jafVP7QpU&NGO5iHCB+OL(>aP8o2ywRgc-F^1WoH_ z0##dd!(oQc!z_mU28DNEvYM!Y;ucwnc}&sTSn$&6S(*z=+klZ(0n6wcg_@L-*prX& z`e+ea%yy!kNyV$&4DpLZc%V?gY#3hvM+kf=F+~s`lYa%5I0T1D?gVE!QUZUv5N9JM zzYj3W(25*^k5e!SplRioq7z39QzmXxS$mm>7jI#%9s9_mO)8NtnLnK-vsAe9iNPmB zwbXw7_$Op=$c=`jGvZ?d2L^Kf+|R?Xo`J1M-!KpO$9(D%2_LDx5u1iyR4QB?!>W7a z`+oHkuKOQWNRZ?sr4oBNj#@QejCmTtV!9ciKsaEkN{le+am^9O65$tIH}0>7c#*qtYHxL{Hwo%#)LDhQFg)J`E{ zmKow0Ltci0?yN&xbIU1ek6CEO$Ja?UR~~!%=92)@?nR@GpQBme141m9)SqY{j{D$< zaRye~i*tYm47O`-TE6ewzwNC{*Rj{L=zhlVT*K_0XTnH5(cbu#57YIbz-0%<4Mv>C zGC9E+**s*7!^LJP#79yY=C-}6=K);i9dCzQaRdmb7r5Hbhl&;vSeNGhYpqLTR-K- zhsVLGuksIqr%Gj5^t_cXOx!hPDkc-F?x20WPoGo^m|W_2UH^z!)SUW#4($3{$lrGn z2#L|AprP~Ke}I7t9!C1&A4EVvV4gIWrCgOq?S(tampmh=m6 zERElNbEvdD?AeLWIBQiwLYmPwe`)K860UUJ*g>578om$n`~$qBAH7Ne&d@g#J(AqH zuiB}%sIhvF8L!qqFR2r-3)=B3UP4}bU?GT?`l@w(T2HgGg!(S!OOlcC@bHr;icqPz zF}rD0kumQ3*$o7Q&y@P4<=cUIzz-Qr0%b2#Thy}&jS zwTrSAw)(CWgIdVbCR2u6N@|;5;0bm&?i(~vq(R4YzZ(RHL@3(ONYD5a1P9?j``|g|olHNu#3Be$Q8_jMff+%-lfI#y&62LStIOqRPiB zX#ZB$V3Y}3h|u{MPHG2RS7JrPB}?UnLw)|C(@jPdc5267G@0QVFQGLww-4i1Q#((h z=)*h>O_ClS5H)<+j5A(UuG>ga6;iNrT>E1DN5;a4%0Z4Ec?KvQ25kOrifnVR8Me_+ zL{{4T6;mjm__MY0cpkMCCiVI6Fx%Bonrjnor~dw#FBL|iw!yb%=drpE#Z|`w48~DZ z{W$5O2E4`r%KHu>5mulIqJB(V|Dx&NV>0>1A)GCL{)9nKUs6hh^la+CRJSVW*Akbkj9wGNM5^*h7LzV zd&KG%my8bxkJqsBMPE8Rpf8LsNW>j1X*6K}q^E{HzD z+>CjvrXO6w;f#t&8t*{lXq?EQd=_MM$~bpe$e=*olvp76t^Bs8A5J{2W?DvY*pzhQc1D49TQ1<+7biV;?+(Cj_ZOD-B9}SRW@G zAn8mP(W|Wjn8x@fSPM*ReAA51sp0Wu#Y+4X*_=X0`x8yCq8tHYP=(&xCBPY8U^%>- z;ok>|!59k-f5c-foOZT-6nyF!IR?FC9%Gl$5ef}-H17c*JU+o_RT&y<2qHEwJ>CrP zSJ=!2EDnAc@B#t{#MOaiVJc}b2F4MhCE2-I%c z$Qo$YMFWyK@9CFpxV3Rf!L6W7zoDAU*$5dZawP-=F5$u1R!Y9iKP@C5D#>9#6r6~( zYZ~YEio+ivhx2B}hq(>xUFc9IU=2u4H5WNVy5Y-OK#V9k7>m(ofRAa|kSF1OUN}7$xMcO3}EN6UP z{wrQNqy&1gavDYmWvPeDGeN~CQ2DZ;>o6Brq$#;X4$u^V((jV2f)gLtC*R76Nf_Z* zC=+8iB@U8$OODZBG${RU&}fnzq$yz$aqTvSCoVXjz2Xsp+NknyzVn~H1*OHM~9G&Y=_el*L*1%DNfAytW)4<+< z(amcq)dDIuLWQe{dZ!z*pA3ukzwxHs)yer(NIKKLuGHM7nMXWmOYx<3+iMTsT%(6x#!214x$G zHe&05f+R?G%Y02i!V#6GK4v-e=4!9rHc{*dyoWAh`pf=ragfzKQ^n}0FX0OB)g?P&Cy+S2Z(hWqT3au`*m$*!#jM{A&Kr+txI8Oe?Ja6EgsXEB#v- z&Rw{5dX!`z^Q#t~v^2<_ISL9r#4tx0lt(>_jBA%T#&FZxio(}E2n_Psv1QhZiQqM; zQ0~K&g^_iYL?Km^Pj#r*H5O~c^|1!V2cevd48n=J@<~%QbtZrESb{4h)yxj{9G)Z1 zD`IoERFzmp0o@v+js0-j{UZtGjAWj{AGAA_z*5pPLhB1xyR2C)gkbj6F#oU zuPmw=UA0j=rzFb80;Pf7Jog}8AmLEJ${UqQ$tQdwB2lKN^=QS0_EH>q4$oqPfIXD+ z0|j;*ws7h3*+_K!)2GNM4{BW71Qp5AG`SX<^V^7U8c67EgfW$bG#}ROm%oO?g{JjC zl2z@Dj1Cp47{yOle{NV%JhZ0Av9G!P%%*2x5sS-KDN(umkzoSK7eS_#dl2A@=b-|@ z2I;jbpp8|h!4f6=HpLqTME zP>jCwFSiU5D?kP=gCfumRPxw~Yg@{K<05Klb2C5Dlpl)8I|;doZz*Ak%xI*(jEk!l ztTX~-d3L;VJ17AABoZxTb~Xx|ba-N_>e=aP(To+$vIrS@uVsPLTjl8U#58hQaLBj= zKK71&%D1i3Tw;xwJqkVw#02=6tS4IjfdrT^*@vc}SqOVCQnY$MQwdhrave*c-di6^ z1+W=T8Ucl8aX4soTR($ES#*2<+7_KhrWxn<3!2d|9)`x0C1s&OpYjcNa=h{!?5H&l+oj=nYG>wp__Kmugk}Kj>r^QmWi>;*x0L>AgYE#Oy~t zV}xNs{1D98tF0EF(|yi-Ck~^hr>`p<|A^>BH__ys({!@N8c(t`6_>V6+jCg@`vlVB z_}6MZ&guzZHzWD`O)g{-GO6uMODqJmlhHmzaZl^UUG0#7N66@02jPfKFFt3lAcy1B zlp9N+%~7}>xDY&*4LD4Nji+vTvoR<=nX{-T89`cHze&PcoYc11|ErPqta#-!Nmm}C z6iDz#z_UmA<&OFN1u$ym8BJzN`Mct}oPmW~g!@EzeKVOtP0?`1 zBmp1YysVvKiAr1TL>7w=e)fogkaGG?%(Oq&5!Kb)zMGrpi<)YkDT5*xjvb2GE8Z2j z+#XVE;t0cZdc*ou=9l*hf6@?jHm}^mZzGc8pb%S0tmYVzCu1svlT=z68^D!UQQyDZ z0%V-3Blw$70TQ#b@%}8j8`?HLgkolH@)Chx>~$>Kj%H6}73H}Zjo7T6;@2*OADvxd zG5(N7N9Xlbw7uPm$V!6*M_a1^&pNr40T&WSeE~)`al37TQajI|9JcN>9+xSiR|mH; zWpLLS$wEht!H6H1H4-H7_KV&azl$h2Pez)ecR&V3Rki%TvexTdn7W?;SEM>C-dvxN zX^pVK3s1-k_&H0P!u>d$Z1D7k0hLKE^e?X>QTwX2JTaYS{;@@FEHSN2{g_l1Bsq&j z+5l*UGLY5fEOAAvD%rz52jat_fk#GF`P+q`q_gW_aNe0KD$DStG!#)?Xhcg+u^lM& zzL{cl95peW z!g(?W!k-4Cgup*TXzV1UL$l;J(urM3k9A{;lw2 z>&K7W8vW6enyC3Q$IvWuS>SI(mz8cwUc_>pvjl=vGO`v)4Tht*7vYJYMeA2-vakFw zbvYiX+w-{F5g>1szEnsYm#{4rG@EpxsA-aqfM>#v3U4dKBtv(gE3ufkJUJnY*Hz=w0rc&d5|1X?ANgHAaNkBh*fyi z{Y53}AoL*O0{GA!EG;tFYpKpuWcm&|S-97KvINJ5OP`%AVV!FV=1Vug1@`r$aYy zq9nJF-2*iwqn=&}9Vy_zl;?@XD)0MmgnL{X@tdK>c3_t!$v$F|>C2)LBkE|_scD;WXz&rWd=Djf-gs=D@J0y!driKGH~I7S?hatP-4 zqUw{FT>|Ty-2G;fV4Z0MzA|ag{U{B-TsFu{jM1#n7 zaB%*7G|zNobP2FTR<5U2pJpEUU$3#TBq)Zc`z1PtN1L$xSZb1hUoR~CP?9ATQG`&V z=Om0}AYggN+Opr5TpC50nXHyt-2aCEDl9up7HWczWRtx|u>wTf2Mq$cMr>ms^m)WS z7C=BxRAwJo1&@xPSV>it?nhQ1ywt?Dl_fr%+YP4!Suw{9Zg4n4^_&MAL;oAc{moa^ z8CAn5WG;0a6lk%eNo$W_)&)<^8o6PmbLv1>!(40@?>kDjNuW3tmT_}Vt6yo7gQ#_K z^QGN5^ixk!rkga>fkv|eDa#;uk?ktK8q5$Qo-&&vlm1kBtbwPi;--70BP_I79^#+Z zaL*zJ8Ts%u8j>pAr}aQqLt}Z(0bCMQU5dSW(WyH4B@DmwP0Yc4#=Z8X&N*tm-{NvM zBK9r}{FF}%d5k+i>tPGJ;gO^OxPggJ-wF)^IQ?_J?)XpOl0F`Vl2JfT+3)7bj1_MSjl?#WgXIfB|@u{4!>6-OU?O;^+2o=_GJi1 z&wh<>c1-Tf0!#ev#6=cTA}+&5TN{V`D;j|x--)pVOV-zFeB7rD2h|*sNWIE=?awY) z8*sfiZy8UK*j(xA}o#=f8zzG3jO8Zfxj}7P1%XN*X4gxCQ%|geM*Rb%|7l2#XT> zJ%xa|xG3_wwuK=yY;rfOr@lky-~QsoU#4odK_@2B^8!z0o$)3ErOsQCcDI)r6ihyjDt9*%8O0x&4K8FWhCs)bjUh4JC^CDI6Op)TA_o2@LX-RqIzq>);lxe1y+ork~;{25%!Rd|0&4 zJTL3F0xPuw6!sh z(?i{nUI9>S_J{|Ia(7j(%f;hrWSH`B078NNFUG`Z&5yOygCPZHmr_(Jw;rYH{|?JH zhO_cWE>TkyBrL_Ex;mm59LEpY9Kl}2DuVelb`aJ>SGn=F-t#$EB>MYB?r4l1#DV+WH3zoLF`^sKO9xv z4J%ifx$=Iw<)cJ%a2jwYta7+~JM#&I`;c7XKN}1#kG$?Xym3HE;x|mJ1_q;j=8;lG z`UrXTgZqGAqnRApQ7Awfm3?SPQnU5an(K1D@8`}lTJg}TNE-h;RTBlyBVR2`7n-tV zJKV$|8@j(A>)y@8y^Ok?(NBO%}m^cb)?^>{@>rE@Yw0@c3e zm`I2UMvh{(9ol=<#$HDW4u~Mxa@S6S6Sn$-z<~|0UD}NM!y*qaN7U!!AX|dmGl$Ow z?-GJ};CDTb4!{A3M)S$y^94dX^FYAep?^@GGmMdsvggN66$&l~Mint9nC+l4ND~rO zu9B}^N!bTW{5VxN%u6I(OpnE6aL>YqjptK595QXxd>mr=*p&k!bEC5X0*!VS9IEBK z6bwksl0F?ynAX(UPj;eg1cfShBIY#imh;>h=5wErq!7#n6-&topzAnBz;AwE`c}8U zOsQ5ZG;L)D=ojAgpFwN~fd*s`Ca2E?lOkMHlMxX(Z9e4&(}{s%#s~ir9vUd*_hluV zWUJXK4Q`|~yoAQK#)>3%3XnTQnHPmgVMT(}p?aRMaS+OGPJO*)s*5)6K&pB8UC0wZ z)dKr3MGEE2vCRz<6{bf)=F;KO+TppaX^BqqrGGfz@mwER;eduLD;$E5hsdQ5prga- z3!#^)LjNf1W!KL{JJScws7i!p*96ciT=NmyY%aIgX2+2yIBLZx-vXoI`X>kgqM$k2 z*i{kpk+e!NrpJS{S9~0s=67WOl`t3of#9Ho6KTn|OU0PfLzFpxc&0qfV}86;3ocus zB8?2oL_cRboUebCA?N7e?0_`6utY&j1Ug>mc*mGBZ%>h?l}9+^pX|IcGF#r(Iw%H4(cwa$NfvwZUyTzx-C<^r9^ zR`8RBgfOD=s2akt8Mxw5_^6!mC8Uenk(dLnJlF$}LxOPbAXLC!{;ioT1uyb#nYuz7 zygfqb!}T5PPEEv>h=aR2eifvS7c#@qOp@-@)26lYg>9F@o5}h4)@6w0RJHx!Eg5BL zD(LLC%%ee0k!B6KJRLeEyKZB5g60hgI-1N>#ax-`1LE^Em>#5&sfRjKy?SVJYBLBL z{Y=s|@8U)fD_Ng1!N*`BNd%^a_3-c@;?@i<26ZVjk@tN4AoVJ7XOkPaAXU3Z+B~dLHz@EgPuv7gp{w5*fXy45ycL(;W1zcz~@tP1>zr|IovaryZ|5+Rz|xr1Si z2u@r@-}t=~JO-q{2vX!J@(cYc4M64M06T4CC(mG%dq|)m!JxSqqaOV<-0qF`43Dkk zYJ)nRM)4+C&B)gkpVeX;#+ypAZ(15=v}(Jnf#0w^s!I3|CciP8fjLtjMgL0~zOly- zOjt??BFbkM7@#q~A^!63I5i0e+_Vtt{p;#q7`XJ%m6D|`umKcv6h?<6;-BqXNLewL zmF5pbV{)Zjg4Jze+^Qh06P;rW;_ z%QqwMTcf#~5ovs=1$y;A5!&h!_cHFWVdEAD@~*3bM=PfdcvS|PLoL@iD|(xP#|`5LvOebk@3PRB~4y( z^ulrvih+^EuG^5BZU$rQgfZ9h`>72)voCM2%V8Loe8n6``-N1`(#sOkj}CDCiwy3GR{p5n zQ8y%|)F)IK26b7u9`OGRgQ#}67^VDF!LH;e{JCoT+}1*Cq+47$_<5u-p1l9F5!La$ z(NzL}-^o4y3_x0IQI150i8yqj3#q^`;^#7-9{{9pcp`b2ySWh3rSP6&haJZgA1R<~ zicmpR0z8y9j$)>PFwbQ>FcX^{aL7K+-xuVG7XZCVTT;}w;qx)s@arj8PYS73AyF&N zmcu`2wo(dPEF)2~&rF)Hvfr1mrQNNqEc?AUpXRL!4LLP@B5-8bcIEI`Vp`NZ8PCAq z__Nk?88X|UHQt3UNx_`56g6e!d<-VNEHflL4#5$ACU=@#co~Qu{0H6sZH5!CYC z!o~NG+mREZJxFyeqkD|&M$6Z0f~dyoB+|Syf22RTVdw`Ff6&cw&6QtGB|7CG60s3@2eyjy9&S!jt{si2^$zbrsWeJ)cV8 zYp#nQL0Tk%Gh3>P4i4T4!;BlDA>KH)V+&L4$8_%yu92eW=EP15r%q>Jzj)k~Sf4;( z-z@o3gDRGk>qN{AGAfdG1rc?m2tY8}`-|f=`h{c$b@!G6+Vs%%%hh!B@U`V=ye zs4^T>??aXs>*`Qqz0pi@5j$dU1hGp41KYN-^?$RR3+b2JkP+Co28jVV`N5w%0+Z>N zuD;eBg;J;xI@Wi-ge=>-~ zZs2qE^xIzl^=Og(?WFkqGUv(Q$L0RnL3P*5%T%>N=gVy*1oF5)XfOJBq$2A3Z~qMG zp}BhF&Nq1j#z}d>#gt2*}-Oq*HtfJ_51ZPYc}yoZy@wb#{1RJpWPoJJkuE-SEIxB zU5|Ua%{e7j%75*|-VV>`$szY2i>~f6*xxQ+kqkP0Z|~dud9pI z0q&kxGf+$L`%2Vwg)*--pB2w9dHhL!$fT2|QpMX1JyUaG5rH;$*_4+S5)O6gZ1f5l z0jSh*tzwT>#tC(IQf8x~t={9`Tn_&($iC&=mi(DnpjcJ&$a&$r1$mc_a@lMIs9k50 zBlP}*>&IHg#_#F3O73XWlN^*{C|A?syx z{Rc!k`0S6=CW%ib>Kg+H3;v?hj}2nZy_uC`tj0Xm`qmp~PNDMEC3Bto>k;lg=j+)< znpb}^<1<(EEEeh}7m@@g_l;WeKo zG)LV)H2w~yPj%PBlYyAYx%xo^Bt*rOu)^#|vQVH%&w^|H?!=Q(eeFVp3es<1>GvX? zY?p-y(zjo_>vthvG|ILVF-rRYZ`BXN8*k{MDwh|Vw!JUY`yNXKtSWD>Ct^E--mk0& z6EBUoJqw54!QAs=kf-6C*T=K!9kJ(^)eGO-9LW3TAz!$`P}`+gRdkDjV%h7bW{y%i z%*=L^{i@fS9MRW_ZsV^aYpnkN3MZZU;U_gQHdUetG8--T%bQ|b<2B7dxRIc?d!1xa z4QpmoYx>9~-5dIH*OwMTP-4tyBFIg&bBbDPLu(NOVn8YTHisz#S+8T8GKqZ zM5SRz;zQqlajt2yq;&SIdw*G7$ZG(pQES<^HlyLE`;I?8xk`RZ7iq^Pv_<>ybDRc^=wpAEB)}#5v$mG zt3Jn?Z?}JI_Ru7Y&YPjV=B1W@3MOu1fOTQfY2mg8|LweSj^U9l~Qq97Ga z%;3j{qZ6E1cG}%Q>MvH!S(hsc{V5(`MD7qfXY<-qG`#U&E~8}+dM|kA*Ad+v!25~% z8cYzO?h1KJHWH)r!<*KX5!ie+T-{^dsP-J>=8*ESe`x(vT_Kd$IEo#$_J5c|A>3VaMpuI4qI8i#VQT}C@-iQ!%i5VBX zRw%ZqdLN1R^Y7#u58>?dnb@1!Gaz%y*jxK1)kGFeI%0;?Z0s=InzD_@n)c86zw{aS=~qn$IrvW}&l7Dmc_6Li z4+N8s$wEKIkxsMfB?_+}$RGN9b{fb_iRNmNqvPWG%k6vM?Kx1b;{AxrN+XlTCboww zm4r^hgrtJr!iNW{jB{#?tTtFnHQH#UuI6v5eVxCbXP-VF3$h^0Rb>2Cf3#fL8}d)j zbgXXbe}?P9dcWpSvD`3d$Nlc2RSTg^q*$hiGpI4>5PH~=sIY)AyK)2gK6@ECs!$kN z;0P}b?5jKZ$A{HpwIsV{eK3fb1f4hkBS|PWeU@i#5Woz%g3DAIsg$!Q;hFpw4yS75 zZg6%Gul;2>FzG0jy4^67Qd7*u{i3jl1b&g#E^VE49c7oy^{JfVV*aT5sQ~h>c~kEN ztGmKw=z&3J_%bN|9Zigu!_l#DnuAjr9|qv3L0uTfsO71;XF%D8)QBXXkhhq~c2+b}m$aw? zf#;8ftoEU&kH7CH;R*9OGoqA{MwH7>U>T#+7-_CiBxbe9%+VGT1S%kj`c4D{y)Dj8 zp6?#v7bS>*8^1TOjdzo`gt@sftRDt#d;h&J*vm5?$YHS2o{eU2Bx)3ad2mU~g?^Jr zeit&Nbk4YB<~1DuFTehHncVy^)T8 zZ}7P~{Hwm`NTM$~TzE^i5Z9VD*XQQ8}mo-eD*B z0EFPa2iC3mxa3q$9Ju3$etFB^S$8KFy<4sq9_D^DEu)8*0i=j@KkrO7RIx(A&Emed zwc`{rZf%*O)9N4E8+oZ6MbW5mnFB-yV}|Suass z`Kt$%9?DHSS4VJ&nAakm5M6QtH-;ZMc#S1o+4w35W1Vu@xxA#1474^0ABmWPa~s~; zqB}^mR)2fZeK+GQZUTf8fNm_KoJVU_yZg@Klj~U|5N(|-`5EjZH~Kd0N++FH6O$iW zMSo=$$Pq(ks#^7~4h^3?{BN(3_mhLDrb1;7-DY3_EU&0LE=A;F`7{RGB~J=-53A1k z9OmmRocr$zIIBUm3YZ~-MOEeEBB5c?ktH9$fMXm^kUX$C%99zJV5ox5+J<|#B7kB{ zOsLW@oF)oh^I4H39GoxWJLQi2@`f|BZhtDeXuFhd+@nP&eT&^A0~q&eo5m`XAplLU zfjhK7xEz2ocJ5qNF7e~s!jsr)`)=-dMWv7Nc|jx3l?KVD;5RS37DdOK{1-4%c@m@DY66sipG@qd}5 zAe?#k!~Ry)-^t=vc!e}wU8hXzf}K<0`iV68-9zBj{^~6aK7n(8YSQf#B`+SR+zuY( z>|8sWQgpCBA?OmbrfS-|r1qOpZ&i232{9JJzWVeH#k5eiLXD1JAB%8F$4}SfI#UY- z`5B)Iw@Y=@pBp4IxH`ixYBDIfvwu+WO83s?JeC;iYaYQ|R-6=nZCmfReSa+H=3wQx z*{~p^!8L1GJREL-LC*monnEapG#T6zff?1gB(q@2tJ0;DoX4t5ZCag)Wdcu@-!dT0 zXu{2A%EC0^*N|!9G7-2nj0%tW*7YH)v&r=~EO^2$u|0t`M2yiaS52PJDSsr@*;H7X zDUmGFB|x&CYMAdf@uh}6`ucS)BEd}n5<+{tWC+&k_8nn!Iy-@^5mA2@YH(ki(gQNye4*!t9%9*J#*rQJcP%=+b|xTGnsKWPElFsZ*y-_ zdqDf!4k$2uRuZ4Uz@-f*yC1FL!4s7$Q_8fwM=yX3AxKiXxSZDRVqU*^@E)?f_kse1c6{_-vb z8=0I}DoO1TURs6@18B6mUZPpq0z@tI_QOPTRmE+8Z7U3FDJB9EikopXgNK^O@m<^y zUnj<6X2Gi-H|w)*?aG-NG~W~IOz_c!)|01QD=izpcWRS-S)(wY%44$z2$%q}NHHv8 zip3PdWgs3XJXd7KG&sG>;4gw zVqPPEUvE}diC%}y;1ahU@r3{)Ht< zOT{MxY@Z^Wom$HyGVySDc2g!YfsBr3DCU}lp2#Im7l3++g1iA!M8PLO6b_u_ z70j1H2LPdW%gwthEH{{xPG;Q8@4AD>-ZEEzh|8X|0io=H%AbIiO?p|TwUxSE;{7*UB&VZ>aeow-JUlN3ULC#&h1g9HHNst+$H!H4x zgMjYLr}+EAY>I#ed3Wcm-n*-1?~Dsw2XGe)XAV=0{d!&dA8AnGH>}EowhS%kvHtmHJ!W0Z4 zF4GhmtIQx(gf4D+gWSwuU`vshXf5G?;WB+KZ)-wV1nh~WW5V$5>24L_lc#&m=2o-1 zYr=QrxQ&nl7rza5hpngyYAfw;!<81GKw2Nh$rio+J#X^DJL9VVVbe8hCj`Q4qBG8m zDyOxuE>(6wAJv&(Hh;*CboA<*q0}zO>VfE~c{(5nZ|I%*TM*9hP%|;SptCT4=ACgl z?R2&tD+fF4g8=m1`n{EQdC+~{vqDYO*ba_2R^c%{?S_{SS4^)y@s6Mxc-Ib z0Ne2>Wh^~jmzgBXFt^UnjK_9=_?-f{!^d87n8*`J;(}nW;cgN#rEPUnWd0?j*kWA) ztoZb6r1iyB>cC`kRc^xB2FUn#@(NXkojJ-d>W8XbBhq-@fvJM#mY7bFSD7hldR!?CU#ChG2Fmw za2Gfrt+xrju(t&9!JggjvL5M1pGh*rA+B zoc;pGi>+{D?>{$p3S%ea^0c|}{IAir{B011U{o6V15`&go8jkw#M+g~I>Rjzt_%f$ zxl^~gkJ!*aMo19&kOo_8@O36aEUgKiZJU)n^kzWJ ztWrX3{aBX}-cFHz?o`#P?lDD*-WiH}_t3vY2oIMLMUKUTq9?K{R3i3&8Pz$(LPfs6*0E$C&03#9_Odbkba_WKtt=K24H<9O&HzFnGOdt>v}5 zFVMqiH|H!CO*Vp9=vqO=Uq5w+N`5`>mv^{$lg{oCk_FZuN-9V^oDv=st{UPrI#LZ) zh}U+yC$$A7$nDlN$0aD};b20UK9l2tj9bv?LAncr;IJKkWZv5{5J4&4d-Zb??G!X* zCf%tbz~JPD4c92v+fs{1VyLW4Pe?s(%^wMls%>+tRGr+|+Ix&ku7*kds)-}0IhplXf?B8!Q;eSjyF5b)^ensSMS%QByZ6o71S*awFdf`LqArs0FB$~ClDlWJa+}dy(s)(-^pY{beqR*XAAD%1^{{G~Lm3><-Gc*1wI` z(TdrBdbkcKCp3!MVN-LRkvtAKKTw6*J|-sX+05g9o(vuW%A?HSQ^&G{+oeeGdiWT9 zEW?}eHm1GxA?I?{sTIjx8RVwnLw|EX2R9n4>xvPRE7olVou8q{&7-Gjg_M?O#^M?` z)bJqkx6jZGC)TZ@=k8X$3&8R$AKUQx$Vjb!O{2Lm0OZH=_Ot4cLUn;FNsDGaux3kF zs0(HeYlPe4$-%1ho=s3Le(6!V3Ihk|MQ!#z6o}Su17^B zgTGi(XQS@sAa}Avn<`wU;yzrERVuaj*EXSYqDoMrJ3#0Q{|l@~k!=j_ zm@4hkNzscA5e-mn={7f_DwPd)^Gfi4ut*4Q1u-<-{)&b@oY zRZB3dLQ4*^yB*v=Jn;%c{J}AQidm{qS7|66N*GlRd{uXC3u#SL%^-3gxkrOgS~QK8 zRiO$%f?t65VE_!aMZjGG{V>d3;18bqgJWQys?}4-{Q(J*h=V(^|CrES=uby~a}9c; zxdzeVv$5Xje-*7u8|#ba8bHdRv+qtaTv~<)yU)ANP!a}0CbvcHUsTa55 z?ky6KMB2$G*bXuYpngyv9tb!>1w_^y29s|GqPUZX7zKhVYEdv*01=mee0a#~qx6RQ zl)rP*Tsgr2V3|rO#06E{Mns>cm>{!FaWNFV4o{pdZi)kC>cp`iVY_0W9cP8lo7H(! zao?;r&_GEDk+-xjsmR(ks*x^Rx8q8;61ARFZ;)vhvn`JXj`ap)9Qok`x`F(_riXER zp=JoXv1%Kr0oeGmUvB_^VF6KEjZI<8tJ@30!cBMETn2ec5|u%d7oGR8`@NNkilX2B zId#G9C>?swvy25iF(<=_ z@Wh&G+ea-*Q?9iaU0W;`$PY`0W-5aiyFg{%!}~D4Zn~`Y(va+brM@?(<4_<%ouF6W zgN`o+=g_~(YJH`tn!mjL3yCsVtFITlUz^8x8SebgOx`x z3#k=wxt-*$Lslezv)~UOkU`NcR-o!jM*&r))hVLnO^$m*D?p#jDG{{lGYwhoMQ?Ns zJWc0%u%(+}%d800N0Aa+usReqZk+-1^O=e95j>kdw)XsgnUFV&=!tue0pY}YyFpq> z+WEDPM08)KSagS_SbsFu7A?mXir70xLd{EDz zM}wt$cL@*G$!wv=kGCF*6|{UalS}#m5Zv1;dRJF}#MxxW{tvP~bJzaG9sGw5!IcFB z48fy2$gxtW!PIN*FtE^&7{&m??+3%JD~&YW#f2I_at@csOER4!v*_wDi9e5CiCDks zKpcSY`WZaFBw?#pH`*Tg-eg2Pj*sJi#~4J9HDiHB;ge zt@KccfT?Y9iUMNOHX7!X*x&Oevgx8BD=ftC&_r!*{$Q^^Qm1pKC5X#F`@;(=mG0!Aqe2QLzCD%_VS? z`D5wWzQuWor~&EMaP|OzOcq>gBQbz~tZD9k^lB!p@MyY-R=*}3}X1RuL z2V5&!+s7+Qop6zN4EGC9z&IR+SC$qIqXVM>&C3|z(TJ?6XfM72pv98`DW8&m_*rt8 z@OUH-Z%f(<*)rZEu3>od%WdeUmo@*2 z-mzF0c`1wjb|VcGy3E>6YbP<*uRl8QOP}D{p%@m-uhg;7fQVp%z6OxCv051I7LMDYts0>fBoN z04joo)MisA=*O<-ZPXcm^wqvKARDCqL`425$ydCT9rHm!$1vGK0mT+gJt3m7zAZbe z_Q^aU9@F|6+I2!z<70P8j-qUjy5ask^V33=3b#=+T4QSUN^LLuq|1Cy5sB^@OdZ~; zTOD9p5Y$!v%$r$e9t)Hels$1w+#85T`)CYQ< zrXi@~1$Dqx=4(-Z9n&dpv#U*5YuC3ONR&}Ght@wmv6pOh+$sz+gevl7Y)2|$&u}l{ z&?xf29MjX(NzafR$9R%?ltsHGLdg(K5}lj0yTsKJL~4az5i|nG|30z@j0g%;>^QZ9 z=;gMYRjaFNcSI#OyerZ`QptOgtIwdT3b!^Z$mi;5##p(3hH$&_EE!Q14E|MsT&Y0e zj}d}%@3)-Pe6zLyIaDes(wI7>bqnLn9UW0F%C2H2R+eEQL%SxqK?<`4Zrj^-jo;2J ze}irXNEbK$MaEof>`fA6qARYbzZXhEjC$Q1w~Qh}80kG{lXJU<9v{K~;GEUuWL|WR zAIkmM>OxL`5;}VcG%1YZmXG38LQyC3ucBF>-O;Si?nnXqcy}bJHr^XOjo#>K^hQsk zH&U2C9$jJ|?~9(iW!iP{yZfUjZ~fa&|0Sn{Vpy%F&IdFIuXsPPITyhNgZ5x2@Au$Klwygzyzw>@Xt=U#KRz z>L>4reGGqPh9tD03Ptt33k9^ep)&NfY3F>}OrPsv*vTg}Ki0~(2}-8fo)CS+6Nx8S z?&_m|vATF&o@u#{W=RAPGQG7dr0%kr~aW!zys8 zwFq&j#3S`_X6=LkDh6D9LQ^uV^lAt1vD5$UsicN~ zknk9iXzcUNT%_JiGg^W-<3V>FKQ9^wslqvVD9a_tl|a>!|Ft_m2n558tSS#tazc0g z5P25iIXdNx(-kB;bKp|B;(W(*6b&KqI@8^YN5&<11{hTmp-)I)82(k`Yf2h9a7R!QzyJ;;2so7QH!xBR|Hw|+Nksw%Xci|oa*WxQfagflk;n{hw zr$4Be{dVe#9i z-$Iy52$3m+r*(RpmZxz`FT;3MUmpqGzd50|Q9{$sb&HC)&P6~&hw3Lq^=8Rfk6xR5%Ow;Z=3bkjNAQFl4IvF^B4<>7zHVA6Cdm(J}L z2^ry=L%9lS z+B&kM3|t*5DJz&gl$n3wv~$03ASC?^Ul=qU925cQ2=SE>Ahpfs!Dv<`E@LdnkRq<9 zFtoRaRlQ+nM(u9)=cu)JNkI9W8e6T*sU2ufOlt*-hrwIBI!kBgdwD$cFjnc6jvjO- z7}6xp9hMjkpwL~4TwDsewL8i@3%2%?A6udbi!c~nO>9I2L@IwesmlWT$m=%_F;6wZ zZFt^c*pUWAy@bM~#Q%c_qhUZ^sH|48Gph7X&;%MLNZ9l~H@F6^-(F3mKU_;b)J$9d z`Zrv(-~|JW)!HB?30`m}IIn!QKaLVJtx<4VuPBF7RJ&4 z%ipF_Ud}^<{VRX;S+hr-%FlA@`Z6M>mT~tCNo8D}vQrJtbf9irage z@X(PBZ+{#*B>v(RDLq5<_XcgTiuhGEj`?5NjBjQejtnr@yV)_P8?{!zWL4uD`p%e! zN^%j>V14pvO)*LO5W6c6W<=-5RQ}po=k}{G7r2@}K<|GIs{CwRqoyK!5PArsyBLK0 zp$f|O=TZBLdWbejkoXf!G;9BbpNCFY?FPTa`eFmY$)(0sC6fPZRzh{PCjxA+HALlt zxyfKVu9K`s`N%04X3Qi#t3>jzPB|qf?cDB1|JW-VobVsliN@w9Zj5 zhx{<~jo>orey4QlJ&=BSb*l!=n2h65A{d;sQyP%=%lLELpo)xa z;eeVWZ-be03MiMF8t;@Kl2x3|3i?j8`v8hm;kO?mLhjuUFr|*Q1^#xlGZTcJjL=r?@_W-n|0PG z%_CsB&U3&A2=!Uuiqt-eP>HS_A(7qMdZaa|{ege-^dcybV4;~QfM*5NU+JzW__DyH zyon2>u4TOH%r;dO6zfQb``e3Xh$?@B{BVo9D16X5HiA>ri+AZ1uF(up3b-V*d=HyE zN>Cx-=fx{EJ<4}|ZRMFXb=)>wi3t*BL+)xSEFFLG7+i;^csnmg!M=BuWj17^4NKX8ACtoDm?}_g1m#{Jqod%57$w)-2hM+trM%butp@?i)E^ zw9^({>Y9ia>`6om_9VKaCm(+;*pslOO&yjOtfr{4~0UPxSJllXBEF zdZK686TR6iZMwtcd!oM==!#L(=#AcN(aJ`N4$4Mt2Iuc!Ty%1C=U@KlmG0H<7%p0K zX31UI8*-+`oGe#d+1|3!UYb=XYr|LBgY>%I1wv{!> zt&FN{1H0I*Yy-oGlPW?DND%wr@sn)2RQyRHloY&ET=;lC7y_L0NADDWws#6U$OZ3| zc&>Ls^zitd68*BqEnGd4D|obeJWpy`% z(svze%Rj<+bnf6a?nCE#)*l|EqS;+)18eSH!8cN8lUIFY5_MN+2%tnu#O$qs>dnb= zF6W_>&3%q0SMTYTzR!B&@3asYNd~L!VKm!w)(0V-si}cTdREc-I!KA;rl6C7ei|(I zGo`rSWp z=JL&}FaG?OFJH1==dUkcy=4vXZ|phz$8WxT+6+E=^XBa*{}+?t1{AYCf9wYY05-WG zvo41x0e@d_!XOmI-}1vTxV$OoTeCCzJ-d}$UBr5*R`pb^M6OP!J6?M+W=1Dc!Dc%OfbiA2MqN< zL?@)+15)oz*#iW}P(lUDSxh2=f4mM%W&a%Ll?!JjU8{YkQ`}3o;74(AAFLdVP18ip zsE^_E6a2Y&UiMW(sk&WpKzS-Sig}SaN1ca4G(+dvM?5NCy%4Wc1kMtbB|fpNcuklbDRdcoN3rf=ns7r=z=7_x#m- zm-Kj1okILeOh_0{LozAIh$ab5$OZ8X$ot&aza#$!li>ywv$=^%0|f2NR7aBsje!Z; z06=oDHUI!9laY;A0RofhjX(jnlPZoN1wDu^!_1RUjuinhlVy%U0xy4)On)7d#f~Zg z6O-_cPys}fL61}cR+E;GBO3rVxgb~p003$N000pH0000000000000008!this.#triggerTalents.has(talentId)); + + const contents = []; + for(const talentId of talents) { + const result = this.#talent.do(talentId); + if(!result) continue; + this.#triggerTalents.add(talentId); + const { effect, name, desctiption } = result; + contents.push({ + type: this.#property.TYPES.TLT, + name, + rate, + desctiption, + }) + if(!result.effect) continue; + this.#property.effect(effect); + } + return contents; + } + + doEvent(eventId) { + const { effect, next, description, postEvent } = this.#event.do(eventId, this.#property); + this.#property.change(this.#property.TYPES.EVT, eventId); + this.#property.effect(effect); + const content = { + type: this.#property.TYPES.EVT, + description, + postEvent, + } + if(next) return [content, this.doEvent(next)].flat(); + return [content]; } random(events) { - events.filter(([eventId])=>this.#event.check(eventId)); + events = events.filter(([eventId])=>this.#event.check(eventId, this.#property)); let totalWeights = 0; for(const [, weight] of events) @@ -41,6 +89,7 @@ class Life { for(const [eventId, weight] of events) if((random-=weight)<0) return eventId; + return events[events.length-1]; } } diff --git a/src/property.js b/src/property.js index 540ac95..3deff2f 100644 --- a/src/property.js +++ b/src/property.js @@ -1,9 +1,7 @@ import { clone } from './functions/util.js'; class Property { - constructor(initialData={}) { - this.initial(initialData); - } + constructor() {} TYPES = { AGE: "AGE", @@ -17,15 +15,19 @@ class Property { EVT: "EVT", }; + #ageData; + #data; + initial({age}) { this.#ageData = age; - for(const age in a) - a[age].event = a[age].event?.map(v=>{ + for(const a in age) { + age[a].event = age[a].event?.split(',').map(v=>{ const value = v.split('*').map(n=>Number(n)); if(value.length==1) value.push(1); return value; }); + } } restart(data) { @@ -41,7 +43,7 @@ class Property { [this.TYPES.EVT]: [], }; for(const key in data) - this.change(key, value); + this.change(key, data[key]); } get(prop) { @@ -80,7 +82,7 @@ class Property { change(prop, value) { if(Array.isArray(value)) { for(const v of value) - this.change(prop, v); + this.change(prop, Number(v)); return; } switch(prop) { @@ -118,7 +120,7 @@ class Property { ageNext() { this.change(this.TYPES.AGE, 1); const age = this.get(this.TYPES.AGE); - const {event, talent} = this.getAge(age); + const {event, talent} = this.getAgeData(age); return {age, event, talent}; } diff --git a/src/talent.js b/src/talent.js index 20a2f60..1ffd052 100644 --- a/src/talent.js +++ b/src/talent.js @@ -1,10 +1,11 @@ +import { clone } from './functions/util.js'; class Talent { - constructor(initialData={}) { - this.initial(initialData); - } + constructor() {} - initial({talent}) { - this.#talent = talent; + #talents; + + initial({talents}) { + this.#talents = talents; } check(talentId) { @@ -13,20 +14,22 @@ class Talent { } get(talentId) { - const talent = this.#talent[talentId]; + const talent = this.#talents[talentId]; if(!talent) throw new Error(`[ERROR] No Talent[${talentId}]`); return clone(talent); } - description(talentId) { - return this.get(talentId).description; + information(talentId) { + const { rate, name, description } = this.get(talentId) + return { rate, name, description }; } do(talentId) { - const { effect, condition } = this.get(talentId); + const { effect, condition, initiative, rate, name, description } = this.get(talentId); + if(!initiative) return null; if(condition && !checkCondition(condition)) return null; - return { effect }; + return { effect, rate, name, description }; } } diff --git a/test.js b/test.js index 79f4c2c..10cf60b 100644 --- a/test.js +++ b/test.js @@ -203,3 +203,54 @@ // import Property from './src/property.js'; // import Condition from './src/condition.js'; // import Event from './src/event.js'; + + +import { readFile } from 'fs/promises'; +import Life from './src/life.js' + +global.json = filePath => readFile(filePath); + +async function debug() { + + const life = new Life(); + await life.initial(); + + life.restart({ + CHR: 5, // 颜值 charm CHR + INT: 5, // 智力 intelligence INT + STR: 5, // 体质 strength STR + MNY: 5, // 家境 money MNY + SPR: 5, // 快乐 spirit SPR + TLT: [1004, 1005, 1009], // 天赋 talent TLT + }); + const lifeTrajectory = []; + let trajectory; + do{ + try{ + trajectory = life.next(); + } catch(e) { + console.error(e); + // debugger + throw e; + } + lifeTrajectory.push(lifeTrajectory); + const { age, content } = trajectory; + console.debug(`---------------------------------`); + console.debug(`-- ${age} 岁`); + console.debug(' ', + content.map( + ({type, description, rate, name, postEvent}) => { + switch(type) { + case 'TLT': + return `天赋【${name}】发动:${description}`; + case 'EVT': + return description + (postEvent?`\n ${postEvent}`:''); + } + } + ).join('\n ') + ); + } while(!trajectory.isEnd) + // debugger; +} + +debug(); \ No newline at end of file